7:30am. About 10 hours left.
I am incredibly tired.
The absurd scope of this project becomes more apparent with each step I make. This is a concept better suited to a thesis assignment than to a 48 hour competition. It’s absolutely apparent at this point that it’s super unlikely I will manage to meet even my more modest goals.
And yet, I am proud of what I have achieved here.
The creatures wander around. They perceive each other, follow their allies, avoid their enemies, They eat, they breed, they die. The terrain is procedurally generated using layered perlin noise, and though it’s not perfect by any stretch of the imagination it is nevertheless pretty good for thirty or forty minutes work. Water and grass are added based on the heightmap thus created. Creatures consume the grass, and without it they will eventually die. They drink the water as well, but not enough to lower the level or anything. If they go into the water too deep for too long they will drown. They move more slowly uphill, which is lucky for them because before that a lot of them were starving in the mountains.
If I had the time, I could turn this into something really special.
That may or may not happen (right now I’d just as soon never look at it again). However, I’m proud of what I achieved here on a technical basis alone. Lots of people like to play up Flash’s slowness and clumsiness, but on my system I have 800 creatures with basic AI wandering around and perceiving each other and it runs fairly consistently at 30 frames per second. Many of the techniques I’ve developed here I will, I’m certain, be using in future projects. Altogether, even if I dropped the whole thing right now and gave up on developing this any further, I still think this would have been time incredibly well spent.
You can check out a working version of this thingy here. Give it a little while at the start to generate the terrain, since that’s a slow process, and try looking at the full screen version for a better idea of what’s going on. The animals are in 8 species with 100 animals per species to start with: note how they will quickly begin to gravitate towards others of the same species and away from potential enemies. Food is stripped away slowly but where they travel will become browner. These critters are too dumb to swim to shore, so you can watch entire populations die out by swimming into lakes.
There’s no mutation yet unfortunately, which undermines the entire concept of natural selection. This is the main concept I’d really like to get into the simulation that isn’t in there now, but I’m just now starting to realize what a truly tremendous amount of work it would be to realize it the way I want to. So, that very likely won’t happen. So it goes.