So the latest game project I have been caught up in for the past few months hit the app store a few days ago. It’s been a bit of a whirlwind launch with a few last minute kinks . Overall it has been a successful launch. No.1 on iTunes and No.4 overall app (beating youtube!) for the Australian markets.The game was built for McDonalds, so as one can imagine, the scrutiny an app of this nature gets from both the commercial client and audience was at times stressful for myself as the lead developer. with that said I’m super pleased with how it turned out. A commercially targeted game for a big brand – with an indie heart! Read on to get more info on the game mechanics and technology used.
This is actually the 2nd time I have made a game for the McDonald’s brand – I feel very privileged to have had the opportunitie, and had such great people around me during the process. It makes all the difference.
The game is an ‘Endless Drop’ game, where the character Carl, jumps out of a cargo plane , collects coins and power-ups, avoids crazy animals and obstacles, and eventually lands in a McDonald’s Store.
If the player beats a daily target score, they can win food prizes which are redeemable with the phone over the counter at McDonald’s stores.
The main portal for the app is https://mcdonalds.com.au/drop-into-maccas . Currently the app is available for iOS and Android, however it is restricted to the Australian markets.
The game uses the accelerometer to control the player, much like Ridiculous Fishing. I spent a fair amount of time refining this functionality until it felt fluid and intuitive, the player also rotates based on accelerometer velocity to give it a more responsive feel. The player has the ability to boost by holding the screen, this sends Carl into a dive which allows him to smash through obstacles, with a fuel meter HUD representing the players remaining boost power.
There are several different power-ups to collect which temporarily give the player an ability Vac Pac (coin magnet), Piggy Bank (coin multiplier), Horse Head (protective shield), and Sloth Mode (slows down the player)
Each item can be upgraded up to 5 times which give a different cosmetic appearance and extend the duration/strength of the power-ups.
These power-up types combined with clever level design, really created a nicely balanced experience which is challenging yet fun.
When the player loses, the character’s parachute opens, the player must then carefully navigate to the target to obtain bonus points (accelorometer offsets change making it harder to navigate through the air).
Collecting coins in the game can be used to purchase power-ups and cosmetic items from the boutique, this allows the player to extends the fall distance and rack up some serious points.
Some of the obtainable suit upgrades currently available:
Apart from the ‘game’ aspect of the app, there is rather large ‘business’ app running in parallel, powered by a robust back-end Infrastructure – churning on multiple Amazon server nodes.
A competition system is in place which awards McDonalds food prizes to players based on a complex back-end algorithm, which is determined by prize pool availability, player performance, geo-location and other factors.
Users geo-location is accessed and cross-checked against the Mcdonald’s master store list to determine a users distance from the nearest McDonalds store.
Due to the heavy UI, fast game-play , server and multi-platform requirements (iOS and Android), the right tools needed to be selected early on.
To give you an idea how how many screens are found in the app, check out some of the many faces of the Drop Into Macca’s app:
So what exactly was used?
Adobe AIR with Starling Framework was used for both game play and UI. Dynamic Texture Atlasing was used to create a responsive system that attempts to accurately adjust screen layouts to any resolution thrown at it. The game itself uses a combination of dynamic and fixed sprite sheets.
Adobe AIR also offered powerful desktop testing tools for rapid testing and debugging. So for those of you that think AIR is dead or not useful – think again.
The app utilises some powerful ANE’s from Milkman Games. Including CoreMobile which gives AIR access to vibration control among many other cool things.
A big Thanks to BenLeffler who was responsible for the Dynamic Texture Atlasing system which converts vector graphics into raster at runtime.
And to the Back-End engineer Dean Collins who put together an amazing server infrastructure for this project – fast, secure, scalable – capable of handing 1000’s of simultaneous users.
Follow those dudes on twitz, they are legit.
(We all work for 3rdsense! check us out)