Matthew Coats
Project Description
Jet Slalom Game
My project is a recreation of the old flash game 'Jet Slalom.' Jet Slalom was an endless high score game in which the player drives a hovercraft across an infinite plane. The infinite plane is a large grass field that contains cone obstacles that the driver must avoid. The number of obstacles increases over time. The hovercraft is always moving forward, but the player can use the 'A' and 'D' keys to move left and right to dodge the obstacles.
When I played this game as a child, the obstacles were simple, 2D triangles that had varying solid colors. I recreated the game with improved graphics, including 3D cones and shading/lighting throughout the world. I used parametric equations with converging radiuses to generate the vertex data for the 3D cones. I used an obj file from the internet for the hovercraft. The hovercraft rotates about the z-axis when turning left and right. I'm using rectangular collision boxes to detect if the player hits an obstacle. When a collision occurs, the hovercraft is stopped, explosion particles emit from it, and the number of seconds the player survived is printed to the terminal. Free dropstuff for mac.
In its current state, the game is 'pseudo-endless,' meaning that the map is actually finite. At the end of the map, there is an unavoidable line of cone obstacles that will stop the player. However, it is extremely unlikely that the player reaches this point, since the frequency of cone obstacles increases immensely as the the end of the map gets closer. To generate the positions of the cone obstacles, I step through all of the {x, z} coordinates—using an approximate cone width as the increment—and use a random number generator to determine whether or not a cone should be placed at the current position. The percentage chance that a cone is placed is determined by the z-coordinate. As the z-coordinate gets closer to the end of the map, the chance that a cone is placed at each position increases.
Jet Slalom Game Free
Jet Rush unblocked - a free online games that you can play with friends on the school computer. Jet Rush - the most exciting game you can play right now, don't miss this. Helicopter Game: Helicopter Game is a classic game of balance and timing. So, you think you can fly? Well, don't be so sure! It gets pretty hairy up there, once you're fighting gravity and dealing with an X and a Y axis you might just realize that flying is for the birds.
I also combined this final project with my Parallel Programming final project (CSC 419). The cone obstacle generation can be done in parallel if THREADED_GEN is defined. The collision detection loop is done in parallel regardless of any constants. As a result, both the OpenMP library and the pthreads library are required for compilation. I used the pthreads-win32 library to compile the project on my Windows machine.
Below there are several images depicting the different game states mentioned above.
Results Images
Movement to the left
More obstacles
Survival time printed to terminal
Jet Slalom Game
Graphics Technologies Practiced/Learned
- Procedural generation of obstacles
- Collision detection
- Shading/lighting
- Using & transforming obj files
- Keyboard callbacks (want to continuously move while holding down the keys)
- Particle Systems
Jet Slalom Addicting Games
External Libraries
Jet Slalom Free Game
- pthreads (pthreads-win32 for Windows)
- OpenMP