I had already thought about an idea of splitting and combining bubbles with swipes. It fits perfectly to touch screen devices but I was not quite sure how the game mechanics would work. I needed to do some testing. First, I needed some kind of platform for the physics. Doing one yourself didn't sound like a good idea and I decided to go with Box2D that is used in Angry Birds and numerous other titles. It provided me the engine for collision detection and basic physics for the bubbles. I needed to tune it a bit since my bubbles did not have any gravity. I could have set the gravity to zero but then the other objects would not behave properly.
The next thing was to start analyzing the swipes. I built a sample setup where I had a couple of bubbles, some walls etc. I implemented the mechanics for analyzing the swipes and got the splitting of bubbles working. I also added some logic for merging the bubbles and there it was: the very basic part of Bubble Bob. I started adding some graphics for the bubbles, some backgrounds and created a couple of levels and it started to look like a game.
At this point I realized that I won't be able to create the levels I wanted with a text editor and raw XML files. I implemented a very simple and ugly Java editor for my levels and started creating new levels for the game at more rapid phase. I added the required elements to my editor as I implemented them to the game: fans and switches, bubble shooters, spikes etc. I decided that the game will have four worlds, 25 levels on each. I should have paid more care and attention on the level design though since I guess that was one of the weak points of my game. Some of the levels are a bit boring and some of them are too difficult for an average gamer.
One of the problems with my game development is the graphical side. I had picked Cocos2d as my graphics engine for Bubble Bob. It is an amazing library of functionality for animations, transitions, sprite handling... It was so easy to develop a beautiful game with it - in theory. I don't have an eye for good graphics and more certainly can't draw them. This became an issue with Bubble Bob since the story behind the game required an animated character, nice backgrounds etc. I decided to give it a try after all. I used Inkscape to draw the sprites and got the animations working on some level. One of the comments I got for my game later proved that I should not do the graphics myself:
"I got excited thinking it was a clone of this:
http://en.wikipedia.org/wiki/Bubble_Bobble
But what you have here does look like a very interesting game, I personally haven't seen this mechanic used before in an iPhone game.
I believe you could improve the game by redoing or hiring someone to do the graphics, there needs to be some kind of connection between all the graphics, at the minute you have this flat cartoon character, againist a 3d effects shaded wall background and then some red plastic buttons in the top corner, its all a bit confusing. It needs one central style to pull it all together and you could have the next Cut the Rope on your hands."
I have to say that after the release I was a bit tired and the cycling season had just started. I didn't want to spend more time on Bubble Bob at that point since the number of downloads was painfully low. I provided the game for free for some time to get some users for it. It would have been a shame if so few played it after all the work I had done. :) And hey, I was now a proud publisher of two iPhone games. I was ready to start my long summer of cycling and other activities.
At some point I considered doing something else than iPhone games. It's not the money (although I have to say it would be nice to earn some extra with it) but the fact that it is not very satisfying to make a game and see a couple of players playing it. Bubble Bob has been downloaded for 10k+ times (mostly while it was free). I did learn a lot from my mistakes with Bubble Bob: I definitely need someone else to do my graphics, I need to get more test players if I do any kind of puzzles and I need to create a game that is fun to play. Bubble Bob had some unique game mechanics in it but in the end it is way too difficult for an average gamer.
Right now, after a long cycling season, I'm already developing a new game. This time it will be much more on the action side. Someone said that you'll need to create ten games before you get it right. This is my third title so there is a long way to go... :)