Jet Slalom Game

Matthew Coats

Slalom

Project Description

The list of available aircraft varies from the A380 to state-of-the-art military fighter jets and even medical helicopters. Even better, we release new aircraft every month so you'll get to always experience new aircraft to try on our simulator. Ski Slalom is a very fun sports game that you can play online and for free on Silvergames.com. Take a break from the heat and enjoy a fun winter sport game that will put your reflexes to the test. Ski Slalom is a game in which you choose a character and race downhill to the finish line passing right between all flags in your way. Earn gold medals and collect coins to increase your racer’s. Slalom is a skiing video game in which the player races in a series of downhill slalom runs while navigating past flags and obstacles before time expires. It was developed by Rare and first released by Nintendo for the Nintendo VS. It was then released for the Nintendo Entertainment System (NES) in North America in March 1987.

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.

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.

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.

Jet slalom game

Results Images

Jet slalom free game

Movement to the left

More obstacles

Survival time printed to terminal


Graphics Technologies Practiced/Learned

Game
  • 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 Game Free

External Libraries

  • pthreads (pthreads-win32 for Windows)
  • OpenMP

Jet Slalom Computer Game

References


Comments are closed.