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.
Comments
17 responses to “How A One-Woman Development Team Made A Game Work On Older Devices”
Countdown until someone asks why you had to specify woman begins… Now.
Shhhhhhh ;p
Seemed more accurate than “One-man”… 🙂
And you think the internet is a rational place?! 😛
While he could’ve wrote “one-person development team”, eschewing gender completely, let’s face it – some pro-women news gets more attention and doesn’t hurt anyone. (That sounds cynical, but no cynicism intended!)
Nevertheless, props to Sarah for showing that the ladies can be as talented as any bloke, and also for being Australian. Go team!
If it’s just one woman, it’s not really a team! Why not just say she’s a developer? 😉
The word “team” is probably a valuable SEO term.
So instead of using something like GameMaker which can export to Windows, Mac, Linux, Android and iOS, or Unity which I think is similar, she used objective C which only works on iOS?
Although objective c was developed for Apple operating systems, it can be easily recompiled for other operating systems. Gcc will compile objective c code for Linux based systems.
Ahh, thanks for the clarification.
Well, the real story is a bit more complex. Objective C may be easy to compile but what about all the Apple APIs that people rely on. Even something like texture compression formats differs across Android devices, something Unity handles for you automatically.
There is 2 main api for objective c and both have Linux versions.
Great article! Wow! As a struggling indie I’m over the moon getting a write-up, but I’m hoping my game is more interesting than the boring old developer who coded it. 🙂
The busy period is totally a thing, especially in the App Store: to my horror Space Bot Alpha’s 9th place feature for paid strategy games from last Friday has gone already! Normally you get that spot for a week but with their new “red” promo its been unceremoniously ushered out of the spotlight. Oh well.
I’d like to give a shout-out to Apportable (http://apportable.com) who are doing some amazing tech porting the Objective-C Open Source components of Apple’s toolchain & libs to Android so I can run Space Bot Alpha in native speed on Android. Builds I’ve done so far of the game run well on my 3yr old Samsung Nexus, so I’m hoping to have a version out for ‘droid in January.
Thanks for the up-votes and kind words guys – it means a lot! Thanks and GLHF!
Her argument is nonsense. Bad Piggies is a very famous Unity game that runs on iOS 5.0 and even supports the original iPad. Boasting that your game runs on iOS7 and supports all the way back to an iPhone 4S is a joke. I don’t deny Apple wants people to buy new devices but Objective C is one of the ways that they do it. For example Apple introduced SpriteKit in iOS 7 as a way to lock in developers to their ecosystem, same with the Swift programming language or the new Metal graphics language. Also, if this game is written in Objective C but is being tested on Android devices then it is probably using Apportable to port to Android, a product that comes with a huge price tag.
So it’s basically Qix?
Hearthstone runs on iOS 5 and Space Bot Alpha needs iOS 7.1? Not even iOS 7.0 LOL. I smell a non story.
Many game engines support older devices or frameworks. Whether one needs fancy graphics & effects often limits older hardware. Or rather, targeting low end hardware limits your creativity. It’s true on PCs as is on mobiles.
I am a solo dev from Melbourne. I have a cross-platform game on Steam (Greenlit), that runs amazingly well on older iPads (HD, no reduction in quality), but requires the larger screen on iPhone 6/Plus. On Android, it runs amazingly well on 3 year old phones or tablets too.
Proof: https://www.youtube.com/watch?v=G6UPWb-Xe6Y
Game engines boost productivity, but its just a tool. How you use it and what hardware you are targeting, is entirely up to you.