I made this game as a final project for my "Event-Driven Programming" class in college. It's a little cave-flyer game, which is way too hard for most people.

Phobia screenshot

To launch the game, you probably want to run one of the .bat scripts (e.g. phobia_1024_768). This will set the screen resolution for you. To play, use the arrow keys to control the ship. You need to fly the ship to the drop box on each level, drop the payload into the drop box, and then return to the starting location. If you run out of time or fuel, you have to restart the level. Space bar releases the payload. If you want to exit the game, close the console window which opens when the game opens.

The game was a project I used to explore some different technologies. I created a simple 2d graphics library in c (named "atych"), which uses OpenGL in an SDL window. I wrote all of the game logic and levels as a set of lua scripts. The main program is written in c, and it acts as a glue between the graphics library and the lua scripts.

The keypress events are captured by the main program, using SDL. These are then transferred to the lua scripts every frame.

The lua scripts set up a "game state" table, and this game state information is transferred to the main program every frame. The main program then looks at the game state, and uses that to determine what to draw to the screen. The current level is stored as a tree of information, where each branch of the tree is positioned relatively to its parent. If you lose/win, the main program will display that message, over top of the current scene. Otherwise, it'll just display the scene.

You may use and modify the source code and assets of this project for any purpose whatsoever.

Filename Size Last Modified 192 kB Apr 08, 2017 759 kB Apr 08, 2017