Our Blog

where we write about the things we love

19

Sep

Intergen race car simulators: Under the hood

For the third year in a row, Intergen pulled in the Tech-Ed punters with our custom-built race car simulators. Last year, once the dust had settled on the racetrack, I lifted the hood and explained how we went about building the simulators.  

This year we built upon last year’s platform and as always stepped it up with a couple of additions. You can see me talk about it here: 

 

 

Intergen at TechEd

 

This year we leveraged the new Windows Azure Web Sites offering moving our browser based leaderboard web site and web services from a Windows Azure Cloud Services hosted instance to a shared instance within Windows Azure Web Sites. This move gave us the ability to quickly and easily deploy our software without the groan of waiting the 10-15 minutes it used to take to make updates. Changes could be made, deployed and tested within seconds. It also gave us the flexibility to scale out to a reserved instance - which we ended up doing based on the amount of data we were now storing to support one of our new features.

Secondly, we used the Task Parallel Library in .NET 4.0 to help improve the performance of our lap aggregator and ensure our real time leaderboard display did not suffer from any thread blocking or lagging as the lap data was sent to the server.

Thirdly, and most importantly, we created a couple of Windows 8 applications that we deployed to a 47” HP touch screen. 

 

Intergen racecar leaderboard and registration

Intergen racecar leaderboard and registration

 

Our registration application was snapped to the right of the display allowing drivers to self-register. The rest of the screen was dedicated to providing another view of the leaderboard. Users could use common Windows 8 gestures to navigate around the leaderboard and drill down into the detail of their lap. 

The individual lap detail included significant statistics and graphical comparisons allowing the user to see where their lap compared against their other laps and also to that of the current leader. 

 

Individual lap details and comparisons

Individual lap details and comparisons

 

In addition to a localised leaderboard view we were recording each coordinate a user took through the track during their lap and storing that information in the cloud (hence the need to scale out to allow for more data).

 

Recording and storing racing coordinates in the cloud

 

Recording and storing racing coordinates in the cloud

Recording and storing racing coordinates in the cloud

  

By storing this information we allowed users to select multiple laps from the leaderboard and replay them on a virtual representation of the track so they could compare speed and driving lines as they went round the circuit. A scrubber helped the user to see where the competition was faster by pausing and replaying parts of the race. This lap comparison feature was very popular with the crowd.

 

Replaying and comparing races on the leaderboard

Replaying and comparing races on the leaderboard

 

The track we used this year was the Nissan Mobil 500 Wellington Street Circuit circa 1988. This race used to take place, in various layouts, around the Wellington waterfront between 1985 and 1996. The track included some nostalgic parts of Wellington that no longer exist so for those of us that had been spectators at the race it was great to relive that. 

I also contemplated using the cars of the era – Ford Sierra Cosworths, Holden VK Commodores and BMW M3s, to name a few but they were pretty ugly to drive. Instead we used popular GT cars from the current era – Corvette Z06R, Lamborghini Gallardo LP540, Porsche 997 GT3RS and an Aston Martin N400. For extra spice this time around, we also ran six AI cars on the track to help add to the chaos and mayhem.

 

 GT cars 

GT cars

 

As the Wellington waterfront was a pretty tight course, a lot of people ended up driving through the inner streets of Wellington or in the harbour – plus there was an array of spectacular crashes. Hard to believe that back in the 1980s this track saw speeds well in excess of 200km/h considering the unforgiving nature of the concrete walls surrounding it. 

The winner of the competition also won the competition for the past two years, winning a voucher for a Surface when it hits New Zealand. Remarkably, our winner managed to hit the winning time in a very short number of laps, about a quarter of the number of laps raced by our second and third place-getters.

The Windows 8 app was predominantly built by one of our grads, Oliver Cardwell, with support from one of our intermediate developers, Ben Fox, and some extra support from Mark Clearwater. As is always the way at the eleventh hour, the app broke the night before – which was cause for some last-minute stress – but we managed to get it working right on time. Other than a couple of hardware glitches I think the whole thing went really well. A good swan song for the simulators.

 

Significant Statistics

  • Total laps registered: 1300
  • Number of unique drivers who registered laps: 295
  • Average lap time: 1.48
  • Best lap time: 1.22.202 (Magenta Lamborghini)
  • Top speed: 230kph (Red Aston Martin)
  • Slowest lap time: 10.12.633 (Magenta Lamborghini)
  • Slowest top speed: 78kph (Green Porsche)
  • Most laps for a single driver: 81 (totalling about 2 hours of racing)
  • Most used car: Green Porsche (386 laps)
  • Least used car: Magenta Lamborghini (260 laps)
  • Total registered time recorded on cars: around 40 hours

 

Posted by: Lee Herd, Architect, Architecture Services | 19 September 2012

Tags:


Top Rated Posts

Blog archive

Stay up to date with all insights from the Intergen blog