Okay wow. It’s about 6am. I’ve basically been programming for 10 hours straight and I have… well, not a lot to show for it. Yet.
First off: Man I didn’t make this easy on myself. In order to model things the way I imagined them, I needed to make a huge architecture of stats for each creature. Actionscript 3 doesn’t support enum for some dumb reason, so I needed to name indices for each of these stats manually. Then, I made vectors of multipliers to determine how each stat will affect each other stat- NONE of which is actually being used yet.
So what do I have to show for it so far? DOTS! BEHOLD!!!
They actually do chase each other around a bit now, which meets my minimum requirements for the day of having some creatures which interact with each other. Not exactly what I’d hoped for, but I spent a lot of time laying additional groundwork.
What sort of groundwork you may ask?
So far I have:
1) A Creature class with 34 unique statistics, most of which I have a pretty good idea of how to implement. The mechanisms for these statistics interacting with each other is IN PLACE, but uninitialized.
2) The creatures can perceive each other and react accordingly, running towards creatures they believe to be their own species (based on color) and running away from others. The fear and skittishness levels of each species will determine the severity of their reaction, but right now all of these dots are statistically identical
3) An efficient method for breaking the play area into grids so that the creatures don’t need to iterate through the entire entity list to perceive each other. I haven’t done this method before, since it was easy enough to just brute force it in the past, but since this game will have thousands of entities (ideally) it seemed vital. It was surprisingly easy! I will be reusing this technique in the future, I’m certain.
Tomorrow’s tasks: Implement terrain, food. Make creature behaviors more robust. Create player interactions with world (probably will be going with hunter model). Possible additions: scrollable map, basic graphics, sound effects, menus.