Beach City Racing
Type
Personal project
Position
Main programmer
Date
June, 2016
Links
Racing Game
Procedural road generation
OpenGl
C++
Driving simulation
Mathematics
This mini game was a personal project developed with the purpose of learning how to create a simple graphic game from the scratch. Before working on this project, I also developed some other graphic applications using OpenGL, but they were not game-related.
In this game we control a car from a 1st person view that has to collect the stars in the road to increase its score. There is no way to lose on this game, so the road and the entire map never ends as it is loaded in the game based on the player's position. The shape of the road is generated based on a sinusoidal function. Every element on screen (trees, houses, the road, lights...) are loaded and deleted from the map also based on the player's position and the sinusoidal function.
The game includes a night mode, fog mode, a simple interface to show the car's direction and speed and a wired mode. It also detects collisions with the starts to increase the score.
As the project was developed with OpenGL, I had to program every feature of the game for it to work properly, from the movement, acceleration and camera perspective to the window resizing, shape of the road or positioning of every element in game.
Even though the game is quite simple and not very entertaining, its development involved a lot of programming, maths and work. However, I achieved my objective of creating a 3D game from scratch and I learnt a lot during the process.
The game was programmed in C++ using the OpenGL and Freeglut library.