Endless Void is a fully functional level builder for Void Stranger.
You can create your own levels with it, and upload them to a server (a Voyager instance).
This repository contains its project file, the UndertaleModTool script used to merge it into the game (merger.csx
),
UndertaleModTool scripts to add and remove game assets from the project (located in the /assetscripts
folder), and patches applied to the game on-merge (/patches
).
The project is set up like this, as opposed to just a plain UndertaleModTool mod, for several reasons:
- Much faster iteration
- When the game updates, it will be trivial to update with it
- Ability to use GameMaker's animation curves (in a non-painful way)
- Ability to use things that the UndertaleModTool (de)compiler would usually not like (in a non-painful way)
- Ability to open-source the project (:
To install this mod, you'll need an application that can do xdelta patching. I recommend Delta Patcher.
- Go to the latest release and grab the .xdelta file which matches your copy (Steam/itch.io).
- Apply the xdelta patch to Void Stranger's data.win file, which is found in its installation folder. (On Steam, right-click the game, Manage->Browse local files) Make sure it's the original, vanilla data.win. If you previously installed this mod, or any other mod, restore the original data.win first. in order to uninstall the mod, bring back the original data.win in any way (either keep a backup, or on Steam, find and press the "verify integrity of the game files" button).
Your save file will not be touched by the mod, and you can install and uninstall the mod without anything happening to it. Have fun!
Endless Void targets UndertaleModTool 0.6.1.0. I'd recommend not getting the SingleFile version as it has caused issues for some in the past. Make sure to replace the paths at the top of the UMT scripts with your own! To compile Endless Void:
- Run the
copier.csx
script on Void Stranger's data.win from the/assetscripts
folder to copy all the required Void Stranger assets into the GameMaker project - From this point you can build and run the editor on its own inside GameMaker. You won't be able to play levels, but it is useful when developing the UI
- To merge the editor into the game, build it in GameMaker and extract its data.win, run the
merger.csx
script on Void Stranger's data.win, and save it when it's done - You have compiled Endless Void
- The project file was generated by GameMaker 2023.4.0.X and should stay at that version, as Void Stranger was compiled with the 2023.4.0.113 runtime.
- Indices of objects, sprites, sounds, etc. become mismatched when merging with Void Stranger, so references to them are always obtained with
asset_get_index()
. This does not apply to animation curves, as Void Stranger never uses them, and so their indicies are not offset. - Semicolons are lightly and inconsistently sprinkled throughout, because of muscle memory, but GameMaker does not enforce them...
- It's uh, pretty good, occasionally.
Please contribute