Skip to content

Tool for tracking completion progress in the game Disillusion ST

License

Notifications You must be signed in to change notification settings

AnicJov/DST-Tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Disillusion ST Progress Tracker

Cross-platform tool to track completion progress in the game Disillusion ST. Written in Python and PyQt6.

It allows you to track your progress by telling you what you need to do to trigger the next event in each event chain and keeps track of all the requirements for each chain and event. Simply click on the button describing the event once you trigger it in game, and the undo button next to it if you need to go back a step.

I strongly advise not using this tool on your first playthough of the game. The game is best enjoyed blind, and I recommend using this tool only after you're very familiar with the story and have gotten all the endings at least once. It can be useful for speedruns or for casual playthroughs when you're really stuck somewhere and you want to avoid that.

Credits & Legal

The code for the tracker is written by me (Anic) and is licensed under the GPLv3 software license.

The game Disillusion ST and all of its assets are property of the Disillusion Dev team and are used in this project under explicit permission (they are under the img/ directory).

Huge thanks to Altotas for their Events Compendium guide and Applesgosh for their progress tracking spreadsheets and continued help and knowledge about the game. Without these two this tracker wouldn't exist and all the credit for the events defined in chains.yml goes to them.

Usage

Running from binary release

  1. Download the archive appropriate for your system from the releases section on this repository.
  2. Extract the archive.
  3. Run the executable from the extracted folder (dst_tracker.exe for Windows, dst_tracker for Linux).

Running from source

If you don't want to run the precompiled binaries and have Python installed on your system, follow these instructions to run the script:

Linux

Prerequisites: git, python

  1. Open a terminal
  2. Clone the repository and go inside the cloned directory
    git clone https://github.com/AnicJov/DST-Tracker && cd DST-Tracker
  3. Create a Python virtual environment
    python -m venv venv
  4. Install dependencies
    venv/bin/pip install -r requirements.txt
  5. Run the program
    venv/bin/python dst_tracker.py

Windows

Prerequisites: Git, Python, Microsoft C++ Build Tools

  1. Open a Powershell window
  2. Clone the repository and go inside the cloned directory
    git clone https://github.com/AnicJov/DST-Tracker && cd DST-Tracker
  3. Create a Python virtual environment and activate it
    python -m venv venv && .\venv\Scripts\Activate.ps1

    Note: It may be required to change the execution policy on your system in order to activate the virtual environment

    PS C:\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

  4. Install dependencies
    pip install -r requirements.txt
  5. Run the program
    python dst_tracker.py

Modifying the chains and events

If you want to track different chains and events (e.g. for different endings) you can do so by modifying the chains.yml file. That is where all the events are defined and loaded on program startup. The file uses YAML syntax and is structured as follows:

At the root is chains which is a list of event chains in the game.

chains:
    - ...
    - ...
    - ...

Each chain must have a result and at least one event in its events list, and can have other optional fields.

result: "My Chain #1"
requirement: "Some requirement"
events:
    - ...
    - ...
    - ...

In the events list of a chain individual events are defined. They must have a description and trigger and optionally location list, image, requirement, and result.

description: "Scene where two characters fight"
trigger: "Talk to SomeCharacter"
location: ["Vicsine", "Naraka"]
requirement: "Some item"
result: "Some other item"
image: "img/some_character.png"

Putting all of that together, a final chains.yml file would look like:

chains:
  - result: "My Chain #1"
    requirement: "Some requirement"
    events:
      - description: "Scene where two characters fight"
        trigger: "Talk to SomeCharacter"
        location: ["Vicsine", "Naraka"]
        requirement: "Some item"
        result: "Some other item"
        image: "img/some_character.png"

Hopefully you get the idea.

Help & Contributing

If you need any help with anything feel free to reach out to me on Discord at _anic or the DST server.

If you want to contribute to this project feel free to submit issues or pull requests on this repository.

Keep in mind that the code was written very hastily and is not of good quality, but it does the job :^).

About

Tool for tracking completion progress in the game Disillusion ST

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages