Powerdrome

From AIGPG Wiki
(Difference between revisions)
Jump to: navigation, search
m (Fixed author stamps)
m (Multi-tier planning architecture through virtual yoke: formatted the list of behaviors)
 
Line 31: Line 31:
 
{{AuthorStamp|name=Brett Laming|url=http://www.linkedin.com/in/brettlaming}}Divided into a number of feed forward sections: a line following layer, a personality layer, the A.I. passed signals down through a stack based virtual yoke.  This generated (predominantly) gas and steering signals similar to the player.
 
{{AuthorStamp|name=Brett Laming|url=http://www.linkedin.com/in/brettlaming}}Divided into a number of feed forward sections: a line following layer, a personality layer, the A.I. passed signals down through a stack based virtual yoke.  This generated (predominantly) gas and steering signals similar to the player.
  
Noted here is the personality layer, which based on blades around it - and the relationship to those blades - could chose to affect the signals of the line following layer with extra steering - towards blade as it came level => side ram (aggressive), -ve ram => getting out of the way (friendly), sidewards bias with a blade in front => (overtaking), overdriven acceleration to a blade in front => forward ram (aggressive), artificially deceleration to a blade behind => blocking (aggressive).
+
Noted here is the personality layer which was based on blades around it—and the relationship to those blades—could chose to affect the signals of the line following layer with extra steering:
 +
* Towards blade as it came level => side ram (aggressive)
 +
* -ve ram => getting out of the way (friendly)
 +
* Sidewards bias with a blade in front => (overtaking)
 +
* Overdriven acceleration to a blade in front => forward ram (aggressive)
 +
* Artificially deceleration to a blade behind => blocking (aggressive).
  
 
The use of boost was also intended to be plugged into personality with the idea that some characters would just like to get ahead, rather than be conservative.
 
The use of boost was also intended to be plugged into personality with the idea that some characters would just like to get ahead, rather than be conservative.

Latest revision as of 10:41, 23 July 2011


Powerdrom
PowerdromeBox.jpg
Developer: Argonaut Software
Publisher: Mad Duck Productions
Year: 2004
Platforms: PS2, XBox, PC
Genre: Racing
AI Era: Tactical Reasoning

Powerdrome is a futuristic racing game where players race jet-engined, anti-gravity bikes called 'blades' around closed tracks.

Contents

Description of AI Behavior

Being a pure racing simulation, the A.I. attempted to provide a competative race on a multitude of tracks often with multiple routes. It tried to do this reflecting the personality of each of the relevant characters

Notable Behaviors

Notable behaviours including some degree of gesturing based on personality and move execution.

Architectures

Player assisted learning

This section is based on
first-hand knowledge
by AIGPG member,
Brett Laming.
What does this mean?
Various people in the company drove a number of laps around various tracks recording telemetry. The best were chosen primarily to provide appropriate attack velocities and lines for things like corners. A combination of the multiple routes were driven.

For A.I. training, the single player time trial mode was used. The A.I. continually aimed to beat the best time, driving the best line as closely as possible and dropping telemetry as it went. If it set a new time, this became that which it tried to achieved. The natural curvature of the improved driving line therefore started to reflect what the A.I., for that particular blade, could drive inside it's own heuristics.

Multi-tier planning architecture through virtual yoke

This section is based on
first-hand knowledge
by AIGPG member,
Brett Laming.
What does this mean?
Divided into a number of feed forward sections: a line following layer, a personality layer, the A.I. passed signals down through a stack based virtual yoke. This generated (predominantly) gas and steering signals similar to the player.

Noted here is the personality layer which was based on blades around it—and the relationship to those blades—could chose to affect the signals of the line following layer with extra steering:

  • Towards blade as it came level => side ram (aggressive)
  • -ve ram => getting out of the way (friendly)
  • Sidewards bias with a blade in front => (overtaking)
  • Overdriven acceleration to a blade in front => forward ram (aggressive)
  • Artificially deceleration to a blade behind => blocking (aggressive).

The use of boost was also intended to be plugged into personality with the idea that some characters would just like to get ahead, rather than be conservative.

Inverse kinematics

This section is based on
first-hand knowledge
by AIGPG member,
Brett Laming.
What does this mean?
The A.I. attempts to accelerate/decelerate to acquire the given best line speed * some slightly increased scaler. It tries to acquire the speed at the next time step, clamped by an acceptable acceleration [worked out by engine max F/m]. Because they fly under the same mechanics as the player, this usually means the players speed is reasonably attainable. By using a scaler to slightly increase target values so that it is never quite, a smoothed continuous signal is obtained.

Steering was originally based on a fan approach generated off line for each blade. Various degrees of steer were recorded under different conditions, the physics being integrated over a set time window to work out the relative translation from forward direction, expected in the future. This would form part of an n-directional table where various key factors, side slip, speed bracket were weighted into the equation.

As the data grew, the effort was somewhat scaled back to just be hard left and hard right steering. Then a given run time state of blade, would provide the relevant hard left, hard right table entry and linear interpolation from -1 being the left most point to +1 being the right determined the best steering value.

Obstacle avoidance

This section is based on
first-hand knowledge
by AIGPG member,
Brett Laming.
What does this mean?
The OOBB of known obstacles were translated into 2D (horizontal occupation + distance) track space and this used to affect steering values. By mini-maxing the horizontal occupation, obstacle clusters could be avoided [Laming, AI Wisdom 2]

Post-Mortem

What Worked

Player assisted learning

Really allowed some nice player quirks to come out, tempered by an A.I. that then refined your lap.

Gesturing in replays

This section is based on
first-hand knowledge
by AIGPG member,
Brett Laming.
What does this mean?
Although gestures were partly driven by race time, by the personality layer determining a move, most of it was actually a cheat - added instead during replay. Depending on the replay telemetry, we increased the number of gestures at key times (after collisions - accidental or not), on entering 1st place etc.. and provided the rules were reasonable it looked like they all had more personality than they really did

Debugging

This section is based on
first-hand knowledge
by AIGPG member,
Brett Laming.
What does this mean?
Graphical debugging of avoidance, track and steering feathers. The ability to pause the simulation (but not camera) and look around. [Laming, AI Wisdom 2]

What Didn't Work

Steering by table

This section is based on
first-hand knowledge
by AIGPG member,
Brett Laming.
What does this mean?
Fitting steering curves by a multidimensional table of dependent variable brackets. Reallistically there were too many parameters and we were relying on instinct to tell us which ones to base things on. The table quickly went n-dimensional. These days, you'd alter at runtime using a PID controller

Imparting personality at 1200km/h

This section is based on
first-hand knowledge
by AIGPG member,
Brett Laming.
What does this mean?
Trying to co-ordinate aggressive movements at speeds approaching 1200km/h is difficult. Often rams or swipes would miss, or at most be ineffectual.

Artistically fitted tracks vs physical speed

This section is based on
first-hand knowledge
by AIGPG member,
Brett Laming.
What does this mean?
The artists treated both track and blade as a traditional racing circuit. But when you're flying a tonne of metal without friction at 1200km/h, bends need a huge track width. Because both player and A.I. often couldn't make them, the side force field profile needed to be ridiculously ramped up - taking away some of the skill

Lessons Learned

This section is based on
first-hand knowledge
by AIGPG member,
Brett Laming.
What does this mean?
Having a realistic race, isn't necessary the best race. We probably should have used light rubber bandedness to keep blades together more.

Reception by Public

This section is based on
first-hand knowledge
by AIGPG member,
Brett Laming.
What does this mean?
The game received mixed reviews and a 69% Metacritic. To our knowledge the A.I. was never accused of being too stupid or obviously cheating, passing the A.I. was just there test.

References

A.I. Wisdom 2 - todo.


External Links

Personal tools