MINI Maps - Case Study
UNIT9 was asked by DDB Paris to make a fun and entertaining Facebook driving game using Google Maps for Mini.
The Brief
We knew that simply driving on the top of the maps surface wouldn’t be enough, therefore we wanted to build a real driving game, where your car responds to the physicality’s of the given location. We wanted to explore the possibilities of having collision physics and marking the edge of the roads on the map. Additionally, for it to be a success as a game, we needed a richness and depth of racing features like multiplayer, ghost-car, leaderboards, customisation and track creation. The brief presented the challenge of making the Facebook, Google maps and Flash technologies work together in harmony. As always, the first place we start is prototyping…
Prototyping
We were able to create the initial proof of concept quickly. This was a basic prototype that
allowed the user to enter any address and drive a car over the top of the map. This prototype fuelled new possibilities for how we could improve the driving experience and we soon began development on Real Car Physics and Road Detection.
Street Boundaries
In MINI Maps we use a bespoke algorithm using Image Analysis of the actual map images to calculate and visualise the boundaries on the fly. This was one of the biggest challenges we faced, but also one of the most important in terms of User Experience.
Collisions
We started experimenting with Box 2D physics engine however, both speed and precision were nothing close to satisfactory. There isn’t a fixed point to add these true collisions, we only have the road image and that presents us with several challenges; the roads are actually wider than they appear in the source image, because Google represents them with just strokes. Furthermore just applying physics on hitting the boundary meant that the car could get bounced ‘through the wall’ if the frame rate was low. The alternative of stopping the car dead would ruin the game play; we needed to bounce back the car to the last position it had on road. The solution we use combines road state vectors with many sensors to determine it’s position on the road and therefore when to create the collision. Such a custom solution let us also know the angle of hit between the car and “wall”, returning the result in just a few milliseconds and thus not slowing down the gameplay.
Skid Marks
No driving game is complete without Skid marks. Turning your MINI sharply leaves rubber on the road surface. For super tight turns we added a hand brake functionality on the space bar.
Track Creation
Part of the charm of MINI Maps is the game world – providing that Google have map images for it. So for the player the world is your oyster – or rather, your racetrack. We’ve found that a lot of users begin driving in their hometown, before exploring locations further afield. The track creation feature gives players the chance to race their friends around their neighbourhood, or to race their colleagues near the office. The track creation system allows the user to freely add and drag checkpoints on the race location, the track points always snap to the roads so we’re sure that the race happens on the road rather than off it.
Ghost Car
Ghost car is a one player mode that allows the user to race against the MINI that set the fastest lap time on that track. While you do, your ride is also being recorded and saved in our database. If you beat the time, your ghost becomes active and others can race against you.
Multiplayer
Challenging ghost cars is fun, but nothing gives you more pleasure than beating your friend to the finishing line, after a close race through your track. Our first prototype of multiplayer racing involved a BETA P2P service by Adobe. However, being concerned by its reliability, we decided to go for Flash Media Server in the end, which has appeared a good choice. With the support of newest technology, a sophisticated data transfer control and extrapolation algorithms we achieved a smooth multiplayer experience where cars move without lags even at low Internet connection speeds.
But being able to see peer cars wouldn’t be useful if players could not invite each other to race – live invitations were needed. Requiring no additional credentials but using data from Facebook and allowing you invite any of your Facebook friends live. This was another challenging aspect of development. The number of friend-to-friend connections is enormous and it could easily kill both the server-side and client-side applications. Fortunately, hours spent on designing the structure of the invitations system were rewarded and our system works, players can invite their friends in-game. As an addition to live invitations, we added the possibility to send out game requests via your own means, simply by copying a unique URL via which the invited players open the game.
Unlockable MINIs
Minimaps has a behind the scenes currency that awards the player points for various achievements. There are 9 unlockable MINIs, these are fun, game specific models that aren’t available in MINI dealerships.
Each one has it’s own unique characteristics so the MINI limo, with it’s extended wheel base is a real head turner but hard to corner, whilst the MINI Rallye is the highest performance car in the game. The Special MINIs gave the opportunity for some more fun. We created bespoke sound effects for the horns; for example the MINI Limo has giggling girls, the MINI taxi has different voices calling “taxi, taxi” and the MINI Police of course has a massive siren sound so you can chase your friends around the track.
Customising
MINI are well known for the customisation options they offer. So it is only natural, that we included a custom menu in the game. It is a great way to personalise the experience and we found that users soon established a bond by having their favorite model and custom theme.
Design
Our brief was to stay away from conventional game menus and integrate navigational features into the game play. For the Interface we were briefed to think about circles and not rectangles or boxes. A good example for this is the Custom Menu, which opens when clicking the car. Also the Pause Option which pulls the camera back so the driver can see a wider section of map.
Weather Effects and Map Treatment
In the game we use Google Weather Service to detect the local weather (rain & clouds) in the desired race or free ride location. If it’s overcast in Paris then you’ll see clouds whizzing past as you drive through the city. We have also developed our own service specially for MINI, which returns local time for any location based on its geographical coordinates (latitude and longitude). So if it’s night time then you’re MINI will be using Headlights to light the road.
Sound Effects
The Car sounds you hear in the game are actual MINI sounds. For authenticity we spent a day on location with our petrol head sound engineer recording a range of Driving Sounds. So to get a realistic handbrake sound we actually hand-braked turned a MINI cooper to get that screeching sound.
Credits
-
Division
-
Agency
-
Brand
-
Director
-
Interactive Producer
-
Technical Director
-
Tech Lead
-
Developer
-
Visual Flash Developer
-
Back End Developer
-
Back End Developer
-
Designer
-
Designer
-
Sound Effects
-
Production Company
-
Technology
-
Platform
-
Kind
-
Industry
-
Target Market
-
Release Date
2014-09-01