Oblivion:Random Skill Books

From PRCLive 100% Speedrun Wiki
Revision as of 04:59, 12 October 2022 by MeemawHustlin (talk | contribs) (→‎Route Logic Structure)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

We have to read every skill book in the game, which typically adds very little time to the run given how many skill books appear in locations we already have to go to for other reasons. The only problematic ones are the Random Skill Books, which can only be found in random loot, with few exceptions. These random books can take an excessive amount of time to find, with previous runs taking upwards of two hours to find them all.

Overview

Here is how random skill book loot works in Oblivion:

  • When you enter a cell containing chests, those chests’ loot contents are randomly generated.
    • This means that quicksaving outside of a cell and reloading if you don’t get the desired loot will allow you to reroll what loot you get, at the cost of having to run back through the cell to open the chest again.
    • This also means you can save inside the interior of a dungeon, not just outside it, to reroll. For example, a dungeon with cells 1, 2, and 3 where the book is at the end of cell 2 means you could load warp to cell 3, save outside the door from 3 to 2, then reroll entering cell 2 through that door repeatedly until you get the loot you want.
  • Only Boss Chests are able to contain skill books, and only certain dungeons can contain certain categories of skill book type. These are the three skill types of combat, magic, and stealth.
    • Marauder and Undead dungeons can contain Combat skill books.
    • Conjurer and Necromancer dungeons can contain Magic skill books.
    • Bandit and Vampire dungeons can contain Stealth skill books.
  • After successfully locating a skill book in a dungeon, you must trigger a load screen within the dungeon by leaving the cell the book was in. Load warping out before doing this will prevent loot from respawning. You must wait 73 hours for the dungeon loot to refresh after doing this.
    • The most efficient way to trigger a load screen to reroll loot is to quicksave after getting the book, exit the cell via the nearest door, quickload, and then exit the dungeon again the same way.
    • This means it is most efficient to find one of each type of book and then wait 73 hours to refresh all three dungeons.
  • There is a 10% chance that a Boss Chest will contain a skill book, and an equal chance of each book in the pool of that type of skill book appearing.
    • This means that for each skill book we find of a certain type, it becomes less likely that we will find the next book we need of that type.
    • Additionally, other skill books that are not exclusively found in random loot are also in the pool of options, further worsening the chance of finding the right book.
  • Finally, a few quests can reward a random skill book:
    • Bear Season (Can be re-rolled, 4/6 chance of one of these random Combat skill books):
      • The Argonian Account, Book 1 [Athletics]
      • History of the Fighters Guild [Heavy Armor]
      • Mace Etiquette [Blunt]
      • Master Zoaraym’s Tale [Hand to Hand]
    • Two Sides of the Coin (Cannot find an easy way to re-roll):
      • The UESP has conflicting info between the quest page and the Skill Books page, so this is unconfirmed:
        • Two skill books are earned, one of which is a 5/6 chance of being one of the Stealth random-exclusive skill books. Another page of the UESP claims it is a 5/7 chance but does not specify a list of specific books.
        • The second skill book is allegedly a 13/13 chance of a random book that can be found in loot but this seems incorrect. Another page on the UESP says it is a random Magic or Combat book from a pool of all possible skill books of those types including non-random loot books, but this also seems not entirely correct.
  • Here are the 13 skill books that can only be found in random loot:
    • The Argonian Account, Book 1 [Athletics] (Combat)
    • Heavy Armor Repair [Armorer] (Combat)
    • History of the Fighters Guild [Heavy Armor] (Combat)
    • Mace Etiquette [Blunt] (Combat)
    • Master Zoaraym’s Tale [Hand to Hand] (Combat)
    • Mystery of Talara, v 2 [Restoration] (Magic)
    • Mystery of Talara, v 3 [Destruction] (Magic)
    • The Warrior’s Charge [Conjuration] (Magic)
    • A Dance in Fire, v 7 [Mercantile] (Stealth)
    • Mystery of Talara, v 1 [Acrobatics] (Stealth)
    • Purloined Shadows [Sneak] (Stealth)
    • Rislav The Righteous [Light Armor] (Stealth)
    • Surfeit of Thieves [Security] (Stealth)

Previous Methods

Version 1 to 3

The Random Skill Book routing stayed the exact same from Version 1 all the way through Version 3 aside from Version 3 using Skooma to run through dungeons faster. Bear Season and Two Sides of the Coin were completed at various points earlier in the route (With Bear Season forcing a random book drop) to acquire a few potential random skill books. The process of getting all of the books was to visit three locations, one dungeon type for each skill book type, and enter the dungeon/quickload repeatedly until a desired book was found in specific Boss Chests that could drop them. After one book was found at each dungeon, the player waited 73 hours to respawn the loot in all three dungeons, then the process was repeated until all random skill books had been found. This general loop is largely unchanged in the current strategy, but the old locations were sub-optimal due to extremely long travel distances to get to books, as well as some chests having locks that needed to be picked every time.

The following locations were used:

  • Combat Books:
    • Fort Dirich in a coffin that is left through a big wooden door, and a locked chest in the back of a room past the coffin room.
  • Magic Books:
    • Moss Rock Cavern in two locked chests in a room found by hugging the left wall of the cave.
  • Stealth Books:
    • Imperial City Sewers - North Exit in two chests, one at each end of the first side room on the right.

