If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Motorstorm: Apocalypse

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Motorstorm: Apocalypse

Developer: Evolution Studios
Publisher: Sony Computer Entertainment
Platform: PlayStation 3
Released in US: May 3, 2011
Released in EU: March 31, 2011
Released in AU: March 17, 2011


DevMessageIcon.png This game has a hidden developer message.
CopyrightIcon.png This game has hidden developer credits.
DevTextIcon.png This game has hidden development-related text.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.
DummyIcon.png This game has unusual dummy files.


NotesIcon.png This game has a notes page

Motorstorm: Apocalypse is a game about sacrifices to loved ones, massive misfortune, and regular weekday driving around the SF bay area.

A Japanese version, titled "モーターストーム3 - Motorstorm 3", was scheduled for release on March 17, 2011, but was scrapped.

Hmmm...
To do:
  • Document XML file structure if desirable for TCRF, high-level breakdown of binary.
  • Turning this thread: https://mastodon.social/@zanagb/112863977065021682 into something useful.
  • Find a way to enable debug main menu, debug printouts, benchmark mode.
  • Create subpages for the Cologne, E3, and January 2011 prototypes.

Sub-pages

Miscellaneous tidbits that are interesting enough to point out here.
Notes

BOOT.ELF Curiosities

Compiler References

Present at 0x01448878:

Copyright (c) 1992-2003 by P.J. Plauger, licensed by Dinkumware, Ltd. ALL RIGHTS RESERVED

Evolution has been using Embarcadero's C++ builder for other projects as well, so seeing it here is unsurprising.

Repeated many times under the binary:

GCC: (GNU) 4.1.1 (SDK350, $Rev: 3420 $)

Curious for them to use GCC while being majorly a Windows house.

Likewise, many strings exist in the binary showing the local directory structure for the SVN project the release built was compiled from, providing extra insight to how the project itself was laid out.

Hex Mountain

Hmmm...
To do:
How do I show this without a screenshot?

Between addresses 0x0143B28A and 0x0143C6AE an unusual set of padding is located, looking like a drawing of a mountain.

Debug Info

The binary at 0x010E2D3C contains strings to the debug menu detailed below.

Developer Hidden Message Red Herrings

A frame of the credits cinematic, showcasing both comments.

On one of the slides of the credits for this game, two interesting comments can be found.

  • The first, by senior developer Richard Britt, mentions that address space 0x002F551E-0x016FEB68 is dedicated to their wife.
  • The second, by Michael Brown, states the key combination Square, Circle, Left, Right, Up, Left, Cross, Up, Right, Cross without stating its effect.

Turns out these two developers may have performed a practical joke on anyone curious enough to go check (though, this article would not exist without it). Richard's address range is impossibly large to contain any meaningful message, and the BOOT.ELF binary ends at 0x01454AA0, well before the end of the provided range. Meanwhile, Michael's inputs are a convoluted way to get to the credits once more, without giving the players anything extra.

User-Addressable Memory Heaps

In the game's USRDIR, regardless if the game is being ran from HDD or from the Blu-Ray unit, a folder called "budgets" can be found, containing a sole file called "budgets.xml". It contains heap definitions for every aspect of the game, like bespoke debug displays, separate of the UI. This file provides insights towards the development of the game through its in-built comments and TOOL devkit heap allocations, still defined.

Unused E3 Game States

Hmmm...
To do:
Find a way to enable the developer sub-menus on the main menu.

Inside the main game archive, an entire set of rules for an E3-type demo can be found called e3gamestates.xml. The file itself details a very brief and minimal main menu tree for such a demo, with an AI-controlled player running on a track aptly named track_oily_havok_loop. However, this file is NOT identical to the e3gamestates.xml file on the E3 and Cologne builds, and is also different from the gamestates.xml file found in those. This retail version is slightly more polished. Using a different vehicle and specifying an environment other than the one of the map it's meant to load in. The map referenced is missing from the retail build, while the environment can still be found at /env/backlot_lighting.rpk

The final game opts to load an animatic as its background instead.

Unused Game Options

General Options

Hmmm...
To do:
Figure how to properly load these files, boot into development/debug mode if possible.

In the /configs/includes/ folder several xml-formatted configuration files can be found. Similar to its predecesor, configuration files for automated testing and benchmarking can be found. Likewise, an E3-Like game options file can be found, where notably, the only difference with the retail configuration lies on trying to load a different UI from /e3/ui, and stronger rumble baseline. Lastly, a file for a public beta exists. As with the E3 config, changes to what UI to load, disabling trophies, and containing the public beta's EDAT key.

Build-Specific Options

Hmmm...
To do:
Load these files in non-brute-force ways and solve memory violations.

the top level folder /configs/ contains a large variety of configuration files, demo-configuration files that would replace or override the ms3_config.cfg file for certain scenarios, as well as individual benchmark configurations for 1-4 player gameplay, and most of the game's featured tracks. Configuration files for soak tests are also available in sequential, random, repeating and split-screen flavors.