In , ensure your "Compare Against" setting is set to Game Time if the script utilizes load removal.
The Minecraft speedrunning community utilized GitHub to manage complex multi-instance macros and autosplitters. In 2021, these tools were essential for "Wall" runners—players who track dozens of world seeds simultaneously. Why GitHub Became the Standard
The existing tools for autosplitting were clunky, unreliable, or required extensive setup. Alex, being a skilled programmer, decided to take matters into his own hands. He began working on a project that would eventually become known as "Autosplitter". autosplitter+games+github+2021
This collaborative, open-source model kept games like The Binding of Isaac: Repentance (released March 2021) runnable within days of major updates.
One of the most popular architectural choices in 2021 was the Without it, runs on faster PCs had an unfair advantage. The GitHub autosplitter for Dark Souls III (still trending in 2021) was considered a gold standard for how to elegantly subtract load times using memory signatures. In , ensure your "Compare Against" setting is
An autosplitter is fundamentally a memory-watcher. Written primarily in ASL, these scripts look for specific memory pointers. The workflow generally follows a distinct structure:
Do you need help for streaming? Share public link Why GitHub Became the Standard The existing tools
Before the widespread adoption of automated scripts, speedrunners used manual timers. This introduced variables like human reaction time and nerves.
state("GameName") // Memory pointers mapped out by developers int levelID : "GameAssembly.dll", 0x1A2B3C, 0x4D; bool isLoading : "unityplayer.dll", 0x5E6F7G; start // Conditions required to start the timer automatically return current.levelID == 1 && old.levelID == 0; split // Conditions to advance to the next split return current.levelID > old.levelID; isLoading // Pauses the game timer during loads for an accurate Time Without Loads (TAW) return current.isLoading; reset // Resets the timer if the player goes back to the main menu return current.levelID == 0; Use code with caution. How to Use a GitHub Autosplitter in LiveSplit