Pages

The Platform Game

Here you can find the platform game we are developing. We have released four versions so far, with a new level and new features in each one. The character can run around and explore its esthetically pleasing modular surroundings, collect treasure, and try to avoid danger, to find its way to the final door out.

Controls

arrows move left/right
CTRLjump
F2restart (when dead)
ESCexit

Installing the platform game

Windows

Download the zip file and extract the folder, for example to the desktop. Double-click the file game.exe to run the game.

Linux

Download, extract and run. You will need to have some libraries installed for the game to work. On ubuntu and debian, install them with: sudo apt-get install libsdl1.2debian libsdl-mixer1.2 libsdl-image1.2 libsdl-gfx1.2-dev libzzip-0-13. On fedora, try yum install SDL-devel SDL_image-devel SDL_gfx-devel SDL_mixer-devel libzzip-0.

Levels


Platform game 0.04



Platform game 0.03



Platform game 0.02



Platform game 0.01


Programming the platform game

Developing the platform game is interesting since it combines a number of different fields: graphics, animation and programming. Game programming is a new experience for us, as we are used to dry science programming of the type: numbers in, calculate something complicated, numbers out. It is also very satisfying - when you add new objects to the game and get them to work correctly, you can see and interact with them in the game world.

The game is written using the SDL library. This has worked out very well. The game is portable, and SDL handles complicated tasks like loading images and sounds in different formats. SDL also handles the low-level things (like setting up a window and allowing you to draw in it) without getting in the way.

Drawing the level and simple animations turned out to be quite easy. For designing the levels themselves, we wrote a simple level editor. The hardest part has been to get the player character to move and jump in a nice way. This involves moving the character, preventing it from passing through the walls, and choosing which frame to draw next.

One of our goals with the game is to keep it lightweight and playable on slow computers. The game does compile and run on the raspberry pi (with raspbian), but not yet at the full frame rate.

Blog posts about programming the platform game

Compiling zziplib with MinGW

Game programming notes

Game data in a zip file

Antivirus Anger