Introduction[]
This page will attempt to document all known glitches in Realms of the Haunting. Some glitches/exploits are particularly useful in the speedrun for this game. For more information about speedrunning within Realms of the Haunting, see this page.
Glitches will be categorized into a few main categories:
- Speedrunning-relevant
- Sequences breaks/exploits
- Misc/useless
Each glitch will include an example video, showcasing it. For the more complicated glitches, a separate page will be created with an in-depth explanation and/or analysis (I might move every glitch to its own page to keep this page tidy).
Work-in-progress[]
This page will be in an ongoing work-in-progress state, maintained by user Challex13, until all descriptions and example videos are provided.
Glitches[]
Speedrunning-relevant[]
Save jump[]
By loading a save file while holding the jump key, sometimes the vertical momentum is persisted into the load. By chaining this (such as by quick-saving, holding jump, quick-loading, then quick-saving again), you can continuously gain height. This is used numerous times in speedrunning to jump large gaps or reach unintended locations early.
The consistency of this relates to how many cycles the CPU is running at in DOSBox. The lower the amount of cycles, the more consistent the glitch is to execute. When CPU speed is set to automatic or 100%, typically the stronger the machine it's running on, the higher the cycles will be and therefore the less consistent the glitch will be.
Actions to reproduce:
1. Jump (default A)
2. Quick save (default F9)
3. While still holding the jump key, quickly press the quick load button (default F10)
Action storage Part 0: Overview[]
The action storage glitch in Realms of the Haunting is a specific and very technical glitch. The description on this page will serve as a high-level overview, providing a brief explanation of how it's done and then focusing more on its use case within the context of speedrunning. The main page for the glitch will go into a technical analysis, explaining in detail why the glitch occurs, and why it's only possible to initiate from a single spot in the game.
What is it?
To put most simply: action storage allows the player to trigger map-specific events (AKA actions) at unintended times.
Each "map" in the game has some amount of actions/events associated with it, that can do any variety of things: give Adam items, spawn enemies, open doors, trigger cutscenes, etc.
For example, in Raquia we can utilize action storage to perform the event that gives the player the Incomplete Spirit Ring, meaning we don't need to obtain the ring the intended way (via the water and floating platforms puzzle).
The caveat with the action storage glitch is that only 2 events from each map are accessible to perform. This unfortunately means that for most maps the 2 events don't happen to be useful ones.
Action storage Part 1: Action Storage State[]
To perform the action storage glitch, we first need to put the game into the action storage state. This is done by starting a new game while an on-screen text option prompt is displayed (see image 1 below).
Specifically, this can only be done in front of the statue in the mausoleum, to which Adam speaks the "words of power" ("Chullum ashdar in derias"). When interacting with the statue and confronted with the on-screen text option prompt "Keep silent" and "Speak words of power", if a new game is started while the options are on-screen, the game will go into a special state: colors will be distorted, the mouse cursor is not available on the screen, and any cutscene will crash the game (see image 2 below). This state also persists through loading and saving. At this point, although it's not apparent, the game is still waiting for the player to select one of the two text options. The next time the player comes across an on-screen text option prompt and selects either the first or second option, it will run the corresponding action on the current map that relates to the action number/ID on the mausoleum map (where we initiated the action storage state). This will also take the game out of the action storage state.
So we know that the action storage state is initiated when a new game is started while a text option prompt is displayed on-screen, but how do we actually do this? While the text option prompt is displayed, many controls by the player are blocked. For example, you can't open the inventory. Some movement controls are allowed, however, such as the ability to turn left/right and strafe left/right. This means you could navigate Adam to a position where he can get himself killed. By doing so, the menu will still appear and the player is able to select the option to start a new game, thus entering the action storage state.
Another method is a little more complicated, but can be much faster. By right clicking the statue, Adam examines it and some dialogue is played. While dialogue is being played, additional dialogue or actions can be queued up. Also while dialogue is being played, controls aren't blocked like when a text option prompt is displayed. This means the player can right click the statue (to start the dialogue), then left click the statue (queueing the text option prompt), then quickly open the inventory menu. This results in the text option prompt being displayed while the menu is open. From there, you can use keyboard controls to navigate the menu and start a new game, putting it in the action storage state. See the video below for a visual guide.
Actions to reproduce (action storage state):
0. Stand in front of the statue in the mausoleum after learning about "Chullum ashdar in derias"
1. Right click the statue (start dialogue)
2. Quickly left click the statue (queue action)
3. Quickly open inventory (default I)
4. Press D to get to the options menu
5. Start new game
Action storage Part 2: Triggering Actions[]
Once the game is in the action storage state, we can go to any map and start activating triggers. Since the state is persisted between saving and loading, at this point we would load up a previously saved file and activate the action. Once you're in the map you want to be in, to actually activate the stored action is quite simple. Open the inventory and examine an item that displays its own text option prompt (with at least 2 options). Fortunately, the item Shards and Seals is received at the very beginning of the game and it has a text option prompt with 2 choices. The only difficulty in this is that you have to navigate the inventory without sight of the cursor (since the cursor is invisible while in the action storage state). Once you select an option from the text option prompt while examining the item, the stored trigger will run the action on the current map. See the steps below for a breakdown of how to do this.
Side note: since the text option prompt that we used to initiate the action storage state with only has 2 options, we can only activate 2 different actions from any map.
Steps to trigger stored actions:
0. Be in action storage state
1. Press the inventory hotkey (default I)
2. Press 1 to navigate to the first item category which contains the Shards and Seals
3. Highlight the Shards and Seals items by using the left/right arrow keys (or numpad arrow keys)
4. Press space bar to bring up the item window
5. This is the difficult part. We need to move the invisible cursor over the "i" icon and click on it. To do this, make a mental note of where the "i" icon is on screen.
6. Press space bar, then D, which brings up the options menu.
7. While the options menu is open, the cursor IS visible. Position the cursor to around where you think the "i" icon was positioned.
8. Press D, then space bar to bring up the item window again.
9. Left click with the mouse and pray that you positioned the mouse in the right position.
10. If done correctly, you should see the text option prompt appear. If not, go back to step 5.
11. With the text option prompt open, press the down arrow key to navigate the options and press enter to activate the stored action.
Action storage Part 3: Usage in Speedrunning[]
Now that the action storage glitch has been broken down and explained, it's time to explain how it's used in speedrunning.
The glitch is dependent on having access to the mausoleum's statue, but fortunately it's one of the first areas the player has access to. Once the player reaches the statue, a separate save file is created whose entire purpose will be to put the game into the action storage state throughout the run. From there, the speedrun is done as normal and when it's time to perform the action storage glitch, a quick save (default F9) is made, the action storage file is loaded manually, action storage is initiated, the quick save file is loaded (default F10), then the action is triggered.
Currently the glitch can be performed in 3 spots in the speedrun:
1. In STUDY1 (the area with the Sarcophagus), the first option is selected, which is the action to teleport the player to the Gnarl's Domain
2. In RAQUIA4 (where you first arrive in Raquia), the second option is selected, which is an action that teleports the player to a later area in Raquia, saving considerable time
3. In RAQUIA3 (where Raysiel's Lion is found), the first option is selected, which gives Adam the incomplete Spirit Ring
Ammo persistence[]
By loading a file right after firing a projectile, the projectile object can be carried into the loaded game. In practice, this means that ammo can be saved, but more importantly, a fully charged projectile attack (like from the staff or dagger) can be fired without resetting the recharge timer. Chaining this glitch successively means that the player has unlimited and immediately available fully charged projectile attacks at their disposal.
In speedrunning, this glitch is used in conjunction with the weapon cooldown cancel glitch below to allow quickly defeating various enemies with a lot of health, such as the Beast and Dodger.
Since the projectile gets carried into a load file, the specific load file doesn't need to have the corresponding weapon in the inventory. As an example, let's have some file called Save1. It could have a weapon at some point in the game. If Save1 fires the weapon, and some different save file called Save2 gets loaded, Save2 will have the projectile appear in the game, even if it's a brand new save. Practically, this has no current use, but it could theoretically be used to prevent backtracking if a certain weapon is needed somewhere.
Actions to reproduce:
1. Fire a weapon
2. Almost immediately load a save file
Weapon cooldown cancel[]
Whenever a weapon is fired, there is a weapon-specific cooldown timer that runs before you are able to fire the weapon again. By swapping to the Shield, the cooldown timer is completely reset. This means that after firing a weapon, immediately swapping to the shield and back to the weapon, the weapon can be fired again almost instantly. Using this alongside the ammo persistence glitch allows for a powerful method to very quickly chain fully-powered attacks from the staff or dagger.
Actions to reproduce:
1. Put your weapon in a quick slot (first row in the inventory, corresponding to hotkeys 2-6)
2. Put your shield in a quick slot
3. Fire the weapon
4. Immediately swap to the shield using the quick slot hotkey
5. Immediately swap back to the original weapon using the quick slot hotkey
6. Fire the weapon again and repeat
Beast idol duplication[]
If the Beast takes damage from a weapon on the same frame it's spawned, it immediately drops the Statuette/Quartz Idol. The item will also drop again on the enemy's death, meaning the player can obtain 2 idols.
In the speedrun, this frame-perfect glitch can be used to save ~1.5s over a Weapon cooldown cancel/Ammo persistence glitch.
It's possible that this glitch could apply to any enemy that drops an item, but this has not been confirmed. The other enemies that can drop items include: Spite, Vine, and Pyrichiel.
Actions to reproduce:
1. Light the final candle in the demon's room
2. Skip the cutscene
3. Wait ~1.5 seconds and fire a projectile towards the spawn position
4. If the projectile hits the demon on the same frame it spawns, the Statuette will appear on the floor
Offhand weapon trigger[]
If a certain weapon's projectile is required to interact with an object, the projectile itself is irrelevant and the game only checks if the weapon itself is in either the main- or offhand.
An example of this is the fish door in Hawk's Prison, which requires the Chalice to open. If you put the Chalice in the offhand, and any weapon in the mainhand and fire that weapon at the door, it will open as if the Chalice was fired at it. It can also be opened by firing any weapon and quickly swapping to the Chalice before the projectile makes contact. Both of these examples are showcased in the example video.
This is useful because the Chalice only has a single charge before needing to be refilled at a fountain. Using this trick prevents the Chalice ammo from being used up. It is also useful because the Chalice's projectile has a relatively short range before despawning.
This trick can also be used in the Vicarage of Charles Randall with the Wand on the warded doors.
Actions to reproduce (from offhand):
0. Stand before one of the fish doors in Hawk's Prison
1. Put some weapon in mainhand
2. Put Chalice in offhand
3. Fire weapon at door
4. Door opens
Actions to reproduce (from quickswap):
0. Stand before one of the fish doors in Hawk's Prison
1. Put some weapon in a quick slot (first row in the inventory, corresponding to hotkeys 2-6)
2. Put Chalice in a quick slot
3. Fire weapon at door and immediately quickswap to the Chalice
4. Door opens
Use Mask without portal[]
Out of bounds areas[]
Sequence breaks/exploits[]
Jumping over triggers[]
Jumping gaps[]
Misc/useless[]
[]
Tiny room key softlock[]
A softlock is possible in the room with the Tiny Room Key. Normally, a Serpent Statuette is used to raise the platform to reach the key. However, if the key is clicked without raising the platform, it will appear as if it is going in the player's inventory, but does not actually get added. The key is removed from the environment, meaning it is no longer able to be collected without using an early save file or starting a new game.
Adam's item interaction range is increased on the edges of the player's screen, meaning it is possible to reach the key from the top level, and thus blocking the game from being able to be progressed.
Actions to reproduce:
1. Enter the room containing the Tiny Room Key
2. Go up the stairs to the right and get as close to the key as possible
3. Turn left/right so the key is on the edge of the screen
4. The key should now be in interaction range
5. Click the key
Death during teleportation[]
Use item game crash[]
Lever animation glitches[]
Sometimes when interacting with a lever on the wall, the lever will get stuck in its moving animation. Usually such levers allow a door to be open, but when the animation glitch occurs the door may not be able to be opened. This can easily be solved by a save and reload.