7
\$\begingroup\$

Have sophisticated adaptive programming, will travel - so to speak. I'm part of a group that developed sophisticated learning / adaptive software for robotics. The system "thinks" via its simulator, building and adapting code on its own; and then carries out the best solution. The software can also adapt to new situations, etc. http://mensnewsdaily.com/2007/05/16/robobusiness-robots-with-imagination/

It's easy to imagine using it with automated game characters that will adapt to the players moves and style - the easiest example would be fighting. The more the simulated fighter fights with the human player, the more it learns to counter that players fighting skills. But there should be more.

Anyone have any ideas as to how adaptive characters might be interesting in games?

\$\endgroup\$

4 Answers 4

3
\$\begingroup\$

Take a look at Valve's director in Left 4 Dead and Left 4 Dead 2. Using adaptive AI in this aspect may add interesting gameplay dynamics and replayability when the AI learns that there is a set predictable gameplay strategy that players tend to use or abuse.

It would be interesting if AI could evolve to suit an expected gameplay time. So scale harder if a player is blazing through a level, but scale it easier if players are having difficulties. Gameplay valve for a fitness function, maybe someday.

\$\endgroup\$
2
  • \$\begingroup\$ I think that's quite doable from where we are now. \$\endgroup\$ Mar 9, 2011 at 10:30
  • \$\begingroup\$ Interesting, although I have little game playing experience. This is a suggestion that combines design with adaptivity in a way that adapts the game to each players preferences. \$\endgroup\$ Mar 13, 2011 at 12:27
3
\$\begingroup\$

Generally you want to be very careful with this. There's a few reasons why adaptive AI is rare in fighting games:

  • Algorithms are significantly more complicated, so the added gameplay must be worth the extra effort, and usually it isn't.
  • Having an adaptive AI makes it much harder to have discrete difficulty levels, which removes a lot of the thrill of winning.
  • For console games, memory is always bounded (this is one of the TRC/TCR requirements), but genetic algorithms grow unbounded the more experience they get... which basically means you have to force the AI to start "forgetting" things eventually.
  • At the end of the day, creating a genetic algorithm is more fun than playing against it. Remember, from a game design perspective, the point of an AI is not to beat the player, but to allow the player to have fun (which generally means "put up a good fight then lose"). An AI that just gets better and better forever eventually sucks the fun out of the game; an AI that adapts to the player by getting better OR worse just makes the player feel like no matter what they do, they never get any better at playing against the AI because it'll always just increase its difficulty to match them, so there's no feeling of 'fiero' mastery.
\$\endgroup\$
4
  • \$\begingroup\$ Yup. I prefer games that the difficulty is hand crafted. As in when everyone plays this level, its the same for each player. If you have a learning AI, at first it will be really easy, and then if the AI is good enough, it can become almost impossible to beat. And as you said the best AI is not the most fun. To make a godlike FPS AI, just have it always aim at the players head, read the random number generator that is used for the bullet spread, and offset the aim the opposite direction so it is fires automatically like a sniper rifle. \$\endgroup\$ Mar 13, 2011 at 8:13
  • \$\begingroup\$ Yep. That's an excellent summary Ian. Thanks. I don't have much experience developing games (did some simple stuff for fun way back when, while my son was growing up). What you've said defines some of the basics and I totally agree. \$\endgroup\$ Mar 13, 2011 at 12:19
  • \$\begingroup\$ Having said that, I think adaptive characters can still operate to make games more fun so long as their application doesn't violate the basics. Having an occasional super-bad guy show up, creating fitness functions that keep adaptive characters within their rank, or handy-capping the adaptive character (let it adapt only specific characteristics in particular circumstances) are some ways that come to mind that combine good character design with adaptivity. (cont.) \$\endgroup\$ Mar 13, 2011 at 12:24
  • \$\begingroup\$ I've been running the "High Level Logic" open source development project - a serious part of the focus of that work during our robotics project was the effective combination of design and evolution. You can have adaptivity without totally losing design control. \$\endgroup\$ Mar 13, 2011 at 12:26
1
\$\begingroup\$

Adaptive AI is really useful when you need to play a scenario but that scenario can change: i.e. a puzzle, map, turn based adversarial game. A) You can keep the difficulty bounded: You can keep it at different levels based on the performance of the user... if he is blazing through you can ratchet it up to a particular level of difficulty at which point you stop (a lot of games achieve this statically by having easy, medium & hard difficulty, you could do this dynamically but achieve the same point); if he is stuck you can offer hints or ratchet down the difficulty in increments to a certain point below which it does not go (perhaps this is not the game for some users). B) You can have the option to turn off adaptive difficulty. C) You can build adaptive scenarios which alter the course of response and the course of game play based on interactions by the user: Rather than a list of answers, the game has an algorithm set of behaviours based on the choices of the user. This is quite useful. Also this behaviour can be bounded at a certain point if necessary to overcome the difficulty of unbounded "learning". Artificial? Maybe; if it is done right however, it can create unique scenario play each time the same user plays a game which is both challenging and playable. if you can figure out the right balance, it would make an enjoyable game which encourages repeat play.

\$\endgroup\$
1
\$\begingroup\$

I feel like this technology has potential in games if you get creative with how you apply it and can really slim down memory usage.

Take the idea of fighting AI, but apply it to player allies. An ally in a game could adapt to better support a player's play style.

There are also likely numerous abstract gameplay ideas that could rely on a system like this. Maybe try releasing some sort of evaluation version of your package for people to experiment with. Kinect really took off because people started hacking on it. You could even try to build relationships with some of the more adventurous game studios and engine developers. Sometimes you just need to let people muck arOund with something before it's potential can be realized.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .