Dustmod is a modded version of Dustforce DX used by the community with many improved QoL features, including debug data, Pause, Frame Advance, Savestates, and can playback Nexus Scripts as TAS movie files within Dustmod. It is available for Windows, Linux, and Mac OS platforms, but only Windows should be used for TAS creation and playback currently to prevent desyncs from occurring.
Table of contents
Dustmod Fixes
There are technically changes to game logic behavior within Dustmod, these are disclosed here for transparency, they were concessions that were fairly forced for the sake of reliably consistent reproducibility and movie playback
- Race Condition is now properly additive with respect to time. The potential for 1 extra frame of world simulation no longer can occur before player inputs become possible. World simulation replicability was deemed important outside of just TAS for IL RTA players as well so that IL times could be fair competition and not-reliant on any race-conditional timings.
- Camera shake is now visually simulated, detaching it from the “true neutral/no-shake” camera position, and the true neutral is used instead for loading purposes. Enemies load based on camera position, so camera shake could previously cause enemies to load in slightly earlier or later randomly, essentially resulting in similar world simulation inconsistency issues for both RTA and TAS. By ensuring that enemy loading is based on the neutral camera position, this problem is eliminated while ensuring that all enemy cycle load patterns are aligned to a true majority of the baseline unmodified behavior, preventing any advantageous abuse of this change. RNG Seeding as an alternative would have worked for TASing but would not have worked for RTA and IL players in terms of fair consistency.
Installation Instructions
To install Dustmod, follow the instructions found here: https://dustmod.com/
Usage and Submission Instructions
For general assistance on how to use Dustmod, questions are best asked in the Dustforce community discord: https://discordapp.com/invite/0SkxtG7ddS6n2BCW
Documentation for Nexus Scripts is located here: https://dustkidblog.wordpress.com/2016/08/07/nexus-tasing-with-dustmod/
Before submitting or uploading user files, make sure that the file you're uploading contains the full movie, and is a Nexus Script .txt file (or folder containing multiple .txt files) which is then zipped into a tar.gz format, and then renamed to .dft as a file extension, to be read by the TASVideos site parser.
TAS Playback
Extract your .dft
- Find your Dustforce/Dustmod install directory, usually
programfiles/steam/steamapps/common/dustforce. - Inside the “dustforce” directory, right click to create a new folder, name it “tas”
- Extract the .dft INTO the “tas” folder you just created. Now there should be a folder inside of tas with a name matching the movie.
Before Playback
- Make sure you have Downloaded and Installed Dustmod.
- Set your game screen resolution to 1080p. This can be done using tools such as Sizer.
- Launch Dustmod, press Any key to get past the intro screen. If launched correctly, there should be a Dustmod submenu in the Pause menu, accessible via Esc button by default.
- Press Esc, use the arrow keys (or mouse with left clicks) to move the menu cursor to “Options” and then the top panel “Controls”. Set your keybinds to defaults (Jump to Z, Light to X, Heavy to C), rebind dash key to V.
- (The Virtual Keycode order is important for the scripts to playback properly without desyncs, it affects the priority of which inputs are processed in which order)
- This virtual keycode should be the same regardless of keyboard layout, so even if these keybinds make no sense and seem awkward because you are using a dvorak layout or something, you should still use these bindings as the virtual keycode order is what matters
- Enable double tap dash (Make sure the box is filled with an X). Press escape or the X in the top right to close the menu.
- Press Escape, go to Dustmod, in Display in the top row of tabs, and then Overlay in the 2nd row, make sure “Swap Dustmod Menu” at the bottom is filled in with an X. Press escape to close the menu.
- OPTIONAL: Press Escape and go to “Dustmod” and under “Display/Overlay” you can enable “Show Input Display” by making sure the box is filled in with an X. (You can adjust the size too)
- OPTIONAL BUT RECOMMENDED: Press up (on your keyboard arrow keys) to enter Beginner tutorial and then press some dash and heavy attack buttons, jumps and double jumps to test your sound levels. To adjust press Escape > Options> Game> SFX, Music, and Ambience Master volume sliders until they are to a satisfactory volume.
- Recommended to Max SFX volume, Set Music volume around halfway (around the R in the word “Master”), and Ambience also around halfway (around the A in the word “Master”)
Starting Playback
- Press Escape> go to Dustmod>Tools in the top row tabs>Save in the 2nd row of tabs> NG Reset Save (click or press enter on “NG”)
- Some Movies might be reliant on a NG+ save file instead, choose whichever is relevant, you can use the menu to swap between them at-will
- You should be Dustman (blue) Standing in front of the Beginner Tutorial console with x0 of All types of Keys and black (empty) progress bars underneath all of them.
- Press Escape> go to Dustmod> Tools in the top row tabs> Frame Adv. in the 2nd row of tabs> at the top of the list, make sure the box on “Enable Frame Advance” is filled in with an X> At the bottom of the UI window in the “Load Nexus Script” text box, type the exact filename of the movie inside of the “tas” folder, INCLUDING the folder directory AND the file extension. By convention, all .dft files will have a
main.txtfile as the entrypoint for playback, for exampleSSALL/main.txt - Press enter in the text box to start the movie.
Note that at this moment, only movies running on the Windows version of Dustforce + Dustmod are confirmed to sync, due to platform differences movies are not guaranteed to sync on Linux.