Apex Designs w w w . a p e x - d e s i g n s . n e t
Contact Us | Forum | Mailing List

Notify me when this site is updated:
news games tools shop links email about
s t a t u s   r e p o r t

Payback

29 October 2006 | Behind The Scenes

Introduction

We wrote status reports during the development of almost all the other versions of Payback but we haven't so far for the GP2X. To address this glaring omission, we've put together this report to give you an insight into what's new in the GP2X version of the game - and there's a lot!

New And Improved

The GP2X version of the game is based on the GBA code as this is the most bug free and up-to-date - and is also helpfully already very optimised for the ARM processor. Of course, the GP2X's extra CPU power allowed the game to be improved dramatically. The main new features in the GP2X version are:

  • Completely reworked front end and HUD.
  • HDR rendering and tone mapping, including extremely high quality precalculated lighting.
  • Almost all dialogue is now recorded speech.
  • A new "Challenge" game mode.
  • Lots of new songs on the soundtrack.
  • New vehicle models.
  • Higher resolution and framerate.
  • Lots of bug fixes and gameplay tweaks.

Lighting

By far the biggest change here was the switch to a vastly more sophisticated lighting algorithm. Each surface is assigned a unique HDR floating point lightmap (this means there are around 40,000 unique lightmaps per city), creating almost 1GB of lighting data per city. These lightmaps are calculated using a very high quality radiosity algorithm. This involves simulating the path of 77 billion photons per city (almost a trillion for all 11 cities). Despite the code being very optimised, this process still takes over 10 hours per city on a 2.4GHz PC. This tool also allows you to view the city from any angle using the new lighting data, as shown in the grabs below:

All this data is then reduced to around 2MB so it can easily be loaded into memory by the GP2X. This 500:1 compression ratio is achieved using a JPEG-style discrete cosine transform and removing duplicate lightmaps or those that can never be seen from an overhead viewpoint. As you move around the city on the GP2X, these lightmaps are decompressed and combined with the real-time lighting (which is done using gouraud shading). Once this final lightmap has been calculated, it is then combined with the texture maps and rendered to the screen. (The combined textures are cached so none of this significantly effects performance.)

As you can see, this makes quite a difference to the quality of the finished image:

GBA

GP2X

A big change that is tied into these new lighting algorithms is the fact that the game is now entirely HDR. In other words, the game now calculates the brightness of each pixel with a similar range to the real world rather that squashing everything into the range that's displayable on an average screen like most games do. In fact, Payback is almost certainly the first handheld game to support HDR, and even a lot of modern games for much more powerful hardware do not support it. This HDR frame buffer needs to be converted to a displayable format (a process called tone mapping), and this is where you get the most noticeable differences compared to non-HDR rendering. The main effects simulated by Payback's tone mapping are as follows:

  • Glare. Bright pixels bleed outwards. This is the effect a lot of people think of as HDR.
  • Dynamic exposure. The exposure changes depending on how bright the image is.
  • Noise. The image gets more grainy when the light levels are low.
  • Dazzle. Very bright objects leave a trail when they move.

Because the game uses software rendering, there wasn't much overhead to rendering in HDR (although the tone mapping does have a fairly significant overhead) but it did cause some unexpected complications. The main one was that the objects and particles could no longer have a fixed brightness - if they did then they would look too bright or too dark almost all the time. To fix this, every object or particle (and there can be as many as a thousand on screen at once) has to work out how much illumination is falling on it every frame and change brightness appropriately - caching the lightmap data ensures this does not significantly effect performance.

There were also some unexpected upsides to HDR, most notably that the tone mapping process automatically created a blurred version of the image, which could then be used to blur any part of the screen for "free". This means that rendering performance is actually increased on the menu screens where the background is blurred - not reduced as might be expected.

Audio

Another big new feature of the GP2X version is that CD quality speech has been recorded for almost all the dialogue in the game (500 lines of speech in total). A custom compression format was written especially for the GP2X and takes less than 1% CPU to decompress but gets a respectable 5:1 compression ratio. This rapid decompression is especially important as two streams may be decoded at once (the speech and the music) and these streams then need to be mixed with the 8 channel 3D sound output, all without significantly slowing the game down. Everything is done in 16-bit at 44.1KHz for the highest possible quality - despite this, total CPU usage is generally around 3%.

