You only offended me by making me feel unanswered and unloved
.
Seriously though, I did specifically state my backgrounds separately because I have never shipped a game with ANN''s in them, nor ones using GA''s or any of that malarky. I have created autonomous agents for simple tasks using ANN''s and GA''s, but only in an academic setting, I have also shipped games using fuzzy logic and your standard tried and tested AI methods for doing seemingly intelligent behaviour. I have, as I''m trying to make clear, never done both.
Your statement was
"I would be interested in reading your thoughts about how you would apply ANN to the AI decision-making needs of the typical First Person Shooter or Real Time Strategy game."
I replied, merely stating that using this kind of technology might lead to a dead end, might not work in time and that it would probably be difficult to implement without a more standard AI system running with it.
It might be useful to discuss what exactly forms the problems of an FPS game and why an ANN system should/shouldn''t be used to try to solve those problems. You have a far reaching background in this stuff Geta, so perhaps you could elucidate us with your opinions, even if they''re not what I (too much idealism, not enough pragmatism) or Mathematix would like to hear.
I am not pissed at you, I''ve known your background for some time, respect you and would value your opinion.
There are obvious facets of any game that have well defined solutions. A* for routing problems is an obvious one. Of course, I would argue here (and test, when I get my next job and am not so busy) that you could use GA''s (I know we''re talking about ANN''s here, but a little sidetracking won''t hurt anyone) to optimise the heuristics for various behaviours, before shipping. If you wanted heuristics to find the best path through a battlefield that won''t get you killed then a logical analysis might find you some good solutions. Evolution, on the other hand, might find you great soulutions as how different factors effect the probabilities of dying along each path and at each node, in a variety of situations.
Once you have a general path to the goal sorted out, then you still have to traverse it. As games don''t come in block worlds any more, your general path can only tell you where to head for and in a dynamic world there will be changing and moving obstacles along the path, which you will not necessarily want to recalculate again and again, per pixel, to complete the route.
So on a small scale you would want your agents to survey the local area and not get trapped behind each other or moving scenery. You could have simple rules defining whether to turn left or right under certain circumstances, to try and get passed the blockage, but if everything did the same thing in, approximately, the same circumstances, the illusion of intelligence would be lost (one reason I hate the AI in Dune 2 is things like this...harvester AI makes my skin crawl...loved the game though). By having the current state of the immediate environment passed to the agent''s evolved ANN (by line firing of the 90 degrees in front of the agent for several metres ahead, perhaps once every second or less), the reactions and decisions of which way to turn would be more individual due to no two situations being exactly the same. The agent would approach gaps between buildings or other agents to attempt to move towards its next node point and if other agents, who are stationary, had different ANN''s due to their status (still vs not moving) they could easily (and I have done this for a simple 2D world) be evolved to move out of the way, within boundries.
Of course there are other ways to achieve this reactive layer of action, but ANN''s are one that may prove promising compared to a more mechanistic approach. I''d have to use a profiler to compare speeds, but as ANN''s can be translated into linear equations I''m sure the maths co-pro would be fine.
Anyway, that''s one aspect of an FPS you could achieve with ANN''s, your thoughts?
Mike
P.S. One aspect of this kind of communication I hate is that you''re never sure how other people are phrasing their questions, in anger or with an interested smile on their face, without using a million of these
buggers. Mostly I''m doing the latter
.