Star Fox 64 Training Mode Simulator
Star Fox 64 Training Mode Simulator
CSC 471 Winter 2014
by Matthew Trinh
Description
A Star Fox 64 Simulator(written in C++ / GLUT / OpenGL) that tries to mimic the original Star Fox's 64 Training Mode. Although not
entirely like the Training Mode (no bombs, arwing health/lives, arwing somersault, etc), I did my best to try to
simulate every other feature that was in the Star Fox 64 Training Mode.
The actual Star Fox 64 training mode.
Graphics Features
- Lighting: Each laser has its own light position while the other use a directional light based on camera movement.
- Shading: The arwing (Star Fox 64 ship/aircraft) uses phong shading, as well as the lasers. Normals are mapped correctly due to algorithm done on Program 3.
- Texture mapping: Crates have textures mapped to them. The ground is also texture mapped, as well as the finish line and the sky. The sky is texture mapped using the sky-box technique found online/through colleagues.
- Collision detection: Lasers clash with crates and destroys them (little explosion "particles that separate and disappear after a while). The arwing collides with crates and stops if it hits the front of it. It also can't move inside a crate by strafing left or right. Lasers slowly get smaller and smaller to the point where they disappear after a certain time. The arwing is also limited to a certain area and can't go through the sky or below the ground.
- Animations: If you hold the right/left buttons ('W' and 'A') long enough, the arwing will do a unique turning/strafing animation that doubles its strafing speed. Also if you press the barrel roll button ('B') your strafe speed will quadruple depending on the direction you were moving (default/if not moving goes left like in the real game if I remember correctly).
- Hierarchical Modeling: Crates are Hierarchical modeled, with two boxes at a time. Geometry Creating Disks(known as 'Rings' in the program) also use the same ModelMatrix logic but do not hierarchical model themselves.
- Mesh Creation: The arwing was made using an arwing obj file as source from models-resource.com. I parsed the obj file manually and converted it so it would work with the SimpleCMeshLoader given to us. I also manually colored the faces since the obj file came uncolored.
- Score system: Each ring passed through gives 3 points (and also a speed boost) and each crate destroyed earns one point.
- Camera Pitch and Yaw: The camera follows the arwing (even when it strafes left and right or barrel rolls), and you can use it to look around the environment.
- Shadows: The arwing has a cheap shadow that follows it but does not mimic the animations it uses.
Controls/How To Play
Shoot as many crates and go through as many rings as you can using the arwing. Navigate the arwing with the WASD keys and fire lasers to destroy crates. Lasers go in a linear direction and disappear after they travel a certain distance. Use the barrel roll to get strafe left and right faster! Collect as many points as you can and head to the finish line to see your score.
Keys
- 'W'
- Elevate Arwing Height
- 'S'
- De-elevate Arwing Height
- 'A'
- Strafe Left (Hold to do Strafe Animation)
- 'D'
- Strafe Right (Hold to do Strafe Animation)
- 'B'
- Do a Barrel Roll!
- 'F'
- Fire a laser!
- Left Mouse(Drag)
- Move the camera around
Pictures Of the Simulator
The front model of the arwing. The arwing is always facing in front of the camera because of how Star Fox 64 works, so
you won't be able to view this in the simulator.
The stage that imitates the Star Fox 64 Training Stage.