So you want to make a Campaign? Well then, let's get started!
For now, Campaign or mod is the name to use for custom stories. While both make sense, there is actually no need to distinguish between custom stories and full conversions, since the configuration files within a modded Campaign can now be editted without affecting SOMA's configuration files.
Most of the information below this will go off the basis of a template which I have thrown together for the purposes of this tutorial. As far as I know, everything should work.
If you have not downloaded it already, you can download it from the Steam Workshop or Dropbox.
Modifications you want to edit (and play if you are not using Steam) should be placed in a mods directory within SOMA's installation directory folder. An example of such directory could be this if you are a Steam user.
C:\Program Files (x86)\Steam\steamapps\common\SOMA\mods
Therefore, any mods which you create should go in their own folder. In the case of this mod, it should go here:
C:\Program Files (x86)\Steam\steamapps\common\SOMA\mods\story_template\
And just in case you were wondering, any SOMA workshop modifications will go here by default.
C:\Program Files (x86)\Steam\steamapps\workshop\content\282140
I also recommend you copy and paste the template folder so if you screw something up, you can restore it if something fails to work. It also allows you to avoid redownloading this modification every time you want to recreate or refer to it.
This is a general overview of what the template hierarchy consists of:
/story_template /assets /config /graphics /maps /script entry.hpc resources.cfg
This folder has a few folders within it, pretty much identical to most of the folders in SOMA's root. The assets folder is meant for you to add files to SOMA which were not originally included with. Assets you add into SOMA can be models, sounds, textures, entities… even things from Amnesia or Penumbra if they have been imported correctly (tutorial coming soon).
Contains configuration files. Here is a rundown of them:
base_english.lang: Contains the strings which are seen in the menus and options. Do not edit any Entry Names, but feel free to edit their actual strings which are seen in the menus.
english.lang: Contains the strings which are seen in game. The ones specific to the levels in SOMA have been removed, and a readable has been added for map testing purposes.
game.cfg: Contains options specific to your modification. Change some of them around a little to give your mod a bit of difference from SOMA.
main_init.cfg: Contains core options which are how your mod will run and where things will save. Things such as the starting map and game name are changed here.
An example folder for temporarily replacing SOMA files for your mod. To replace files, you need to create a path identical to SOMA's path to their file. As confusing as that sounds, think of it like this; we want to change the background image when the game is loading up. So we look at SOMA's path to that file, which is located here
So our directory to replace such file will look like this:
Note how our graphics directory is exactly the same as the SOMA directory when it is within the story_template? That's how it works. This particular example can be found within the modification, but you can replace anything if you follow those replacement rules.
Obviously, this is where your maps go. Create a folder for your map and save your map within. It keeps your folders and maps organised. Go through SOMA's map folder to get an idea of how to set out your maps.
Any custom scripts and modules go here. I have no idea how to make them as of yet, but when/if a tutorial comes up, it'll be linked to from here.
entry.hpc: Contains information necessary for when you are exporting your modification. It will be covered in more detail in time, but you can read this forum post to learn how to set one up. Make sure you create your own entry.hpc and not edit the one included, as it will simply reset back to the entry.hpc file I included.
resources.cfg: For those who have worked with Amnesia Custom Stories, it is the exact same thing. Any folders in your mod should be referenced here. Just copy and paste the line above it and alter it slightly for your needs.
Anything! Start making maps! Start learning how to script! Make yourself a campaign! A tutorial on how to export and learning scripts it will be made soon, but for now, you can set one up and experiment.
Personally, I recommend that you start by going through some of the SOMA maps made by Frictional Games and see if you can find out how they did some of their tricks to make the levels look as spectacular as they do.