Greetings!
I am the main developer for the Minecraft TAS Tool "TASmod", a mod that aims to bring input playback functionality and more tools to the game.
I've been working on and off on this mod for roughly 5 years and my plan for this mod was a full set of tools, savestates, slowdown/frameadvance and RNG Manipulation.
Due to Minecraft being a very actively modded game and Mojang being very open to modding, I decided to write a mod that hooks into the input logic from inside the game, without the need for external tools.
Looking at the history of TASes on this site, this led me to question my decision on writing internal tools for the game at first, but I thought: If I keep modifications to a minimum and keep it open source, then I may be able to get away with it.
But during my years of working on the mod I found more and more major issues with the game that require some major modification to make the tools not desync.
The main point is RNG. If you have ever played Minecraft before, you know how RNG heavy can be. This leads me to believe, that it is impossible to run a TAS via an external tool, without Minecraft desyncing. You can get away with parkour game modes, where there is practically no RNG involved, but even taking fall damage runs the risk of desyncing. I have recently read through the
Hollow Knight TASing experience with libTAS and I feel that this could be happening again with external tools.
And so here is a small overview of the changes:
- Syncing game-tickrate between client and server (Minecraft starts an integrated server in singleplayer on a seperate thread, usually runs distinct from each other creating desyncs)
- Patching ~2000 instances of RNG (Some are not modified but still listed) to be replayable and manipulatable.
Optional features to make TASing easier:
- Slowdown and frame advance or more like "tick advance"
- In-Game Savestates
The advantages I see with this:
- Easier installation: It is installed like any other mod and it's widely known how
- Multiplayer support: Mod can be installed on servers
- Modding support: Other mods can interact with the tools
As a result I was able to create a Minecraft TAS with reproducable results and manipulated RNG:
https://youtu.be/VkSM779W3LY?si=YGh5iDNIhRj7V_wX
Now I would love to hear your opinions on that matter. Go for an "as pure as possible" approach, removing savestating, slowdown and/or RNG pathcing or take the opportunity of being allowed to modify the game and make a pleasant TASing experience?