Developing a game always takes longer than expected. I made an experiment and tried to develop a simple but descent game quickly, while keeping tracks of time spent on each feature. I also wanted short development times to see if I can make a profitable game, even if I were paid for it (I’m not doing this for a living, just for fun).
This experiment ended with the game Hashi Puzzles: Bridges & Islands, available right now for Android and iPhone/iPad (free download).
In order to release the game quickly, I had to have a safe design, without too much risks. I therefore came up with the idea of implementing a game of Hashiwokakero (Wikipedia), a logic game made by the inventors of sudoku. I know the “gameplay” has already been tried and it’s fun: I won’t need to spend time iterating or tweaking the design.
As I’m not an artist, this is also a good choice because it is graphically simple. I initially planned to do all the art myself, but my brother (Vincent) nicely offered his help when I gave him an early build of the game. He therefore made the game icon and logo. He also worked with a tight deadline (1 day).
To have a complete and polished game, I added levels, level packs, hints and a progression (inspired by the great game Flow (Google Play, AppStore)).
I also integrated ads that are removed when the player purchases any of the six purchasable level packs. Purchases are made with in-app payments.
The game has no music, and only very basic sound in the menu (actually, the code used to play the validation sound in the mainmenu is in my framework so it was faster to keep it than to remove it).
The game is translated in French and English. [By the way, if you can speak any other language, feel free to contact me as I’d love to port the game in other languages. The game has very few texts, as you can see on the editable texts sheet, and a simple description on the stores].
With the design in place, experience gained from a released mobile game (Don’t Feed the Trolls), and an engine ready (cocosd-x), I can start the actual development of the game.
I worked on the project part-time, mostly in the evening when my kids are sleeping ;).
The android version of the game was made and released after 45 hours of work distributed in 11 days. I don’t count the time spent thinking about it in the shower, though 🙂
I then spent another 5 hours to port, build and submit the iOS version. In addition to creating the project, I added a feature on iOS that I didn’t implement in my previous game: the ability to use iAd as well as AdMob as advertising sources.
It also took 5 hours for the Amazon App Store Kindle version (it’s in review right now and should be available in a few days). It was the first time I implemented the in-app API for Amazon, that’s why it took a bit longer than it should have.
My brother spent a total of 5 hours on the art (on the last day).
Total breakdown per feature and sub-feature
Here is the time spent per feature:
I included everything in this chart : my work, the artist’s work and the ports to iOS and Amazon. This is a total of about 60 hours. We can see the distribution is quite even between each feature.
It’s more interesting to see a sub-feature breakdown:
A few comments about this chart:
- I develop as much as possible on Windows, with Android being my main real device test target. Therefore, I grouped together windows and android in a platform specific category because most of the specific behavior is done on windows if possible (portrait orientation for instance).
- The tutorial took quite some time to implement but it was done twice. After the first playtest with my wife, I realized the tutorial was not understandable at all and I changed it entirely.
- Optim is performance optimization so that the game can run on lower end devices. I first made everything working, and then optimized it, mostly by reducing draw calls with the techniques I describe in this article.
- Most of the time was spent building the UI of the menus. I have three screens:
- the main menu with three buttons
- the pack selection screen with a vertical smooth scrolling
- a level selection screen with horizontal scrolling with pages
I already did these kind of menus in my previous game, but it still required some work to put it all together correctly in Hashi Puzzles.
- In the core gameplay section, the longest part was obviously the level generation part. In order to have only interesting levels, I had to tweak the level generation for some time. I also had to develop a solver to help the generation. However, the puzzle solver allowed me to develop the “hints” feature very quickly.
Conclusion / Tips
Developing this game was very intersting and I (objectively? :)) think the game is good even if it was developed in only 45 hours. There are a few features that I did not implement to save time, and that I might implement later on:
- Different theme/colors (estimation: 1h30)
- Player statistics (estimation: 0h30)
- Improved art (estimation: 3h)
- “Smart hints” (hints are currently just brining attention to specific islands, I could be way better with text explaining the hint) (estimation: 2h30)
- Detection of isolated islands to tell the player (estimation: 2h)
I will probably make an article about the revenue of the game in a month or two.
Please try the game (Android, iOS), share it with your friends and rate it if you like it!
Feel free to comment here or on twitter if you have any questions about the game or the experiment!
45 hours is pretty impressive.
What language did you develop in for cross platform? Corona SDK ?
The game is made using cocos2d-x. It’s a C++ port of the famous cocos2d engine made in objective C.
Great post! I got to your site looking up cocos2d-x and texture packer.
I’m really interested in your follow up post on revenue. i like your approach with the ads and level packs. Picking a game like Hashi, where people are deliberately searching for it was wise. I imagine that the competition is also small… well, smaller than if you had chosen sudoku 😉
I will post on revenue when the game will be on Amazon App Store for a few weeks. I already noticed a *huge* difference between iOS and Android (I didn’t notice this difference with my previous game).
Comments are closed.