Here is my latest project update on Captain Backwater:
Porting the game from desktop to mobile went great so far. After a few tweaks the controls turned out great on my iPad. However, as the original game was designed for desktop resolutions in mind, controls are a little bit tricky and frustrating on mobile devices due to the small screen.
I tried several things and also thought about making it available for tablets only, but now I’ve found a solution with that I’m very satisfied. On mobile devices as soon as you enter the game it zooms in the play field. The hit boxes of the items are bigger then and the controls are very smooth. The player is also able to zoom in and out using the typical two-finger touch gesture.
The new look of a mighty pirate
Another thing we changed is the look of the main character. We didn’t like the look of him anymore, so Emmanuel recreated him from scratch. This caused that we had to replace him on some places in-game as well as on the games’ icon. I’m proudly present: The MIGHTY NEW Captain Backwater:
And here how it turned out in lightwave:
A lot of time and effort also went into the balancing. As I told in an earlier post, I decided to go for a freemium model. The whole game can be played for free. During the game the player is able to explore hidden coins. To unlock upcoming levels the player has to spent those coins. If he hasn’t enough, he could go a few levels back playing for some more coins or he can order some via In-App-Purchases.
The first attempt was very unbalanced and it forced the player already in the beginning to play the first levels over and over again or spent some real money to buy the required coins. So now I changed it that there are much, much more coins to discover. Also I dropped the prices for the levels to unlock. I’m feeling it’s also much more motivating and rewarding to find lots of hidden coins.
Bugs, bugs, bugs
The rest of time during the last days I spent on hunting bugs, mainly in the GUI System. As I ported the code 1:1 from the desktop version, a lot of things didn’t work on touch devices anymore and OnMouseOut, OnMouseHit and OnMouseOver Events were triggered by mistake. This did take quite some time to figure it out how to fix it, cause the gui system is quite complex and I wrote it two years ago or so .
I had also performance issues on older devices, and the reason for that was the rendering of the in game texts. I’m using Bitmap Fonts for all ingame text. Each bitmap font consists of three layers: Main chars, borders and shadows. Now each frame, each char was rendered in three passes. And this slowed down things quite a bit. I’ve now baked the fonts onto one layer, still rendering each char on each frame – but it’s fast enough at this time. A better solution would probably to pre-render the text that doesn’t change each frame – but for now I’ll leave it that way.