I’ve been thinking about making a life sim, and obviously want people to be able to mod it.
This is important to do at the start of the creation of course.
So I was wondering if Godot is a good engine for making a game that is freely moddable.
In the docs (Exporting packs, patches, and mods — Godot Engine (3.1) documentation in English),
it gives the following as an option:
The developer uses Godot to build a GUI tool for adding their exact API content to a project. This Godot tool must either run on a tools-enabled build of the engine or have access to one (distributed alongside or perhaps in the original game’s files). The tool can then use the Godot executable to export a PCK file from the command line with OS.execute(). It makes the most sense for the game to not use a tool-build though (for security) and for the modding tools to do use a tool-enabled engine build.
Is this comparable to how Smapi activates mods for Stardew Valley?
(I’m using this as an example based on how easy it is to mod Stardew with Smapi, and I want the modding of my game to work practically the same. )
In other words, could I make a app in Godot that reads for json files and executes commands stored in them to run a mod if the game is launched with that specific app, while the content of the game remains the same as the base game if the main launcher is used?
Practically a Smapi for my own game
If so, how hard is it to make an app like this?
I want players to be able to freely mod things like textures, in game text, npc behaivior, etc…
Or add to the content itself, by adding npc’s items, or events.
The data for the main game, (like events, and dialogue) will be stored in JSON for ease of access, and moddibility. (like in Stardew)
Is Godot a good engine for this, or am I better off using another one?