DAGviz

DAGviz is a tool for viewing and editing the state of the DAG in Sly 2 and 3. Its main feature is showing a visual representation of the DAG in real-time. The tool is is open-source and available on GitHub.

How to use
Launch DAGviz along with PCSX2 and or. It should automatically detect what game you're running, but if it doesn't, uncheck the "Auto-detect build" box and select it yourself.

Once you're in a level, the DAG should appear. If the name of the current episode appears in the top-left corner but you do not see the DAG, it's probably just off-screen; use the scroll wheel to zoom out, or click + drag to move around until you see it.

If the name of a task is known, it will show the name. Otherwise, it will show the memory address of that task in RAM. Tasks are color-coded as follows:


 * Unavailable: Red
 * Available: Green
 * Complete: Blue
 * Final: Gray

Octagonal tasks are chalktalks, and diamond-shaped tasks have checkpoint data associated with them. When you die, you respawn at the last triggered checkpoint.

The black boxes represent missions, which is how tasks are grouped. Each mission usually, but not always, represents a single job. Once you finish a mission all complete tasks in that mission are set to final.

Right click on a task to see options. You can change the state of a task, and doing to runs the state-forcing algorithm to propagate that change throughout the DAG.

Troubleshooting
There is a known issue in some versions of DAGviz where it will not recognize the game is running, or detect the current map. The workaround it to use v0.4 or earlier of the app.

Trivia

 * DAGviz is based on GraphViz, the same graphing library used by the developers of Sly 2.
 * It was made after The Picture Worth a Thousand Bugs, a 2005 GDC conversation by Bruce Oberg, was released in 2021.