Superhot Souls


Superhot Souls was a fun little Dark Souls mod I made for LobosJr’s St Jude charity stream in May 2019. The gimmick is taken straight from the game of the same name: enemy speed is proportional to your speed. If you stand still, they move very slowly (about 10% speed, from memory). If you walk, they move at about 50% speed. If you run, dodge, or attack, they move at about 110% speed (that is, slightly faster than normal. All enemies are equally affected, so it gives the impression that the flow of time itself is changing around you.

How was this done? The brute force way: there’s a separate event script running for every single enemy in every single map. Each of these scripts constantly inspects the player’s current animation and applies the appropriate speed effect to that enemy. Fortunately, the game’s scripting system allows you to pass arguments for scripts (e.g. an enemy ID), so this doesn’t actually involve adding many lines to each map’s event script list (the EMEVD files). The most annoying part was making sure that each enemy has a unique ID, since FromSoft only gave IDs to enemies that needed to be referenced in event scripts, and their numbering protocols can change wildly between maps. A little Python script that iterated over the MSB files helped out here. The whole thing only took a couple of hours to set up and test.

110% attack speed proved a little too much for certain bosses, so I also prevented bosses from using certain attacks, like the Four Kings’ grab and Artorias’s repeated spinning leaps. I was actually on vacation when Lobos played it and had to download my modding tools onto a hotel computer to hot-fix Artorias.

From memory, there were bunch of other weird teleportation bugs Lobos experienced with this one. Otherwise, you know what you’re in for with this one from the title. I honestly can’t recommend it. Note that it’s for Dark Souls Remastered only.