Evolve & Breed: Experimental Gameplay Project

The happiest screenshot in over 174 years.

As Alec pointed out this week, very excellently the Experimental Gameplay Project is back. And as Alec went on to point out, the first challenge is to create an “Unexperimental Shooter”. Well, the first few are up. They are strange. This is no surprise.

A couple of highlights of what’s appeared so far:

Egg Worm Generator

Completely failing to meet the remit of creating a take on a shmup, Kyle Gabler‘s creation manages to be something far more interesting and remarkable. It’s a sort of evolution engine, not something you interact with (it was meant to involve some shooting, but that bit didn’t pan out), but rather something you watch in crazed fascination. Creatures are born with rudimentary movement abilities. Any that reach the right of the screen become candidates for future breeding, those that reach the left are destroyed (as are any that don’t get anywhere within a lifetime’s time limit). The idea is for each generation to evolve such that those with the greatest potential for right-screen-reachening are most likely to pass on their genetics to the next generation. It’s survival of the fittest displayed in a really clear way, that should probably be used in every biology classroom for the rest of time. My guys are currently in their 900-and-somethingth generation, and appear to now mostly have trunks for greater rightward dragging. I’m proud of them!

Bunny Blaster

Created by Shalin Shodhan, EGP founder and one of the core team of engineers on Spore, it’s possibly the most ludicrously pleasant take on the shmup ever made. You have to shoot rabbits with guns. Sounds less than pleasant, right? To make them increase in number. It’s a bunny making game! Shooting them with one of four weapons is a novel take on a breeding programme, but it seems to work. The aim of the game is to have 1000 bunnies in your back yard, which can be achieved as quickly or as slowly as you wish, with no pressures to threaten you along the way. Which is rather nice, really. It’s almost confusing, to have a game that’s not screaming at you or trying to kill you.


  1. Owen says:

    Finding Egg Worm Generation to be surprisingly involving. “C’mon Beverley, you can do it!”

  2. Flobulon says:


  3. Vinraith says:

    Egg Worm is particularly interesting because it’s only a fascinating experience if you take Kyle’s word about the way the game is generating what you see on the screen. That is, what it’s actually showing you isn’t interesting if you don’t understand what’s going on under the hood of the game. If it were simply a pre-scripted thing, essentually a movie, you’d be hard pressed to be able to tell.

    It seems to me there might be something to the idea of games being entertaining because of things you know about them that the game itself doesn’t tell you. I know with a lot of grand strategy games my fascination is with the “under the hood” mechanics far moreso than the visible components of the title.

  4. Railick says:

    Forbot is awesome indeed. I would like to play Egg Worm Generation but there is no flash version of it, can’t download files at work or I’ll be stripped and hung out the 5th floor window by my pinkie fingers ;P

  5. eyemessiah says:

    Those are indeed awesome. Now go to bed.

  6. Inanimotion says:

    Oooh fun.
    The Egg Worm Generator (I think) would create faster worms much more quickly if they didn’t collide with each other at first.

    Half of them end up upside down and don’t function properly.

    Still fun to watch though :D

  7. Bhazor says:

    Any game in which you turn a Orwellian oppression into a disco is OK in my book.

    Also what happened to the Section 8 interview that was up here a couple of hours ago? Or am I just a mental?

  8. eyemessiah says:

    Egg Worm is kind of sad. Some of them just seem perpetually drawn to leftward annihilation.

  9. Inanimotion says:

    Also, Peggle-style bullet time is definitely needed when creatures are about to hit the finish.

  10. Jaytay says:

    The egg game seems like something I’ve seen a long time ago, that was about darwinism-esk blocks doing similar things. Love the idea

  11. Jaytay says:

    read through the readme, it was this link to archive.org

  12. kurige says:

    EggWorm : After two hours of staring at the screen off and on… finally I found the ‘s’ key.

    /me smacks forehead.

  13. Bhazor says:

    Reply to Jaytay

    Very nice catch sir, those spontaneous crabs are just darling.

  14. Idle Threats & Bad Poetry says:

    The Egg Worm Generator is fascinating. More work must be done on evolving AI. The possibilities for this technology defy the imagination.

    I personally find virtual, in-program AI to be more interesting than robot AI. Robots are limited by physical space, energy consumption, materials needed, etc. Virtual-space AI is free of those limitations.

  15. Greg says:

    Vinraith’s post is interesting and good, I think.

  16. Jaytay says:

    Interestingly, mine seemed to peak at about 25m/s. I have an outlier of 216.00m/s called moon, shame I didn’t see this one I was alt tabbed with S on.

    16k gen :>

  17. Dave L. says:

    Over one hundred generations in, and I’m not getting a real sense that there’s a mean increase in rightward moving survivability here. My highest scorer is a gen 19 named Ami with 18.32m/s speed.

  18. Junior says:

    @Idle Threats & Bad Poetry

    Sadly, while you’ve got a lot more freedom in a simulation, the creatures you evolve can only work with what you’ve knowingly given them. In this case it’s a simple win/lose system with a time limit. I recall reading about an evolutionary system a few years ago using simple transistors in groups in an attempt to evolve a useful timer, it came up with a number of ways of doing this with groups of AND/OR/NOT gates on a chip. The thing is engineers could only see how a few of them worked, and a number of them had gates that weren’t apprently connected to anything, but the system failed to operate when they were removed.

    Regardless, it’s a fascinating way of playing a game (Or not in this case), perhaps it’s time we had a look at N.E.R.O. (Neruo Nvolving Robotic Operatives I think) again to see if anyone’s trained a useful army yet.

  19. gryffinp says:

    The bunny blaster game seems unplayable. Every few shots the gun will start shaking and never stop.

  20. Aftershock says:

    Yours got trunks?

    By gen~150, mine were distinctly two-legged.

  21. MA6200 says:

    Any of you who like Egg Worm Generation may like Darwin Pond.

  22. Pijama says:


    I am the only one TERRIFIED by that name? O_O

  23. Bret says:

    A rapidly evolving AI, ultracompetitive, named Shodhan?

    Yes, I’d panic. It’d only get worse once the spawn start cooperating.

    Shoot your monitor now, before the thing takes down the whole system.

  24. moof says:

    Is the Experimental Gameplay Project a front for the Indie Platformers Alliance and/or is just a subsidiary of The Physics Based Platformers From Hell Directors?

  25. Hypocee says:

    There’s a significant bug in that your top-speeders’ generations are wrongly reported. I don’t know if it’s mod(something), but I just watched a new record set at gen 278 get reported as gen 34. Until I noticed that I had been growing increasingly concerned as the records seemed to bear no relationship to time or any normal distribution.

  26. Ishy says:

    @Hypocee, I noticed the same thing, but figured it might be that there is some intergenerational competition thrown in as well, since it seemed to me some critters were entirely different than others.

    Mine progressed from simply throwing themselves at the right (usually), to throwing and rolling, to sort of walking with what looked like six legs or four legs and graspy-bits in front. Sadly, it crashed around gen 150.

  27. MrFake says:

    Egg Worm Generation: So this is what my ancestors were doing billions of years ago.

  28. Bret says:

    Your ancestors had computers?

    ALIEN SPY! I bet you’re here to steal 2D boy back.

    Admit it, and we may go easy on your kind.

  29. Antlia says:

    I let it run quite long and the resulting victor moved astounding 177.62 m/s! His name was Nguyet, which sounds Kenyan… What a coincidence.

  30. MC says:

    My favorite worms are the ones who have there eye firmly focused on the finish, but there inept flailing only takes the further and further in the wrong direction.

  31. drewski says:

    I feel sorry for the one’s which hatch early, are going in the right direction and clearly have potential, but are stuck behind the mass of unhatced eggs and then the sprawl of less able worms who fluked a better starting position.

    Darwinism, thou art a cruel master.

  32. Edib0y says:

    I’m at Generation ~450 and I had mostly 3-block worm type creatures all the time. Now there are starting to appear some two legged creatures…

  33. Edib0y says:

    Evolutionary Algorithms are fascinating. Albeit not always the best and fastest solution, they are extremely fun to watch, and even to program.

  34. Lightbulb says:

    What I can conclude after 258 generations:

    The “winners” definitely come from a ‘family’ ie they are broadly similar

    In general the fastest ones seem to come from the age range around 36 (29 to 42). I didn’t bother to do the standard deviation or mean or whatever – might be interesting but only if i wanted to take this seriously

    I’m not sure it actually ‘optimises’. Which does throw up an interesting point:

    You will reach a point where the critters are ‘good enough’ to survive and will therefore not necessarily get any better.

    You might get a group of critters which will all survive and pass on their genes but they might be slower than when you run the sim again.

    Unless the time limit gradually lowers you won’t optimise you will only find a solution which works in the given environment.


    I had never really considered this before (though its pretty obvious really): Evolution STOPS. Once you have filled your niche you stop evolving because there is no point. Or rather theres nothing to kill off the less efficient critters.

    So its external factors changing which drives evolution. I would be interested to see the timer start at say 1000 secs and count down to… …well zero I guess. I expect you would get extinctions then but I wonder if you would actually get some uber critter which leaps across the screen ridiculously fast…


  35. Mil says:

    Once you have filled your niche you stop evolving because there is no point. Or rather theres nothing to kill off the less efficient critters.

    In the real world there is: competition for limited resources.

  36. Herpers says:

    @Hypocee & Ishy
    The generation counter at the top of the screen counts how many generations since the simulation started, the generation on the scoreboard shows how many ancestors that specific worm has had.

  37. Lightbulb says:

    Hmm ultimately I have concluded that I would like more information about whats going on. Who were the winners this round? How quick were they? When did the winner evolve etc etc.

    However that wouldn’t really add anything. The interesting thing for me is what its making me think about…

    Right off to ponder…

    Gonna leave it on fast mode and come back in a few hours…

    If you don’t hear from me again Shodan is starting to take over originating in Ireland…

  38. James G says:


    Ronald Fisher considered the role evolution played on organisms which were already highly adapted to a niche. He realised that while the organisms may not be showing significant generation to generation changes, they were still subject to strong, stabilizing selection. In short, and mutations which cause deviation from the ideal need to be removed.

    In practice you also have a few areas in which variation is always being selected for, particularly in the case of the immune system. In these situations, selective pressure acts to maintain variation.

    I could go on about this kind of stuff for ages.

  39. Nighthood says:

    Personally, I would love it if you could control spore not directly, but instead influence the creature to evolve in different ways by changing the world around it. Say, you make its prey more aggressive and fight back, then your creature will NEED to also be more aggressive so it doesn’t starve. It’s just an idea, and it’s not going to happen, but I think it would be a lot more interesting than Spore is at the moment.

  40. Muzman says:

    It would be interesting to know the genetic factors that can be passed on in each worm. But I guess that’s fairly nerdy. It’s funny how this sort of thing brings it out.
    Sometimes the evolution gets stuck in a rut, as it were and you have to restart it. A fairly dominant species of mine made sure the others didn’t make it after some early success. But it became clear after a few hundred generations that it was too complex and couldn’t get any faster, yet no other major variations could break the stranglehold.
    I resent and tried agian and after a couple of thousand generations ended up with these two piece worms, one part shapped like a shoe, the other a small block spinning like an outboard motor that catapulted it forward. (I forgot how fast they were going but it was quick)

    This reminds me of fooling around with the Neuralbot in Quake 2, back in the day. That had a number of bots you could set (according to performance) each with its own evolving neural network governing behaviour. The behavioural loadings were all random at first. You could run around and execute the particularly stupid if you wanted to as well.
    It was bizarrely fun to fidget around with. It took a long time to get truly notable results though (not just stuff you thought was intelligent). It turned out that, despite having proper fields of view and being able to utilise them (theoretically anyway. It was a complex neural network by default and you could even expand on the number of neurons and synapses if you wanted to) the bots couldn’t really cope with up and down, or behaviours that dealt with that were never passed on. The best breeding grounds were big, flat levels all on the same plane with some obstacles (on more complex levels you’d get all sorts of amusing things like one I did where the level was a bit overcrowded and the bots often spawned in the same place and some evolved the great skill of grabbing the grenades and holding them until they exploded, killing others around them). On those flat levels you really saw results. One guy had demos from various generations showing the bots at the start randomly jumping around and firing like some demented dance party. Then a few thousand later they’re running around perfectly, zipping between obstacles collecting weapons, killing each other (they favoured hitscan weapons for fairly obvious reasons). It’s quite cool. You could also dig through the bot files and inspect the neural nets youself and edit them if you wanted to. The failures in bot behaviours were illustrative of just how many variables you need to get good complex creatures in the world (I forget exactly how many neurons these things generally had, but it was a lot and it was plainly not enough) and also the necessity of hard coded behaviours in order to survive and clearly separate, demarcated systems for handling the various kinds of stimulus (as an open system can too easily not pass on good behaviours).
    Anyway, I agree there’s a lot of room for this stuff in gaming. Some sort of Spore-ish spin off where you breed your own creature and then make them fight (or even live) with others on the net or something. Endlessly amusing.

  41. drewski says:

    I’ve definitely hit a plateau. It’s a guy with a fat bum, a little connecting bit, one or two arms to do the “walking” and a little eyehead. Peak time is 27m/s.

  42. Heliocentric says:

    I’ve had abortive attempts at evolutionary programming. And seen some truely impressive applications. From the programming of a flapping robot to artificial pack hunting behaviours. The group behaviours are particulary interesting when the groupings are not arbitry and groups may turn on each other, or abandon the weak or old.

  43. Nezz says:

    “It’s survival of the fittest displayed in a really clear way, that should probably be used in every biology classroom for the rest of time.”

    Huh? If the real world was anything like this game, the vast majority of organisms that we observe would be dysfunctional cripples. It’s obviously just a fantasy.

  44. Carra says:

    Genetic algorithms can be a ton of fun. The egg worm generator is a nice example.

    And it reminds me of a genetic algorithm to make the best bicycle.

    I’ve personally played around a bit with genetic algorithms. One to create a shortest route (travelling salesmen problem) and one total rip off of the EvoLisa project.

  45. cowthief skank says:

    I hope the egg thing doesn’t run out of time. I’m going out for a few hours, gonna waste a shed-load of power and leave it running on hyperspeed until I return. Just curious what happens…

  46. cowthief skank says:

    Hmm. I have so far reached generation 400-ish, and my beasts seem to be slowing down. I had loads in the high teens m/s, and a couple of low 20s m/s, but now seem to be averaging somewhere bwteen 7m/s and 12m/s…

  47. Hypocee says:

    CS, if my run’s typical that’s from the eggs getting much smaller over time. It means fewer worms blocked, but also fewer luckily catapulted off the slope at ludicrous speeds. Less random in both directions.

    Herpers, I’m happy to believe you but I don’t understand. Presumably every organism after the second generation has ancestors = $gen-1?

    My run’s seemingly hit a local maximum at basically the simplest mobile form you could imagine, a square body with a rectangular head that waves back and forth to drag and/or wheelie-hop through rotational inertia.

  48. AngryInternetman says:

    Seeing Phillis still trying to reach for that greeny goodness while dangling on that rope like a hopeless little square horse it was, it made my eye tear up. I will not sleep tonight.

  49. Trite says:

    Going strong at generation ~7800. The record speed is 672,44 m/s. The lowest displayed is 288,11 m/s. I don’t know if they started bugging a while ago or what happened, but somehow they started popping +200 m/s frequently. Before that, they barely made 30 m/s. I lost my interest after a short while, because they don’t really evolve. They just “grow” a block or lose one, and that continues infinitely – booooorinnngg. I just let it run on the background.

  50. Hypocee says:

    Trite: That’s called a ‘local maximum’, and it freezes the population in place in worlds (like this one) where the determinants of success are simple and unchanging. If you start again, you may explore to a different local maximum.