Difference between revisions of "Modding Tutorials"
Jump to navigation
Jump to search
Line 11: | Line 11: | ||
----- | ----- | ||
− | + | ==What's a mod?== | |
A mod is a folder containing data the game reads/loads. Mods can add, remove or alter the content of other mods (including the Core mod) in the broadest sense of the word. For more info, see also [[Modding]]. | A mod is a folder containing data the game reads/loads. Mods can add, remove or alter the content of other mods (including the Core mod) in the broadest sense of the word. For more info, see also [[Modding]]. | ||
− | + | ==Introduction to modding== | |
# [[Modding Tutorials/First Steps|First Steps and Some Links]] | # [[Modding Tutorials/First Steps|First Steps and Some Links]] | ||
# [[Modding Tutorials/Essence| Essence of Modding]] | # [[Modding Tutorials/Essence| Essence of Modding]] | ||
Line 28: | Line 28: | ||
# [[Modding Tutorials/Recommended software|Recommended Software]] | # [[Modding Tutorials/Recommended software|Recommended Software]] | ||
− | + | ==General modding== | |
* [[Modding Tutorials/Testing mods|Testing Mods]] | * [[Modding Tutorials/Testing mods|Testing Mods]] | ||
Line 39: | Line 39: | ||
* [[Modding_Tutorials/Modifying defs|Modifying Defs]] | * [[Modding_Tutorials/Modifying defs|Modifying Defs]] | ||
− | + | ==XML tutorials== | |
− | |||
# [[Modding Tutorials/XML file structure|XML File Structure]] | # [[Modding Tutorials/XML file structure|XML File Structure]] | ||
Line 49: | Line 48: | ||
# [[Modding Tutorials/PatchOperations|PatchOperations]], replace specific xml elements of core files while keeping the rest untampered. Uses xpath. | # [[Modding Tutorials/PatchOperations|PatchOperations]], replace specific xml elements of core files while keeping the rest untampered. Uses xpath. | ||
− | + | ==C# tutorials== | |
# [[Modding_Tutorials/Setting up a solution|Setting up]] | # [[Modding_Tutorials/Setting up a solution|Setting up]] | ||
# [[Modding_Tutorials/Hello World|Hello World]] | # [[Modding_Tutorials/Hello World|Hello World]] | ||
Line 70: | Line 69: | ||
#* [[Modding Tutorials/ExposeData|ExposeData]] - Save stuff | #* [[Modding Tutorials/ExposeData|ExposeData]] - Save stuff | ||
#* [[Modding Tutorials/BigAssListOfUsefulClasses|The big ass list of useful classes]] - A non-exhaustive list of classes you'll use most | #* [[Modding Tutorials/BigAssListOfUsefulClasses|The big ass list of useful classes]] - A non-exhaustive list of classes you'll use most | ||
+ | #* [https://github.com/Mehni/ExampleJob/wiki ExampleJob] - Mehni's top to bottom breakdown of Jobs. | ||
+ | |||
+ | ==Art Tutorials== | ||
+ | * [https://spdskatr.github.io/RWModdingResources/artstyle Artstyle] - Officially unofficial guide to RimWorld's Artstyle | ||
+ | * [https://www.reddit.com/r/RimWorld/comments/5tn1pi/rimworldstyle_sprite_tutorials/ Ekksu's guide to creating RimWorld animals] | ||
+ | * [https://steamcommunity.com/sharedfiles/filedetails/?id=1114369188 ChickenPlucker's guide to creating apparel] | ||
+ | * [https://github.com/seraphile/rimshare/wiki/Colouring-in-Images Seraphile's guide to masks] | ||
<br/><br/> | <br/><br/> |
Revision as of 08:45, 8 February 2019
|
This is the table of contents for the modding tutorial. Here, you'll learn step by step how to create mods of gradually increasing complexity.
In light of little official documentation, most of the knowledge here was gained by experience, trial-and-error, decompiling and learning from the source. Keep in mind that RimWorld is a big game that underwent substantial code changes during its alphas. Some information you find may be outdated.
What's a mod?
A mod is a folder containing data the game reads/loads. Mods can add, remove or alter the content of other mods (including the Core mod) in the broadest sense of the word. For more info, see also Modding.
Introduction to modding
- First Steps and Some Links
- Essence of Modding
- Exploring the Folder Structure
- Mod Folder Structure
- Recommended Software
General modding
XML tutorials
- XML File Structure
- Introduction to XML Defs
- In-depth XML Def tutorials
- PatchOperations, replace specific xml elements of core files while keeping the rest untampered. Uses xpath.
C# tutorials
- Setting up
- Hello World
- Decompiling Source Code
- Writing Custom Code
- Linking XML and C#
- Alter Code at Runtime with Harmony - this is a best practice for modifying game code, replacing C# code injection to reduce Mod Conflicts
- The wonderful things you will want to do with C#
- Useful things:
- Mod settings - Add settings to your mod
- Def mod extensions - Add (custom) fields to Defs
- Custom Comp Classes - A quick overview of what types of Comps there are, and what they're suited for.
- ThingComp - Learn all there is to know about ThingComps.
- Components - GameComponents, WorldComponents, and MapComponents
- Introduction to Def Classes
- Using Harmony to optionally patch other mods for the sake of compatibility
- TweakValues - Change values on the fly (handy for quick iteration!)
- ExposeData - Save stuff
- The big ass list of useful classes - A non-exhaustive list of classes you'll use most
- ExampleJob - Mehni's top to bottom breakdown of Jobs.
Art Tutorials
- Artstyle - Officially unofficial guide to RimWorld's Artstyle
- Ekksu's guide to creating RimWorld animals
- ChickenPlucker's guide to creating apparel
- Seraphile's guide to masks
Examples
- Assembly Modding
- The Plague Gun based on the Plague Gun tutorial by Jecrell, updated for 1.0. Thread.
Dangerously Outdated
- https://rimworldwiki.com/wiki/Modding_Tutorials/Smelter
- https://rimworldwiki.com/wiki/Modding_Tutorials/Items
- https://rimworldwiki.com/wiki/Modding_Tutorials/Weapons
- https://rimworldwiki.com/wiki/Modding_Tutorials/ThingDef