CPE 474 Final Project: Splanner
Justin Fujikawa
Winter 2015
Shinjiro Sueda
Splanner is a simple game where the player must move control points of Catmull-Rom splines to direct a spaceship around the stars and touchdown on Earth. I really liked how Catmull-Rom splines were created but I also wanted to be able to modify the control points in real time to see how they affect the generated splines. With that simple idea, this game was created

How to Play

• Control Boxes - Each control point has a corresponding box encapsulating it which shows the constraints on where each control point can move. The player has one control box selected at a time and the player can move that box's control point using the 'n/m' keys (-x/+x), 'v/b' keys (-z/+z), and 'j/u' keys (-y/+y).

The boxes can be iterated on using the ',' (previous box) and '.' (next box) keys
• Collisions - If the rocket hits a star the rocket stops and the game results in a game over. The only collision that is good is hitting the Earth after dodging all the stars
• Ready For Launch - Once all of the control points are set, press spacebar to launch the rocket. The rocket will follow the splines generated from the control points.

The spline is hidden by default but can be shown by pressing 'k'

• Reset - If you would like to reset the position of the rocket to the beginning or to readjust the control points, press 'r'

Technologies

• Catmull-Rom Splines - The main technology used in this project is the creation of Catmull-Rom splines. These generated splines were used to create a flight path for the rocket given the control points.
• Particles - Particles were used for the rocket's exhaust. The particles are generated at the end of the rocket and have an initial velocity that is opposite of the tangent vector along the spline.

References

• Eigen - Eigen is a very useful engine for doing arithmetic on vectors and matrices.
• Dr. Sueda - Referencing Dr. Seuda's code was useful for brushing up on concepts that I either forget or missed in CPE 471.
• Google Images - Finding suitable textures was as simple as searching for them in google images.