So just a bit of a mini-news update: the cuttlefish engine forums are open. I didn’t realize I had some permissions set incorrectly, so… yeah. I’ve turned off comments here; if you’ve got feedback, go there instead so that everything’s in one place. Also, if you have a question, it’s much more likely I’ll answer it in the forums. I appreciate the emails, but I can’t keep up with them!
As for the engine itself – progress continues to be made! I’m just horrible at updating. Partly because I’m busy, but mostly because I dislike hyping something before it’s ready. Once the first releases are out and people are starting to use it, I’ll be more active online.
That said, at GDC, and since, I’ve gotten three new common questions that I’m going to answer here.
- Is there going to be a Mac version of the designer?
I’ve had to scale back my plans for this a bit. I was originally hoping to have one at or shortly after initial release, but I simultaneously underestimated the complexity of this, and overestimated the demand. A mac version of the designer is pretty far off on the horizon. But there’s always Parallels.
- What about social media, achievements, etc?
We’re looking at what it would take to integrate a framework for this. I spoke to many people at GDC; it seems like a lot of companies are making a play to be “the” provider for achievements, social networking integration, and serving up ads. I kind of want to see how this scene shakes out a little more before I make a commitment to any one particular platform (or roll my own), but it is on the radar.
- How do you handle the tremendous differences between devices?
It is a tough problem. The designer lets you say, “hey, I just authored this game for iPhone.” So it knows which resolution and platform all the assets were created for. If your assets are all iPhone, and you tell the designer to kick out an iPad build, it’ll simply scale everything up and build the game with those. That’s a good starting point, but nobody wants to ship an iPad game that way. So the engine also allows you to provide variations for each asset, based on platform. You can replace the 32×32 PNG you used for iPhone with a bigger one for iPad, and you can do the same thing with all the other kinds of content, including map layers and game objects. Also, you can create map layers that only apply to a particular platforms, so in a given level, you can keep the same set of base layers, but if you want to provide a more detailed background, or additional particles and effects, you can. Same idea with game objects – if you want them to have richer visuals, that’s easy too.
As for the other differences – the general philosophy is that Cuttlefish exposes everything, and trusts you not to do silly things. For example, you can script a response to a keypress event, even though there’s only physical keys on some of the Android devices. When the designer generates iPhone, it’ll include the code, but that code won’t ever get called. Same thing for multi-touch. There are things you can do in script to see what phone you’re on, and there’s build configurations, and each config can have its own set of #defines you can check in script.
In summary, for different platforms, the designer doesn’t eliminate all the pain, but it dulls it considerably, and the big idea is definitely not “support only the lowest common denominator.”
That’s it for now. More soon!