The reason these locations were chosen was because there were two Boss Chests to check in each of them, and conveniently they had all already been visited earlier in the run for other reasons, making their doors and other obstacles already largely opened/cleared to make the navigation smoother.

The time this section takes varies depending on RNG, but on average this section with the old strategy used to take about 1:45:00 to 2:00:00 to complete.

Current Method

Several improvements have been made to the process of acquiring Random Skill Books:

Dungeon Scouting

The Ceyatatar random skill book location. Note that this is the only one that requires movement to reach the container.
The Underpall Cave random skill book location.
The Rockmilk Cave random skill book location.

Given that the time taken to travel to a Boss Chest each reroll is the main time sink, we scouted for locations for each of the three skill book types by looking at every dungeon’s maps to find the closest Boss Chest to the entrance to a cell. Here are the absolute optimal skill book farming locations:

  • Magic Books:
    • Ceyatatar via an outdoor hidden trapdoor that leads directly to the Boss Chest.
  • Combat Books:
    • Underpall Cave in a Coffin in zone three, achieved via load warping into zone 4 and entering zone 3.
  • Stealth Books:
    • Rockmilk Cave in a tent in zone two that has a Boss Chest next to the door.

These are massively improved over the dungeons used in previous locations, reducing the travel time per reroll from ~10-20 seconds down to only the few seconds the loading screen takes. Additionally, the new Boss Chests are not locked, so even more time is saved by not having to complete the lockpicking minigame ever reroll.

Route Logic Structure

  1. A few things need to be done prior to random skill book farming:
    1. Two Sides of the Coin needs to be completed to potentially acquire one random skill book without grinding. This book drop cannot be rerolled unfortunately.
    2. The locations Ceyatatar, Underpall Cave, and Rockmilk Cave should already be discovered to save travel time. This means Random Skill Books should go after Map Exploration.
  2. Random Skill Books should be acquired from loot farming in cycles as follows:
    1. Setup Phase: Each location is visited for the first time to acquire the first of each type of book.
      • Once a book is found at a dungeon, the player quicksaves, exits the cell via the nearest door, quickloads, and then exit the same door again to force loot to reroll later.
      • A Load Warp position is set inside the room the book container is in while facing the exit door. Ceyatatar is an exception since load warping to outdoors would remove the trapdoor, so that save is placed outside facing the trapdoor itself.
      • This phase ends with Load Warping back to Ceyatatar and waiting outside for 73 hours.
    2. Grinding Loop: Now that Load Warps are set up, the player checks to see if any books of a certain type are left at a location, then Load Warps to that location and repeats the book farming until a new book is found. The only exception is Underpall Cave, which is skipped if the only remaining book from it is one of the four Bear Season skill books.
      • After finding another book, the quicksave/quickload trick to force future loot rerolls is repeated to set up the next cycle for that dungeon.
      • After looting or skipping all three dungeons, if there are no random skill books remaining OR ONLY one of the four Bear Season skill books remains, the grinding loop is complete. Otherwise, the player Load Warps back to Ceyatatar and another 73 hour wait is performed in order to repeat the grinding loop again.
  3. The player should now have all of the Random Skill Books except for possibly one skill book that can drop as a reward for Bear Season. Bear Season needs to be completed, quicksaving and quickloading repeatedly at the end of the quest to force the final Combat skill book to drop if one remains.

This new strategy introduced in Version 4 saves on average about 0:45:00 over the previous method, with Random Skill Books now taking about an hour to complete generally.

Potential Improvements

  • Theoretically, Random Skill Books should be acquired as early as possible in the run in order to avoid a run-killing amount of bad RNG in the late game. As of Version 4, we still do Random Skill Books extremely late in the run, when in reality we only need to wait until just after Map Exploration to do them.
  • A possible area of improvement could be the 73 hour wait time. Implementing a consistent Time Warping setup may cut down on wait time significantly.

RNG Manipulation

Full article: RNG Manipulation

Even with being able to almost instantly reroll random skill books, the odds are still really low, making the split take an incredibly long time anyway. Scales has begun research on the possibility of using RNG Manipulation to pull skill books consistently. This would reduce what is at least an hour long split on average down to a mere 5-10 minutes depending on how the setup would work.

The only lead we are currently working off of is a trick we discovered that sometimes works. If you quicksave outside of a dungeon and then enter it by load warping the quicksave through it, you will (depending on the state of the save file) potentially get the same loot every time. While this doesn’t seem to be a way to get specific loot it may at least help us simplify the amount of variables we need to examine when trying to isolate exactly how RNG calling works in Oblivion. Other considerations are that Oblivion uses the Gamebryo engine which was programmed in C++, meaning that the RNG system is likely a standard library of some sort from either C or C++.

A good first step in manipulating RNG is to determine what system is used, which in this case appears to be the default C rand() function as seen in this decompiled screenshot provided by Scales. The benefit of this discovery is that C rand() is very well documented online, the bad news is that RNG may be determined by system time which would make manipulation extremely difficult. Scales has also provided a video demonstrating enabling/disabling the random call function in Cheat Engine.