Professional / Research project Desktop Application Complete

Serious game for Olympic 2012 / Open Water Warfare

This is an environment visualization research project developed in collaboration with UK Sports Council and Sheffield Hallam University’s Centre for Sports Engineering Research.

Introduction

This project was funded through UK Sport’s Ideas4Innovation program; where the objective is to acknowledge and harness outstanding research and innovation concepts for elite sport, generated by the UK's research community, to support the mission to London 2012 and beyond. Due to confidentiality of this project, any information related to its targeted sport, venue of the event or athletes cannot be disclosed until 2012.

Technical Details

Languages C/C++, HLSL
Libraries Ogre3D, Hydrax, SkyX, OIS and CEGUI.
Tools Visual studio 2008, 3dsMax, Photoshop.
My contribution I was responsible for water system, terraing system, paging system, sky system, graphical user interface and level editing.

Images


Aim

The aim is to create a simulator to assist open water swimmers in the lead-up to London 2012.

Initial Objectives

* To take the initial prototype animation software developed by the team, to verify 3D positions of landmarks, and to create and install all relevant visual assets;

* To create realistic animations of Kerri-Anne Payne and David Davies diving, breathing, swimming and touching the finishing pontoon and insert into the simulator;

* To link the simulator to a head-set to be used on a swimming bench such that the user is 'immersed' in the environment and head motion and stroke rates are used in the simulator;

* To validate the simulator at training sessions and test events on the Serpentine such that the simulator statistics reflect real speeds and stroke rates.

Development process

The 'Open Water Warfare' application did not have any similar products/related work to research into in order to gain a better understanding of the requirements. Because the end users haven't got any experience with similar software, it was understood that the software requirements are likely to be changed during the development. Hence the development team adhered to an iterative development process which allows developing the application in a step by step process. Since the application is developed in an iterative process, the end users and project managers could test the application during the phase of development and change any initial requirements.

The 3D engine and other third-party libraries used in the application are Free and Open Source Software (FOSS). Sheffield Hallam University have the licenses for the commercial tools we have used to develop the application.

Artwork and Animation Breakdown

The main objective of this game was to make the environment or 'game world' look as realistic as possible. 'Open Water Warfare' features art assets that have been modelled and textured according to the rendering engine's requirements.

All the art assets have been modelled and textured to look exactly like the buildings and props that are present at the Serpentine Lake. Before the asset creation, the team went down to the venue and took a large number of pictures and video references to aid the 3D artists in the modelling process. As for the textures, the pictorial references have been used during the process. This has been done so that the user gets the feel of realism when he looks at the 3D asset. It also adds to the realism feel of the 'game world'.

Ideally for a game to run smoothly, 30 frames per second is considered as an optimal frame rate. For this game to run smooth, it was essential that all the 3D models that were to be used with Ogre 3D, be modelled with less/moderate polygon count. The artist's job was to make sure that the 3D models are created according to the engines requirements. The polygon counts were below 1000 and to make the model look visually appealing the texture sizes and resolutions were increased. In some cases (i.e. trees, benches, tables) only 3D planes were used to create them.

On the animation side, it was opted to use motion capture technology to aid the animators. Motion capture has the capabilities of recording high detailed animation sequences which in turn aids the animator to produce accurate animation. For the motion capture process, David Davies' (Beijing 2008 Olympics silver medallist) swimming movements were used to create the sequences. Although the animators did manage to capture satisfactory movements, there was a lot of cleaning up and fine tuning that went into making the swimming animation suitable for the game. Videos of David swimming at Beijing were also used to assist the animators in perfecting the movements of the swimmer.

Attaching markers

T-Pose capture

Ready to dive

Dive on 3D model

Lido cafe

Boat house

Above images show how the motion capture was done to retrieve animation data and the 3D model after the animation data was applied. Some of the assets created for the game world are also displayed.

Technical Breakdown

The application uses and FOSS 3D rendering engine called Ogre3D for rendering and scene graph technologies. This gives the developers to put more focus on the game play elements which was the important factor for the project. The game was developed for the PC platform and needs a dedicated VGA and a modern (i.e. fast) CPU to perform at optimal level.

The program is developed using C++ language. MS Visual Studio 2008 was used as the primary development tool. The application uses DirectX as the rendering subsystem and OpenAL for sound playback. Some other libraries used in the application are: CEGUI, OIS, Hydrax, SkyX and PagedGeometry.