[casual_games] Casual Game Framework

Ricky Haggett ricky at morpheme.co.uk
Thu May 31 11:52:40 EDT 2007


> I'm sure the boys at Morpheme have something similar.

I think there are two issues here:
- Being able to trivially port code across a range of platforms.
- Designing games that compete with the best games on those platforms, i.e.
how your choice of target platforms affects (or compromises) your design.

We've come from a mobile background, and yes - having a single code base
from which you can build every mobile sku is indeed possible and highly
desirable (though I'd hestitate to suggest that it's in any way trivial at
the point of dealing with real devices).

Our approach for developing PC casual products in c++ was to build a wrapper
library around the Windows API and DirectX which looks an awful lot like
midp, and provides support for a number of language features in a (imo nice)
java-like way, with all the power of DirectX behind the scenes.

In parallel with this, we use the same resource building tools for both
mobile and PC, which definitely works ok (although if you want the most
rapid PC prototyping toolchain possible, you'll probably consider some
branching).

This approach considerably mitigates the porting process, because a PC
casual game and its mobile equivalent are structurally very similar, with
most of the classes and objects sharing the same names. There are obviously
a number of syntactical differences between c++ and java, which are
addressed with a combination of find-replace, and
putting-headphones-on-and-hammering-away-at-the-keyboard-for-a-bit :) It
isn't fire and forget, but it takes but a matter of days to produce a
working mobile reference build from a c++ game.

I think the issue of how best to design games that will work well across a
range of platforms is a much wider and more complex one, and I'd suggest
that some of the solutions to best-fit a game to multiple platforms won't
necessarily be conducive to having a single code-base. It may be that
fundamental changes between versions on different platforms mean that the
code is best kept separate for the sanity of all involved. One simple
example is the difference in user-interface / menus between a mobile game
and a casual one - to do a really great job on both platforms in a single
codebase might very well be possible, but it would require some serious
engineering, and my view is you'd be better off having two separate menuing
systems, optimised for each platform and incurring the small porting cost of
implementing a simplified menu for the mobile versions.

Not to say that a single-source solution isn't viable of course, perhaps one
day even for an 'arbitrary' game - with enough investment into the tech -
but my advice right now would be to plan a solution which takes into account
all of the target platforms, and makes the porting process as
straightforward as possible, without relying on a single codebase.

Ricky


Morpheme Game Studios, Morpheme Wireless and Morpheme
are trading names of Eidos Interactive Limited whose registered office is
1 Hartfield Road, London SW19 3RU
Company number: 01804186

Checked by AVG.
Version: 7.5.472 / Virus Database: 269.8.4/825 - Release Date: 30/05/2007
15:03

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://seven.pairlist.net/pipermail/casual_games/attachments/20070531/e043a088/attachment.htm>


More information about the Casual_Games mailing list