Unused Code#
Unused Custom Texture Loader#
|
|
To do:
|
The objects that control the color of the background have an unused parameter to call a specific texture instead of a color. When set to true, the game will attempt to read a string (instead of the usual color ID) from the following chunk of level data. Since the game has no way to dynamically load spritesheets, the selection of custom backgrounds is limited to textures that have already been loaded (which isn't much). If this feature had made it farther into development, it is possible that custom levels would have been able to include sprites and spritesheets bundled with them, but there is no known proof of this.
(Source: Original TCRF research)
XML Compiler#
Within the game's level editor, in a file named "FragmentConvertor.java", is a small tool to compile a properly-formatted XML into the game's aforementioned atlas format. It is never called by the editor itself, since the editor just reads uncompiled XML files directly. It's possible that the inclusion of this tool means that the game would have been able to load an atlas from a level, if the custom texture loader had ever been properly finished.
(Source: Original TCRF research)
Custom Level Format Version#
Both the game and the editor read the first four bytes of any custom level file as an integer, which is then run through a switch statement. This value serves as an indicator for the file format version. At some point in development the game was meant to be able to have different subroutines to handle future formats; since the lifespan of this game was so short, the only version that was ever implemented was version 0. No code to load other versions exists in either the editor or the game itself, and the aforementioned switch statement only has one case.
Unlisted Objects in Editor#
Despite having full support for processing them, the objects that control fade effects and camera effects are all unable to be viewed or placed within the editor.
Unused Levels#
|
File: The Impossible Game - Unused Levels.zip (3.2 MB) (info) |
There exist two byte-for-byte identical unused levels within "editor/levels/", named "doom.lvl" and "ěšřčěřžč řžčřžřřč.lvl". They are modified versions of the final level "Phazd", and were seemingly meant to test the custom level loader. They both contain objects (such as a trigger that vertically flips the camera) that are used ingame, but cannot be used within the level editor. Neither can be completed, and the latter will fail to load without renaming it first.
(Source: Original TCRF research)
Oddities#
Custom Level Jump Height#
|
|
To do:
|
The player jumps slightly lower when loaded into a custom level than when loaded into a main level. Phazd is the exception to this (see below).
Phazd Level Data#
The level data for the fifth and final level of the game, Phazd, is located within the game's res folder. This is unlike all other levels for the game, which are hardcoded into the game's executable. When the game loads Phazd, it calls the routine used for loading a custom level, and points it to the aformentioned folder.
Leftovers from One Epic Game#
The file "t_en.bin" located within the "res" folder is a leftover from one of Grip Games' earlier PSP titles, One Epic Game, where it was used to store strings related to dialogue and system messages. The copy present here is a byte-for-byte match with the copy in One Epic Game, and serves no purpose. The game will load it and proceed to do nothing with it, and the game still works fine if the file is dummied out.
Interestingly a modified version of this file is also present in the PSP version, where it is used, and stores the autosave warning text unique to that port. Bizzarely it still contains every string from One Epic Game, rendering most of the file unused.
References#
- The Impossible Game on Steam - store.steampowered.com, May 8, 2014↩︎
- The Impossible Game Patches - SteamDB - steamdb.info, 2014↩︎
- Grip Games Games IGN - ign.com↩︎