Alone in the Dark (1-3)/JitD Mechanics and Glitches

From SDA Knowledge Base

Jump to: navigation, search

Jack in the Dark

Note: This is a WIP.

DIFFERENCES WITH OTHER AITDs

JitD has some differences from the main AitDs. The reason is probably all of the staff changes that occured between the start of AitD2's developpement and it's release. The fact that, as being shareware, it had to be rather small also may have had some influence on the file formats and algorithms(?).

GETTING INTO RUNNING/TROTTING MODE

For a strange reason, the game seems to detect the double keypress meant to trigger trotting mode using a different method than in the three AITDs. While too fast CPU speeds seem to make it harder to run in AitD1, 2 and 3, JitD works the opposite. The faster the processor, the easier it is to run.

SPACE TURN/SNAP

The SPACE turn/snap trick from AITD can be performed in JitD, only the player does not need to hold a peculiar item. This is probably caused by the fact the SPACE key is never used in-game for anything, but the SPACE action-handling is still implemented.


VARS

VAR8

Jack can only be destroyed when VAR8 is smaller than one. VAR8 is decremented/incremented by multiple things.

VAR8 is incremented when:

  • The dolls are at a distance of more than 700(For Blondie) and 500(Rusty) units respectively(?);

VAR8 is decremented when:

  • The dolls are at a distance of less than or equal to 700(Blondie) and 500(Rusty);

VAR17

VAR17 is exactly the same as VAR20, but for Blondie. VAR17 is used to prevent Blondie's arm raising/blocking animation(24, then 25) from looping. It is checked for being zero when triggering anim 24, and set to one once triggered. It is set to zero when the player is farther than 1500 units from Blondie(Anim 17 is only triggered if the player is <= than 1500 units from her)


VAR20

VAR20 is exactly the same as VAR17, but for Rusty. It is used to prevent Rusty's arm raising/blocking animation(31) from looping. It is checked for being zero when triggering anim 31, and set to one once triggered. It is set to zero when the player is farther than 1500 units from Rusty(Anim 31 is only triggered if the player is <= than 1500 units from her)

VAR23

VAR23 handles dropping items. Different LIFEs set it to different values with no apparent reason for doing so.

VAR27

VAR27 is set to one when the candy stick is given to Jack. It's value is checked when the player uses the mirror on Jack. If the player uses the mirror on Jack and VAR27 is zero, Jack's anim 41(Shaking head) is triggered. It is also checked to trigger Jack's eating animation(Anim 37), upon which VAR35 is set to one to prevent the eating animation from being triggered in loop.

VAR35

VAR35 is used to prevent Jack's eating animation to trigger in loop. It is checked for it being zero when doing the checks for starting Jack's animation, and is set to one when the eating animation is triggered.

REQUIREMENTS TO COMPLETE THE GAME

To destroy Jack, the player must use the mirror while in trigger 100. The game then checks for the following:

  • VAR27 must be equal to one(Candy given to Jack);
  • VAR8 must be smaller than one;
  • OBJ8's anim must be 37(OBJ8 is Jack, anim 37 is him eating);
  • Would all these conditions be fullfilled but the last(Jack is not in anim 37), the game then triggers a game over scene. Grace is seen imprisonned with Santa, and the message "It's too LAAAATE..." is displayed.
Personal tools