Pseudo genetics - will this work?

Started by
1 comment, last by IADaveMark 16 years, 11 months ago
I am a complete neophyte to the world of AI, but am working on a sim-earth-like game where players can plant gardens and raise critters which will "compete" for ecological space. ...all this is currently in the planning stages, with little snippets of functions being tweaked. What I was planning, was to have the object data be a string of characters/bits. (possibly genetic? Unsure if it's truly AI genetics). Example fields would be Stamina, Hunger, Reproduction, Aggressiveness, Productivity, etc. Each field would range from '#000000' to '#FFFFFF'. The offspring of each critter/plant would be subject to minor mutations (bit-swapping?) and as time progresses, interact with other players critters to determine what dominates a given cell/ecosystem. Those with more aggressive tendancies will try to damage rivals around them. Those with more Hunger would of course tap the location's food resources (which is determined by the _Plant.Productivity growing there). Additionally, since the world will be populated before players even show up (It's a web game), I hope to randomly seed the locations with example plants/critters in hopes they will stabalize and give the players something to work "against" when they join the game and no other players have setup things in that particular map-location. Is this a valid way of handling such interaction, or would the calculations involved get too skewed and all approach a finite situation where all plants have XYZ values and all critters would have ABC genetics? Ideally, I envision a dynamic ecosystem, in flux due to player activity against the background processes. And is this even Truly a genetics situation, a finite-state, or something that belongs in another thread altogether?
-Maebius http://www.everthorn.net/RPG
Advertisement
The example fields you've thought of don't seem to lend themselves towards a dynamic equilibrium. For example, maximum stamina is always better than any other stamina, etc. Maybe keeping track of an organism's energy would be better; organisms that expend more energy will be more successful in achieving their goals, but they will need to consume more in order to stay healthy. Will every critter be able to eat every other critter? A system modeling metabolic activity and nutritional needs could be interesting, so that different animals eat different things, to the extent that some animals could even be toxic to others. Getting a good equilibrium could be difficult, but web games tend to be prone to constant tweaking anyway.
See if you can find some discussion on the "Creatures" series. They used GAs for everything from the look of the creatures to their base qualities. You could actually get crippled ones once in a while!

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

This topic is closed to new replies.

Advertisement