University Projects

Motion capture data viewer

This courswork involved the creation of a viewer for motion capture data provided in the Acclaim format. The program was to be created using C and GLUT, an OpenGL library. Code to parse the Acclaim files was provided, so the aim was to take the parsed data and produce a visual display of it. The parsed data consisted of two parts, skeleton data and motion capture data.

visulising a skeleton under motion capture data in the default floor scene

Visulising a skeleton under motion capture data in the default floor scene

To provide some variety and a better sense of perspective, I added the ability to view the visulisation in a choice of three different scenes. The default scene is a basic tiled floor, also availiable is an indoor scene and an outdoor scene.

Visulising a skeleton under motion capture data in the indoor scene

Visulising a skeleton under motion capture data in the indoor scene

The program was designed to allow multiple skeletons, along with their motion capture data to be visulised at once. The data files are specified as arguments to the program, which then loads the file and performs a recursive traversal of each bone in each skeleton, drawing each as it goes.

The camera automtically follows the movement of the currently select skeleton, this skeleton can be changed at any time by a simple key press. The user can also rotate around the currently selecting skeleton by holding down a key.

Visulising two skeletons each under their own motion capture data in the outdoor scene

Visulising two skeletons each under their own motion capture data in the outdoor scene

Labyrinth of doom

The Labyrinth of Doom was a piece of coursework set in my first year at Bath. It involved two parts:

Part one

The first part was to adapt some provided code. The code acted as a server for a basic game called the Labyrinth of Doom. The task was to adapt the code such that it would allow multiple players and it would be able to read in maps from an XML file rather than have a map hard-coded in. The XML files were to be validated against a DTD, which had to be written also. The XML based maps could specify specific locations of items but also amounts of items to randomly occur, so the new server had to take account of this and handle inserting of random items while avoiding placing them in the wrong location.

my version of the LOD server running in a Windows command prompt. The server is handling a game between two players

My version of the LOD server running in a Windows command prompt. The server is handling a game between two players

Part two

The second part invloved either creating an AI player or creating a GUI for the game. I chose to create a GUI. The GUI was made using Swing and Java2D. The GUI client displays the map data in a graphical format and allows each player to move around the maze, pickup items, end their turn and converse with each other.

The server controls a game between two players in an XML based map.

The server controls a game between two players in an XML based map.

Soul Saver

Soul Saver is a simple game I made in Scratch for a competition.

Link: Soul Saver