top of page

Flight Simulator

ROLE

Solo Game: C++ & Opengl

DESCRIPTION

This is a small game I made over summer, it features a simple plane controller and random terrain generation. My main goal of this project was to learn a low level graphics pipeline and also improve my C++ skills. 

YEAR

2022

GENRE

Casual, Simulator

PLATFORM

PC

Source Code

Gameplay

Flight controls

The flight controls are very simple, using 'W' to move forward and 'A' & 'D' to rotate the plane's yaw, and the arrow keys to manipulate pitch and roll. These work by using quaternions to track and change the planes rotation, after I stumbled into problems with gimbal lock using Euler angles. In the future I hope to implement my own basic physics engine to improve upon the flight simulator with realistic aero-physics.

Terrain Generation

Procedural terrain generation is also a feature in this game. It works by populating a flat plane with added vertices, then combing a few Perlin noise functions to offset their positions. Resulting in large slopes with an uneven surface. I made a saving system by simply writing the configuration to file and since the randomness is seeded it will produce the same result once read and sent through the generation function. 

Also in the terrain class is the skybox creation and drawing. The background can be changed to different times of day during runtime.

bottom of page