Space Trader Online Multiplayer Game Group Project - A+

The assignment

For this assignment, we were given the task of creating an online multiplayer game. A suggested (turn based) game was provided, but we were free to extend it, as we did. We created an extensible, multi-player, real-time, space-trading game. Our added functionality required more work, but we learnt a lot about team management and concurrent systems. We achieved an A+ for our project which occupied an entire summer term, and were one of two groups selected as best project to receive £50 each from IBM, and were entered into the IBM ThinkPad Challenge.


The group

View Our Full Report containing more detail.


For this project, we designed a client server architecture, implementing the game client as a Java applet. This provided portability, and very easy distribution. The client communicated with the server (also written in Java) via sockets which maintained global state information. The use of Java on the client also allowed for a visually rich game interface, and extensibility by making best of relevant design patterns. The server ran an embedded TomCat server within the same process which allowed deployment of the game client, and shared session information between the two linked web services. This meant that the user need only log in once in their web-browser, and not again in the applet. We used Hibernate to allow objects that encompassed state to persist beyond the life of the application backed by a Postgres database.


We used Subversion as our code management system (which is arguably a better cvs). We also used Trac which is a management Web front-end to Subversion, with many added features such as 'tickets' for bugs and feature requests.

For our documentation we used latex, as this allowed use to compile out individual sections, whilst maintaining very stringent numbering, and shared references.


by Steven Lovegrove Jump to top