Phil On Life (Also, How To Make An Indie Game).
So, how do you make a game?
Making games is easy right? You take that idea you thought of that one time, you draw a few pictures, make a few sounds, write a few if-then-else statements in your preferred language then kick back and watch the money roll in. How hard can it be?
Very hard, actually, despite popular belief. I remember reading something in the letters page of the local newspaper a few years ago. The author was a doctor and the main point of the letter was about how disgusted he was at how universities are now offering courses like "Game Development" which clearly have no place in the real world. What Doctor Ignorant didn't understand is that to develop a game you need to have a good grasp of an appropriate programming language, a good grasp of computer science, a firm foundation in various areas of mathematics and a good understanding of physics - and that's just for the programming bit. A complete game also needs a designer, an artist, a sound engineer, a project manager, at least one tester... It goes on and on. No game developer can afford to be a one-trick pony, and in a small team or on your own as an indie developer you have to teach yourself to be a polymath. This takes up a huge amount of time and effort, but the rewards can be fantastic (I'm not talking about money, I'll come to that later).
Creating something is the most satisfying thing you can do in life. Whatever that thing might be, a game, a song, a photo or your own family, you should take pride in what you do and nurture it. If you don't love it, will anyone else?
Step 1: Think of an Idea and Make Sure You'll All Love It
Is your idea, "make Halo but set in the desert and with robots instead of Master Chief"? If it is, try again (although that would be pretty cool). I'm no top designer but the game should mean something to you. Don't make something to cash in on a trend, do something that you WANT to do and that makes you happy. That's where original ideas come from.
Having a passion for what you are doing can be very hard at times as you will probably need to rip your beloved ideas apart several times and re-think them. It's all part of the process though, and if there's genuine love for what you're doing at the start, you just have to polish it until it shines through. In my case, Oli came up with the basic concept of Wonton 51, but I believed in it and was prepared to make my thoughts known. You're all working together to make the best game you can and if someone isn't feeling the concept, it will show in the finished product.
You've got your idea and now you need to build it... But how? One of the first steps is to find (or write) an engine. For Wonton 51 we used Cocos2d for several reasons. It's opensource and has a great community to support it. It compiles natively to the iPhone, it's very flexible, it's easy to learn and most importantly, it allowed us to do everything we wanted to do.
You'll probably want to make a list of engines and then start narrowing them down. Are you familiar with the engine / language or will you need to spend an unreasonable amount of time learning it? Does it support all the features you want? How good is the support? And so on.
Once you've got a short list, you'll probably want to do some experiments with the engine so you can check that everything works as expected and so you get used to the common problems / solutions just to get the feel of it. Finally, you can start putting something together and put together the basics of a game.
Putting It Together
Games take a while to become fun. Don't be disheartened or put off. For what seems like forever you'll be seeing mind-numbingly boring blocks and circles moving around on screen, but it's an important process you need to go through to make sure everything works. Suddenly realizing that your AI system won't work correctly at the end of a project is not good, so get everything working on a basic level as soon as possible. Then you can build it up.
As the game develops you'll start putting in the proper artwork / sound effects etc and things get a lot more exciting. It's great when a concept starts to look like a game. Some of the most exciting moments of developing Wonton 51 were when I saw new art pop up in my builds.
In our case this art actually changed several times as we balanced the game and tried to make everything work well together.
Make it Fun To Play
I don't pretend to know a lot about the art of game design or how to make something that appeals to gamers but I like to think that I can appreciate something that has been well balanced. We spent considerable time tweaking collision blocks, movement speeds, appearance, AI etc to get something which was challenging, but also fair. I've seen lots of indie games on the iPhone where the collision has been exactly matched up to the visuals of the sprite, and that's not always good. Sometimes you need to think outside of the box a little bit and make sure that game play always comes first. You may want to change the size / shape / position of the collision block to alter the difficulty of the game rather than thinking that reducing the number of bullets is the only way to make things easier for the player. We made a few game play tweaks in Wonton 51 that we didn't realise we'd have to make at the start. Sometimes a small tweak can make a massive difference to the game.
Bullet Collision: If you look carefully at the collision areas on Wonton 51 you'll notice that sometimes bullets can almost pass through Jonny without registering a hit - that's because we made his collision block small to allow you to dodge between bullets, but not so small that you never die. Getting this right is a challenge as things such as movement speed / bullet speed etc all have an effect on how 'fair' a game feels. We always intended to make Wonton 51 a bit of a challenge and give room for the player to learn the game rather than be handed everything on a plate. These minor tweaks resulted in how in the first few games you'll probably die very quickly, but you'll quickly start to learn the capabilities of Jonny which allow you to progress deep into the game.
Scratch effect on the buildings: The original implementation meant that you had to be almost on top of the building to get a scratch which did make it rewarding when you got one, but on the whole you ended up taking a hit more often than getting the reward which was actually just frustrating. The final version was softened to make going for a scratch a bit of a risk, but not so much of one that you'll never try. You'll also occasionally get a few without trying to show you the feature without pointing it out to you and to remind you that the feature exists once you know.
Shooting: Jonny has three types of projectile, single shot, spread shot and rockets. Enemies have single shots, dual shots, burst shots and rockets. Each of these needed to be tweaked in terms of their fire speed, the reload times, the damage caused, etc. Looking at the spread shot specifically, we also needed make sure the angle between bullets was great enough to make the spread shot worth having but not so great that the three bullets were too far apart to have any real impact.
Auto Targeting: We hope it's not too obvious, but there is a little bit of auto-targeting to help the player along. Getting this right was a challenge and for a long time the feature didn't exist. It did become obvious though that the iPhone / iPod and the player by their natures don't always agree on the exact location of their tap, so we needed to work out what the player was likely responding to so that we could help them out. You don't want to make the effect of auto-targeting too dramatic as that would detach the player from the game, but nor do you want to make it pointless. The ideal scenario is that the player doesn't really realise that auto targeting is going on and to take any frustration away so that they can feel they're a pretty good shot.
UI: When you develop a game it's very easy to forget that other people haven't been staring at it / playing it for months on end and so it's easy to assume they'll know how to play. We suffered from this with early beta testers and to some extent after launch before we added the updated modes. We thought that Wonton 51 had two variables, moving and shooting, and that it was as simple as that. We didn't realise how different people can be when it comes to playing games. There's so much going on in a player's mind when they first play a game. When you see an enemy for the first time are you supposed to kill it, avoid it or interact with it? Initially I developed what I thought was a nice message system that popped up at relevant parts of the game to help people along. Oli was quick to stamp it out because these messages interrupted the game play and essentially distracted the player from the actual game. The solution was very simple: don't treat the player like an idiot. We put the word 'tap' on the enemy, you tap, Jonny shoots, you realise enemies are bad and need destroying. Add a few hints to clear up other questions the player might have (even the 'Slide' message at the bottom of the screen went through several iterations) and hopefully the player has a much nicer experience and doesn't rage-quit your game while feeling patronised.
The really important thing to remember here is that no matter what, some people will not like your game. Don't try to please everyone, it's futile. Your game will be far more interesting if you take a leap of faith and make something that appeals to a smaller, more passionate audience. Make sure you please yourself (not in that way) and...
Get lots of people to test your game on lots of different hardware. Just get it out in the wild. This will help you to check everything works as expected but it'll also get you valuable feedback from people who aren't your mum. Brace yourself for both good and bad feedback and make sure you listen to all of it, whether or not you agree. We had a lot of feedback about our divisive controls that we fixed in a different game mode. People either loved them or hated them, so instead of watering them down to make them less offensive we implemented an option between the two in an update which made people much happier.
You probably don't want to hear people telling you that your game crashes or that they hate the soundtrack or that you suck, but it is all valuable. Like I said before, you don't want to change things because one person doesn't like something, but if a trend starts to develop you should really sit up and listen at least.
Try not to limit beta testing to your friends and family. Find a few strangers on forums who are likely to give you an honest opinion. Whew, did we get some honest opinions.
You'll also want to make sure you get the feedback you will find most useful from the testers, so write up a survey. Make sure it'll allow the tester to be honest and to give their general opinion of the game. Asking closed questions like "Did you like the look of the game" is all well and good, but you'll also want some open questions in there so that the tester can fully express how they feel and bring up subjects you might not have considered. Even better, you'll get some help in establishing how certain types of people feel about the game to help you market it. We found that a lot of hardcore gamers really "got" our game, whereas more casual gamers didn't understand where we were coming from as much. We knew that to get word of mouth going we needed to find the people who would end up playing the game, and from them the early adopters who would spread the word for us. The beta testers we found in shmup communities were the best testers we could ever ask for.
A lot of things in Wonton 51, such as the exclamation marks that appear at the edge of the screen when danger is approaching, only appear as a result of beta testing. We looked at common problems and discovered a way to help the player without pandering to anyone too much. Wonton 51 is a fast moving game and at the start, it's quite intimidating (we wanted to make your eyes bleed). A lot of newcomers were finding it too hard at first and were feeling like they were failing. They wouldn't give the second chance it needed so that they could realise that the game is all about beating your own score, not just beating someone else's, so we needed to come up with a way of making the game a little more accessible without dumbing it down too much.
Congratulations on finishing a game! You've done more than most. Now you've made it, tested it and packaged everything up, you might like to sell it. If you've made a game to make money, this is where you panic. If you've followed my advice and made a game with soul that you will love no matter what it's your child, this will be a nice bonus.
In our case, this was as simple as putting the game on the app store (not actually as simple as it sounds). You're going to want to market it and hope that enough people buy it for you to actually make some money, which is very difficult. For the iOS market, the actual data for average sales / profits just don't exist. There are a few sets of data out there but they often contradict each other so it's very difficult to get anything useful out of them.
However, it is a sad fact that the glorious free-for-all days of the App Store are largely gone due to the sheer amount of releases every day, and for the most part, at least in the iOS market, you're not going to be making any significant income from just one game. Sure, there are runaway successes but they are rare when you consider the amount of games that have been released, so you probably shouldn't build your business on one idea. Of course, that's exactly what we have done (albeit with a greater plan) but we were very much aware that even the best apps out there can sell in very small numbers.
If you've got this far through this blog post, you should go and download Wonton 51 as by this point you'll hopefully realise how much time and effort has gone into creating this game with very little potential for high earnings. We're now trying pity to sell games, in case you haven't noticed. We'll let you know how that goes.
We did well on sales, but we weren't one of those runaway successes. That's totally OK. I loved every moment of making Wonton 51 and just seeing reviews of our game on foreign TV and on websites of all different kinds around the world is such a brilliant thing. We know from spying on forums that there is a crowd out there who truly appreciate that Wonton 51 is not just some run of the mill, generic shooter but rather something which two friends put together based on the things they enjoy in life, cool robots, dumb humour, pixel art and Japanese food.
Some people will be looking for this game on the app store (we know we were!) and we're glad that those people now have something which has been made just for them.
Most of all, I'm glad that I've made something just for me, and that in a few years time, some people will still have memories of playing Wonton 51.