My total rebuild of the Archipelago support for Dark Souls III finally landed in the official repo, which means I've started thinking seriously about what the next phase looks like. I want to get rid of missable locations as much as possible—DS3 has a lot of NPC quests what we just can't include in the randomizer logic because you can fail them (or just murder the NPC) and render the game unfinishable1.

To fix this, I'll need the "static randomizer"—the tool that generates the mods which override all the default item locations and so on—to edit the event code which drives NPC quests. I've been preparing for this for a while by combing through the event code and documenting what everything does, which is a tremendous amount of work in its own right, and I've gotten to the point where I fully understand one NPC's quest2, and I know what I want to change to make it unfailable.

This raises another interesting question: how do you edit the event system? The static randomizer does some edits already, but they're messy and ad hoc—there's even a comment saying "these should move into a config file if they get more complicated". I don't like messy and ad hoc but I do like YAML, so my current project is shaving the yak by creating a config file format for editing events.

But! It turns out that the static randomizer already has a config file for editing events! Or at least for defining new ones and doing something with existing ones. It's hard to tell, because nothing's really documented. The one thing I do know is that it's currently only used for the enemy randomizer, not the item randomizer, so I'll definitely need to make it more general as well as more powerful and hopefully better documented as well.

With a bit of luck and a few long evenings, I'll have a prototype unfailable quest going by next weekend, and more importantly the event editing infrastructure to make it easy to add many more.


  1. Technically you could start a new save and try again from scratch, but DS3 is already one of the longest Archipelago games so that's not a realistic solution.

  2. Greirat, both because he shows up earliest and because he appears in only two distinct maps. His quest affects the Lothric Castle map and is affected by your actions in Irithyll, but the core of the logic is all in the Firelink map.


You must log in to comment.