The Cuttlefish Engine: An UpdateAugust 13th, 2009 |
Mason here – I’ve received lots of emails asking for more details about the Cuttlefish Engine. I’m in the process of putting together the Cuttlefish Engine site, but in the meantime thought I would answer the most common questions.
Q: When will it be released?
A: Roughly this winter. I’ve shuffled some priorities around to get something out there fast. In the next couple of months you’ll see the site go online, with tutorials and such. This will be followed by a formal beta period where the engine will be free to download, but will only run games in the simulator (by this I mean the simulator in the Cuttlefish Designer, not the iPhone simulator). Here’s the exciting part – you’ll be able to start developing your game during the beta, and you won’t have to start over when beta’s done. If you’ve built a running game in the beta version of the designer, when beta ends you’ll load your project into the release version, hit a button and you’ll see your game on your phone. If your game is ready when the beta ends, you will definitely be able to submit your game to the app store or to the marketplace the same day the engine’s released.
Q. Great, when’s beta?
A: How about an announcement of when I’ll announce beta? The exact beta date will be revealed when the full Cuttlefish Engine site comes online here in a few weeks.
Q: Is it open source?
A: No. Well, kind of – the designer spits out the full source code for your game. That code is completely yours. So in that sense, it’s open source.
But the actual code to generate that code (the metacode?) isn’t. There will be a plug-in architecture though, and all the designer data files are XML, so it’ll be easy to write your own tools if that’s what you need.
Q: Is it free?
A: No, but it will be affordable. There will be separate licenses for commercial game houses, and independent developers or those doing cell games as a hobby. It will be cheaper than Unity – in my opinion as an independent developer, Unity is overpriced for what you actually get. I’d encourage any indie developer thinking about dropping thousands on Unity to WAIT. I don’t mean to pick on the Unity guys, they’ve got a great engine, but I started developing the Cuttlefish Engine after looking extensively at Unity and deciding it didn’t fit my needs. Anyway, based on what limited hard sales data I’ve been able to squeeze out of my friends and contacts who’ve made cell games, at the final price I’m considering, most games will recoup the cost of the engine relatively quickly. There will be no per-game licenses, and no backend or royalty shenanigans. It’ll be “pay for it and make as many games as you want with it.”
Q: Is it 3D?
A: It will have some 3D features, but to get something out to you guys quick I’ll probably ship the first release with limited 3D support. Think Flash, only done completely in OpenGL, so with particle systems, scaling/stretching/rotation, etc. Most cell games, and especially most indie games, are 2D – I’d rather release early for the majority of you rather than hold the first release until 3D is ready. So, full 3D – meshes, skeletal animation, etc, will come a bit later. However, the engine is built from the ground up with 3D support in mind, so it’s not going to feel tacked on.
Q: Is your focus on Android or iPhone?
A: Both.
The initial release will support both Android and iPhone, and the capabilities of each will be the same. You will be able to make your game in the simulator without regard for phone type, and generate iPhone and Android versions seamlessly. Blackberry is a close third, but it’s possible the initial release won’t ship with it (again in the interest of getting something out as soon as possible). When (not if) Blackberry support arrives, you won’t have to make any changes to your game to get it to run. It’ll be a button press. The same goes for any future platform the engine supports (and there will be more than just these three phones).
Q: How is it possible to write the same code in ObjectiveC (for iPhone) and Java (for Android)?
A: The engine works through code generation. You write code for your game, and the Cuttlefish Designer looks at your code and massages it into the actual ObjC or Java code for the phone. You then build your final game in XCode or Eclipse. On the phone it’s all native code – you don’t have to worry about getting rejected by Apple for having “interpreted code,” and your game doesn’t take a performance hit when running your script. Also, it is orders of magnitude faster than using built-in interpreted languages like Javascript (which is what a lot of cross-phone games rely on today).
Q: Networking?
A: Very much yes. There will be extensive support for networked games, including matchmaking, and integrated simulator support so you can develop a network game using only 1 actual phone, and be very confident that what you ship will actually work. Cross-phone networking (by that I mean iPhones and Androids in the same multiplayer game) is a consideration, but I need to nail down some things before I can say for sure what support there will be for that. I’m hopeful, though.
Q: Physics?
A: Again very much yes. There will be a full physics simulator, with support for joints, motors, and so on. You will be able to create everything from Peggle to Crayon Physics-esque games, all at high framerate.
OK I think those were the big questions, I hope I didn’t lose anyone’s interest by not posting more info sooner, it’s just that most days I’m busy actually writing the code and I only come up for air occasionally (though it will be more often as things get closer to beta!) If you’ve got a question I didn’t answer, comment here or send me an email.
Oh, and finally – more screenshots – everyone wanted more screenshots, so here’s some quick ones… apologizes for the roughness of some of the UI, and rest assured in the final beta there won’t be any toolbar buttons with that ugly C# default image icon.
- Adding a variable to a sprite.
- Editing custom code for a sprite – don’t worry, syntax highlighting is coming! :)










August 13th, 2009 at 8:20 pm
Cool! Thanks for information!
Waiting for release
Good luck!
August 13th, 2009 at 9:19 pm
Awesome!
It would be a great one!
August 17th, 2009 at 2:41 pm
Can’t wait. How close would you say it will be to Gamemaker for pc? Drag n drop actions make it real easy.
August 18th, 2009 at 4:06 am
Yeah, it’s going to be similar to Gamemaker’s drag-and-drop editor. The interface will be better, though – I never really liked the way Gamemaker handled blocks, and when I was first learning Gamemaker most of my time was spent hovering over the icons in the palette and waiting for the tooltip to tell me what they did. I’ll try to post a screenshot of the action editor here soon, but it’s a more streamlined and helpful UI – clickable links to wiki pagess for each action, etc.
August 21st, 2009 at 1:25 pm
Sounding great. Thanks for keeping us informed. I loved Gamemakers ease of use but with experience you were able to do almost anything. BTW how will we know if we are overtaxing the g1/mytouch with say too many objects onscreen at once while we are only able to test on a pc?
August 24th, 2009 at 8:56 pm
hi,
as i said and asked before
why not a “designer friendly” script language (javascript = Unity) instead C#?
i´m a designer and for me javascript is ok and NOT C#.
August 24th, 2009 at 9:19 pm
There will be some performance tools at your disposal. What form those take depends a lot on how things shape up, but the goal is that the framerate you see in the simulator match what you see on most phones.
August 24th, 2009 at 9:26 pm
Javascript – which is an interpreted language – is slower. Lots slower than the native code the Cuttlefish Engine generates. But don’t worry, it will be designer friendly. I don’t find Javascript particularly friendly to designers – but regardless, the engine also has drag-and-drop scripting similar to GameMaker, where the designer prompts you for arguments, making it very easy for non-programmers.
September 7th, 2009 at 5:33 pm
Must be a really nice website coming
September 15th, 2009 at 7:31 pm
We’re waiting on a new logo. It’s going to be awesome.