FAQ

Here’s some common questions and, more importantly, answers.

Q: When will it be released?

A: When it’s ready. We’re talking weeks, maybe a few months – not years.

Q. Great, when’s beta?

A: Soon. Keep watching.

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. There will be no per-game licenses, and no backend or royalty shenanigans. It’ll be a subscription model, “pay for it and make as many games as you want with it in a year.”

Q: Is it 3D?

A: It will have some 3D features. 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. 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 2.0 (including Motorola Droid) and iPhone 3.0, 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 (except for the obvious differences in resolution, etc.), and the Cuttlefish Designer will generate iPhone and Android versions seamlessly. iPad and Blackberry are close thirds; when (not if) we add support for them, all you have to do is load your project and click re-build. The same goes for any future platform the engine supports (there will be more phones and other mobile devices supported).

Q: How is it possible to write the same code for, say, 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 writes, from scratch, the actual ObjC or Java for that particular phone. On the phone it’s all native code – you don’t have to worry about getting rejected by Apple for having “interpreted code,” and unlike other engines, your game doesn’t take a huge performance hit because it’s running 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).

I know what you’re thinking – as a programmer, generated code locks me in a prison where I can’t modify anything. The engine gets around that – it supports writing key methods in 100{f2ebcdcfc9a733b831df62907e4b7d961696e36a82d623ab5e09b0c706113309} native code. Essentially you give it the raw code (for just one particular platform, or a different chunk of code for each platform), and the engine will take your word for it and drop that text into the source. So if you’re a programmer or have access to one, you don’t need to worry about your hands being tied by the code generation.

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.

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.