How to make an open source mod - emd4600/SporeModder-FX GitHub Wiki

Open sourcing means releasing the original files that were used to create a mod. Making a mod open source is a very good way of helping the community, as it offers transparency to what your mod does, and it helps other modders learn.

Check the list of open source mods: https://github.com/emd4600/SporeModder-FX/wiki/List-of-open-source-mods

Folder Structure

Here is how you can structure an open source mod:

  1. Create a folder that will store all the contents of your mod. If you are using the ModAPI, this base folder can be the folder where you create your Visual Studio solution.
  2. If your mod uses C++, add this .gitignore file to your root mod folder: https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
  3. Inside the root mod folder, create the folder(s) for your SporeModder FX project(s). To add them to the program, open SporeModder FX, click on Add External Project, and find the project folder(s) you created.
  4. Create a README.md file with information about your mod, this will be the presentation page. You can use Markdown for styling.
  5. Inside the root mod folder, add the ModInfo.xml that is used to publish your mod, and that contains your mod name, description, etc. This can be useful for external tools to find your mod. More information in http://davoonline.com/sporemodder/rob55rod/ModAPI/Public/xmlModIdentity_v1_0_1_1.html

For example, for a mod that is just a .package file with no C++ code, the project structure can look like:

MyModFolder/
├─ MyModSMFXProject/
│  ├─ config.properties
│  ├─ editor_config~/
│  │  ├─ CreatureEditorSetup.prop.prop_t
│  │  ├─ CellToCreatureEditor.prop.prop_t
├─ README.md
├─ ModInfo.xml

Uploading to GitHub

We recommend using the free source control platform GitHub for hosting your open source mod.

  1. Create a new GitHub project. Leave all the options blank.
  2. Follow the instructions provided to upload your mod files.
  3. In GitHub, add the tag spore-mod to your project. This is used by some external tools to find your mod.

Releasing the mod

For releasing the mod, we recommend you create .sporemod files to bundle all the files in your mod, as well as a ModInfo.xml with information about the mod. .sporemod files are used by the Spore ModAPI Launcher Kit.

You have more information on creating .sporemod files here: https://github.com/emd4600/SporeModder-FX/wiki/Tutorial:-Creating-your-first-mod#publishing-your-mod

When you are ready to publish the mod, you can use the Releases page in your GitHub repository to upload the .sporemod file. We recommend you add a link to the releases page in the README.md file, so users can find it easily.