MSc Research
From September 2009 to August 2010 I studied for an MSc by research at the University of Lincoln. I decided to study the use of parallelism in game engines. I adapted some existing research, specifically a load-balancing parallel version of the QuakeWorld server that supports large numbers of simultaneous players. I fixed bugs and performed an analysis of different load-balancing algorithms and demonstrated the server’s performance on both 4 and 6 core computers.
Unfortunately I am unable to share detailed results at this stage because I have submitted a conference paper which is currently in review. As soon as I hear a decision about this I will provide a link to the relevant paper portal.
Lessons Learned
- Working on a single project for a long duration.
- Setting realistic targets and deadlines.
- Supporting my research by developing my own tools.
- A deeper understanding of parallel execution in a video game context.
- The architecture of the Linux kernel.
Videos
I have some videos of the server in action. The first video demonstrates the movement of entities (players) in a square-shaped game world, as seen from a birds-eye-perspective. The colour of each entity represents the processor that the client is currently being processed on, demonstrating the effects of load-balancing in real time. I produced the video using my own tool written in C#.
The second video demonstrates the performance of 4 different load-balancing algorithms processing the same data-set simultaneously. The data-set is a raw dump of the entity data seen in a real execution of the server.