Volvo Ocean Race Game

screenshot of vorg! screenshot of vorg!

 

Description:

The Volvo Ocean Race Game is a social game where people sail alongside the real participants of the Volvo Ocean Race and compete against eachother for real prizes. The game is a slowpaced sailing simulator that is played in the browser using a flash client. As the game uses the real wind data, which changes every 12 hours, the players have to plot their course carefully taking into account the fact that wind forecasts are never 100% accurate.

Challenges:

On this project I was the lead developer, leading a team that consisted of 7 programmers. I worked on almost all parts of the game, including the distributed Java engine, the website, the Flash client and the PHP communication layer between the client and the engine. By working on all parts of the project I kept an overview of the entire project and it allowed me to help any team member whenever a problem would occur.

The biggest challenge of this project was creating the distributed engine in Java. My main task for this engine was to cluster it using the Hazelcast data distribution platform. Creating a failsafe clustered engine is no easy task, but using Hazelcast I managed to do this in a satisfactory way.

Another challenge was working with the Cassandra database. I had never used a NoSQL database before, so designing the data model around Cassandra was no easy task. Also the performance tuning and monitoring of it posed some challenges.

The website was build using the Symfony2 framework, which was completely new and still in Beta when we started using it. Using a framework that is changing rapidly and introduces lots of not backwards compatible changes can be quite hard, but in the end it did pay off as the framework took a lot of work out of our hands.

Finally I had to make sure it all came together by designing a data efficient binary communication protocol that allowed the engine, website, flash client, mobile apps and 3D Tracker (Unity) to communicate with eachother and the Cassandra database.


Features:

  • Sail around the world using actual weather data
  • Redundant Clustered Engine
  • Cassandra DB

Media:

screenshot of vorg! screenshot of vorg! screenshot of vorg! screenshot of vorg!