This is a submission from TSA member, JamboGT and is going to be used in his research for Uni.
Artificial intelligence is a topic that covers all types of game. However, unsurprisingly for those that know me, I want to talk about artificial intelligence in racing games. I study computer programming and game design and am currently working on my final year project, a form of adaptive AI in a racing game.
When making a racing game, I feel that one thing that is very tricky for developers is balancing the AI opposition so that players of all ability can not only defeat the opposition but be able to have a compelling and exciting race with them. Some players may be much faster than others so what do the developers aim for? The players running perfect laps or the players who make the odd mistake and go a lot slower? For many games the answer to this problem has been a technique known as rubber-banding.
For those of you that don’t know, rubber-banding is a method that artificially increases or decreases the performance of the AI opposition dynamically in order to match that of the player. This may be done by increasing the speed and acceleration of the AI, increasing the grip level of the AI or, in weapons-based games like Mario Kart, a better chance of picking up a good weapon.
Rubber-banding, for some games, is a great solution. It keeps the race close the whole way until the chequered flag. Would Mario Kart be Mario Kart without Luigi having a run at you on the final lap?! Burnout wouldn’t keep the same thrill until you crossed the line if the AI wasn’t using rubber-banding to catch up following a crash or a great burnout by the player. However, while this may keep the excitement levels up, there is always the feeling that the AI have been cheating, that the game is skewed unfairly against the player.
Sim games, such as Forza and Gran Turismo, tend not to use rubber-banding. GT has a difficulty that scales as the player levels up and Forza has a difficulty setting. There is no adapting of the AI as you race. This may lead to a “purer” race but also has its own problems. Namely, finding a skill level relative to that of the player. To put it simply: some people are good at racing games, some people aren’t, yet the AI has to race against a wide spectrum of abilities. This means that for some players they are far too fast and for some ridiculously slow.
For my final year project I decided to try to find a solution to this problem. To find a type of AI that can adapt to different players’ abilities dynamically yet not do it in a way that seems unfair to the player. A basic explanation is a system that tracks the players’ performance over a series of races and laps and then, over time, adjusts the AI to be able to provide a competitive opponent.
To do this, I need your help. Just down there is a link to a questionnaire (a very quick and painless questionnaire!) that I will be using to aid my research, the more data I have, the better my research so please take the time to fill it out.