This repository has been archived by the owner on Apr 29, 2024. It is now read-only.
Replies: 1 comment 1 reply
-
Thanks for raising this topic! My idea is very similar, but that's some key points I was thinking about:
In fact, this is kind of what my 'tehomod' did for the stock engine. But implementing this at engine side obviously offers much more opportunities. All of the above should be not difficult to implement. But I would make a concept before implementing to collect all the ideas and tie everything together. What do you think? |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I've been toying with the idea of adding some improved modding support to the engine.
I'd like to add a
Mods
folder to the root game directory, and instead of overwriting the original game files, modders can instead copy and modify them in their own mod folders.I believe this would allow for more smaller mods to be installed together, and remove some of the complexity of publishing and installing mods. Because the original files are preserved, the game should be able to detect possible mod conflicts, and be able to deal with game updates better (in the case of TEHO).
So the folder structure would look something like this:
Each mod would also have some kind of
modinfo.(json|toml)
file to provide some basic information about the mod. We could also add dependency information to this file so mods can depend on other mods.Whenever the game tries to load a file, it will first see if the file is provided by one of the mods and load that, otherwise it will load the vanilla file. We will also need some kind of way to determine mod loading order, as the last mod in the list will override files from the others.
A future improvement could be diff-ing scripts and patching them, so you can modify only parts of a file, without conflicting others, but I consider this out-of-scope for now.
I'm already prototyping this system and plan to include it with my CoAS engine update to see how well it works, and what modders think of it.
I welcome any feedback and suggestions. Once we have a good working system we can also include it in the main engine so it is available to all Sea Dogs games.
Beta Was this translation helpful? Give feedback.
All reactions