This modifications creating guide was originally created by Espadon, and updated by nosejj.
This part is not necessarily crucial, but some might found that it is, so it's here.
Before any work is started a plan of progress with the mod's different aspects should be assessed. Some prefer to start with the gosteks, then weapons graphics, sounds. Others prefer to work on weapons graphics and sounds in parallel, in sets. There isn't any best order to work in, but for all intents and purposes here, I'll start with the gosteks, then progress onto the weapons graphics, and then finally to sounds. I'll also go over interfaces and utilities.
Occasionally one may see co-op mod projects; while this is fine, it's recommended that one choose the members with some discretion; also, while most co-op mods divide labor by subject (such as Member A creating the weapons, Member B providing the sounds...), some modders attempt to involve several members doing one aspect (most often the menu-graphics). While this is fine, it can lead to an inconsistency style or quality-wise, and so is best avoided unless style variation is the specific intent.
Copy the following folders to Soldat\mods\your-mod-name (if you in fact intend to edit all of these)
- Soldat\mod.ini - If this is not included, the weapons and gostek might appear HUGE (Read more about mod.ini).
The reason for doing this is that it makes the final packaging of the mod much less of a hassle. Trying to figure out which sounds were modified and which ones weren't and find out that some weren't included in the end is aggravating to say the least. Using the mods directory ensures that only the necessary modded files are included and will save the downloader from wasting time and bandwidth on unnecessary files.
Gosteks are arguably one the most confusing aspects of modding. They can seem intimidating because not only are they labeled in Polish, but also that few parts are recognizable at all. However, once the process of referencing the alignments and orientations of the parts is finished, gosteks are not as tough to make as often perceived.
Tip: While making weapons-gfx -2 versions is often just a matter of simply copying, pasting, and flipping, Gostek alignments can be different and will need to be made slightly different for the "-2" version in order for it to look similar to the other side in-game. Notable examples include ramie (upper arm) and biodro (pelvis).
For convenience, I've created a diagram with all the basic normal (non -2) gostek parts placed in their standard orientation to give an idea of how the parts fit together. The arrows indicate 'down.'
My personal experience is it's easier to work on a gostek from a gostek 'index,' so that one can easily check value consistency. In general, gosteks should be kept relatively light.
Editable through Soldat\interface-gfx\guns. Menu-graphics are what appear on the weapons selection menu and on the death console (the display of kills on the top-right corner).
The execution of menu guns tends to be a hotly debated issue. Shrinking down pictures of weapons is valid, but can result in blurry, grayish images unless they're treated in an image manipulator such as Photoshop, GIMP, or PdN. Different styles can give the mod a particular atmosphere/feel.
Format-wise, Soldat will accept both BMPs and PNGs. However, Soldat re-samples PNGs badly and a 'plastic foil' effect around the weapon can be noticed especially around non-blurred edges when the image is displayed in the kill log.
Editable through Soldat\weapons-gfx. Too often actual in-game representations of weapons are neglected in favor of menu guns. Resizing menu-guns to in-game size very rarely works. For this reason I recommend perfecting in-games before any work is done with menu guns to help make sure that game-play is enjoyable.
folder and usually each weapons has these sub-parts:
- [weapon-internal-name].bmp (pointing rightwards)
- [weapon-internal-name]-2.bmp (vertically flipped version of the one above, Soldat pivots the graphic by the upper-left corner to make it point leftwards)
- [weapon-internal-name]-clip.bmp (clip of the weapon; clip is rendered as on top of the weapon)
- [weapon-internal-name]-clip2.bmp (vertically flipped version of the one above, Soldat pivots the graphic by the upper-left corner to make it point leftwards)
- [weapon-internal-name]-shell.bmp (One graphic for both orientations)
- [weapon-internal-name]-fire.bmp (One graphic for both orientations)
- [weapon-internal-name]-bullet.png (this is a PNG in the default Soldat weapons-gfx. Bullet can be BMP or PNG, but Soldat will prioritize PNGs)
While most weapons follow this format, some weapons are a bit different; the Ruger lacks the -clip and -clip2 graphics, as does the Spas. The clip graphic for the M79 does not drop like the other clips do; the Desert Eagles clip graphic will be created only once on the weapon but will create two duplicates when the clip drops in-game; etc.
For in-games, there is also the choice between BMP and PNG formats. BMP is still the recommended format for most graphics though, as PNG creates a 'plastic foil' edge where there 'flat' areas. However, the effect doesn't manifest itself where there is Alpha Transparency, such as tapered objects like muzzle flashes and bullet graphics.
Objects for the most part are the textures used for kit box power-ups. All can be found in Soldat\textures\objects.
Sounds are found in Soldat\sfx. Sounds are mostly self-explanatory. Places to find sounds can be found in this thread. For mods based off of existing games, it may be a bit harder to find actual high quality sounds, especially if actual game files can't be ripped from, such as with console-only games.
Some things to note are:
- Fall and Fall-hard are not only used for when the player falls, but also when the player meets the polygons when flying up, such as the vertical tunnel in ctf_Equinox. Because of this, a 'thumping' noise isn't necessarily desired.
- Chainsaw-r is the sawing sound and it will repeat itself as long as the fire button is depressed, so substituting a gun in the saw slot may have some issues with the firing sound.
- Chainsaw-m is the ambient 'on' sound when the saw is running.
- Chainsaw-o is the 'empty' sound that starts when the saw is reloading and will repeat itself every time the fire button is pressed while reloading.
- Chainsaw-d is the initial sound of the saw turning on.
Sounds are often processed using the freeware Audacity, although Sound Recorder in Windows will also work in a pinch.
In-game names can be altered by modifying the file weaponnames.txt in the Soldat\txt folder.
Going further, actual game-play text can be changed by creating a custom Language file through Soldat\Txt\Languages. The easiest way is to copy english.ini and english.txt and then renaming and modifying them to taste.
Once done, [Your Mod] can be run by executing the program Soldat\start.exe and selecting [Your Mod] and then clicking "Run Soldat Modded."
Playtesting is important, but can also be exceedingly repetitive, with constant reloading of Soldat to check if graphics or sounds are satisfactory in game.
It might be very helpful to use a command line argument for your Soldat client in order to load mods quickly and efficiently.
Interfaces can round out a mod to help create a more immersive experience. Default interface can be found in Soldat\interface-gfx
Custom interfaces can be found in Soldat\custom-interfaces. And these can be created with Interface Maker. Like most other graphics, PNG files are also accepted. However, Interface Maker doesn't read PNGs, so alignment can be done with BMP 'dummies' that have the same dimensions as the actual PNGs.
Note that modded interfaces do not go into the Soldat\mods\your-mod-name folder. Soldat only reads interfaces in the primary Soldat directory.
Different tools for the causes mentioned above may be found here.
Mods are usually packed in compressed files (zip/rar). Providing you have WinZip or WinRAR installed Creating a package can be as simple as selecting [Your Mod], right-clicking, and selecting Send to -> Compressed Folder. If the mod also has Custom Interfaces or Maps that are outside of the [Your Mod] folder, a dummy Soldat directory can be created. Interfaces and anything modified in the Soldat directory go in here, as does Soldat\mods\your-mod-name. Then select all and zip as described above.
Post mods with some screenshots showing off the highlights. Most will include a screenshot of the menu guns and one or more of game-play. Screenshots can be uploaded to a image hosting website like ImgUR. And similarly, the mod package should be uploaded to a file hosting website.
Don't forget to describe what the mod changes, any specific notes like what files the mod will replace and if any backups should be made. Also, make a note of where to unpack the mod to, whether directly into the Soldat folder or into Soldat\mods.
It is highly recommended to attach the files to your post on the Soldat Forums, as well as create a back-up. These files are less likely to die on the Forums server, than the ones in random free hosting websites.