Programming Languages used: Java
Download: /downloads/waffler.jar

At the end of my first year at university, our final java project was to create a game. We were given a basic game engine which consisted of various characters moving around a 2D map. I thought this was a bit dull, so I added some gravity and turned mine into a platform game.

Waffler in action Waffler in action.

Once I'd implemented gravity, I needed to allow the main character to counteract this by jumping. In most platform games, to jump in a certain direction you first jump up and then move in the desired direction. Have you ever tried this in real life? It simply dosen't work. The law of conservation of linear momentum means that if you're in mid-air with no external forces acting on you horizontally, you can't just start moving to the side (unless, of course, you propel something in the opposite direction). As a physics student, I felt that I should avoid breaking the laws of physics; therefore, in my game to jump to the side, you need to run and jump. Once you've left the ground, there's nothing you can do to influence your projectile.

The game included a couple of homages to other games, such as: growing bigger (like in Mario), a level with rising water (like Sonic), a parachute which helps break your fall (like Lemmings) and a random bit of junk picked up at the start which proves invaluable much later on in the game (like the Hitchhiker's Guide to the Galaxy).

At the end of the assigment, everyone tried out each others games and got to vote on them - I came joint first. :)

Return to all projects
This page is also available as rdf