Description
[From TouchArcade] “turn-based aerial dog-fighting game based on the Flash game of the same name, which we thought was "tons of fun". Apparently other people liked it too, as it's reportedly been played by 12 million people worldwide (including the online Flash version).”
Video
Screenshots
(scroll with your finger on mobile)
Skills
- C++ (mostly)
- Objective-C
- Game Porting from Flash
- Performance analysis and improvement
- SDK Integration (iOS In App Purchase, OpenFeint/OFX, Game Center, MobClix, TapJoy and Flurry Analytics)
Environment
- Visual Studio (mostly)
- XCode
- Instruments
- Halfbrick internal engine (the same used for Fruit Ninja and Jetpack Joyride)
- Perforce
- TestFlight
Role
Game Programmer at Jaki Entertainment, Australia (work-for-hire for Halfbrick in partnership with Spry Fox)
Team
Distributed, being 3 regular coders plus one temporary coder who stayed for 3 months in part-time, one lead designer, one auxiliary designer and tester, two 2D artists, one generalist artist, one level designer from Spry Fox, plus the game producer and QA team from Halfbrick.
Participation Period
Full time dedication from Mar/2011 to Oct/2011 and low workload after that until the last update release on Aug/2012, when bug fixes were made and few new features were added.
Project Status
Available at https://itunes.apple.com/us/app/steambirds-survival/id441192740 (also available in a HD version for iPad and for Android, this last one ported by another team months later we had finished the iOS version).
Main Responsibilities
- Working together with the team on planning, making estimatives, executing and delivering the sprint goals inside strict deadlines aiming to satisfy multiple stakeholders.
- Taking the Scrum Master role when the company CEO could not be present.
- Leading a successful intermediate coder recruitment and also a temporary porting specialist programer recruitment by defining roles, advertising, interviewing, creating and applying technical tests and assessing candidates from a technical perspective.
Main Programming Tasks Performed
- Initial Project Setup: As the most experienced coder on the team, performed the initial steps to port the Flash version of the game to Halfbrick’s C++ engine, received together with the in development Jetpack Joyride code as sample of engine usage, by making the initial project setup, cleaning up the Jetpack Joyride specific code, analysing the original flash code and making a “raw translation to C++” (in what made sense) while creating the base gameplay architecture in C++.
- Performance and memory consumption analysis and improvement: when a change of design direction from the online version to the mobile version caused the level designers to be constantly pushing the code side by adding more and more planes to the levels, was the main person responsible for investigating poor performance and excessive memory consumption issues, implementing improvement opportunities. Significant memory issues also investigated and solved were regarding MobClix in integration with our engine, leading to memory warnings and crashes.
- Integration of engine updates and third party APIs: Adapted the project to comply with constant changes on the engine side (done by the Halfbrick team) and integrated third party APIs to the project (listed at “integrations” above on this page).