Several days ago, I finally finished the development of Kite Knight, my latest game and also my entry for Nokia Asha Apps Challenge. As the competition name suggests, it is a game for Nokia device, but since it was a touch-based game, I planned to have an Android (and hopefully iOS) version of the game as well in the future.
In the middle of development, I felt like writing a blog post about how I turn a simple sketch into a real screenshot. However, I don’t have much time to write, so I decided to postpone it until I’m done and turn it into a full article chronicling the development of Kite Knight instead. For those wondering about the game, do check out the video I included at the end of this post =)
And without further ado, here we go with part 1!
Note that this is my very first postmortem ever, so bear with me, okay? =)
Part 1: Inception
To be honest, I never intended to enter the competition in the first place, because I already have 2 other game projects going on (this will bite me in the ass later on). So, one night, I was discussing about the competition with a friend of mine who actually gonna participate in the competition, and I strongly disagreed with his game idea. Of course he didn’t listen to my rant, so I feel kinda bummed, thinking that I should just kick his ass in the competition instead. Problem is, I have no game idea!
Then I went into the bathroom and that’s when, out of nowhere, an idea hits me: controlling a kite with touch! Kites basically are controlled by dragging the kite around or releasing the thread so it went higher, and these can be translated to touch control. I don’t really know if it’s doable, but at least I’ve got something solid to build my game on now. I just need to register now.
Since the deadline is close, I don’t really have much time to think about the idea further, I just know that it’ll be about kite. But I would need a title to register the game, so I quickly looked up words that rhyme with Kite, and one of them is Knight, which seems very fitting for a game title. However, Kite and Knight doesn’t really mix, so I ended up registering both Kite Knight as well as Kite Might, since “Might” isn’t as limiting as “Knight”.
And thus, Kite Knight is born.
Now that I have a vague idea of the core gameplay, I need to think about the bigger system, about how the game would feel. So I made some basic rules and limitations about the game:
- The game should be endless and continuous.
Because a month (the competition duration) is definitely too short for balancing and designing levels.
- The game should be simple yet addictive.
The game should prompt user to keep playing it, to have that “just one more time” moment.
- Touch optimized
It’s a touch device, so I want it to be a pure touch experience, no friggin’ virtual button or gesture-based control.
I also need some reference, so I take a look at a game I’m recently addicted to, Temple Run, which as far as addictive go, it definitely has that “just one more time” characteristic.
With those in mind, my initial idea is:
A game where the player will control the kite to fly as high as possible. The player would need to manage when to control the kite and when to just follow the wind. To add difficulty, the player would also need to wiggle the kite when the wind power is weak. Other than highscore, there should be achievements so player has more stuff to do in the game. There will also be upgrades that can be purchased with money gained from playing the game so the player will keep trying to be better.
Note that despite my (kinda) lengthy explanation, the whole process takes very, very little time. It’s one of those traits of working alone.
A bigger problem remains though, is the gameplay actually fun? It is fun when I imagined it, but that doesn’t mean it will be fun when I use it for real (and this is why I don’t believe in game design document). Well, lately I’ve been in love with prototyping to test out a gameplay idea ( and so far it has worked really well in determining whether a certain gameplay is fun or no), so why not test out my gameplay idea in a prototype as well?
My original plan is to use some tools to quickly create a working prototype. So I asked around and my friend recommends Contruct 2 or Stencyl for quick prototyping, and I choose Construct 2. I tried it for a while, but damn, I felt so constrained when using it. It feels like I have to go through a lot of steps just to implement a basic idea, so I ditched it and used my Android game framework instead.
Surprisingly, prototyping with my framework (which serves as a wrapper for OpenGL ES functions) works quite well, in just one night I managed to create a simple prototype that includes the core gameplay. And ta-da! It wasn’t as fun as I thought it would be =(
The gameplay is definitely solid and simple enough, but just aiming for highscore is kinda boring. It’s like a Zelda game that takes place in an endless open field with no dungeon or town. So I decided to add more gameplay elements that would make the player have more stuff to do. I decided to add an energy bar that depletes over time so the player needs to collect some pickups to replenish the energy. I also add some powerups that would give the kite an upward boost when collected.
Now the gameplay feels a lot better. With depleting energy and pickups scattered all over the place, the player now has a short term goal of collecting them to stay alive beside trying to break the highscore. And there’s definitely some sort of thrill when you manage to collect the powerup. I was actually surprised by how much difference those simple game elements could bring.
To top it off, having pickups also works great for creating storyline. At that point, I didn’t have any real background story about the game, but I could imagine a storyline where the pickups are accidentally spread all over the sky and now the player must collect all of them.
I’m not really satisfied at this point, so I try to add more stuff like dynamic thread and kite that moves a bit before scrolling the background to make the experience more fun. It didn’t work out though, I can’t implement it correctly and it’s just confusing, so I decided to remove that feature and go with the previous version instead.
Anyway, I built the whole prototype over the weekend, so when I got to attend class on monday, the prototype is already done. Another advantage of having a prototype is that you can quickly show it to other people (be it investor or family or friend) and observe their reaction to the idea behind your product. And that’s exactly what I do next.
Now I’m more confident with my gameplay idea, I decided to show the prototype to several people to know what they think about it. Well, they don’t comment much on the control (which is good, since it means the control works as they expected), but they often stumble on the fact that you need to wiggle the kite when the wind dies down. I kinda understand the problem, since that sudden change disrupts the flow of the game. At that point I just took note that I need to do something about this particular element, since I don’t have time to work on the prototype anymore.
And that’s it for part 1!
Stay tuned for part 2 where I start turning water into wine (if water means sketch and wine means mockup) =D
Here’s a gameplay video for those wondering what is Kite Knight =)