the cutting room mirror

Burnin' Rubber 4

Burnin' Rubber 4 is the fourth of Xform's Burnin' Rubber series of racing games running under the Shockwave engine.

Unused Code#

Member 1.10 of BurninRubber4.dcr, which is a code script labeled SharedData, makes reference to a weather system, in which rain would fall in the Jungle map, and Snow on the Snow Peaks map. However, the associated textures seem to have been deleted.

//-------------------------------------------------------------------------------------------------------------------------------------------
// WeatherStyle (environment effects)
//-------------------------------------------------------------------------------------------------------------------------------------------
Weather_Begin
    Default [:]
    Jungle  [#effect: [#rain], #rainStyle: #Jungle]
    Snow    [#effect: [#snow], #snowStyle: #Snow]   
Weather_End


//---------------------------------------------
// Rain
//---------------------------------------------
RainStyle_Begin
    Default [:]
    Default2    [#layers: 1, #layerDistance: 10, #cameraOffset: 100, #layerStyles: #default]
    //Jungle    [#layers: 5, #layerDistance: 100, #layerStyles: [#layer1, #layer2, #layer3, #layer4, #layer5], #cameraOffset: 100, #fieldOfView: 55.0]
    Jungle  [#layers: 3, #layerDistance: 150, #layerStyles: [#layer1, #layer2, #layer3], #cameraOffset: 150, #fieldOfView: 55.0]
RainStyle_End

RainLayers_Begin
    Default [#texture: "Rain_Texture", #textureScrolling: vector(0.1, 0.1, 0.0), #textureScale: [2.0, 1.0], #emissive: rgb(255, 255, 255), #blend: 100.0, #defaultXRotation: -25, #defaultZRotation: 15]
    // Jungle
    Layer1  [#texture: "Rain_Texture", #textureScrolling: vector(0.001, 0.03, 0.0), #textureScale: [1.5, 0.75], #emissive: rgb(255, 255, 255), #blend: 60.0, #defaultXRotation: -20, #defaultZRotation: 5]
    Layer2  [#texture: "Rain_Texture", #textureScrolling: vector(0.001, 0.03, 0.0), #textureScale: [2.0, 1.0], #emissive: rgb(255, 255, 255), #blend: 40.0,  #defaultXRotation: -15, #defaultZRotation: 4]
    Layer3  [#texture: "Rain_Texture", #textureScrolling: vector(0.001, 0.03, 0.0), #textureScale: [2.0, 1.0], #emissive: rgb(255, 255, 255), #blend: 20.0,  #defaultXRotation: -10, #defaultZRotation: 3]
    
    //Layer1    [#texture: "Rain_Texture", #textureScrolling: vector(0.1, 0.1, 0.0), #textureScale: [1.0, 0.5], #emissive: rgb(20, 20, 20), #blend: 100.0, #defaultXRotation: -20, #defaultZRotation: 5]
    //Layer2    [#texture: "Rain_Texture", #textureScrolling: vector(0.1, 0.1, 0.0), #textureScale: [2.0, 1.0], #emissive: rgb(40, 40, 40), #blend: 80.0,  #defaultXRotation: -15, #defaultZRotation: 4]
    //Layer3    [#texture: "Rain_Texture", #textureScrolling: vector(0.1, 0.1, 0.0), #textureScale: [2.0, 1.0], #emissive: rgb(60, 60, 60), #blend: 60.0,  #defaultXRotation: -10, #defaultZRotation: 3]
    //Layer4    [#texture: "Rain_Texture", #textureScrolling: vector(0.1, 0.1, 0.0), #textureScale: [2.0, 1.0], #emissive: rgb(80, 80, 80), #blend: 40.0,  #defaultXRotation: -5, #defaultZRotation: 2]
    //Layer5    [#texture: "Rain_Texture", #textureScrolling: vector(0.1, 0.1, 0.0), #textureScale: [2.0, 1.0], #emissive: rgb(100, 100, 100), #blend: 20.0,  #defaultXRotation: 0,  #defaultZRotation: 1]
RainLayers_End

RainWaypoints_Begin
    Default []
RainWaypoints_End

//---------------------------------------------
// Snow
//---------------------------------------------
SnowStyle_Begin
    Default [:]
    Default2    [#layers: 1, #layerDistance: 10, #cameraOffset: 100, #layerStyles: #default]
    //Jungle    [#layers: 5, #layerDistance: 100, #layerStyles: [#layer1, #layer2, #layer3, #layer4, #layer5], #cameraOffset: 100, #fieldOfView: 55.0]
    Snow    [#layers: 5, #layerDistance: 150, #layerStyles: [#layer1, #layer2, #layer3, #layer4, #layer5], #cameraOffset: 150, #fieldOfView: 55.0]
SnowStyle_End

SnowLayers_Begin
    Default [#texture: "Snow_Texture", #textureScrolling: vector(0.1, 0.1, 0.0), #textureScale: [2.0, 1.0], #emissive: rgb(255, 255, 255), #blend: 100.0, #defaultXRotation: -25, #defaultZRotation: 15]
    // Jungle
    //Layer1    [#texture: "Snow_Texture", #textureScrolling: vector(0.001, 0.03, 0.0), #textureScale: [1.5, 0.75], #emissive: rgb(255, 255, 255), #blend: 60.0, #defaultXRotation: -20, #defaultZRotation: 5]
    //Layer2    [#texture: "Snow_Texture", #textureScrolling: vector(0.001, 0.03, 0.0), #textureScale: [2.0, 1.0], #emissive: rgb(255, 255, 255), #blend: 40.0,  #defaultXRotation: -15, #defaultZRotation: 4]
    //Layer3    [#texture: "Snow_Texture", #textureScrolling: vector(0.001, 0.03, 0.0), #textureScale: [2.0, 1.0], #emissive: rgb(255, 255, 255), #blend: 20.0,  #defaultXRotation: -10, #defaultZRotation: 3]
    
    Layer1  [#texture: "Snow_Texture", #textureScrolling: vector(0.001, 0.03, 0.0), #textureScale: [1.5, 0.75], #emissive: rgb(255, 255, 255), #blend: 20.0, #defaultXRotation: -20, #defaultZRotation: 5]
    Layer2  [#texture: "Snow_Texture", #textureScrolling: vector(0.001, 0.03, 0.0), #textureScale: [2.0, 1.0],  #emissive: rgb(255, 255, 255), #blend: 40.0,  #defaultXRotation: -15, #defaultZRotation: 4]
    Layer3  [#texture: "Snow_Texture", #textureScrolling: vector(0.001, 0.03, 0.0), #textureScale: [2.0, 1.0],  #emissive: rgb(255, 255, 255), #blend: 60.0,  #defaultXRotation: -10, #defaultZRotation: 3]
    Layer4  [#texture: "Snow_Texture", #textureScrolling: vector(0.001, 0.03, 0.0), #textureScale: [2.0, 1.0],  #emissive: rgb(255, 255, 255), #blend: 80.0,  #defaultXRotation: -5, #defaultZRotation: 2]
    Layer5  [#texture: "Snow_Texture", #textureScrolling: vector(0.001, 0.03, 0.0), #textureScale: [2.0, 1.0],  #emissive: rgb(255, 255, 255), #blend: 100.0,  #defaultXRotation: 0,  #defaultZRotation: 1]
SnowLayers_End

SnowWaypoints_Begin
    Default []
SnowWaypoints_End

A particularly humorous comment can be found in Member 1.9 of BurninRubber4.dcr, labeled Events:

// FOR FUCKS SAKE

Unused Icons#

Member 152 of Shared\Shared.cct, which is labeled Interface_Texture and contains textures for the game's interface, contains an unused graphic labeled "You're Listening To", which would have likely been displayed to indicate what song would be playing.

Revisional Differences#

Three releases of the game are known to exist:

  • The original version, released on the Shockwave website on August 2010.
  • The Game of the Year Edition, released in 2011 to commemorate the game receiving Shockwave's 2010 Game of the Year award.
  • The standalone version, released in 2018 by Xform themselves, after the game was taken off Shockwave's website in early 2017.

The differences between the former two are as follows:

Differences between original and Game of the Year Edition#

  • All free-roam locations now take place at night.
  • A new type of non-playable vehicle, named the "Armored Truck", was added.
  • A new map was added, titled "The Docks" and set on an industrial city.
  • Police cars now have mounted guns on their roof. They appear should the player use a weapon while in their range.
  • Detonators no longer affect the player's car.
  • Pre-race notifications and in-game help blurbs now slow down the in-game time.
  • The original game featured an automatic car lights system, in which whenever the player went urder a bridge or any shadow, the car's lights would turn on. In the GOTY edition, this was changed to a toggle in which pressing L enables or disables the car lights.
  • The vehicles' steering and weight shift coding was updated. The original version used the same coding as Burnin' Rubber 3.

Differences between Game of the Year Edition and Standalone#

  • All graphics were updated to higher-resolution variants.
  • The shadow texture and coding were updated.
  • The day setting from the original release was added back.
  • Mounted guns can now be toggled off.
  • Pressing Space while in the intro dialogue sequences now allows the player to skip them.