Wednesday, December 1, 2010

Testing Final Freeway on Android

Final Freeway for Android has entered in beta testing a few days ago, and it hasn't been easy.

Though the Android platform code is being completely handled by somebody else, I had to intervene to fix or rethink a few things about the quirks that come out when mixing different devices and OS releases.

As a general rule, the "low" and "mid" level Android phones tend to present a worse experience than iPhone 3G.

Frame rate is a problem and while it's true that phones such as the Nexus One have to deal with more pixels (800 x 480), it's also true that, for arcade games, frame rate is more important than resolution.

Then there is "touching"..  multi-touch is not guaranteed to be there. What was possible with the very first iPhone, is not possible with some of the Android phones still being sold.

In some cases, one cannot reliably have two virtual buttons on screen to be pressed at the same time.. see this video as an example. This seems to be an actual hardware limitation, and one just has to live with it.

Frustratingly, in some other cases there are lingering bugs in the OS that, on some phones, will sensibly decrease performance for the simplest action of all: touching the screen !
I'm talking about a minimum of 100 ms of time wasted simply for touching the screen, this means that when touching the screen, the maximum frame rate possible is less than 10 fps. Not a very good prospect for a racing game..

The only solution I can think of, is to have the accelerator pedal automatically pressed down by default and prevent or warn against the usage of touch-based steering.

It's a major fack-up that has been noticed at least since April 2009, and properly reported since at least April 2010. And two months ago the bug has finally been assigned to someone.. oh, hello ?!

Sometimes, Google apathy towards the user experience is really astounding.

Nevertheless, the game runs like a charm on the Galaxy S and, hopefully, will run as well with the more modern phones.
Still, this complicates things.. because the risk is out there for customers to get angry at the game, when it's Google that is at fault..   what a bunch of Java programmers !!