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.