Falldown is a 2D endless arcade game which is developed from scratch using OpenGL. In this game the player falls down endlessly and has to avoid spiky balls. By collecting coins the player increases his/her score.

The project was developed in March 2018.


This game is an experiment on how to develop a basic game engine in C++. For this purpose, I used OpenGL.

There is no final goal the player can achieve except collecting more and more coins. The player uses WASD for controlling the character through an up-scrolling level to avoid spiky balls and to collect coins. The health of the player is shown in the upper right corner of the screen as progress bar in form of a heart.

To give the game a little bit of progression the amount and size of spikes increases over time, whereas the placement is done randomly.

Lessons Learned

During the development of Falldown I learned how OpenGL works, how to use GLSL and how to implement a basic GameObject based game engine. For this I also took a deeper look in TRS-matrices and the required pre-rendering transformations. Furthermore, I learned the basics of importing file formats such as obj, fbx or png.

What I did not made for this project is a visual editor and persistence of user content. These are things I want to evaluate in the future.