Archive

Archive for September 28th, 2010

Platform targeting

September 28th, 2010
Comments Off

For some topics, one of the real bummers is just trying to figure out how you’re going to do it, for where you’re going. You going to fly there, or drive there, or bike there, or walk there? Depends if your target is an island, has an airport, or roads, etc.

One of my sundry projects is a good old client/server game; the server is in working state right now .. its easy, it sits on one target box, and that code is portable to a wide variety of common systems. Piece of cake. But the client, the piece the user (player!) will see, thats the hard one. Do I go javascript-css and make a browser based client (so no real install for the user, and the ‘promise’ of working on many platforms without much code change), or go native? and going native do you go full hog OpenGL fancy graphics, or a basic dialog-box type UI?

This decision is hugely complicated, due to things being in a high state of flux. Oh, you want to use OpenGL and do it in a js/css app? Well, you _will_ be able to using WebGL, but its not delivered yet. You want to use the modern Canvas (and maybe svg) tech in a browser based client? Well, your support is spotty even amongst desktop big name browsers, but just forget working in Opera Mini or on a Pandora or an iphone, and its really unpleasant to handle such wide varieties of screens on handhelds .. form high res, to tiny low res, with random features present.

But say you decide to go native; do you want to code from scratch using SDL or UI toolkits like gtk or QT? and for other target platforms, do they have those same toolkits available?

Say you want to use some fancy OpenGL .. are you talking Open GL ES for mobiles? and if so, GLES 1.0, 1.1, or 2.0?

And if you want to get GLES 2.0 say, knowing the world is moving that way … how will you code it? Will you code it on the target platform, or cross compile to it, or try to code native with frequent ports to target for optimum coding efficiency? Well, did you know that Open GL desktop has some (but not yet full) support for GLES APIs? So you may well need a GLES adapter/emulator on your GL desktop?

Software development has always been about breaking large problems up into smaller managable bits, and matching requirements to solutions; but when it comes to writing a game client, life is just a pain. But a wise friend of mine did say .. pick a platform; you can’t target them all with this sort of thing.. pick a platform, and then you’ve at least got a few more requirements to fall back on.

Hrmpf.

Author: skeezix Categories: Gaming, Technology Tags: , , ,