Early last year, I released Rocket Drop on all of the mobile stores (I’ve since removed it from the stores). It was a cheap-and-cheerful endless runner of a game. Not fantastic by anyone’s standards, but an entertaining distraction nonetheless. It cost precisely nothing to build, and was the result of less than a week of overall development. It did, however, give me a way into indie development; a low-risk, low-stakes development cycle to get an understanding of the production process and how the release system actually works. Plus, any sales from the first release were essentially a bonus (no development costs = 100% profit!). I also built it alone, which is a common practice for app developers these days. The low barrier to entry that the Unity engine provides makes this an option, but to someone attempting it for the first time, this can seem daunting, so here I’m going to talk about a list of resources and common practices that I’ve developed over time.
Congratulations! If you have the time and disposable income to read this, then you are in the top 39% of the world’s population! It also means you have a computer, so that’s your development hardware taken care of. Out of that 39 percent, you have a 63% chance of owning a smartphone already. If you’re in that 1.75 billion, you won’t have to pay for hardware.
I do advise that you should have more than one device to test with. Apple advise that you “test on many devices” before submitting any apps, but nobody does that because it’s expensive. In my experience, the minimum set to test with is one low-end and one medium-range device. There’s no point in testing on a high-spec mobile device, because of course your game will run at your target frame rate on a high-spec mobile device! Testing for lower end platforms helps to determine a minimum spec, and it “keeps you honest” in terms of content authoring (you’re less likely to create bloated game models if you need your app to run on a tablet from 2009).
Yeah, you need to learn how to do this if you haven’t already. No way around it. In terms of what to code with, I recommend Unity because it’s very intuitive for content authoring, it solves most of the problems inherent with releasing on multiple platforms, and it is extremely well-documented (you can type almost any error message from Unity into Google, and someone will have already solved it online). It’s also free to use and distribute with, but only if your annual sales are less than $100,000. Statistically, as an indie mobile developer, you only have a 25% chance of making more than $30,000 in your lifetime, so this is a good deal!
NOTE: If you’re developing Unity apps for iOS, be prepared to do a lot of reading! Compatibility between Xcode and Unity is always a bit of a shaky subject with each release of either program (when I authored Rocket Drop, the free version of Unity iOS didn’t work). Also, you’ll need to buy a Mac if you don’t already have one, because you can’t compile iOS apps on a PC.
If you intend to be a single-person studio, you need to be able to make art as well as code. It’s a rare skill set that can handle both. The standard workaround for this is to build an art-style on retro 2D graphics (this has an added benefit, in that nostalgia-bait is an effective marketing tool). However, this approach is starting to fall out of favour, as there are only so many 8-bit score-attack platformers that the market can take, so making the jump to 3D can be worth it! Having said that, there is still room for innovation in 2D art.
In either case, content authoring for 3D can get expensive (Maya and Photoshop are not cheap!). But there are free alternatives to literally everything a games artist would need to create great content. Anecdotally speaking, the user experience for free software is worse than that of their commercial counterparts, but their feature set is always competitive. Plus, they’re free!
- 3D Graphics: Blender
- 2D Graphics: GIMP
- Normal Mapping: NormalMap-Online
When you get into trailer authoring for your app, Windows Movie Maker is a decent place to start (honestly, it’s not as bad as everyone says!). But when your trailers start to become more adventurous, I’d recommend a high-end video editor such as Lightworks or VSDC. Of the two, VSDC is easier to work with, but Lightworks has more features.
Having mastered both art and code by this point, you are now clearly some kind of unstoppable super-developer that can do anything. Good for you! Why not write your own music?
I recommend using LMMS for this. It’s free, it’s multi-platform, and it supports plug-ins for both general midi and VST. It also has a massive learning curve and minimal documentation, so you will need to set aside time to learn this tool! If you’re writing your own music, definitely spend some time downloading VSTs for your virtual instruments. I wrote the music for Rocket Drop using general midi, and in retrospect, the music sounds pretty awkward in that game.
Alternatively, you could use royalty-free music instead of writing your own. Royalty-free music is usually cheap. However, if a song is licensed under creative commons, it’s actually free to use, but not to sample (provided you credit the original musician!).
In terms of audio, there are plenty of sound effects available for download, either through public domain, or through the creative commons license. Alternatively, you could record your own sound effects. Some of the plugins that come with LMMS allow for plenty of “8-bit” style noises. For other effects, you can record from real life. For example, the engine noise in my game Chaos Ride is a sample of the noise my car made when one of its spark plugs broke!
Releasing the game:
Actually releasing the game is the only part of the development process where you will have to spend money. All of the various app stores have a one-off charge to submit apps; Apple charges $100, Google and Windows each charge $25 (though the Windows fee also lets you develop for Windows 8).
Scott is an industry veteran who has worked on a number of high profile games such as Burnout and Battlefield: Hard Lines. He also ran a start-up company by the name of sc0tt games for a brief time.