Editing Mod Creation
Jump to navigation
Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
− | |||
− | |||
Zero-K runs on the [https://springrts.com Spring engine], which supports a lot of modification of game files. The most advanced mods may amount to creating an entire new game. The Spring engine wiki is a valuable resource for game and mod development using the engine, especially the [https://springrts.com/wiki/Gamedev:Main gamedev page]. | Zero-K runs on the [https://springrts.com Spring engine], which supports a lot of modification of game files. The most advanced mods may amount to creating an entire new game. The Spring engine wiki is a valuable resource for game and mod development using the engine, especially the [https://springrts.com/wiki/Gamedev:Main gamedev page]. | ||
Line 6: | Line 4: | ||
== Cosmetic and UI changes == | == Cosmetic and UI changes == | ||
− | Some changes can be made just by adding files to your install directory. The following subfolders of the game repository should support this (feel free to attempt more): unitpics, sounds, unittextures, bitmaps, anims, icons and LuaUI. Replace a file by perfectly matching its name and path | + | Some changes can be made just by adding files to your install directory. The following subfolders of the game repository should support this (feel free to attempt more): unitpics, sounds, unittextures, bitmaps, anims, icons and LuaUI. Replace a file by perfectly matching its name and path. |
− | + | Here's [[:File:LocalColors.zip|an example config replacement]] for team colour config that you can place in <code>LuaUI/Configs/LocalColors.lua</code>. | |
− | + | ||
− | + | Everything in the main menu repository can be overridden. | |
− | |||
=== Widgets === | === Widgets === | ||
− | + | For LuaUI changes you will need to enabled local widgets and load local widgets first through the advanced settings in <code>Settings/Interface/Misc</code>. Completely new widgets can also be added and loaded. | |
== More Significant Changes == | == More Significant Changes == | ||
Changing animations, unit behaviour, game mechanics or statistics is a little trickier than cosmetic changes. These types of changes affect everyone in a multiplayer game (as opposed to local interface changes) so require the creation and distribution of a game archive. Entirely new games for the Spring engine can be made with this method. | Changing animations, unit behaviour, game mechanics or statistics is a little trickier than cosmetic changes. These types of changes affect everyone in a multiplayer game (as opposed to local interface changes) so require the creation and distribution of a game archive. Entirely new games for the Spring engine can be made with this method. | ||
− | + | === Mutators === | |
+ | A mutator is a mod archive that can add and override files relative to a base archive. Mods that make relatively small changes to Zero-K should be made with a mutator, as this keeps filesizes low and allows the mod to stay up to date with fixes or changes to other parts of Zero-K. Even large projects should probably start out as mutators, as it enables the project to build up to handling every aspect of creating a full game archive. | ||
− | + | is to make a mutator, this is a game package that includes modified files but otherwise uses the files of the base game. Here is an example mutator [[:File:BaseMod.sdd.zip|BaseMod.sdd.zip]] to get you started. Unzip it in Zero-K/games, and yes, the folder should be named with the extension ".sdd". Your file stucture should look like this. | |
− | |||
[[File:baseModFile.png]] | [[File:baseModFile.png]] | ||
Line 32: | Line 29: | ||
=== Running your mod - Singleplayer === | === Running your mod - Singleplayer === | ||
− | |||
− | |||
− | |||
− | |||
Open a skirmish via the singleplayer menu and click 'Adv Options'. | Open a skirmish via the singleplayer menu and click 'Adv Options'. | ||
[[File:AdvOptions.png]] | [[File:AdvOptions.png]] | ||
− | Click 'Select Mod' and select your mod from the list | + | Click 'Select Mod' and select your mod from the list. The example above is called 'Zero-K Base Mutator v1'. Click Apply. |
− | [[File: | + | [[File:SelectMod.png]] |
The text beneath the Adv Options button should change from 'Zero-K vX.Y.Z.W' to the name of your mod. | The text beneath the Adv Options button should change from 'Zero-K vX.Y.Z.W' to the name of your mod. | ||
Line 49: | Line 42: | ||
=== Running your mod - Multiplayer === | === Running your mod - Multiplayer === | ||
− | First check modinfo.lua to make sure that your mod's name, shortname and version are unlikely to clash with any other | + | First check modinfo.lua to make sure that your mod's name, shortname and version are unlikely to clash with any other mod. Then turn your .sdd into a .sdz through some unknown process, possibly involving 7z. Here is an example of a packaged version of the base mod: file not found. Upload your archive to [https://zero-k.info/Maps zero-k.info/Maps]. |
− | |||
− | |||
− | |||
− | Here is a | ||
[[File:MapUpload.png]] | [[File:MapUpload.png]] | ||
− | + | Host a Custom passworded multiplayer battle. Select your mod from the 'Select Mod' list under 'Adv Options' (just as you would for singleplayer). Other players that join the room will automatically download your mod. Click start to play. It is best if you play from your sdz version rather than your sdd version, as any changes between your local version and uploaded archive could cause desync. It is a good idea to give your development .sdd version a unique version name. | |
− | |||
− | |||
− | |||
− | |||
− | It is best if you play from your sdz version rather than your sdd version, as any changes between your local version and uploaded archive could cause desync. It is a good idea to give your development .sdd version a unique version name | ||
− | |||
− | |||
[[Category:Development]]{{Navbox manual}} | [[Category:Development]]{{Navbox manual}} |