Difference between revisions of "Modding Guide"

From Wildermyth Wiki
(Added "Starting Out" section, with a bit of a broad overview)
(15 intermediate revisions by 2 users not shown)
Line 2: Line 2:


For background on writing, as opposed to the mechanics of creating mods, see instead: [[Writer's Guide]] and [[Story Inputs and Outputs]]
For background on writing, as opposed to the mechanics of creating mods, see instead: [[Writer's Guide]] and [[Story Inputs and Outputs]]
==Starting Out==
When creating a mod of any kind, the first thing you'll usually want to do is go into the editor from the Wildermyth main menu (Tools > Editor), and create a new mod from either the '''Content and Comics Editor''' (Mods > Create New Mod) or the '''Steam Workshop''' page (Create New Mod button). Most of Wildermyth's data is stored as json files. Mods are stored in mods/user/[yourModName], with a parallel file structure to the core game. For example, if you wanted to modify the assets/data/balance/campaignBalance.json file, you would create a file at mods/user/[yourModName]/assets/data/balance/campaignBalance.json.
The '''Content and Comics Editor''' is probably the first thing you'll want to look at. From there, you can see all the events, abilities, aspects, campaigns, items, and monsters used in the core game. Feel free to duplicate existing things as a starting place for your own mods (we certainly do!)
In order to understand the structure of the data and tools, these are probably the best starting places (which are also linked to on the editor landing page):
* [[Data Format Overview]] (A broad overview of the files in Wildermyth and how they work together)
* [[Comic Editor Reference]] (How to create events, explanations of some of the editor tools)


== Encounters (events) ==
== Encounters (events) ==
Line 18: Line 27:
* [[Modding quest chains]].  Creating a linked set of encounters, or "quest chain".
* [[Modding quest chains]].  Creating a linked set of encounters, or "quest chain".
* [[Modding scripted missions]].  Creating a mission which has a specific map and script, as opposed to random monsters on a procedurally generated map.
* [[Modding scripted missions]].  Creating a mission which has a specific map and script, as opposed to random monsters on a procedurally generated map.
* [[Modding generic chapters]].  As of June 2021, release 1.0 has a structure for chapters in the generic campaign.  This topic shows how they work and how to add more.
== Campaigns (Villains) ==
=== Using the "new campaign" tool ===


== Campaigns (Villains) ==
[https://steamcommunity.com/app/763890/eventcomments/2146469724193067415 How to create a campaign]


=== Heart of the Forest ===
=== Heart of the Forest ===
Line 32: Line 45:
=== Equipment ===
=== Equipment ===
* [[Modding add equipment|Adding equipment]]
* [[Modding add equipment|Adding equipment]]
* [[Legacy Carry-Over]]  Having an item stick with a hero through legacy.


=== Monsters ===
=== Monsters ===
* [[Modding add monster|Adding a monster]] (this is mostly duplicated by [http://yonderinglands.blogspot.com/2019/10/how-to-write-your-own-villain-for.html Part 3 Custom Monsters] above)
* [[Modding add monster|Adding a monster]] (this is mostly duplicated by [http://yonderinglands.blogspot.com/2019/10/how-to-write-your-own-villain-for.html Part 3 Custom Monsters] above)
* [[Modding monster abilities|Adding a custom ability to a monster]]
* [[Modding monster abilities|Adding a custom ability to a monster]]
=== Factions ===
* [[Modding replace faction|Replacing the monsters in a faction]]


=== Tidings ===
=== Tidings ===
Line 47: Line 64:
=== How mods are loaded ===
=== How mods are loaded ===


Each mod lives in its own folder, and mirrors the folder structure of the game itself. When the game loads, are mods are scanned in order to show available scenarios, which can come from any mod. When a particular game is started, the mod where the story is found is always used, and additional mods can be specified. Mods can override any of the main categories of data that the game uses, and can provide new images too. Not all image-modding functionality is supported currently, however.
Each mod lives in its own folder, and mirrors the folder structure of the game itself. When the game loads, all mods are scanned in order to show available scenarios, which can come from any mod. When a particular game is started, the mod where the story is found is always used, and additional mods can be specified. Mods can override any of the main categories of data that the game uses, and can provide new images too. Not all image-modding functionality is supported currently, however.


=== Where to find installed mods ===
=== Where to find installed mods ===


* Mods included with the game are stored under steam\steamapps\common\wildermyth\mods\builtin
* Mods included with the game are stored under steam\steamapps\common\wildermyth\mods\builtin
* Mods that you create are stored under steam\steamapps\common\wildermyth\mods\user.  Also, mods that you download from other sites such as [http://https://www.nexusmods.com/wildermyth nexus] will instruct you to install them in this folder.
* Mods that you create are stored under steam\steamapps\common\wildermyth\mods\user.  Also, mods that you download from other sites such as [https://www.nexusmods.com/wildermyth nexus] will instruct you to install them in this folder.
* Mods that you download from the steam workshop are harder to find.  Under steam\steamapps\workshop\content, you need to know or guess the numeric steam game ID.  It seems to be 763890, so go inside that folder.  Then each mod is assigned a numeric steam mod ID.  If you have several mods, you may be able to guess which folder goes to a particular mod by the date you installed it.  If not, go into each folder and double click on the preview.jpg file to view it.  This is the "splash screen" of the mod.  Once you have found the steam ID of a particular mod, it may be easiest to write that down on a sticky by your monitor.
* Mods that you download from the steam workshop are harder to find.  Under steam\steamapps\workshop\content, you need to know or guess the numeric steam game ID.  It seems to be 763890, so go inside that folder.  Then each mod is assigned a numeric steam mod ID.  If you have several mods, you may be able to guess which folder goes to a particular mod by the date you installed it.  If not, go into each folder and double click on the preview.jpg file to view it.  This is the "splash screen" of the mod.  Once you have found the steam ID of a particular mod, it may be easiest to write that down on a sticky by your monitor.


Line 66: Line 83:
===How to publish your mod===
===How to publish your mod===


Once you have created a mod, publishing it is easy.  There is a button right in the game itself.<ol>
Once you have created a mod, publishing it is easy.  There is a button right in the game itself.
<li>Obviously, test your mod and make sure it is polished enough for others to use it.
<ol>
<li>In the mod folder, make sure there is a file preview.png (currently only png format works).  This is the main image people will see for your mod.  Square aspect ratio is preferred.
<li>Obviously, test your mod and make sure it is polished enough for others to use it.</li>
<li>Make sure you are logged into steam and launch wildermyth from within steam.
<li>In the mod folder, make sure there is a file preview.png (currently only png format works).  This is the main image people will see for your mod.  Square aspect ratio is preferred.</li>
<li>In the game, choose tools, click "open editor", and click the bottom choice "Steam Workshop".  This will show all of your mods on the current computer.
<li>Make sure you are logged into steam and launch wildermyth from within steam.</li>
<li>In the game, choose tools, click "open editor", and click the bottom choice "Steam Workshop".  This will show all of your mods on the current computer.</li>
<li>Set the tags you want your mod to have using the "edit mod tags" button shown here:
<li>Set the tags you want your mod to have using the "edit mod tags" button shown here:
[[File:ModdingAddTags.PNG]]
<p>[[File:ModdingAddTags.PNG]]</p></li>
<li>Click "share" on the mod you want to publish.  This will upload the files and show the steam overlay on your mod.  Now it is on steam, but it is only visible to you.
<li>Click "share" on the mod you want to publish.  This will upload the files and show the steam overlay on your mod.  Now it is on steam, but it is only visible to you.</li>
<li>The mod description on steam is filled in from the description field of your mod files.  But this is very short, and you will want a longer description.  Write the description in the steam form.
<li>The mod description on steam is filled in from the description field of your mod files.  But this is very short, and you will want a longer description.  Write the description in the steam form.</li>
<li>Because any update you do will wipe out the description, cut the text you have written and paste it into a notepad file, or equivalent, on your computer.  After any update, you will have to replace the description.  (This may be be fixed in a later game release.)
<li>Because any update you do will wipe out the description, cut the text you have written and paste it into a notepad file, or equivalent, on your computer.  After any update, you will have to replace the description.  (This may be be fixed in a later game release.)</li>
<li>Once you are sure the description and preview image are correct, find "Change Visibility" on the lower right, and choose "Public".
<li>Once you are sure the description and preview image are correct, find "Change Visibility" on the lower right, and choose "Public".</li>
</ol>
</ol>
Congratulations, you are now a published mod author!
Congratulations, you are now a published mod author!



Revision as of 07:48, 18 October 2021

Wildermyth is intended to be pretty moddable. Here are the guides for doing it!

For background on writing, as opposed to the mechanics of creating mods, see instead: Writer's Guide and Story Inputs and Outputs

Starting Out

When creating a mod of any kind, the first thing you'll usually want to do is go into the editor from the Wildermyth main menu (Tools > Editor), and create a new mod from either the Content and Comics Editor (Mods > Create New Mod) or the Steam Workshop page (Create New Mod button). Most of Wildermyth's data is stored as json files. Mods are stored in mods/user/[yourModName], with a parallel file structure to the core game. For example, if you wanted to modify the assets/data/balance/campaignBalance.json file, you would create a file at mods/user/[yourModName]/assets/data/balance/campaignBalance.json.

The Content and Comics Editor is probably the first thing you'll want to look at. From there, you can see all the events, abilities, aspects, campaigns, items, and monsters used in the core game. Feel free to duplicate existing things as a starting place for your own mods (we certainly do!)

In order to understand the structure of the data and tools, these are probably the best starting places (which are also linked to on the editor landing page):

Encounters (events)

Developer guides on steam

User written guides

More complex topics

  • Modding multiple branches. Creating a complex encounter, which has several choices and "branches"
  • Modding site activities. Creating an encounter which appears as a flag on the map, such as a treasure map or request for help.
  • Modding quest chains. Creating a linked set of encounters, or "quest chain".
  • Modding scripted missions. Creating a mission which has a specific map and script, as opposed to random monsters on a procedurally generated map.
  • Modding generic chapters. As of June 2021, release 1.0 has a structure for chapters in the generic campaign. This topic shows how they work and how to add more.

Campaigns (Villains)

Using the "new campaign" tool

How to create a campaign

Heart of the Forest

This is a series of blog posts that walk through how to create a villain (campaign story). The story is called "Heart of the Forest" and the mod is shipped with the game so you can inspect it or use it as a baseline.

Other topics

Equipment

Monsters

Factions

Tidings

Intermediate level FAQ

Mod mechanics

How mods are loaded

Each mod lives in its own folder, and mirrors the folder structure of the game itself. When the game loads, all mods are scanned in order to show available scenarios, which can come from any mod. When a particular game is started, the mod where the story is found is always used, and additional mods can be specified. Mods can override any of the main categories of data that the game uses, and can provide new images too. Not all image-modding functionality is supported currently, however.

Where to find installed mods

  • Mods included with the game are stored under steam\steamapps\common\wildermyth\mods\builtin
  • Mods that you create are stored under steam\steamapps\common\wildermyth\mods\user. Also, mods that you download from other sites such as nexus will instruct you to install them in this folder.
  • Mods that you download from the steam workshop are harder to find. Under steam\steamapps\workshop\content, you need to know or guess the numeric steam game ID. It seems to be 763890, so go inside that folder. Then each mod is assigned a numeric steam mod ID. If you have several mods, you may be able to guess which folder goes to a particular mod by the date you installed it. If not, go into each folder and double click on the preview.jpg file to view it. This is the "splash screen" of the mod. Once you have found the steam ID of a particular mod, it may be easiest to write that down on a sticky by your monitor.

Using an existing mod as a starting point

  1. Before changing and publishing a mod, discuss with the mod author. It is not fair to make a tiny change to a large mod and then re-release it as your own. Most mod authors are happy to have other authors learn from their published mods, but check before getting underway with something you plan to publish.
  2. Subscribe, download and find the mod, as described above
  3. Create a new, blank mod. Select "Tools" at the main game screen, then "Open Editor", then "Content and Comics Editor". At the upper left, click "Mods", click "Create New Mod" in the browser, and fill in the form. This will pop up a file browser showing the files the tool just created; note that the directory is steam\steamapps\common\wildermyth\mods\user\<your mod name>.
  4. Exit the game
  5. In file explorer, copy the folders from the numeric steam directory to your new mod directory.
  6. Restart the game, so it loads all the files. You should see entries for your "new" mod as well as entries for the previous numeric mod.
  7. Edit the mod as desired.

How to publish your mod

Once you have created a mod, publishing it is easy. There is a button right in the game itself.

  1. Obviously, test your mod and make sure it is polished enough for others to use it.
  2. In the mod folder, make sure there is a file preview.png (currently only png format works). This is the main image people will see for your mod. Square aspect ratio is preferred.
  3. Make sure you are logged into steam and launch wildermyth from within steam.
  4. In the game, choose tools, click "open editor", and click the bottom choice "Steam Workshop". This will show all of your mods on the current computer.
  5. Set the tags you want your mod to have using the "edit mod tags" button shown here:

    ModdingAddTags.PNG

  6. Click "share" on the mod you want to publish. This will upload the files and show the steam overlay on your mod. Now it is on steam, but it is only visible to you.
  7. The mod description on steam is filled in from the description field of your mod files. But this is very short, and you will want a longer description. Write the description in the steam form.
  8. Because any update you do will wipe out the description, cut the text you have written and paste it into a notepad file, or equivalent, on your computer. After any update, you will have to replace the description. (This may be be fixed in a later game release.)
  9. Once you are sure the description and preview image are correct, find "Change Visibility" on the lower right, and choose "Public".

Congratulations, you are now a published mod author!

See also