I write this with the intent of not only helping to answer questions that new modders may have, but also as a reference for more experienced modders. That said, most of this is written from my own experience and there will be many instances where there are other methods to achieve success; I cannot guarantee to cover all of them, so forgive me if I neglect some methods.
Beginning the ModBefore any work is started, a plan of how to progress with the mod should be effected. Some prefer to start with the gosteks, then progressing onto weapons, then sounds, and lastly the WM; some with weapons and the WM, then gosteks, followed by sounds. Others prefer to work on weapons, WM, 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 and the WM. 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 doing the weapons, member B providing the sounds, and member C doing the balancing], some mods 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.
What's a gostek? What's a WM? A gostek is the name for the player skin in Soldat. WM is the abbreviation for "weapons mod," which refers to the file weapons.ini and [to a lesser degree] weapons_realistic.ini. These files control the actual behavior of the guns in-game. |
Before anything, make a copy of the folders:
Weapons-gfxGunsTxtAnd place them inside the folder
Soldat/Mods/[Your Mod]Now make folders:
Interface-gfxSfxAnd place the folder Guns in Interface-gfx.
Then copy all the sounds to modify and place them into the folder Sfx in
[Your Mod] and copy Weapons.ini into
[Your Mod].
As more files are modded, also make copies of their folders into
[Your Mod]. For example, if I modified some Object textures found in
Soldat/Textures/Object-gfx, I would put the modified versions in
Soldat/Mods/[My Mod]/Textures/Object-gfxThe 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 Mod directory ensures that only the necessary modded files are included and will save the downloader from wasting time and bandwidth on unnecessary files.
Gosteks 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.
[Example of a basic 'index']
Interface Guns [ Menu Guns ]Most everyone judges a mods based on the menu-weapons graphics. Oftentimes, people measure the quality of the mod purely based on the interface graphics alone.
Menu-graphics are what appear on the weapons selection menu and on the death console [the display of kills on the top-right corner].
Soldat/Interface-gfx/GunsThe 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.
Menu weapons should be around 42x16 in dimensions. Longer, and the weapon will fall off the kill log or mash into the text in the menu, taller, and the different menu weapons will start stacking.
Format-wise, Soldat will accept both BMPs and PNGs. However, Soldat resamples 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.
In-game WeaponsToo 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 gameplay is enjoyable.
Soldat/weapons-gfx 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.
Generally, keep weapons-gfx under 22x7.
ObjectsObjects for the most part are the textures used for kit box power-ups. All can be found in
Soldat/Textures/ObjectsThese textures can only be BMPs and despite natively being 16x16, can be any size. Soldat will resize the textures to fit.
SoundsSounds form the other half of a mod. Sounds are found in
Soldat/SfxSounds are mostly self-explanatory, and ones that can't be identified by sound or name usually don't matter too much in the context of the mod. 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 XP and earlier will also work in a pinch.
TextIn-game names can be altered by modifying the file
weaponnames.txtin the
Soldat/Txtfolder.
Going further, actual gameplay text can be changed by creating a custom Language file through
Soldat/Txt/LanguagesThe easiest way is to copy English.ini and English.txt and then renaming and modifying them to taste.
Weapons.iniLastly is the Weapons Mod, abbreviated as WM. The WM is edited by opening the file
weapons.ini and editing the values in there. Follow the instructions in the file and it will be quite easy.
Some weapons have special intrinsic traits that cannot be modifiedo Desert Eagle shoots 2 of all entities
o Barrett's scope is built-in and tied to the entity fired (thereby the camera will be affixed to the object fired; if the Barrett shoot grenades, the camera will follow the arc of the grenade until it blows up or the player releases from crouch or prone)
o LAW crouch-to-fire
o Knife "throw" function
o Knife, Statgun, and Chainsaw entity-kill timer. These three weapons will kill the bullet after a certain period of time and so weaponspeed will affect the effective range of these weapons. For the Knife and Chainsaw, the bullet entity is also only 'activated' after a certain period of time, so there is always only a specific range where damage occurs.
o Knife swing speed, Shotgun reload speed and fire rate disregard values in the WM since they are tied to the actual animation.
o Shotgun will only fire Shotgun pellets
o Explosives damage is dependent on damage values for the explosive type [LAW, nade, flame arrow], not the weapon.
o Cluster nade damage cannot be modified.
o Kills are credited to the bullet entity and not the actual gun that fired. Therefore, an MP5 shooting arrows will be credited as a Rambo bow kill and not an MP5 kill.
Bullet Entities:
1 - plain bullet
2 - frag grenade
3 - shotgun pellets
4 - m79 grenade
5 - flame
6 - punch
7 - arrow
8 - flame arrow
9 - cluster bomb
10 - bomblet
11 - knife/chainsaw
12 - LAW missile
13 - knife
14 - M2 bullet
In the current version of Soldat, there is also a separate WM settings files for when Realistic mode is turned on called
weaponsrealistic.iniThis file should essentially be a copy of weapons.ini, but if any changes are to occur when Realistic mode is turned on, then tweak the values in weaponsrealistic.ini.
PlaytestingOnce done,
[Your Mod] can be run by executing the program
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. WM balancing doesn't warrant a restart of Soldat though, since the command
loadwepCan load an updated WM in the middle of gameplay. Commands can be inputted by opening the console by pressing [ / ].
MiscellaneousInterfaces can round out a mod to help create a more immersive experience. Regular unregistered interfaces can be found in
Soldat/Interface-gfxRegistered users can use custom interfaces found in
Soldat/Custom-interfacesAnd these are 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.
Do note that modded interfaces do not go into the
Mods/[Your Mod] folder. Soldat only reads interfaces in the primary Soldat/ directory.
Mod managers have become popular recently. With mods becoming progressively larger and weapon selections more broad, mod managers/mixers [coined "configurators"] such as
Ivahn's have become nearly standard fare. Unfortunately there hasn't been any updated versions compatible with PNGs, which is something to watch out for.
Mod Launcher by Serial Killer provides an alternate to the default Start.exe launcher by also including a PNG-compatible preview of the modded weapons.
Other utilities:
Gostek Viewer by AnnaGostek Edit v0.2b by FoZ -
ZIP -
RARMod Swapper by Stealth870Soldat Mod Manager by mar77aSoldat Mod Mixer by edakSoldier Preview by BManx2000POA Editor by szevvy - This is an advanced tool for modifying actual animations. Be aware that modifying animations can prevent online play.
Final PresentationMods are usually packed in .zip, .rar, or occasionally in installer .exes. Creating a .zip package can be as simple as selecting [Your Mod], right-clicking, and selecting Send to -> Compressed (zipped) 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 Mods/[Your Mod]. 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 gameplay. Screenshots can be uploaded to a image hoster like
Photobucket.com or
Imageshack.com.
Similarly, the mod package should be uploaded to a file hoster like
Filefront.com or
Box.netDon'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 Soldat/ or into Soldat/Mods.