Home   Personal   Games   Work  

Ncik @ Radivarl  


Pub Pool 3 (J2ME)

Back in 2003, I originally wrote Pub Pool as part of iomo which, as previously noted, spawned a number of Pub related games: darts, fighting, fruit machine, ... In 2005 as part of Infospace, we got into a discussion with NVidia who were looking to demo a small screen (240x320) 3D card suitable for mobile phones. At the time, we were juggling with game ideas to pitch to the carriers, so we decided to bring the old pool concept back from the depths and give it a whirl.

I noted back on my original post about "Pub Pool" that we spent roughly two weeks throwing the basic of that together. I spent 9 months working on Pub Pool 3.

O. M. G.

I'm going to say this right now - it's not because the game was massively better either.

No, that's unfair. The update added a lot of new features to the game. There were a lot of new game modes, a story mode with a range of different AI skilled players to compete against, a collection of unlockable trophies and cues, and I vastly improved the physics engine.

The key addition and time sink however was: it was now in 3D.

A number of variants of 3D, in fact. First, and prettiest, was of course the version tailored for the NVidia demo (see the images here). This used a 3D API which was pretty scarce on mobile devices at the time (and has been superceded since): "Mobile 3D". I needed to create a variant of this that worked (although visually nowhere near as nice) on the other handsets of the time that supported this API. A completely different 3D API was on other handsets at the time though - the confusingly similar-sounding "Micro 3D" Where "Mobile 3D" was a little ahead of its time at that point, "Micro 3D" was a little bit more realistic in its expectations of what mobile could actual accomplish. The downside of this was the phones were generally lower spec as a result, resulting in further degradation options needing to be added. Booo!

Writing the 3D code to work against two separate APIs and a vast range of capabilities turned out to be a lot more of a pain than writing 2D games under similar constraints. Even importing and optimising 3D models required different mechanisms.

We did originally have further plans of 3D customisation (different pubs with different room layouts, decorations, etc.), but time was just burning away on the project and we couldn't justify it.

In the end it ended up being a game whose gameplay I really liked, but whose codebase I got really tired of working on.