Archived

This topic is now archived and is closed to further replies.

Maleficus

A poll: which is better in a game - black box AI, or REAL(tm) AI?

Recommended Posts

I''ve been debating with some friends of mine as to what is better in a game AI: true AI learning/thinking/pathing/whatever (using GA, NN, or whatever technique you want), or black box AI - where it "simulates" all of the above, but isn''t really the same and is a LOT cheaper CPU/time wise - tho to the unknowing end user playing the game, it would seem the same. I don''t want to debate about the various techniques and their benefits, I want a discussion about how much AI is enough to create a fun gaming experience the end user enjoys. I can think of lots of examples of AIs in games that were run using NN, or some other academic technique, that while very impressive, weren''t a fun/believable challenge (tho I have seen some that were: joeBot for Counter-Strike would be an example of a good NN AI), and I can think of game AI''s who basically cheated and had total knowledge of where you were at the whole time, yet if you didn''t know better - it seemed like they were stalking you, or ambushing you (the Reaper Bot for quake1 for example), and plenty that just sucked and were so obviously cheating. So, which is better - TRUE AI, or Black Box AI? Is there room for both in one AI? What kind of AI should game programmers (or hobbyists like myself) use in their game/mod/bot/whatever?

Share this post


Link to post
Share on other sites
I see what you're getting at, but you're confusing two different issues.

1) Machine Learning vs. Game Developer Techniques

To me, it doesn't matter what technique you use to compute a result if the problem is the same. So if you use a learning NN that does the exact same thing as a script, it makes no difference to the player. In many cases, you don't even need academic ML solutions to produce a form of learning.

2) Emdodied Creatures vs. Software Agents

Embodied creatures are subject to the physical constraints of the world, like players. They can't see through walls and can't set their position globally. Software agents have access to all the game data (open to "cheating").

I truly believe that embodiment has the potential to produce much better NPC, but this is a challenge most game developers do not want -- or do not feel they should take on.

Alex



AiGameDev.com

[edited by - alexjc on October 15, 2003 10:46:19 AM]

Share this post


Link to post
Share on other sites
quote:
Original post by alexjc
To me, it doesn't matter what technique you use to compute a result if the problem is the same


In my discussions with various people, many have tried to tell me that if its not using acadmeic AI techniques, its not the same.

I would stay away from scripts in my particular case (bots for FPS games is what I do), tho they would prolly work fine in RTS games and other game types.

I'm curious in what other hobbyists (and any game programmers who may happen by), feel about AI and what kind a game needs on a very general level - I understand some games have different needs and results.


As to embodied agents vs. software agents - I think this goes to the crux of my arguement: if you place careful limits on a software agent, you will get the same result.

Take a FPS bot, coded inside the server - he would have access to everything in the game world, but with limits (only allowing him to see things in his current FOV), you get the same result, without the loads of code and time to achieve them: he would have a very fast, cheap simulation of human sight.

[edited by - Maleficus on October 15, 2003 10:56:30 AM]

Share this post


Link to post
Share on other sites
quote:
Original post by Maleficus
with limits (only allowing him to see things in his current FOV), you get the same result, without the loads of code and time to achieve them


Yes, good point. That''s what I mean by embodiment. In games, all it needs to be is plausible, not biologically accurate! That said, it''s not as efficient as you may expect -- though I''m looking into ways of improving that.

Alex

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
It''s just not cost effective to try to make trully beliveable agents within a wide range of situations a game could posses. Developers ususally just shoot for "good enough" when it comes to AI, and favor more reproduceable behavior over dynamics one, due to their easier debugging.

To that end, scripts, state machines, and a sensory model are sufficent for most applications. Learning can be simulated using scripts. State machines are efficient and easy to get reproducable behavior. Add onto that a simple sensory model (seeing, hearing, etc) is sufficent to give the AI awareness in the virtual world.

Emergent behavior through NN,GAs,etc.. are difficult to control and reproduce. That doesnt mean they shouldn''t be used, just used where you want dynamic beahvior. I think part of the problem is targeting the desired behavior to the best fitting technology. For instance NN encorperates true dynamic and learned behavior. They are more suited for the higher level AI routines like determing best formation, or finding the best flanking route and such. Breeding them using GA techniques seem to be a good approach.

I want to try some experiments with NN controlling formations of RTS.

Well good luck

-ddn








Share this post


Link to post
Share on other sites
We''ve had this discussion many times before in this forum... I tend to agree... the current notion of a computer game is one in which only a limited amount of ''intelligence'' is required of the opposition (the Game). How this is displayed - through its characters and puzzles - is and should be achieved with minimal effort. Thus, Game AI techniques can be whatever you like that achieves the appearance of intelligence, while AI techniques actually try to implement intelligence. There have been games that were very successful and fun for having implemented AI techniques - the Creatures series is my favourite - and some that were successful and boring - Black & White - while others that were not so successful - the many failed attempts at using ANNs in a game!

However, as we move further into the realms of electronic entertainment we will find new genres opening up that involve human players interacting with very human-like characters within the game - corporations like Microsoft, Sony and EA are already exploring these ideas - and these characters will need a lot more complexity and unpredictability than can be provided with techniques typically found in current games. Imagine playing the role of detective in a murder mystery written by a popular author. The story is there, the clues are there, the people are there for you to interact with. They live their lives, have their secrets and do certain things to help the story progress... it''s up to you to investigate and solve the crime.

This sort of entertainment isn''t too far off (I''d say within 10 years given the progression of algorithms and hardware over the past decade).

So, IMHO, current games don''t require AI, only Game AI. How you achieve Game AI depends on your budget, skill, the amount of CPU time you have and the amount of development time you have.

Cheers,

Timkin

Share this post


Link to post
Share on other sites
I don''t think black box AI will have the same realism and surprise factor that real AI will. Real AI has the property that on occasion it may do something smart and unexpected, whereas at least as far as I know, black box AI will only do what it was programmed to do.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
yes, but black boxes can include surprising scripts and events. So they are equavilent, from an external point of view. Given that we restrict ourseveles to the scope of just the game.

-ddn

Share this post


Link to post
Share on other sites
Hey all, I''m a co-developer of a bot for halflifes TFC called Foxbot. Don''t know if anyone is familiar with it but I''ve managed to implement some features uncommon to most bots such as rocket jumping, concussion jumping, and recently added support for the bots to build & use the new teleporters in the steam version. Most of these seemingly complex features use simple rules that make them work. Is it perfect? No, but it works more times than not, and it''s fun to see them rocket or concussion jump. I personally prefer to use faster and simpler methods of programming their AI than trying to expand things into "the human way" of doing something. IMO, it''s just unnecessary for games to do everything "the human way" when a smartly designed system can accomplish the same things. I have however an understanding about more complex AI like decision trees, perceptrons, NN''s and plan on evaluating them in either a future rewrite of this bot or a from scratch bot for HL2.

I always try to evaluate whether the complex methods are truely needed in certain situations, when something simpler and faster will do. So far things have stayed simple for me.

Share this post


Link to post
Share on other sites