Download - Advanced Racing Game AI in PURE

Transcript
Page 1: Advanced Racing Game AI in PURE

Advanced Racing Game AI in PURE

Iain Gilfeather

Page 2: Advanced Racing Game AI in PURE
Page 3: Advanced Racing Game AI in PURE

Race Management

• What happens if we don't manage the race?– AI either too good or too bad– AI won't react to the player's mistakes

• Necessity of race management mechanisms– Make it challenging for anyone– Adapt to different situations– Fun

Page 4: Advanced Racing Game AI in PURE

Rubber Band• Big rubber band around the player forcing

the AI players to be around him– (Usually) Using any means necessary

• Rubber Band:– Pros:

• Works almost always• Removes completely the ‘lonely racing syndrome’

– Cons:• Usually needs cheating• It’s easy to spot, so it breaks the illusion of fairness

Page 5: Advanced Racing Game AI in PURE

Skills

• Represent how well a player performs on a particular behaviour/gameplay aspect.– 1 Skill per player per behaviour– Eventually all behaviors have the same skill

value

• Skills are normalized (to the [0..1] range)

• They could also be used to represent personality

• Original approach to difficulty: static skills

Page 6: Advanced Racing Game AI in PURE

Skill Porperties

• Broad Range: if not broad enough we won’t be able to cover all the user cases

• Responsiveness: using small increases normally so we want it to have small steps too

Page 7: Advanced Racing Game AI in PURE

Skills Video

Page 8: Advanced Racing Game AI in PURE

Dynamic Competition Balancing

• Static skills during the race didn’t work well– Either too hard or too easy– Lonely racing

• Dynamic Competition Balancing (DCB) is a system that modifies the skills dynamically during the race according to some rules– Tries to match the player's skill

Page 9: Advanced Racing Game AI in PURE

Dynamic Competition Balancing• The first approach tried to match the

player index with the leaderboard position– Way too inflexible– Didn’t work that well

• We then introduced the concept of groups– Divided in group heads and members– Members follow the head/heads in order– Didn't work neither

• Groups too loose or no groups at all• Lonely racing

Page 10: Advanced Racing Game AI in PURE

Race Script: Summary

• It’s the final method we used in the game

• This Race Script concept includes not only the definition of the script itself but part of the implementation

• Fixed the lonely racing sensation, the groups mechanism and it didn’t feel the AI was cheating.

Page 11: Advanced Racing Game AI in PURE

Race Script: Definition

• This is the part implemented by designers• It'll be a document explaining how the race

should ideally develop under different circumstances:– The different player abilities must be reflected

in the document– It's important for designers to understand that

the race depends heavily on the player's performance

– It’s not a strict script, just some guidelines for the race

Page 12: Advanced Racing Game AI in PURE

Race Script: Example

• Example from Pure: the ideal case• 3 groups: head, middle, back

– Head and middle group leave the player behind at the start

– Player goes progressing and jumping from one group to another

• Some AI riders will jump with the player

– At the middle of the last lap the player is in head position and the AI will be more forgiving from now on with his errors

Page 13: Advanced Racing Game AI in PURE

Race Script: Implementation • The main idea is to use distance as the

main rule for the DCB.– Every rider is aiming to be at a point X meters

in front of or behind the human player– The skills of the rider will vary according to the

distance to the aiming point, not to the player

• Grouping players is achieved by giving them similar aiming points

• The point may also move during the race– Thus we can have groups that progress

during the race

Page 14: Advanced Racing Game AI in PURE

Race Script: Implementation

• From the player’s perspective it’s him who progresses through the groups– He doesn’t know we are making it easier for

him– It’s subtle and rewarding

• Main 2 differenciation points from Rubber Band:– Skills limited to a certain range– Follow the Race Script (not all around the

player)

Page 15: Advanced Racing Game AI in PURE
Page 16: Advanced Racing Game AI in PURE
Page 17: Advanced Racing Game AI in PURE

Race Script: Other mechanisms

• Other mechanisms were used to ensure the game worked as desired– AI will have 1 skill at the beginning of the race

• They need to make some distance from the player to ensure the initial groups

• It's a complicated a very crucial moment for the AI – Too many cars/bykes

– Some difficulty modifier based on the lap• Some people found it too easy at the beginning• Each lap is a bit easier than the previous one• This is very small (0 at the end)

Page 18: Advanced Racing Game AI in PURE

Race Script: Other mechanisms

– An 80% of the race is used to interpolate between the initial and end aiming positions, the 20% final uses the last positions.

• Is consistent with the script• Otherwise it may be too difficult and unforgiving at

the end

– The AI riders will stop to improve their skills in the last meters to give make the first position even more accessible to players

• Even with previous measures the AI was sometimes hard and unforgiving in the last meters

Page 19: Advanced Racing Game AI in PURE

Other genres

• I think this mechanism could be used in other genres – More control to the designers over the difficulty

• You only need 2 key elements– Skills– Script

• And an idea of how to implement it

Page 20: Advanced Racing Game AI in PURE

Conclussions

• I think we achieved our initial goals:– Have challenging, fun races– No lonely racing– Subtle and rewarding– Coherent groups throughout the race

• This method may be easily adapted to any other kind of racing game

Page 21: Advanced Racing Game AI in PURE

Thank you