solinear-
The "cover point" system is similar to what you suggested, but it is much faster than what you seem to be saying. Your comments that suggest the cover point method sometimes causes cover not to be used is correct, though. Once one AI uses a cover point, that point is excluded from consideration by the other AI''s. But the cover point method provides such a speed advantage that this problem was deemed acceptable. None of our fans have ever mentioned noticing it, so I don''t think it is being exploited.
I also agree with MatrixCubed that we could stand to have some sort of revolutionary idea in AI. The A* algorithm that we all use is from 1968, for crying out loud. Sure, it''s been improved since then but it is the same basic thing at its heart. Our field could really use one of those "ah ha" moments of innovation.
-C
What are the "issues" in Game AI [moderated thread]
quote:
Original post by Anonymous Poster
The "cover point" system is similar to what you suggested, but it is much faster than what you seem to be saying.
Discussing the pro''s and cons of algorithms is not really inline with the topic of this thread. If you''d like to discuss it further I''d ask that you please do so in a new thread.
quote:
Original post by Anonymous Poster I also agree with MatrixCubed that we could stand to have some sort of revolutionary idea in AI. The A* algorithm that we all use is from 1968, for crying out loud. Sure, it''s been improved since then but it is the same basic thing at its heart. Our field could really use one of those "ah ha" moments of innovation.
That requires publishers and producers who are prepared to go out on a limb and allow their team to develop something new... or for someone from the academic/military environment to defect with some decent technology. I can say this... the technology is certainly there for the taking...
Timkin
quote:
Original post by Timkin
That requires publishers and producers who are prepared to go out on a limb and allow their team to develop something new... or for someone from the academic/military environment to defect with some decent technology. I can say this... the technology is certainly there for the taking...
Be that as it may, graphics technology, for example, has evolved dramatically compared to any other single technology.
- Input has only really become impressive with the advent of force-feedback, which does not really have much to offer, and really does not have anyplace else to evolve.
- Sound is more or less at its limit, as A3D is dead, EAX is pretty much developed as far as it can go, and DS3D in its latest incarnation is a reiteration of previous releases, with few true advances in evolution.
So, although games like Black and White or The Sims might show impressive AI enough to "fool" the player into believing something really thoughtful is taking place with the game characters, there is no standard iteration for an "AI API" that has pushed an envelope of any sort.
I suppose it is difficult to abstract AI as input, sound, and graphics can be abstracted... graphics gets polygons, sound gets frequencies, and input gets digital signals from potentially dozens of buttons. But AI is so specific per game, that it would be difficult to determine where two games could share a common system.
If it were taken at its lowest level (basic memories, actions, etc), it might be possible. But there are so many ways for AI to be implemented, any one generalization could end up being too cumbersome to implement in any but the least time-critical of applications!
Someplace to start might be to take two games from relatively different genres, define basic desires of their game characters, then try to come up with a pseudo-coded API that could work for both.
MatrixCubed
http://MatrixCubed.cjb.net
[ Odyssey Project ]
quote:
Original post by MatrixCubed
I suppose it is difficult to abstract AI as input, sound, and graphics can be abstracted... graphics gets polygons, sound gets frequencies, and input gets digital signals from potentially dozens of buttons.
Decision cycles per second?
quote:
Original post by MatrixCubed
But there are so many ways for AI to be implemented, any one generalization could end up being too cumbersome to implement in any but the least time-critical of applications!
True, although providing a set of tools to a programmer, each with their pros and cons, would enable them to find the right one for their game. If the programmer doesn't have to worry about the underlying code of a decision tree or an ANN, then that programmer could probably spend their time implementing both and comparing the difference. Eventually that programmer would learn which models work best on which problems and they'd have a standard code set for implementing those models. That's what we've seen in graphics!
quote:
Original post by MatrixCubed
Someplace to start might be to take two games from relatively different genres, define basic desires of their game characters, then try to come up with a pseudo-coded API that could work for both.
I think what you're looking for here is an agent-centric approach to AI, which is certainly one of the main approaches in academic and military research at the moment. By developing standard models for artificial agents that perform standard tasks (exploration, investigation, interaction, learning, etc.,) then the implementation problem becomes one of writing an efficient interface to the particular environment that the agent is going to act in. This is analogous to designing a good GUI interface for a human player. How many games have you played that were made more difficult (and less enjoyable) because the interface was very poorly designed? Simply assuming that the agent has full access to the game state is NOT, IMHO, the way to make good AI, rather it's the way to make AI that can cheat, because the programmer doesn't want to (or is not allowed to, or does not know how to) design an AI that does not need to cheat.
The old excuse of a lack of clock cycles is fast becoming a poor excuse for poor AI...particularly with so much of the graphics load being shunted to the GPU.
Just my rant for a Sunday evening!
Cheers,
Timkin
[edited by - Timkin on July 21, 2002 5:20:23 AM]
quote:
MatrixCubed: come up with a pseudo-coded API that could work for both
Timkin: I think what you''re looking for here is an agent-centric approach to AI, which is certainly one of the main approaches in academic and military research at the moment
This is possible, and has been done in academia for years and years (it''s not just a recent thing

quote:
Timkin: the implementation problem becomes one of writing an efficient interface to the particular environment that the agent is going to act in. Simply assuming that the agent has full access to the game state is NOT, IMHO, the way to make good AI
You have no idea how refreshing it is to hear someone else say that! God bless

quote:
Timkin: the old excuse of a lack of clock cycles is fast becoming a poor excuse for poor AI...
The excuse is becoming what it should have been right from the start: AI is not an easy problem to solve -- especially with full honesty; try getting even simple navigation working in such a fashion! Admittedly, navigation can prop itself up using the graphics datastructures, but this is where the help (and thereby also the cheating) stops. You can''t just as easily use the game logic code to support the decision making... or at least not without some funky AI like reinforcement learning or planning.
Artificial Intelligence Depot - Maybe it''s not all about graphics...
Join us in Vienna for the nucl.ai Conference 2015, on July 20-22... Don't miss it!
quote:
Original post by Timkin
The old excuse of a lack of clock cycles is fast becoming a poor excuse for poor AI...particularly with so much of the graphics load being shunted to the GPU.
Maybe its just my experience, and what you describe really is the case for everyone
else, but for me the shuffling off of the graphics load to the GPU has resulted in the
design of more complex and more detailed 3D worlds and the expectation of support
for many more NPCs in real time.
Also, whatever CPU time that has been freed up by moving graphics processing off
the main processor, seems to have been consumed by increased cycles spent for
things like collision detection and line of sight processing (both still seem to be chores
performed by the main CPU) for more NPCs moving around, and more time consuming
terrain analysis.
In my current project Full Spectrum Command (an infantry company commander
tactical combat simulator built for the US Army) the AI has to support hundreds of NPCs
in real time and in a very complex 3D world. Games like Bob Scott''s Empire Earth
and Ensemble''s Age of Kings may have to support almost a 1000 NPCs. In
Enemy Nations , that AI had to support hundreds of NPCs (units) per player
(up to 8) in real time, and its a 6 year old game. Sure Level of Detail tricks can be used
to help in certain situations, but when the view is that of the company captain over the
shoulder of the grunt in the dirt (played by an NPC) then that grunt better be doing what
it is supposed to be doing based on that specific situation (no LOD trick can help there).
Say what you will about excuses, but I tend to agree with alexjc that "AI is
[simply] not an easy problem to solve". And I''ll take all the CPU I can get, and make
all the excuses about wanting more to help my poor AI.
Eric
quote:
from alexjc
This is possible, and has been done in academia for years and years (it''s not just a recent thing)...
Perhaps our notions of recent are different!

quote:
posted by Geta
Say what you will about excuses, but I tend to agree with alexjc that "AI is [simply] not an easy problem to solve". And I''ll take all the CPU I can get, and make all the excuses about wanting more to help my poor AI.
Ah, I didn''t mean to suggest that AI was easy... believe me, I know! I simply meant to suggest that the old excuses were just that... old... things are changing constantly... like the expectations of players. Hopefully producers will keep up with those expectations!
Cheers,
Timkin
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement