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

Alone in the Dark (DOS)

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Alone in the Dark

Developer: Infogrames
Publisher: Infogrames
Platform: DOS
Released in US: 1993
Released in EU: 1992


AnimationsIcon.png This game has unused animations.
AreasIcon.png This game has unused areas.
CodeIcon.png This game has unused code.
CopyrightIcon.png This game has hidden developer credits.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.
PiracyIcon.png This game has anti-piracy features.


Alone in the Dark is a French 3D survival-horror game that is now widely known as the grandfather of the genre (and of tank controls).

Unused Areas

Scrapped Room

On the 2nd floor, there is a hidden room between the living room and the 3rd bedroom, behind the ritual chamber. Only colliders are drawn; the rest is missing.

The first picture can be seen in the game by going out of bounds and touching the appropriate triggers:

  • go to second floor lobby
  • go out of bounds (e.g., by running against the corner of the door that leads to the living room)
  • touch the right side of the following room triggers, while staying out of bounds and not touching any camera trigger : lobby, corridor, lobby, living room.

The idea is to enter the living room while the camera that leads to it is not active.

Hidden Cellar Stairs

Based on their positioning, they were probably supposed to lead to a cellar door outside. There is also a door at the base of the stairs.

AITD Cellar stairs.svg

Similarly, the stairs in the small room to the cellar on the first floor are not used. Instead, the PC teleports directly to the cellar once it has passed the door.

AITD Cellar stairs 2.svg

Secret Tunnel

There's a secret tunnel in the caverns with a jagged shape that was probably left in the game by mistake. This tunnel is possible to enter from the tunnel between where the first flying wasp-creature is and where the big purple spider is.

AITD Secret Tunnel.svg

Unused Animations

Water Animation

Water can be animated by cycling colors 225-239 of the game's palette.

AITD Water animated.gif

Unused Polygon Type

The game renders polygons in different ways - flat, transparent (e.g. glass), noise (e.g. doors), gradient (e.g. metallic objects) - calling different functions depending on the polygon type. One such function, MyAffPolyFlou (can be translated to "MyRenderPolyBlurry"), goes unused.

Below is an example of forcing the game to render the main character with that function:

AITD Polygon fuzzy render.gif

Developer Credits

Present at 0001CC80 in the executable.

Debug by Fred le 25/11/91

Anti-Piracy Protection Skip Code

The anti-piracy protection screen (only present in the original floppy disk release) can be skipped if you type in benjaminyaelfred. Part of this secret skip code comes from the game developer names Frédérick Raynal and Yaël Barroz.

Unused Text

The message "There is already oil in the lamp" (entry 517 in ENGLISH.PAK) is never shown in the game and not referenced by any script. It's not part of the lamp logic, as it's possible to fill two cans of oil back-to-back.

Debug Text

The executable contains strings that were probably used to debug scripts during game's development.

Variables

VAR
COL
HARD_DEC
HARD_COL
HIT
HIT_BY
ANIM
END_ANIM
FRAME
END_FRAME
BODY
MARK
NUM_TRACK
CHRONO
ROOM_CHRONO
DIST
COL_BY
FOUND
ACTION
POSREL
JOY
BUTTON
CONTACT
ALPHA
BETA
GAMMA
IN_HAND
HIT_FORCE
CAMERA
RND
FALLING
ROOM
LIFE
FOUNDED
COOR_Y
TEST_ZV_END_ANIM
MUSIC
C_VAR
STAGE
THROWN

Functions

DO_MOVE (%d)
ANIM(%d) %d THEN %d
ANIM_ALL(%d) %d THEN %d
ANIM(%d) %d REPEAT
BODY(%d)
IF != GOTO %d
IF == GOTO %d
IF < GOTO %d
IF <= GOTO %d
IF > GOTO %d
IF >= GOTO %d
GOTO %d
RETURN
END
ANIM_MOVE(%d) %d %d %d %d %d %d %d
MOVE(%d) %d %d %d
HIT(%d) %d %d %d %d %d
MESSAGE %d
MESSAGE_VALUE %d %d
VAR(%d) %d =
INC VAR(%d) %d
DEC VAR(%d) %d
ADD VAR(%d) %d
SUB VAR(%d) %d
LIFE_MODE(%d) %d
SWITCH
CASE %d ELSE GOTO %d
CAMERA %d %d
START_CHRONO(%d)
MULTI_CASE %d ELSE GOTO %d
FOUND %d
LIFE(%d) %d
DELETE %d
TAKE %d
IN_HAND %d
READ %d %d
ANIM_SAMPLE(%d) %d %d
SPECIAL(%d) %d
DO_REAL_ZV(%d)
SAMPLE
TYPE(%d) %d
GAME_OVER
MANUAL_ROT(%d)
RND_FREQ %d
MUSIC %d
SET_BETA %d %d
DO_ROT_ZV(%d)
STAGE(%d) %d %d %d %d %d
FOUND_NAME(%d) %d
FOUND_FLAG(%d) %d
FOUND_LIFE(%d) %d
CAMERA_TARGET %d
DROP %d
FIRE(%d) %d %d %d %d %d %d
TEST_COL(%d) %d
FOUND_BODY(%d) %d
SET_ALPHA %d %d
STOP_BETA(%d)
DO_MAX_ZV(%d)
PUT %d %d %d %d %d %d %d %d %d
MODIF_C_VAR %d = 
DO_NORMAL_ZV
DO_CARRE_ZV
SAMPLE %d THEN %d
LIGHT %d
SHAKING %d
INVENTORY %d
FOUND_WEIGHT %d
UP_COOR_Y
SPEED %d
PUT_AT %d %d
DEF_ZV(%d) %d %d %d %d %d %d
HIT_OBJECT(%d) %d %d
GET_HARD_CLIP
ANGLE(%d) %d %d %d