Rollcage Redux

Welcome to the primary download source for Rollcage Redux - a reboot of the late nineties classic arcade racer. Click on the link to fuel up ...

Disclaimer (it's a modern world): This video game is copyrighted to, and remains the property of Psygnosis/Sony. Furthermore, I make no claim upon on it. I was one of the original coders on the game, and my intention here has only been to fix bugs and improve the experience for a modern audience. Needless to say, you should only download and play this game if you own a copy of the original. I warmly encourage any representative of Psygnosis/Sony to contact me directly if they have any objection to what I've tried to do here, as certainly, I hope it's obvious that no offense has been meant.

v1.3.8, 23rd May, 2015

  • Audio now explicitly mixed at 48KHz to avoid problems with environmental effects

v1.3.7, 30th December, 2014

  • Fixed bug where cars were not being updated in "full grid" network games

v1.3.6, 20th December, 2014

  • The bringbacktheoldtimes cheat code toggles the PlayStation version CD music track indexing

v1.3.5, 14th December, 2014

  • Shader model 2 is now the base specification, utilising shader model 3 where available
  • Fixed problem with the installer so it now installs the required DirectX components

v1.3.4, 5th December, 2014

  • Fixed some issues with HUD elements animating too quickly
  • Selecting either of the Rollcage windows now always shows the game in response
  • Added a post processing quality slider to the graphics options, to help relieve under-powered systems

Note that the post-processing quality slider in the graphics options defaults to 50%, meaning that by default the speed blur will not be as high quality as it has been until now. If you want to get full quality back again then just put it up to 100%. Playing Rollcage at normal speeds though you really won't notice the difference, only in screen-shots would that become apparent. By contrast, for those with relatively underpowered systems, the default pixel-processing reduction would be a welcome relief.

This will be the last update to Redux for quite a while now. Any detailed feedback on networking problems is still more than welcome however, the more feedback the better. Enjoy!

v1.3.3, 3rd December, 2014

  • New! Improved the vsync for timing feature to remove input lag by using a new, alternate method
  • Smoother, 60 Hz menu system
  • Much improved the appearance of the frosted screen effect

Do try the new vertical synch for timing feature on the initial dialog screen as it's a reworking of the original, experimental feature but using a very different method. This may slow your system down if it is relatively underpowered as it will be rendering at 60 Hz as opposed to 30, but every 2nd frame only renders the post-processing again and not the entire scene for each viewing window. Try it out, if the game runs more slowly as a result then simply switch it off. If your GPU has any real power however, then you will get a silky smooth frame rate with no additional input lag at all. It's taken 15 years, but we got there in the end!

v1.3.2, 2nd December, 2014

  • Improved the appearance of line particle primitives
  • Improved the appearance of the frosted screen effect
  • Sparks in the menu system now rendered correctly
  • Fixed the positioning of models in the menu system
  • Fixed setting of anti-aliasing
  • Fixed setting of triple-buffering
  • Fixed crash-bug on the Flood Zone track

v1.3.1, 1st December, 2014

  • Improved the transparency / density / randomness of the wheel smoke and dust clouds
  • Dust clouds no longer generated if transparency density in graphics options is set low
  • Screen shots now saved as jpg files for better file compression
  • Triple buffering now an option again on the initial dialog screen
  • Post-processing effects are now optional in the graphics options menu
  • Removed anti-aliasing from frame buffers > 2048 pixels in size (it's just not necessary)
  • Removed the 4096 pixel limit on render target texture sizes - now only limited by the hardware capabilities
  • Improved the rain volume handling characteristics when going in and out of tunnels
  • Fixed the scaling of the practice mode HUD
  • Fixed cinematic camera view in network games
  • Fixed audio listener positioning in network games
  • Fixed network play when vsync frame timing is switched on
  • Fixed runaway update loop when Redux is not the foreground window

v1.3.0, 29th November, 2014

  • New DirectInput8-powered input system
  • New Direct3D9-powered rendering system
  • More seamless interface when transitioning between the game and the front-end
  • Anisotropic mipmapping now available for rendering
    - currently disabled due to rendering artifacts caused by tight texture packing
  • Page-flipping for rendering is now employed as standard
  • Triple-buffering for rendering is now employed as standard
  • Anti-aliasing now available in the graphics options
    - this now uses 4x super-sampling on the rendering surfaces
  • Ultra-high screen resolutions now supported
  • Rendering device now selectable in the initial dialog screen
  • Robust rendering resource management that works correctly with Alt-Tab switching
  • Improved the accuracy of texture coordinate calculation
  • Improved the force-feedback effects for rumble-pad devices
  • Improved the rendering of clouds with new bitmaps and code re-engineering
  • Improved the rendering of lens flares with new bitmaps and code re-engineering
  • Improved the rendering of smoke, dust trails and explosions with code re-engineering
  • Improved the HUD rendering in network games
  • Pushed back the detail level distances for models for greater rendering detail
  • Added separate render target support for improved multi-window layout composition and post processing
  • Ultra-turbo-speed screen-bleed warp-effect (tm) for added racing ecstacy
    - configurable in the graphics options menu
  • Icy screen distortion effect for the ice weapon
  • Auto-update check now performed on a background thread to prevent stall at game exit
  • Animated loading screens and race view windows
  • Added remote debugging and diagnostic facilities
  • Added vertical synch for rendering switch to the initial dialog screen
  • Added vertical synch for timing switch to the initial dialog screen
    - this smoothes out the frame rate substantially, but should be considered experimental at this point
  • Removed page flipping option, as this is now redundant with the move to Direct3D9
  • Temporarily removed car state smoothing in network games as this appeared to create as many problems as it solved
  • Auto-update feature now goes straight to your web browser when an update is available
    - because it seemed to be impossible to get the message box up while the game was still running
  • Fixed a variety of scaling / perspective issues with rendering multiple windows
  • Fixed bilinear filtering switch in the graphics options
  • Fixed text scrolling speed at the end of a race to be screen-resolution independent
  • Fixed long-standing bug where explosions were occasionally not rendered
  • Fixed cockpit camera bug introduced in v1.2.4
  • Fixed car state data compression bug introduced in v1.2.4
  • Fixed cinematic camera followng the wrong car in split-screen network games
  • Fixed serious memory allocation bug introduced in v1.1.0
    - this was very sporadic and often hidden by the Windows Fault Tolerant Heap

This is a big one, oh yes! This build is a major step forward in terms of presentation, tidying up a lot of rough edges and lofting the entire game onto DirectX9. Compatibility problems will now be at a minimum compared to the last release and the game should work well on any shader model 3 equipped PC. Anti-aliasing has been reintroduced but be aware this uses 4x super-sampling which is relatively expensive in terms of fill rate. I recommend that you only switch anti-aliasing on if you have a relatively low resolution screen as higher resolutions simply won't benefit to any tangible degree (especially when travelling at 400KPH).

As this build has involved a massive amount of code change it is fairly likely I will have broken something, or that there are particular issues with particular system configurations. If you find any problems at all then please do contact me with the details (link in the page header).

Problems with network games I am especially interested in as I can't get it to fail here on my LAN. Any feedback from running the diagnostic exe is more than welcome. About the only thing I'm seeing here is unexpected disconnection from RakNet from time to time, but there's not really very much I can do about that - if it tells me I'm disconnected then I have to stop the game. Without solid feedback from you guys, I can't really progress with making network games more stable which is now my only substantial remaining goal for Redux.

Other than that, enjoy the new build! I'm sure you'll agree that it's significantly slicker than the last and a shed-load of fun to play.

v1.2.4, 2nd November, 2014

  • Made the auto-update check a little more robust
  • Car state data now uses compression, achieving a ratio of around 1.7 to 1
  • Car state data now only contains AI information when necessary
  • Further reduced the size of the remaining car state data members
  • Network synchronisation in the network games menu now controls the frequency of state updates

This will be the last update for a little while. I need to concentrate on developing some major upgrades to the rendering technology which will take some time to complete.

v1.2.3, 23rd October, 2014

  • Improved the tyre smoke
  • Added track-related dust trails
  • Fixed weapons use in network games
  • Fixed broken loading of large textures (e.g. ice bitmap on Speed Bowl)
  • Stopped the ice weapon from completely obscuring the rear view mirror
  • Further smoothed the timing in loose network mode
  • Filtered updates for car states to stop them jumping backwards and forwards
  • Increased the AI car update frequency from the host to the clients
  • Chat message display now optional

Note that the filtering of car state updates should be considered an experimental feature, albeit one that I've tested pretty thoroughly. It works very well here on my home LAN, and even in a simulated, laggy internet environment on the same. This should stop the cars jumping around unnecessarily and they will only do so when it is unavoidable - often related to infrequent update intervals.

v1.2.2, 21st October, 2014

  • Improved the robustness of pausing network games
  • Improved the rendering of missile trails
  • Fixed playback of the correct music within the game (accidentally broken since v1.2.0)

v1.2.1, 20th October, 2014

  • Added a password to Rollcage network sessions
  • Stopped spamming the diagnostic log with car state messages
  • Improved the player state management when in the session lobby
  • Increased the size of the input buffer for incoming network messages
  • Screen shot facility now works again, on F11, saves to My Documents\Rollcage Redux
  • Added in new rain sound effect and increased the volume that it plays at
  • Increased the volume on the high-speed wind sound effect
  • Removed the rockthehouse cheat code - download that music from [here] - unzip to My Documents\Rollcage Redux
  • Fixed human cars being controlled by AI when more than two players in a network game
  • Further smoothed the timing in loose network mode
  • Improved the accuracy of the frame timing in general
  • Fixed management of AI cars in Full Grid network games

v1.2.0, 18th October 2014

  • Improvements to audio for systems that have a LFE channel component
  • Added corporate movies back in, with an optional switch to turn them off if they cause a crash
  • Movies now played at the correct aspect ratio
  • Enabled air horns with the ivegotthehorn keyboard cheat code (then use the face forward button)
  • New networking subsystem powered by RakNet
  • Improved networking code to increase performance and stability
  • Fixed analog controller issues in network games
  • Improved the network game lobby
  • Improved the timing in loose network mode
  • Improved the visual rendering of bug splats
  • Can now configure the host port number
  • All human players need to complete the race for race times to be accepted
  • Race times are now synchronised correctly at the end of the race
  • Temporarily removed the tight network mode
  • Blistering speed feature toggled by the mynameisneo keyboard cheat code

A note on the blistering speed feature. This is a reinvention of the top race handling cheat originally found on the PlayStation version. Only this isn't your Daddy's handling, oh no. This feature, when enabled, requires your careful, unwavering concentration - the speed is so intense. You will not be able to simply drive around the track with the hammer down continuously as this will almost certainly guarantee failure. You will need to drop off the accellerator, regularly. You will even need to brake. Your senses will become wired. You will become as one with the machine. Prepare for transcendence, player, for you will become a Rollcage God.

A note on the networking. The networking subsystem has been replaced from its original DirectPlay implementation to use a more modern SDK called RakNet. This has brought with it some fundamental design changes. There can only be one (non-swappable) host in a game now, along with a number of clients. Each client can only communicate with the host and are never able to communicate with each other directly - this can introduce a little lag into the communications as some messages have to be bounced off the host to other clients. I have removed all the networking options except TCP/IP but allowed you to configure which port to use on the host machine of a game.

I've temporarily disabled the tight networking mode as, while it does work here on test, it seems to exhibit some unnecessary synchronisation waits which have a detrimental effect upon the playability of the game. I'll endeavour to identify how we can avoid this stalling and have it ready for general use in the next build of the game. As this mode is only really useful in a LAN environment (or where connections between client and host have sub 30ms ping times) I'm guessing most people will not being using it over an internet connection, for now at least.

And lastly, be prepared to have a little patience for the networked games - it is quite unlikely I will have gotten this right first time. While it works well here on my LAN, that sadly is no guarantee that it will also work well over the internet where the latency is greater and there are a good deal more players than I've been able to test with. Where you find problems, please run the diagnostics build and send me both log files, for as many clients in the game as is possible, so that I might be able to determine the source of the problem and then correct it. Good luck!

v1.1.11, 6th October 2014

  • Increased the audio update frequency to smooth out sound effect changes
  • Removed (obsolete) background network message processing
  • Improved the handling of network message acknowledgements
  • Improved audio mixing performance
  • Added reverberation to the audio sources when in an enclosed environment
  • Fixed problems with incorrect reverberation signalling in the game code
  • Automatic game update checking feature when the game exits
  • Defaulted some audio options that are no longer optional
  • High-speed wind noise on the cars now plays correctly
  • Now installs on the Windows Server OS (though I make no guarantees)

v1.1.10, 1st September 2014

  • New sound subsystem that is vastly superior to the old one
  • Improved the balancing of some of the sound effects

v1.1.9, 30th August 2014

  • Removed semitransparent sprite rationalisation code
  • Added a 12% deadzone to the input controllers
  • Fixed problem with displaying correct controller axis in configuration screen

v1.1.8, 26th August 2014

  • Improved the rendering of the explosion shock waves
  • Improved the aesthetic distribution of explosion fragments
  • Improved the rendering of effects to match the time of day
  • Improved the rendering of the air-heating effect
  • Fixed crash bug when using the Steam Overlay
  • Modifications for improved Direct3D state restoration

v1.1.7, 23rd August 2014

  • Fixed input bug with some polled devices not returning state information
  • Extended the file-based music playing API to replace more of the CD track playing API
    - including correct volume setting and random (shuffle) track play
  • Direct3D surfaces are now restored after being lost, fix for Alt Tab
  • Volume fade on user interface music before game
  • Night-time brightness has been made a little brighter

v1.1.6, 22nd August 2014

  • New mp3/ogg music player
  • Network messages now sent to the log in the diagnostics build
  • Removed time warp and ice sheet textures from the options menu (now always on)

v1.1.5, 8th August 2014

  • The emasculation of Yuri
  • Newly frozen screen for player being attacked with ice sheet
  • Improved backwards-firing ice sheet mechanism
  • Randomised the start positions in arcade mode
  • More flexible memory management for future enhancements
  • Program now reloads itself, rather than a hard-coded exe name, when it restarts the UI

v1.1.4, 6th August 2014

  • More varied loading screens
  • Improved weather effects
  • Improved the speed of the triangle rendering pipeline
  • Finishing touches to the DirectX 7 upgrade

v1.1.3, 5th August 2014

  • Fixed time-warp bug when using rear-view mirror
  • Fixed controller axis mappings, again, more betterer this time though
  • Corrected the camera's field of view on wide-screen monitors
  • Upgraded the renderer to use DirectX 7
  • Opened up the resolution selection control to allow user selection
  • HUD text is now only bilinear filtered at lower resolutions, higher resolutions looking better unfiltered

v1.1.2, 3rd August 2014

  • Improved the time-warp effect visuals
  • Improved the on-screen weather effects a little, will do more later
  • Improved Z buffer setup to be more flexible and indicate failure reason in diagnostic build
  • Improved the car shadow rendering to help combat the Z fighting issue
  • Improved the triangle batching performance in the D3D renderer
  • Added a generalised bitmap loader for high-colour textures
  • Added another loading screen for a little variety
  • Fixed axis mapping for devices controlling the user interface

v1.1.1, 2nd August 2014

  • Improved the blending characteristics of many of the rendering effects and head-up display
  • Improved the explosion effect
  • Improved debugging facilities for future network testing
  • Adjusted the brightness of mud and grass debris to stop it being neon coloured
  • Restored the original car handling (it was previously, inadvertently swapped out)
  • Removed render filtering from the in-game text to give it a retro feel
  • Removed more sensitive assembly routines and replaced them with C code
  • Added the iamalazybastard debug menu back into the user interface
  • Maintain the aspect ratio correctly when rendering loading screens
  • Massive code cleanup with function prototypes now included properly where possible
  • Addressed many compiler warnings within the code and made it a little safer

v1.1.0, 31st July 2014

  • Fixed rendering clipping bug which left odd pixels on top and left edges of the screen
  • Fixed analog joystick axis mapping to controller inputs
  • Fixed a handful of general bugs exposed by a modern compiler
  • Added windowed mode which smooths out the rendering on most machines
  • Auto-select the resolution / bit depth based on the current desktop setting
  • Added display page-flipping option (improves display smoothness on some machines)
  • Allowed Alt Tab to function, as well as all the other system keys
  • New, much more accurate frame timing code for a smoother frame rate
  • Switched on SSE2 support in the compiler options
  • Input controllers now automatically recovered when the game receives focus
  • Now using a section of the registry to store game settings that isn't protected by Windows
  • Replay files now stored in a file system location that isn't protected by Windows
  • Added 32-bit texture support for full colour quality
  • Improved triangle batching to improve rendering performance
  • Improved the display cohesion when the game respawns itself to return to the user interface
  • Adjusted the default settings to reflect that 15 years have passed by and systems are more powerful
  • More conservative CPU usage when the CPU is not required (the physics is locked to 30 FPS)
  • Removed Z buffering option (now always on by default)
  • Removed triple-buffering option (not used in a Windowed environment)
  • Removed rear-view mirror on split screen games
  • Removed procedural animation in the shield effect (will improve later)
  • Removed the pre-rendered movies as they were causing too many intractable problems
  • Removed SIMD and 3DNow assembler vector transform routines - no longer any benefit
  • Removed a lot of sensitive assembly routines and replaced them with C code
    - this allows compiler optimisations for modern processors