Thursday, December 27, 2012

Why do I want to create a game? And why on a mobile platform?


Every gamer wants to write a game. We all have ideas for how to make games we already play better, and inspiration from those same games towards creating a brand new game. I don't think anyone reading this blog needs more explanation than that. The thing to really address here is, why mobile?
Mobile platforms are the way the industry is going. In my opinion, smartphones have become so popular in recent times not only because of their capabilities, but mainly due to their amazing touch screens. We all remember how crappy touch screens were only about 10 years ago. Today's mobile phones are incredibly impressive with how well they handle touch interfaces, and the apps for them are even more impressive with the ingenious ways they make the touch interface convenient to use.
Ironically, it is exactly this touch interface that makes creating certain types of games for today's smartphones a pain. No matter how comfortable and convenient you make it for the user, a touch d-pad is always going to suck compared to a handheld controller. Even worse is the fact that the user has to cover up parts of their screen to interact with the game. How many times have you found your own damn thumbs getting in the way of you seeing the actual game you are playing? There are tons of games I've played on mobile phones that I would love if it weren't for the shitty interface that just doesn't belong on a touch screen.
However, there are several games that stand out to me as ones that took a style of game not conducive for touch screen devices, rethought the interface, and made it work. The controls are simple, don't get in the way of viewing the game space more than necessary, and the games are designed around simple, yet completely fun and addicitive concepts. I call these games "One Touch Arcade" games (hereafter abbreviated as OTA). Games like The Impossible Game, Tiny Wings, Gravity Guy, and Jetpack Joyride. You only have one "button" to press, and that makes it convenient to allow the user to press anywhere on the screen they want, without affecting game play.
The precursor to the OTA games would be Doodle Jump, a "no touch" game. I never thought using an accelerometer as a control could be so entertaining until I encountered Doodle Jump.
The evolution of the OTA games would be games like Temple Run, or Subway Surfers. They take the concept of one touch controls to another level. You are still touching once at a time, but now you are doing a series of different types of touches - press, swipe up, swipe left, etc. These games still have the ease of control that the others do, yet they manage to incorporate more ways to control the game than the others.
What do all the above games have in common? They are basically all platformers where you are stuck running to the right (or upward or forward). I grew up in the Nintendo days, and I have a soft spot for platformers. When I rate whether or not a gaming device is fun, I look for the platformers and how well they play. My biggest gripe with touch screen gaming devices has always been that there is no good way to implement a control system that would work well. It's difficult to use diaganols on a touch screen d-pad, and having a separate jump button on the other side of the screen is just more game space for you to cover up with your hands.
It is because of these pre-conceived notions I had, such as "a platformer must have a d-pad", that I was completely blown away when I ran across the OTA games mentioned above. The concept of a platformer where you are stuck going right and only need to control your jumping makes perfect sense for a touch screen device. One touch anywhere on the screen, and you are controlling all you need to control. When you look at how much replayability there is to The Impossible Game or Gravity Guy, there's really no question that this method works, and works well.
I have been in love with the 'stuck running right' platformer concept since I first played The Impossible Game. In a lot of ways, it's significantly more difficult than many of the old platformers I grew up with. Imagine if Mario was stuck running right- how hard would any of those old games be to play? Granted, the levels weren't designed for that concept, but it gives you some insight into why you don't need to lose difficulty in order to make a game that needs one single control. Make the level layout much simpler, but keep the difficulty up by not giving the player enough time to process the level. Genius.
So, by now I've probably got you thinking I'm going to write an OTA platformer. I might, and that's what I've had in mind for a long time now. But when it really comes down to it, I don't even know where to start. I think it may be easier to start with a static map and a moveable player than the other way around. It doesn't really matter. I just need to write something, anything, so I can see how it's done and have a better grasp on how to do it again.
All I know right now is I want to be part of this new world of touch screen game designers. I want to think of a game concept and know how to implement it. I want to come up with the next great concept that makes playing a game that shouldn't work well on a touch screen actually make sense. I want, I want, I want... so I must start by doing.

Hello World

I've decided to write a 2D game for the Android platform, and thought that the best way to keep myself motivated would be to document my progress from start to finish. I hope that when I end up with a final product, this blog could serve as a reminder of the design process and hurdles I had to jump through. Hopefully it will help myself or someone else get an idea of the process involved in writing a game from scratch, for Android and other platforms.

My intentions for the blog:

1. No talking about specific bits of code, just generalities
2. Focus more on the concepts of game design than the design itself
3. Links to code documentation or related material
4. Screenshots of the work in progress
5. General griping about getting things to work the intended way

My current skillset:

1. Intermediate level knowledge of Java programming and Object-Oriented design
2. Familiar with text-based game design
3. No knowledge of graphic-based game design or programming.
4. Gamer