Outland Games is an iOS game I’ve been working on at Uber Entertainment since late last summer. We just released the game to the app store this week (iTunes – $0.99). This post is the first in a short series on it’s development.
Evolution
On every project I’ve ever shipped I wished I could have chronicled the game’s production from start to finish. It’s a really interesting process that the public never gets to see.
The scale and starting point of Outland Games enabled us to record progress in a way that I’ve never been able to do before. We used fraps to capture a video at the end of almost every week of development [1]. Eka took those videos and edited them into the following video.
We also took that video and compressed it to a single image.
That’s what game development looks like – warts and all. I’m not sure I’ve ever seen a video put together like this one. Certainly nothing so raw.
Scope
The team behind Outland Games was small and consisted of just five primary team members.
Forrest Smith – coding/design – 7 months
Chandana Ekanayake – art/ui/design/trailer – 4 months
Aung Zaw Oo – animation/modeling – 3 months
Ben Golus – effects/misc awesome – 3 months
Howard Mostrom – audio – 2 months
Unity3d is all the rage these days but this game was made using a custom engine. It’s actually the same codebase as Planetary Annihilation. I’ll cover that in more detail in another post.
The game never had any official milestones. I think it can be broken down into the following stages.
Prototype (weeks 1-6)
When we started the goal was to create an endless runner using internal tech and the Monday Night Combat IP. What that meant precisely we didn’t know.
After implementing and playing with various jump mechanics we settled into the double jump you see in the final version. The remarkably basic grey and red block based gameplay from the very first week was actually pretty fun!
We also tested various art creation strategies. Our initial plan for character animation was hand drawn sprite flipbooks. This idea was quickly scrapped in favor of a 3dsmax skeleton with attached sprites. (Which would later become full 3d meshes.)
Much experimentation was done in regards to physics, dash mechanics, level design, and art style. Howard wanted audio hook ups from week 1 and insisted it wasn’t a “real game” until it had sound. Unfortunately sound kept getting pushed back and didn’t get configured until the end of the prototype phase. Sorry Howard!
Europe (weeks 7-8)
During September I went to Germany and Amsterdam on a two week trip. At this point I was still the only full time member on Outland Games so development was temporarily stalled. Beer consumption levels however reached an all-time high.
Tech (weeks 9-13)
Because we used early stage internal tech there were a lot of feature gaps to fill. Adding build tool support for iOS. Fleshing out the bare bones UI system. Defining and/or implementing export/import processes for compressed textures, meshes, and animations. Plus various game specific systems.
Much of this work didn’t actually show up on screen. It’s easy to work for weeks on systems that are invisible to the eye. This can be super frustrating at times. Particularly when attempting to record weekly videos.
Content (weeks 14-25)
The basic components of functionality were finally in place at the start of week 14 despite the game looking quite meager. If you exclude the non-productive Thanksgiving week and out town Christmas week the content phase was ten weeks.
By week 25 the game had two environments, animated enemies, coins, pickups, profile save/load, upgrade progression, full UI including store, layered music, voice overs, and the whole shebang. Although not quite ready for primetime the game was functional and, more importantly, fun.
Ship (weeks 26-30)
The final push was focused on one clear objective – shipping.
I was tempted to call this phase polish but that’s not quite right. A lot of polish did go in. Final animations. Carefully tuned audio. Continuously tweaked level design. But too many features weren’t finished to call it just polish. GameCenter leaderboards and app store IAP weren’t even started until the very end. Even the in-game intro cinematic was a last weekend addition.
After three submissions the game was finally approved. We gave a great sigh of relief and consumed much scotch.
History Keeping
The hardest part of capturing footage is having the willpower to record every week. It’s easy to push back the capture because a major feature is almost done. Game dev is often an emotional rollercoaster and when you’re in a low it’s hard to muster the motivation to click record.
I actually stopped making the videos around week 16. Every week felt like too little progress was being made to justify a video. After going gold and watching the early videos I was hit with a wave of inspiration so I synced perforce week by week to re-build and capture [2].
In hindsight progress was much more visible than I realized! It’s easy to feel perpetually “one month away” which it turn feels like no progress is being made. The truth is that you are getting a lot done even if it’s taking longer than initially planned [3].
All I can say is to stick with it. Capture every single week. Even if you are almost done with some cool new thing. When the project is shipped and you look back you may be surprised at how much was getting done.
Conclusion
That’s a brief review of the development of Outland Games. We’re super happy with the final product and thrilled to finally release an evolution video. It’s a unique insight to the dev process that I hope folks find informative and entertaining.
Footnotes
[1] Despite being an iOS game 95% of development was done on PC.
[2] synced? sync’d? sunk? sank? These all feel wrong.
[3] Game dev always takes longer than initially planned.