Thanks to the extra storage space on the GP2X and the audio codec mentioned above, it was possible to go back to the CDDA soundtrack from the earlier versions of the game rather than the much simpler soundtrack used on the GBA. There are now 21 tracks in the game, including 8 new tracks have been added especially for the GP2X version:

  • "Dolemite's Theme" by Little Bitchard
  • "Four Themes (Payback Remix)" by Little Bitchard
  • "Kayboldum" by Mujgan
  • "Our Sun" by Patrick Geg. & Lukasz Maz.
  • "The Jupiter Sound (Evil Payback Remix)" by Little Bitchard
  • "Travelling At The Speed Of Light" by Little Bitchard
  • "Your End Is Close To Me" by Revisque
  • "Yuki Satellites" by Radix

The game will also include the conversion tool to allow players to add their own songs to the soundtrack.

The Front End

One area of the game that we were never really happy with was the front end which, well, wasn't exactly pretty. For this reason, a new menu system was written from scratch especially for the GP2X. This unified system is used for both the front end and the pause menus, and always works in a consistent way. As you can see from the comparison below, the new system is much cleaner and easier to use:

GBA

GP2X


 

 

The font system is also all-new for the GP2X and supports antialiasing which gives the fonts a much cleaner look, and also allows proper transparency which is used to improve the visual quality of the menus, especially during transitions. As you can see from the screenshots below, the in-game HUD has also been redesigned to be cleaner and more compact:

GBA

GP2X

Rendering

Thanks to the GP2X's processing power and lots of optimisation, rendering performance was massively increased compared to the GBA (all figures are with no overclocking, the GP2X's are with HDR, the GBA's are in 8-bit):

  Peak Pixels/sec (GBA) Peak Pixels/sec (GP2X) Peak Triangles/sec (GBA) Peak Triangles/sec (GP2X)
Plain 13,100,000 61,835,000 71,100 609,756
Texture mapped 4,860,000 33,537,000 36,200 307,692

In fact, the performance gap is even greater than implied above, as with average sized triangles the GP2X is significantly faster due to certain GBA-specific optimisations being less beneficial with smaller triangles. In practice, the GP2X's renderer is comfortably more than ten times faster than the GBA's - and only the memory bandwidth stops it going faster still.

All this extra processing power allows the game to run dramatically faster and at a higher resolution than it does on the GBA. Most of the vehicle models have also been significantly improved, and have 5-10 times the number of polygons compared to other versions of the game. There are many other visual improvements compared to the GBA version, including higher resolution textures and real time lighting (in addition to the precalculated lighting discussed earlier).

The custom video codec developed for the GBA version has also been improved for the GP2X, which allows the intro to be encoded at much higher quality. The game also has a few extra visual effects such as shockwaves that distort the backgrounds and higher quality vehicle shadows.

Gameplay

It's not just the technical side of the game that's changed on the GP2X - the gameplay has also been improved. The biggest new feature is the addition of "Challenge Mode". This is based on the game's existing "Rampage Mode", except you have a specific target score that you have to get for each city in order to complete the level.

There have also been lots of tweaks to the gameplay such as improved controls and making the player able to survive being shot the first time. The save system has also been reworked to record stats about the player's performance (distance travelled, time playing, % complete, etc.) and to allow the player to have an unlimited number of profiles that they can quickly switch between.

The game also supports TV out and overclocking, as well as a power saving mode that automatically turns off the screen and reduces the clock speed after a minute of inactivity. In addition, feedback from the playable demo has been used to improve the finished game.

Summary

As you can see, there's loads of new stuff in the GP2X release - making it easily the best version of the game so far. We've really enjoyed making it, and we hope you'll enjoy playing it when it's released, which should be in the very near future - join our mailing list if you want us to contact you when it's ready.

In the mean time, don't forget you can pre-order the game here and you can also download the playable demo here.

James Daniels (james.daniels@apex-designs.net)
Apex Designs (www.apex-designs.net)

Please feel free to email us with any questions, suggestions or enquiries. For general information about Payback, please click here.

 [ s c r e e n s h o t s ] 


Racing through the streets

Eye in the sky

Explosive shockwave

Spitting death


All the screenshots above may be freely distributed but should not be modified and must be credited to Apex Designs.



" It's only when you look at an ant through a magnifying glass on a sunny day that you realise how often they burst into flames. "
Harry Hill