Minigame that puts you in the controls of an anti-air cannon
Go to file
Otto Naderer d9758fff31 merge caudio works complete, update readme 2022-10-02 12:45:41 +02:00
ext update caudio 2022-08-27 10:41:33 +02:00
res added screenie 2018-11-27 00:16:19 +01:00
src cAudio now submodule, some minifixes, updated readme 2021-08-05 16:00:19 +02:00
.gitmodules added caudio submodule new location 2022-10-02 12:45:04 +02:00
CMakeLists.txt c++ std differentiation due to caudio 2022-08-18 17:50:52 +02:00
LICENSE Add LICENSE 2018-11-19 01:12:17 +01:00 updated this and caudio's readme for win build #1 2022-08-26 01:45:49 +02:00


FlaSim is a mini game I did as a birthday party gag. It lets you control an anti-aircraft cannon with your joystick. Five jets are then randomly spawned (one after the other) as targets to be engaged by the player. There is a blog post about the implementation aspects of the game.


You'll need a joystick to play the game. The game starts out with no enemies so you can get used to steering the cannons. Joystick button 1 fires, button 2 reloads the guns (15 seconds penalty). Pressing F9 activates the game mode which spawns a plane every 45 secs (so scan your horizon!), F10 quits game mode (same as when 'aircraft remain' is zero), F12 quits the game. Successfully engaging a plane rewards you with 1000 points plus bonus for the distance (the further out the more points). Relevant info is shown in the top-left corner.

About the game

The game uses the irrlicht graphics engine for the eye and cAudio for the ear. It's quite of simple complexity and might hence serve as a good example for someone learning about game and/or graphics programming. About the visual content shown in the game: I did some parts myself (cannon model, crosshairs, terrain), all other stuff is from free content websites.

Building flasim

The game is confirmed to be building on Windows and Linux. Start out with cloning and fetching the submodules.


  1. Make sure to have cmake, gcc, irrlicht and openal installed and ready. If your distro differentiates, pull the dev options for the latter two.
  2. cmake flasim and build.
  3. Done.


  1. Have cmake installed.
  2. Next we need the irrlicht dependency. Either build it yourself or clone the ready compiled irrlicht-bin repo somewhere close to flasim
  3. For windows, the cmake config needs some extra locations. One is to tell flasim where to find irrlicht, one where to look for the OpenAL binary deps which are included in cAudio. A typical call to cmake would look like this (assuming irrlicht is just outside the flasim folder): cmake -DIRRLICHT_INC_DIR=../irrlicht-bin/inc -DIRRLICHT_LIB_DIR=../irrlicht-bin/lib -DCAUDIO_DEPENDENCIES_DIR=ext/cAudio/Dependencies64 (...) for a x64 build.
  4. Build flasim using your favorite IDE or nmake
  5. Once successfully through, manually copy over Irrlicht.dll from irrlicht-bin to flasim/bin and you're ready to launch.
  6. Find out how many more steps were necessary compared to Linux.
  7. Done.

Questions? Reach me at otto