Making a game is now easier than it ever has been, and as a result, we're seeing more and more one-person development teams. That's largely due to tools like Unity and GameMaker, which allow fast prototyping and relatively one-touch publishing across different platforms. But the latest game out of Brisbane made by one person, Space Bot Alpha, was coded from the ground up in Objective-C. We spoke to its creator, Sarah Smith, about why she eschewed the shortcuts.
I visited Sarah Smith while she was hard at work on Space Bot Alpha in Brisbane, working next to (but not a part of) indie accelerator Right Pedal Studios. She had lucked out with an office that had other game development teams there. Even being around other devs can make a world of difference, especially if you're tackling something as daunting as solo coding your first entire game in Objective-C.
Now the game is complete, and Space Bot Alpha has been featured in the Strategy section of the App Store. It could fall under a few different categories, though. As a robot you have to defend your ship from an invading octopus-like alien. You have no combat skills, but you're quite adept at building walls. So you trap the alien, bit by bit, cutting it off from the rest of a level with walls. You're shielded while you're touching a wall, but if it touches you while you're building, that's it for you.
The game requires you to make yourself vulnerable to get the job done, and there's natural risk/reward with cutting off larger sections of the level. If you can manage to separate the alien from half of the level with one wall, it's a pretty good feeling. And Space Bot's charming R2D2-style bleeps and bloops don't hurt either.
But Smith didn't want to make the game in Unity, or GameMaker, or any of the other tools. By coding it in Objective-C, the game is available to more people -- anyone who can run iOS 7 can play the game, even if they've got a three-year-old iPhone 4S.
"People really seem to like that," says Smith. "They say they won't be able to play the game because of their old phone, but I'm like 'No, you're okay!' People in South America, places like Brazil, have expressed their happiness about it. We kind of forget that not everyone can afford the latest gizmo."
I can relate. After I bought one of the first-gen iPads, only to return to it much later and find out it was useless for anything other than Facebook or Twitter, I wasn't too happy. All of the new apps required either the new version of iOS, or some new iPad feature that didn't even seem necessary for the specific app. I directed my anger at Apple for what seemed like forced obsolescence.
But Smith, a coding veteran of Nokia and Google before going indie, says that's a problem that both Apple and developers share the blame for.
"In my opinion, it's really a story about how we have not noticed our expectations rising and rising with the power of new multi-core, 64bit smartphones and devices. Developers who opt to sit on top of those frameworks like Unity are making things easier for themselves, and also allowing themselves easy access to more platforms. Now Unity was never slim, and its getting bigger all the time. Plus its a 3D framework, often used for 2D games. With our inflating expectations, now we want Unity and everything it brings to be in our pocket. We see Hearthstone on the iPad and that is normal now. So yeah, Apple is responsible for this 'planned obsolescence' by making more powerful devices, but developers are partners in the crime.
"Apple has been happy to oblige by shipping more and more aspirational, high-powered devices to make that happen, but the blame also lies with the game developers and framework makers, who have chosen to leave lower end devices behind in favour of quicker time to market, and broader platform support that comes with bloaty cross-platform frameworks like Unity."
Of course, the drawback is that now Smith will have to put in the hard yards making the game work on Google Play. Then, there's the hours to put in localising the game for those South Americans who expressed so much interest.
"The number of times I've seen other game developers click a checkbox in Unity that gives them something that took me hours of coding is a bit frustrating," says Smith. "Using Objective-C taxed my Software Development chops at every turn. Its widely acknowledged as clunky and idiosyncratic. But I really like it now."
Foregoing modern development frameworks at first seemed to me like building an arc without hammers and nails, but the benefits are clear now. Space Bot Alpha even performs well on a four-year-old Samsung Nexus.
It's shortly after a release in one of the busiest October/November periods the games industry has ever seen, both across triple-A and indie. Targeting older hardware seems like a departure from the standard model of indie development, but it's an experiment I'll want to see the results of, and we'll see if the world's users of old (but not that old) devices make all the pain worth it.
You can find Space Bot Alpha on the App Store.