Hitnoodle Blog

SGA: A Cross-Platform Story Part I (Introduction)

A long time since the last post, and even now I tried to escape writing more important things *cough* final project *cough* by writing this.

This is my subjective experience from developing Soccer Girl Adventure, a game that been in development since February 2012 until now. You know, the usual of writing code, refactor, change mechanics, rewrite things, rewrite features, and on and on and on. Thankfully, I can say that now it’s already on release version for four mobile platforms.

Status: We’re still discussing things with our publisher for iOS and Android, released on our own on Windows 8 store, and currently on QA at Blackberry Appworld for BB10.

I plan to divide the story by the platform, the exception being this part about the game introduction. This is because it’s more or less the same timeline when I develop the game. Next part is iOS, and then Android, Windows 8, and finally Blackberry 10 (also back to Android).

What, What, What

Title

Soccer Girl Adventure is an adventure runner game. Our heroine, Sora, love to play soccer all day. The Soccer Boys on the other hand, don’t like it when Sora play soccer. Why? Because she is a girl!

Angry, Sora then went on a journey. She want to pass all of the boys and play in the soccer stadium. From that, she will finally prove that a girl can play soccer too!

Interesting. Corny. Well, it’s quite cool and it works for a theme.

Technology

We already decided that iOS will be our first platform to develop on. I used Objective-C a bit, and to be honest, I’m not a fan. Someone then gave me a recommendation that you can’t go wrong using C++ for game development. It’s more familiar, performance is great, and if in the future I want to make it cross-platform (which I did, hence this post), I can do it easily.

Cocos2d-X is the one I put faith from then on. It’s open, meaning I can go to the source if I want to know how certain things work and don’t. Also, they have a great community and support at the forum.

At First, It Was Rhythm

Let’s talk mechanics. First iteration comes with DDR-like gameplay. Simply put, the player will have to swipe certain directions according to the rhythm direction that comes up. If succesfull, then our heroine Sora will pass the enemy by tricking him.

Old

After a few plays, it’s decided that it totally sucks. Player will be too focused on the bottom part on the screen to enjoy the great illustration of the player and the backgrounds.

Then, Someone Invented Buttons

The challenge will be remembering which button does what. With buttons, player can enjoy the art while still immersed in playing.

Lake

Of course, It doesn’t comes easily. When facing multiple enemies, a majority of player messed up and press the wrong button. One of the important fact we realized is, why the fuck it need buttons? We don’t have platforms and Sora will always run in a straight line. Why force the player to remember and use the buttons? Also, it seems very counter-intuitive to use virtual buttons on a touch-device.

Gestures Saves the Day

Remove all the buttons and other ideas, go with simple things. Swipe for tricks, tap to get items and buy lemons, and touch the bar for using special trick.

Game0

Testing and testing, we got good responses and went through the gesture mechanics. So, the challenges remaining now is the actual game implementation from the beginning until the end on iOS platform.

To be continued on the next part!