Difference between revisions of "HPL3/SOMA/Modding/Creating a Mod"

From Frictional Wiki
< HPL3‎ | SOMA‎ | Modding
Jump to navigation Jump to search
m
Line 5: Line 5:
 
{{tip|The game comes with two built-in example mods: <code>MinimalAddOnMod</code> and <code>MinimalCustomMapMod</code>. You can copy them or use them as reference for creating your own mod}}
 
{{tip|The game comes with two built-in example mods: <code>MinimalAddOnMod</code> and <code>MinimalCustomMapMod</code>. You can copy them or use them as reference for creating your own mod}}
  
== Mod Types ==
+
==Mod Types==
 
SOMA has two mod types: Stand-Alone mod and Add-On. Technically speaking, there is no difference between them.
 
SOMA has two mod types: Stand-Alone mod and Add-On. Technically speaking, there is no difference between them.
 
However, a mod type shall be picked according to the nature of the mod you make, for contentions sake.  
 
However, a mod type shall be picked according to the nature of the mod you make, for contentions sake.  
Line 17: Line 17:
 
If your mod touches on small feature, it's probably an Add-On mod. For example: An Add-On that adds a russian translation to the game.
 
If your mod touches on small feature, it's probably an Add-On mod. For example: An Add-On that adds a russian translation to the game.
  
== Mod Entry File ==
+
==Mod Entry File==
 
When creating a mod, be it a simple add-on or a fully fledged total conversion, an entry file is needed so that the mod can be listed by the [[HPL3/SOMA/Category:Modding/Launching a Mod|ModLauncher]] application or simply be started by the game.
 
When creating a mod, be it a simple add-on or a fully fledged total conversion, an entry file is needed so that the mod can be listed by the [[HPL3/SOMA/Category:Modding/Launching a Mod|ModLauncher]] application or simply be started by the game.
 
This means that an XML file with name <code>entry.hpc</code> needs to be created in the root directory of the mod, and its contents will depend on what kind of mod you are creating.
 
This means that an XML file with name <code>entry.hpc</code> needs to be created in the root directory of the mod, and its contents will depend on what kind of mod you are creating.
  
=== Common Attributes ===
+
===Common Attributes===
 
Any valid <code>entry.hpc</code> file will have at least the following attributes:
 
Any valid <code>entry.hpc</code> file will have at least the following attributes:
* Version: The version for the mod, since the mod might get updated in the future.
 
* Type: The type for the content the mod is offering. Possible values are <code>AddOn</code> or <code>StandAlone</code>.
 
* Title: This sets the title for the mod. It should not be longer than 128 characters, especially if the mod is to be uploaded to the Steam Workshop.
 
* Author: The creator(s) of the mod. This will be shown below the title on the info column in the [[HPL3/SOMA/Category:Modding/Launching a Mod|ModLauncher]] application.
 
* Description: The description of the mod. Should not exceed 8000 characters for the same reason as the title.
 
* UID: A string in the form <code>provider_name.mod_name</code>. This is used so other mods can reference your mod as a [[HPL3/Mod Dependencies|Mod Dependency]]
 
* Dependencies: A list of UIDs separated by commas. The resources in these mods will be available to the game when the current mod is running.
 
  
=== Setting up the Entry File ===
+
*<u>Version</u>: The version for the mod, since the mod might get updated in the future.
 +
*<u>Type</u>: The type for the content the mod is offering. Possible values are <code>AddOn</code> or <code>StandAlone</code>.
 +
*<u>Title</u>: This sets the title for the mod. It should not be longer than 128 characters, especially if the mod is to be uploaded to the Steam Workshop.
 +
*<u>Author</u>: The creator(s) of the mod. This will be shown below the title on the info column in the [[HPL3/SOMA/Category:Modding/Launching a Mod|ModLauncher]] application.
 +
*<u>Description</u>: The description of the mod. Should not exceed 8000 characters for the same reason as the title.
 +
*<u>UID</u>: A string in the form <code>provider_name.mod_name</code>. This is used so other mods can reference your mod as a [[HPL3/Mod Dependencies|Mod Dependency]]
 +
*<u>Dependencies</u>: A list of UIDs separated by commas. The resources in these mods will be available to the game when the current mod is running.
 +
 
 +
===Setting up the Entry File===

Revision as of 11:01, 29 July 2020


This article describes how to create and setup a basic SOMA mod.

Icon tip.png Tip: The game comes with two built-in example mods: MinimalAddOnMod and MinimalCustomMapMod. You can copy them or use them as reference for creating your own mod

Mod Types

SOMA has two mod types: Stand-Alone mod and Add-On. Technically speaking, there is no difference between them. However, a mod type shall be picked according to the nature of the mod you make, for contentions sake.

Stand-Alone Mod

A Stand-Alone mod describes a mod of extensive game modification: Custom assets, Custom scripts and even overrides of existing game scripts. If your mod is going to have any maps in it, it's probably a Stand-Alone mod.

Add-On Mod

A Add-On mod describes a mod with of specific or limited game modification: Minor config, graphical or script changes that tweaks an existing feature of the game. If your mod touches on small feature, it's probably an Add-On mod. For example: An Add-On that adds a russian translation to the game.

Mod Entry File

When creating a mod, be it a simple add-on or a fully fledged total conversion, an entry file is needed so that the mod can be listed by the ModLauncher application or simply be started by the game. This means that an XML file with name entry.hpc needs to be created in the root directory of the mod, and its contents will depend on what kind of mod you are creating.

Common Attributes

Any valid entry.hpc file will have at least the following attributes:

  • Version: The version for the mod, since the mod might get updated in the future.
  • Type: The type for the content the mod is offering. Possible values are AddOn or StandAlone.
  • Title: This sets the title for the mod. It should not be longer than 128 characters, especially if the mod is to be uploaded to the Steam Workshop.
  • Author: The creator(s) of the mod. This will be shown below the title on the info column in the ModLauncher application.
  • Description: The description of the mod. Should not exceed 8000 characters for the same reason as the title.
  • UID: A string in the form provider_name.mod_name. This is used so other mods can reference your mod as a Mod Dependency
  • Dependencies: A list of UIDs separated by commas. The resources in these mods will be available to the game when the current mod is running.

Setting up the Entry File