(Guest writer: Derek Reid)
In the summer of 2014, I decided to build a game. I love history and knowledge so I decided that the game was to be trivia. I started building a site using PHP and MySQL (which I learned just for this purpose) to store facts, questions, and other info.
By the end of summer, I had started building the website. Having to split working on this between school and my work at a restaurant, it took a while for me to get the site done before I could move on to the actual trivia app.
The spoiler to this story is that the final game I ended up building and releasing to the App Store was a totally different app that had nothing to do with trivia. The whole experience was full of ups and downs that I figure I should write about what I have learned along the way.
1. Your Plans Will Keep Changing
While I was building my trivia database and website for the trivia game, I found a lot of cool facts that I shared with my friends in class. In one such sharing, a friend showed me this game called Trivia Crack. My jaw dropped – it was almost the exact same game that I was trying to (but not yet) build at the time.
What’s worse is that my game wasn’t going to be nearly as great as Trivia Crack. I also didn’t want to seem like I was copying them so I had to change gears and come up with a better idea for a game. This is only the first of the many changes I have to make (most of the time, reluctantly) in building my first own game.
2. Be Ready To Let Go and Move On
That said, letting go is harder than it sounds and is never an easy thing to do. By then, I had spent a lot of time learning PHP and MySQL, and not to mention all that time building the website for my trivia game. Stumbling upon Trivia Crack left me in a rut – I spent the rest of that class thinking about what I was going to do.
I was really bummed about Trivia Crack beating me to the market. I thought I was really on to something, but I was too late for the game. At that moment, I realized that I could do one of two things.
I could sit there and pout about Trivia Crack, or I could take action and start a new project right away. The former is counterproductive at best, and I realized that if I ever wanted to get a game on the App Store, I just had to move on.
3. Do Your Research
There is a lot more that goes into making a great game than most people think. You have to take the time to go through the games that made it to the App Store and more importantly go through the top downloaded games list to find what they have in common. You want to look for things like how players control the game, how difficult the game is, and of course, you also want to make sure nobody has already made your game.
Find out what people enjoy, but don’t be afraid to make your own path. The lesson here is to always do your research and never stop learning. There is still so much out there you don’t know.
4. Your Game is Going to Evolve. Let it.
In finding a new game idea to release, I did a lot of research on game development and studied games like the 28-day success story, Flappy Bird.
From the process, I came up with a rough sketch of a soldier skydiving, while dodging bullets that were shot up at him. Soon after, it became the soldier dodging bullets falling from the sky. I liked the direction I was going in, but something was missing. I wanted the game to feel impossible but actually wasn’t, something I learned from my research.
So I sat down with my dad aka advisor and we discussed the game. That’s when we came up with the idea to let the soldier dodge bullets but catch nukes. It was perfect. But there was still so much to do.
5. Keep it Simple
As development continued, I realized that the game art was too complicated; something has to change. Eventually, I stripped the idea of having a soldier be the protagonist, down to it just being a blue ball. The blue ball sprite was leftover from an old project I was doing back when I was teaching myself to code.
Then, it all became clear to me. Shapes! I will make Shapes the theme of my game: the soldier became a small blue ball, catching bullets that turned into circles and dodging nukes that turned into triangles and squares.
Shapes are simple, appealing, easy on the eyes, and makes it easy to relate to no matter what age my players are. And like the game art, I also kept the game controls easy and natural; just a tap on the screen can go a long way. Simplicity works.
After all that, I built and released my first game: 3-Shapes… and made a few more mistakes along the way.
6. Do a Soft Release
During the first week in the App Store, I felt like my app did very well; it was downloaded over a hundred times. This was without any real PR or marketing, just solely word of mouth. However, I notice a trend. People played the game a couple of times before they just gave up for good. I would then have plenty of people tell me the game was too hard.
At this point, I had two regrets: the first was not doing a soft release. A soft release can be helpful in so many ways. Releasing the game to only a handful of your friends allows you to find bugs and fix them quickly. The first day I released 3-Shapes, two very “big” bugs were found right away. If I had done a soft release I would have been able to fix those bugs and have a smoother official launch.
7. Listen to Your Players
I mentioned that players have been abandoning my game because it was too hard, almost impossible actually. The average player didn’t do well, and would understandably give up. The thing is I knew this was going to happen. My sister had been telling me that the game was too hard before I had released it. I should have made it easier before the launch but I was reluctant.
From my perspective the game was too easy. I spent so much time playing it myself to test for bugs so I have pretty much mastered the game. But I am building the game for my players. You have to remember to look at the game from the player’s perspective. If they give up on your game, your game won’t go far. Develop from the player’s perspective, you can’t always be right.
8. Don’t Rush Your Project
When developing a game having a time frame helps to keep yourself on track. If the game isn’t ready to be released, don’t release it. If there are things you want to add, that you could easily add in an update, get that done, and put it in the game.
I learned this the hard way: I wanted to add a feature to the game that allows you to win new heroes when you reach a current high score. I felt that the game would have been a lot more fun to play if the players had that goal of reaching the next hero. Yet I didn’t add that to the game as it would mean a delay of a week or two for the launch.
In retrospect, that would have helped me retain more players as it will become a personal challenge for them. But basically, make sure you love what you are releasing. Otherwise, don’t release the game, even if it means you will miss your deadline by a small margin.
9. Don’t Expect to Make Millions
If you are waiting for me to tell you how much of a success my game has become, later on, I’m just going to spoil the ending for you and say that 3-Shapes didn’t make me millions (surprise!). I did not expect to make millions off this game (it’s only my first) but I wanted to learn and do something I enjoyed – and I hit the ball out of the park with this one.
When developing a game or app or anything in that matter, do it for fun. Not only will you get a better product, but you will also be more proud of that product, app, or whatever it eventually becomes. And it will be built for the right reasons, with the right focus.
The journey is the reward.
When I was building my app I expected to learn some code but in my journey, I learned a few other things that are just as valuable and no less important. At the very least, these lessons will probably make my next app-making process, and probably yours, a whole lot easier.
(This guest post is written by Derek Reid for Hongkiat.com. Derek loves running and programming and hopes to run a video game development company or a cybersecurity company one day. His game 3-Shapes is available for download at the App Store.)