Gloo

‘Gloo’ is a cut down version of a game idea which I have been developing for a long time now. The concept evolved from a renowned indie game called ‘Jelly Car’ created by a guy known as Walaber. For this version the player only has one form (a sticky ball of goo, hence the name). However, in the final game the player will be able to change to different forms depending on what is required of them at the time.

For this project, I created a code framework which allowed the game to be played on both PS2 and PC. The framework achieved this using an abstract GraphicsManager class. It contains abstract functions for loading textures into memory and drawing primitives such as triangles strips. These functions are overridden by platform specific classes which inherit from it (for OpenGL and PS2). Any functions which are not implemented simply throw an exception. For the sake of consistency and simplicity, methods for loading 8, 24 and 32 bit Bitmap Files where created for all platforms.


The soft body simulation is implemented using damped springs, which are connected along the edges of the body and from the centre of the body to point masses at each vertex of the body. There are of course other possible methods but this one is simple and effective. Due to the fact that soft bodies are constantly changing, their triangle strip is recreated each frame, using the momentary positions of the point masses.

During the creation of the simulation, I found a simple but very useful alteration to the Verlet integration system. By storing the displacement between the current and previous positions (instead of the absolute previous position), the displacement vector could be used as if it where the velocity. This then becomes equivalent to the Velocity Verlet system.