AI Break

From SpeedSouls

AI Break is a glitch in Dark Souls that makes it impossible for enemies to target the player, and it can be used to intentionally keep, for example, bosses from moving and attacking. However, it can also be done accidentally, causing bosses to not react at the start of the fight or to run into the player ("bulldozer") without attacking.

The details of this glitch were for the longest time not understood, until late 2021 when the basic mechanics behind it were worked out by AndrovT and Kahmul. Further research and testing to understand more details and to work out further improved setups followed in the subsequent year.

This page documents the mechanics in the original version. For the remastered version, see here.

Mechanics

The game maintains a target list which contains all characters targetable by the AI and it updates this list on a cycle of 151 frames (5.033s). The update happens over the course of one frame. The timer for updating the list is paused during cutscenes.

If the player character is in an unloaded state when the list updates, they do not get added to the list which prevents the AI from targeting them until the next time the list updates (this is called a "cycle skip"). That is unless the player attacks an enemy which allows it to target them normally regardless of whether the player character is in the target list or not.

The unloaded state is triggered by actions that can change the player model, namely:

  • Toggling between two different weapons lasting 3 frames.
  • Changing equipment in weapon and armor slots, the first arrow slot, or the first bolt slot lasting 4 frames.
  • Removing equipment in weapon and armor slots, the first arrow slot, or the first bolt slot lasting 3 frames.

How to Perform an AI Break

In order to abuse this mechanic, specific setups using exact action chains have to be created that use the animation queueing system to frame perfectly execute actions for the player at the same time every time. Without specific setups, intentional AI cancels are very unreliable.

Every setup will begin with a quit out and reload. On reload, the game will update the list on the first frame of gameplay and then start the first 151 frames cycle. This means that the first cycle lags one frame behind the animations of the player character who begins the stand up animation right away. The stand up animation, unfortunately, does not allow actions to be queued up like most other animations. An exception to this however are untwohand animations.

Untwohand animations are automatically triggered if the player is two-handed and unequips a weapon that they have equipped in a slot that they're currently not switched to. This mechanic can be used by unequipping a weapon during the stand up animation and it will automatically be executed once the stand up animation has finished.
Out of the untwohand animation in turn the player can then easily queue up any other actions such as toggling and have them be executed frame perfectly in a consecutive chain of actions.

This chain of actions has to be designed in such a way that the unload of a toggle coincides with the 151st frame of a cycle. This will prevent the player from being added to the list of targetable actors. Since a toggle will unload the player for 3 frames, there is a 3 frame window to achieve this which gives some leniency to calculating/designing action chains.

External Resources