Phys-o-Rama!!!

For my third MSc Games Engineering module, I had to create a game which displayed some usage of a physics engine. I used the physics engine that came with the cource material, namely Cyclone. Although I’ve no doubt it is mathematically accurate, it did like to crash a lot and do unexpected things. I’ve managed to capture a few of the strange physics errors in the videos below.

As for the game itself, it’s a sort of mix between tennis and 10 pin bowling, with each player trying to fire projectiles to knock over their opponents pins. Each player has three different types of projectile, basic cannonballs (designed to show use of collision spheres), heavy ‘Defence Blocks’ (to show collision boxes) that could be used to try and protect pins from being knocked over, and ‘Bolas’, three spheres joined together with springs; the idea being only adding firing force to one of the spheres will cause the other two to trail behind it and maybe knock over pins that the main sphere misses. Everything in the game is part of the physics system, so projectiles can hit each other and the launchers, as well as pins. To stop projectiles firing off into space, the play area is blocked off by four invisible planes which deflect anything that hits them. The ground has a few selectable physics types, including grass, ice, and ‘jelly’ which makes projectiles bounce everywhere. I tried to make a net to go in the middle of the arena made up of a grid of rods and springs, but as soon as a cannonball hit it, the game would either crash, or the entire net would fly off into space!

The game turned out alright, given that we only had a fortnight to make it, its creation taught me what I needed to know about physics systems to pass the module, as well as about knowing the limitations of a library before I try and implement things it can’t do!

I’m fairly sure the texture used on the ground comes from the CD provided with the Primatech ‘OpenGL Game Programming’ book, it’s followed me around from project to project for years 🙂

Screenshots

physbattleA game of Physorama in full swing
physwinPlayer A manages to win with 2 pins to spare
physblockPlayer A tries to protect his pins with Defence Blocks

Videos

Some videos of Physorama in action:

 

And some of the strange things that can happen with Cyclone:

 

Downloads

The latest version of Physorama can be found here.