 |
Game Description
Asteroid Racing Circuit is a fast and intense futuristic racing game. The circuit is set in the asteroid belt surronding Zeta Leporis, a star in the north-eastern section of the constellation Lepus, near the constellation of Orion. Contestants will have to race through waypoints and try to avoid the dangerous asteroids. The fastest one will be the adjuged the winner
|
|
 |
|

 |
Graphical/Physical Simulation Integration
Each library has its own way of representing the objects. We have built a top down hierarchical structure for the space-craft and its individual components, which seamlessly integrates with opal and ogre. The hierarchical structure will update all the associated objects of the different libraries appropriately.
|

 |
Sound Engine
- Streaming music playback
- Distance attenuation of sound : Inverse distance with roll off model (Amplitude decreases with the inverse of the distance scaled by a roll off factor)
- Doppler effect : Adjusted frequency depends on the velocity components between the source and listener;Constant for the entire medium
- Physically motivated collision sounds : Impact sound depends on the material, the geometry of the object, the location where struck, and the energy of the impact.
Amplitude of sound varies with the square root of the impact energy, or linearly with the impact velocity.
Use pregenerated sounds to account for geometry and material properties, and vary the pitch of the sound
with the location of impact.
|
  
 |
Curvepilot AI
This AI determines the optimal path through all the waypoints and around asteroids. It generates a curve and splits the path between two waypoints into equal number of segments. It determines the optimal velocity based on the curvature radius, the centrifugal force and the thruster force for each path segment.
Velocity per path segment allows th AI to slow down on sharp turns, speed up on long straight tracks, We also added an aggressiveness element, which determines whether it picks the optimal values or not. Depending on the aggressiveness we have 4 different AIs. The expert level AI is very tough to beat.
|
 
 |
Autopilot AI
The intitial AI was based on projectile based motion. It determines its target exit velocity and breaking distance between two waypoints at the entry waypoint. This approach suffered for it did not take the optimal path and many times overshot the waypoint. This was eventually retired for the Curve Pilot.
|

 |
Trefoil Path Generation
The waypoints are generated based on a two helix equations. These helixes are connected at 90 degree joint. With some randomization, this has led to very interesting paths, resulting in tight turns and long paths.
|
 
 |
Asteroid Generation
Two kinds of asteroids algorithm generations are in place - Distant Asteroids and Proximity Asteroids. Distant Asteroids are randomly generated, while the proximity asteroids are generated based on the waypoints, giving way to interesting and difficult race circuits.
|
 
 |
Velocity, Attitude and Thruster Based Motion
The motion of the spacecraft is modelled of real physics. The motion is controlled by the target velocity and the target direction.
These two attributes of motion can be controlled by the user. The spacecraft has an inbuilt thruster force calculator which determines which thrusters to fire to generate the required motion.
|

 |
Special Effects
- Distant Star Field Generation
- Thruster Flames
|
 
 |
Producer & Consumer Support
Since, one of our primary goals of this project was to have a space game based on actual physical simulation, we tried to model the movement of the spacecraft based on the reactors and the corresponding thrust provided by them.
TA space-craft can have multiple reactors which are essentially producers, and it converts the energy provided by them into other forms of physical motion, heat, etc which are the consumers.
|
|
|
 |
|

 |
Garett Bass
- Component Simulation
- Race Coordination
- Attitude and Velocity Control
- Autopilot AI
- Curve Pilot AI - Data Mining
- User Interface
- Special Effects
- Art Assets
- Producer-Consumer Support
|

 |
Matt Wu
- Autopilot AI
- Curve Pilot AI
- Optimal Path Generation
|
|
 |

 |
Raghavendra Hareesh Pottamsetty
- Thruster Based Motion Control
- Trefoil Knot Waypoint Generation
- Proximity Asteroid Generation
- Autopilot AI
- Curve Pilot AI - Curve Generation
- Website
|

 |
Paul Canup
- Streaming music playback
- Distance attenuation of sound
- Doppler effect
- Physically motivated collision sounds
- Musical selection
- Sound effect selection
- Producer-Consumer Support
|
|
 |
|
| Menu Keys |
| Up/Down |
Difficulty Levels |
| Enter/Space |
Begin Race |
| Quit |
Quit |
| Racing Controls |
| W |
Accelerate Forward |
| A |
Accelerate Reverse |
| S |
Accelerate to Port(Left) |
| D |
Accelerate Starboard(Right) |
| Space |
Accelerate Upward |
| Alt |
Accelerate Downward |
| Q |
Roll CounterClockwise |
| E |
Roll Clockwise |
| R |
Reset the Race |
| Esc |
Quit |
| Mouse Axes |
Turn L/R, Pitch Up/Down |
| Left Mouse |
Cruise |
| Middle Mouse |
Save Screenshot |
 |
- Course Correction
Your racer is governed by a Newtonian physics model, and requires an equal and opposite reaction to change its velocity. To simplify the control system, you interact with a course correction AI that manages thrust allocation for you.
Simply press the key or keys indicating the desired direction of acceleration, and the AI will determine which thrusters should be fired to accelerate you in that direction, and which should be fired to zero your velocity orthogonal to that direction.
Releasing an acceleration key signals the course correction AI to zero your velocity along that vector. During a race it is sufficient to release a key to slow down. Pressing the opposite acceleration key will have no noticable effect until after the AI has zeroed your previous velocity, i.e. you won't slow down any more rapidly by requesting reverse thrust, since the AI is already applying maximum reverse thrust to slow you down.
Your desired attitude is indicated to the AI by your mouse movements, and it will attempt to maintain the desired attitude. There is a limit to the rate at which the racer's control moment gyroscope can correct your attitude, but the racer is light and can be turned fairly quickly. In the case of an impact with an obstacle or another racer, the AI will quickly return you to your
last set heading.
- Strategic Advice
The key to joining the elite ranks of asteroid racer pilots is twofold; you must learn when to accelerate and decelerate to avoid overshooting turns, and you must learn to use your lateral thrust effectively.
Your racer has two forward, two reverse, two upward, and two downward thrusters, comparatively, it has only one port thruster and one starboard thruster. As such it has the greatest acceleration forward/backward and vertically. You can take advantage of this fact by rolling your ship using Q and E, so that your vertical thrusters are aligned with upcoming turns. This will let the course correction AI use the maximum available thrust to keep you on track and significantly improve maneuverability.
|
 |
Click on the images to see larger versions.
|
|
|
Poster
|
|
|
|