Stateless AI

Question:

Over the course of the last few years, I worked on several game projects, and a recurrent idea I have been pondering is a stateless AI for a turn-based strategy game. I was wondering if you had any thoughts about this. I am not even sure this is a viable possibility as I never did any prototype or work on it.

Answer:
Honestly, I’m not an AI expert (far from it) and that’s why I cannot tell what kind of AI suits best for different game types. But, from my experience: whether a game is good or not cannot be based only on AI. I don’t think there’s games that would be best selling or most awarded games only because they use superb AI.

Proper AI is only one part of the mix. It’s important part of course: bad AI shows, good AI is something players won’t even notice. It’s important, but I wouldn’t make quick judgements about how well it suits for a turn-based strategy game. Depending on game it might suit well – or very badly.

I know there are many gameproducer.net readers who have actually written articles about AI. If they have something to add, feel free to comment to the thread.

For more information about AI coding, I suggest the following resources:
- Roguelikedevelopment.org
- GameAI.com

Hopefully those links can give you information that you find valuable.

4 thoughts on “Stateless AI

  1. Eric Fortier

    > AI doesn’t sell games [...] people don’t see it in screenshots. :)

    No, but they read about it in reviews. I thinkthe quality of the AI required depends on the game. A pure strategy game (real time or turn-based) with an AI that sucks (too random, too tough or too weak) would probably get the game very poor reviews and be boring. On the other hand, a shooter with a moderate AI could get by if the story and graphics are top notch. I know that I played quite a few shooter with not-so-good AI that were plenty of fun.

    > Balancing is the most important aspect of AI construction.
    > So choose the technique that fulfills this aspect for you.

    This is pretty good advice ;) thanks!

    Reply
  2. Christian Behrenberg

    Like the programmer personality test, it seems to me that a lot of AI programmers are so much planning and outsmartening their routines just because AI is such a complex building and it is obviously a typical thing for workflow and state diagrams or the usual brainstorming sessions (argh).

    I experienced that the most valueable ratio for building a game AI is 50 % planning and 50 % balancing. You cannot plan it. You must touch it everywhere more or less so that it becomes a true, emotional success to you (the player). The most important aspect of designing AI is also: design the AI so that it fits your game! Currently I’m involved in a casual game development process and the AI for all submodules is pretty simple, some more or less advanced statemachines. I touched them so that the enemies keep the action on a high level without any big and complex formulas or neural networks *hint*hint*

    Maybe you can say “yes, but its a casual game”. It doesnt matter. The user matters. And if the user has fun, it’s good. If you doubt what AI technique to use and you are most common with advanced statemachines to build a challenging and a “fun to play against” AI, whereas you know how to tweak it to get the ultimate emotional immersion to the player – then do it. If you come from university and neural networks or so is common to you like .. hm… making a sandwich (I’m not sure, I know people who even cant do that :D) you should do that of course.

    So don’t plan _too_ much I say. Balancing is the most important aspect of AI construction. So choose the technique that fulfills this aspect for you.

    Reply
  3. Paul Mendoza

    All knowing AI that’s smarter than the player is typically best and then throw in a random mistake generator to dumb it down. Best way I think to build AI for a game.

    Reply

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Pro-Human Quiz: