Friday, November 11, 2016

First Life

Here I'm gonna show you what I've made so far :).

This post contains a lot of long gifs so probably don't read this if you are using data. Most of them are also fairly low quality cause I'm still figuring out screen capturing.

Here is the very first one. Its goal is simply to keep its head up. It tried very hard but didn't have much to work with.

I made a slightly different design with the same goal, and this one did pretty much what was expected

This one later achieved a better score, it gets points for creativity

Next I wanted to give them control over rotation, not just contraction of muscles. With the same goal, this one learned to "shuffle". It had too much control that it could just stay upright even if that wasn't physically possible.

I went back to tweaking my physics engine because some behavior didn't look quite right. I finally got it working reasonably and gave one the goal of getting the highest average y. It is the first one to learn to "hop"

I thought this hopping was pretty cool so I arranged the spheres in a different position to see if they could hop better. Because they often moved around quite a bit while hopping I put it on a small platform so it had to jump fairly straight up. If they fell off the platform before 5 seconds was up they would immediately fail.

This one figured out that as long as you stay in the air long enough you're fine to go off the platform

Since they got pretty good at jumping, I figured I'd give them a more difficult goal: get as far as possible without falling off the platform. This was pretty easy to do, so I made it more difficult:

I was curious how well it would do with this setup, and the answer is surprisingly very well

So that's the current progress. It's pretty fun to set up strange goals for the creatures and see them manage to attain them. Most of these figured out their strategies in 2-5 minutes (from scratch) as well, since my physics engine can run many simulations very quickly, which makes this very fun to use in real time.

So yea, after these promising results I'm excited to see where things go from here :)

No comments:

Post a Comment