standardising Artificial Life AI
I just had an interesting thought, what principles would it take to create a modular procedural / A.I based dynamic ecosystem. Ie. anyone could create a lifeform for it, and then upload it to the online "world". Ie. I can create "cyb-ants" and they can go online and compete with "zy-spiders" for resources depending on what their programming is. However, if anyone can upload a new and unknown creature, then the A.I shouldn't just consist of a set of code that deals with known entities ie. If See Hawk then run, if see Sparrow then fight. ETC. Because this would not take into account any new creatures that could be introduced in future. I think maybe creatures should be programmed with some form of pattern recognition techniques, and could have instincts ie. if unknown animal then run / stay very still. Standardised physical properties that can be picked up by creatures senses ie. all creatures have certain physical properties that can be tapped into. Ie. Reflect light so can be seen by creatures with sight. Give off heat . If you developed a world around this sort of modular idea, then it could constantly change as new developer or user content was released.
April 03, 2005 07:52 PM
Quote:
Original post by Ketchaval
I just had an interesting thought, what principles would it take to create a modular procedural / A.I based dynamic ecosystem.
Ie. anyone could create a lifeform for it, and then upload it to the online "world".
Ie. I can create "cyb-ants" and they can go online and compete with "zy-spiders" for resources depending on what their programming is.
However, if anyone can upload a new and unknown creature, then the A.I shouldn't just consist of a set of code that deals with known entities ie. If See Hawk then run, if see Sparrow then fight. ETC.
Because this would not take into account any new creatures that could be introduced in future.
I think maybe creatures should be programmed with some form of pattern recognition techniques, and could have instincts ie. if unknown animal then run / stay very still.
Standardised physical properties that can be picked up by creatures senses ie. all creatures have certain physical properties that can be tapped into. Ie. Reflect light so can be seen by creatures with sight. Give off heat .
If you developed a world around this sort of modular idea, then it could constantly change as new developer or user content was released.
You could come up with such a system, but understand that in AI the 'engine' is usually only 10% of the effort (often much less). The behavior patterns will be extensive (have to cover all cases of situations -- even multitudes of defaults for different uncertainty cases). Note this is even after including hierarchical behavior sets and preference data which creature types can inherit (reuse).
You really cant get away from having to manually define many specific interrelations (ie - prefered prey, methods to catch those prey, list of dangerous lifeforms to avoid, safe distances from those, etc...). Any additional 'creature' types have to be integrated into the existing relation data or you will simply have too many unknowns/ badly fit/ crude default handling cases.
The more complex/detailed you environment gets, the data interrelations grow geometrically in proportion.
I like the idea, but it seems like an insane amount of work. Time could be better spent in other ways IMHO.
I like systems that allow the player to become a designer, everyone wants to be a designer it seems like.
I like systems that allow the player to become a designer, everyone wants to be a designer it seems like.
James Dee FinicalDesigner
April 17, 2005 02:29 PM
Quote:
Original post by Anonymous Poster
You could come up with such a system, but understand that in AI the 'engine' is usually only 10% of the effort (often much less). The behavior patterns will be extensive (have to cover all cases of situations -- even multitudes of defaults for different uncertainty cases). Note this is even after including hierarchical behavior sets and preference data which creature types can inherit (reuse).
You really cant get away from having to manually define many specific interrelations (ie - prefered prey, methods to catch those prey, list of dangerous lifeforms to avoid, safe distances from those, etc...). Any additional 'creature' types have to be integrated into the existing relation data or you will simply have too many unknowns/ badly fit/ crude default handling cases.
The more complex/detailed you environment gets, the data interrelations grow geometrically in proportion.
i think really you'd have to get away from predefining the defaults. the key would be to assign each entity attributes such as meatiness, weight, aggression etc which would be used by the other entities to determine whether or not they looked tasty or scary or whatever using the entities internal algorithms (isScary, looksTasty). the scary/tasty values for each entity could be weighted through experience depending on how hard-to-fight/tasty they were observed to be. so basically existing entities would have to learn about new species, passing the learnt knowledge down to their children. basically do it the same way it's currently done in nature: if you don't know what it is then be suspicious and but try to learn about it through experience.
it is pretty hard though, i totally agree, but i think it's possible. for my upcoming MSc AI project I was thinking of doing something like this. i was looking at AI planet (http://aiplanet.sourceforge.net/) as a possible environment which i could extend. it would be tough to extend it to run on a server but not totally impossible. unfortunately AI Planet is written in Delphi and I'm scared of Delphi.
-grumpyjack
Welcome to Microsoft's Terrarium, released a couple of years ago, which allows each person to release their own "bug" AI into a vast peer 2 peer network made up of all the creators. The bugs then compete for resources, either by being plant or meat eaters.
Here
Here
Turring Machines are better than C++ any day ^_~
What you have described is Will Wright (of Sims fame) current project called Spore.
Ive always loved SimEArth and SimLife and thought they should be redone.
I thought this thread was about another idea I had, which was all game programmers coming up with a centralized AI libray so that the more work was done the less people had to re-invent the wheel. That is...more and more and more subroutines for NPC AI so that after years and years of building upon itself the next user would have an amazing wealth of realism to draw from.
Anyway...Spore is the name of the game and it will be HUGE.
Ive always loved SimEArth and SimLife and thought they should be redone.
I thought this thread was about another idea I had, which was all game programmers coming up with a centralized AI libray so that the more work was done the less people had to re-invent the wheel. That is...more and more and more subroutines for NPC AI so that after years and years of building upon itself the next user would have an amazing wealth of realism to draw from.
Anyway...Spore is the name of the game and it will be HUGE.
Alfred Norris, VoodooFusion StudiosTeam Lead - CONFLICT: Omega A Post-Apocalyptic MMO ProjectJoin our team! Positions still available.CONFLICT:Omega
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement