User's corner: Caribbean TreasuresDaniel Sperl on July 10, 2011
After Go Usagi!, I'm proud to present another post in the "user's corner" series! Today, the Ukrainian developer Kostya Teterin writes about his experiences when developing the puzzle game "Caribbean Treasures" for the iPhone. Thanks for taking the time to write that article, Kostya!
Who are you?
My name is Kostya Teterin. I am founder and owner of Emotion Rays Entertainment, and a big fan of computer games. I would like to tell you the story behind "Caribbean Treasures" and Sparrow.
Caribbean Treasures is a puzzle game that is available on the AppStore in two versions, a complete and a lite edition (which is free but limited to 20 levels, while the complete version contains 101 levels). It is a remake of my old PC game Caribbean Treasures (available here) that was developed back in 2004 and still sells. Since I had many positive reviews about the gameplay of the original game, I decided to "copy" it on iPhone with some features that are unique to the mobile devices (like gravity and "draw on sand with your finger").
Caribbean Treasures is my first project for the iPhone, and when I googled for a free game engine, most links were about the Cocos2D. In my opinion, however, that engine has too much features implemented which makes it too big and hard to learn. I browsed through some samples and it was obvious that it might take several days or weeks to learn that engine on the level that is required to make a game.
Then I found the Sparrow Framework.
I was immediately attracted with 3 facts: it's completely free, it's open source (and I can make changes to the source or browse through it to learn how it works), and it is very intuitive. It took just a few hours to make a main menu for the game, and this was my first experience with the game engine. So the choice was obvious: I could focus on game code without spending lots of time trying to figure out how to define objects, scenes, sounds and to bring that all together. In three days I had my first playable level, and that was pretty fast.
Obstacles along the way
It just has to be said: Sparrow has a much better support team than most commercial applications. Almost all problems that I had were already solved, so I just learned on the forum how to fix them. There was a problem with the "Draw on sand" feature that took me a day to solve with the help of the forum, and it turned out that it wasn't a problem of the game engine but rather a problem of the OpenGL implementation on iDevices. It was related to the speed of rendering to textures, which is quite low.
During the work on Caribbean Treasures I also learned Objective-C, which was a new language for me. So I had lots of memory leaks in the initial builds that were fixed just before the release. But there really weren't any big troubles making this game, and - what's more important - there weren't any problems with the game engine (I didn't encounter any bugs or errors).
Sparrow is a basic framework. It doesn't have any advanced features like a set of GUI classes (sliders, modal dialogs and so on) or scripting engines or tools like scene editors and so on. And that was exactly what I was looking for! Because from my experience, many additional features are making a game engine just harder to learn, adding a lot of bulk just to display a simple sprite on the screen. As a basic framework, Sparrow is just great! It's very intuitive, easy to learn, and well organized. It has everything that one might need to develop a game. The quality support provided directly by the engine developers and users is also an important feature that should be considered by everyone who is looking for a game engine for their game. As for me, I have no doubt about the game engine that will be used in my next game. It will be the Sparrow Framework of course!