mkdir cuttlefish2
| May 16th, 2012So - the Cuttlefish Engine is changing direction.
The Cuttlefish Engine and Designer were first conceptualized, years ago, when the iPhone had just come out, Android was a far-off up-and-coming platform, and everyone was expecting Microsoft to also enter the fray at some point. I envisioned a neck-to-neck, 3 horse race - Apple, Google, and Microsoft. Seeing that each company embraced a different language - Objective C, Java, and C# - the best path towards being able to write a game once was to write it in an abstracted scripting language (CuttleScript), and then have a compiler (the Designer) "build" CuttleScript into each platform's native language.
But today, reality is: iOS is where the action is. iOS still accounts for the vast majority of players and revenue. Android takes a small chunk, but game-making on Android is tough because of the varying hardware, and nobody's buying anything on Android anyway. WP7 is similarly forgettable. Today's business model is, release something on iOS, and if it's successful, port it to Android. Then, if it's REALLY successful (like Angry Birds), Microsoft will pay for a port to WP7.
This is not the neck-to-neck race I planned for.
But there's more: the overwhelming feedback I've received tells me that most indie developers don't particularly like huge, all-in-one engines, mainly due to the learning curve. Today's indies are pulling stuff from a wide variety of sources, and they're all working in their native IDEs. They're interested in small, standalone components, running as close to the metal as possible, but with great documentation, and flexibility. They want source code, and they want everything free and open. Box2D is a great example of what indies today really embrace.
It's time for a reboot.
The existing "all-in-one" approach to the Cuttlefish Engine and Designer is over. Those of you who have already purchased have the latest code, and know your support options. If anyone's getting ready to purchase specifically because they LIKE the all-in-one approach - check out GameSalad, or Corona. Personally my money's on Corona to emerge as the victor in that arena, but GameSalad is really great as well and a lot of it just comes down to personal preference. And of course there's Unity if you're looking for something more powerful.
Anyway - from the ashes of the Cuttlefish Engine of today, a new and better engine will emerge: Cuttlefish 2.0, built in C++, atop Cocos2D-X. This new engine will be completely free and open source (though I still reserve the right to charge a few bucks for complex editors). It will be comprised of small, modular, standalone pieces.
Cocos2D-X is a C++ port of Cocos2D. It's very cross platform, supporting many more platforms than just iPhone and Android. Cuttlefish 2.0 will be cross platform "capable," which is marketing-speak for me initially just concentrating on the iOS implmentation of platform-specific features (GameCenter, IAP, etc), but leaving the other platform-specific interfaces stubbed out.
I'll also be blogging about it. As I create key components, I'll throw a few words up here. This is as much for education as it is for future documentation - not only the "what does this method do?" kind of docs, but more meaningfully, why I decided to go this way or that. By following along here, you'll see the pieces go in as they're formed, and watch them evolve over time.
So - here's to the future, and watch for more soon!