Difference between revisions of "Modding Tutorials/Recommended software"

From RimWorld Wiki
Jump to navigation Jump to search
(GIMP is written all-caps, not Gimp)
(Xamarin is not an IDE but a framework for developing cross-platform apps, among other things. To be able to use Xamarin, you also need an IDE such as Visual Studio. In addition, Xamarin has now been replaced by .Net Maui.)
 
(16 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 +
{{DISPLAYTITLE:Recommended Software}}
 +
 
{{BackToTutorials}}
 
{{BackToTutorials}}
<br/>
 
 
=What you'll learn=
 
 
This tutorial lists a few programs you could use to edit XML and C# code.<br/><br/>
 
  
=XML Code Editors=
+
This is a short list of programs that are useful for making mods. Most of the options listed here are free, but if you have development experience and have a favorite IDE, then by all means use what you're familiar and/or comfortable with!
  
===Basic Editors===
+
=XML Editors=
  
Just about any text editor can write XML code, but some are better suited than others. Rich text editors (WordPad, anything part of any Office suite) should be avoided. Windows' simple notepad will work, but you'll want something which offers things like "Find in Files" functionality and syntax highlighting. If you're even somewhat serious about modding, the following software will help you immensely:<br/>
+
While XML files are simple text files, basic Windows Notepad lacks any kind of syntax highlighting and rich text editors such as WordPad will insert invisible characters that are not recommended for machine-readable data files. The following are basic code editors that are recommended for writing or editing XML files:
  
 
{| class="wikitable"
 
{| class="wikitable"
 
! Software !! OS !! Description
 
! Software !! OS !! Description
 
|-
 
|-
| [https://notepadqq.com/s/ NotepadQQ] || Linux || Notepadqq is a Notepad++-like editor for the Linux desktop so has the exact same UI and functions as Notepad++
+
| [http://notepad-plus-plus.org/download/ Notepad++] || Windows || Light-weight editor with extension support. Adding the "XML Tools" plugin is recommended for editing XML files, as it adds additional validation and error-checking.
 
|-
 
|-
| [http://notepad-plus-plus.org/download/ Notepad++] || Windows || Light-weight editor with extension support.
+
| [https://code.visualstudio.com/ Visual Studio Code] || Linux/Windows/Mac || A text editor with emphasis on productivity and extension support. Also has an excellent XML plugin.
 
|-
 
|-
 
| [http://www.sublimetext.com/ Sublime Text] || Linux/Windows/Mac || Natively supports many programming languages and markup languages, and its functionality can be extended by users with plugins - A brief overview of its functionality can be found [http://webdesign.tutsplus.com/tutorials/useful-shortcuts-for-a-faster-workflow-in-sublime-text-3--cms-22185 here] and a full course [http://code.tutsplus.com/courses/perfect-workflow-in-sublime-text-2 here]
 
| [http://www.sublimetext.com/ Sublime Text] || Linux/Windows/Mac || Natively supports many programming languages and markup languages, and its functionality can be extended by users with plugins - A brief overview of its functionality can be found [http://webdesign.tutsplus.com/tutorials/useful-shortcuts-for-a-faster-workflow-in-sublime-text-3--cms-22185 here] and a full course [http://code.tutsplus.com/courses/perfect-workflow-in-sublime-text-2 here]
|-
 
| [https://atom.io/ Atom] || Linux/Windows/Mac || A hackable electron-based text editor with emphasis on extensions and GitHub collaboration.
 
|-
 
| [https://code.visualstudio.com/ Visual Studio Code] || Linux/Windows/Mac || A text editor with emphasis on productivity and extension support.
 
 
|-
 
|-
 
| [http://xmlnotepad.codeplex.com/releases/ XML Notepad] || Windows || XML-oriented editor with a lot of features you will most likely never use in Rimworld modding
 
| [http://xmlnotepad.codeplex.com/releases/ XML Notepad] || Windows || XML-oriented editor with a lot of features you will most likely never use in Rimworld modding
Line 30: Line 23:
 
|}<br/>
 
|}<br/>
  
===Advanced Editors===
+
=IDEs=
  
There's many editors out there specifically made for XML code. Because Rimworld uses XML in a very simple way, advanced code editors are rarely needed. In case you're ever in need of one, however, the following ones might help:<br/>
+
Writing C# code for custom assemblies requires not only code editing capability but also the ability to compile raw code into executable code. This is generally best done in an Integrated Development Environment that has a compiler built-in.
  
 
{| class="wikitable"
 
{| class="wikitable"
 
! Software !! OS !! Description
 
! Software !! OS !! Description
 
|-
 
|-
| [http://sourceforge.net/projects/xpontus/files/ XPontus] || Windows || Has a tree view and is capable of checking XML for errors, fixing tabs and creating schema's detailing every tag's data types
+
| [http://www.visualstudio.com/ Visual Studio] || Windows/Mac || Microsoft's flagship IDE and strongly recommended if you are running Windows. The [https://www.visualstudio.com/products/visual-studio-community-vs Community Edition] is free for individuals and small teams, and does everything you need to make a RimWorld mod assembly out of the box.
 +
|-
 +
| [https://code.visualstudio.com/ Visual Studio Code] || Linux/Windows/Mac || VS Code can technically be used for C# as well, but you will need to do a little more legwork to get it to actually build the assembly as it's not a true IDE. VS Code is generally recommended if you are using Linux, since there is no Visual Studio for Linux.
 
|-
 
|-
| [http://xmlgrid.net/ XMLGrid] || - || Capable of validating XML and turning it into Excel Spreadsheets, XSD Charts and an online table detailing each tag of a certain type and its contents
+
| [http://www.icsharpcode.net/OpenSource/SD/Download/ SharpDevelop] || Windows || Free IDE specifically made for C#
 
|-
 
|-
| [http://codebeautify.org/xmlviewer Codebeautify's xmlviewer] || - || Can display as a tree view, automatically format/indent your code and can validate and show errors too. Also have a function share code (like [http://codebeautify.org/xmlviewer/b39586 that])
+
| [https://www.jetbrains.com/rider/ Rider] || Windows/Mac/Linux|| Unless you're a student it costs, but offers a lot of tools across all platforms.
|}<br/>
+
|}
An alternative to "Advanced editors" are plugins/extensions. Good extensions can highlight syntax (if not already standard), format XML, find xpath, auto-close XML tags, supports renaming tags, and more.
 
<br/>
 
  
=IDEs=
+
Whichever IDE you choose, make sure it's capable of compiling for .NET Framework 4.7.2. If you for whatever reason don't have this framework installed, you can download it [https://dotnet.microsoft.com/download/dotnet-framework/net472 here].
  
C# code is best edited in an IDE (Integrated Development Environment) to make the process of editing code, managing a solution's content and compiling its projects both easier and faster. Any IDE for C# will probably work just fine, so here's a list of suggested editors:<br/><br/>
+
=C# Decompilers=
  
{| class="wikitable"
+
''See [[Modding_Tutorials/Decompiling_source_code|Decompiling source code]]''
! Software !! OS !! Description
 
|-
 
| [http://www.visualstudio.com/ Visual Studio] || Windows || Very extensive IDE with paid, trial and free versions. Any of these versions will probably work, so you might as well take [https://www.visualstudio.com/products/visual-studio-community-vs Visual Studio Community] which is free for individuals and small teams. Always the most up-to-date
 
|-
 
| [http://www.icsharpcode.net/OpenSource/SD/Download/ SharpDevelop] || Windows || Free IDE specifically made for C#
 
|-
 
| [http://www.monodevelop.com/download/ MonoDevelop] || Linux/Windows/Mac || Free, cross-platform IDE with customizable user interface. Has support for C# as well as some other languages you won't need for Rimworld
 
|-
 
| [http://www.xamarin.com/platform Xamarin] || Mac || It's free but you need to register to download it. Probably your best option on a mac.
 
|}
 
  
'''For Linux users:''' See also [https://ludeon.com/forums/index.php?topic=46775.0 this thread] about working with C# on ArchLinux - it may be useful.
+
=Graphics Software=
  
Whichever IDE you choose, make sure it's capable of compiling for .NET Framework 4.7.2. If you for whatever reason don't have this framework installed, you can download it [https://dotnet.microsoft.com/download/dotnet-framework/net472 here].<br/><br/>
+
For making textures, you will need a graphics program. The following are simply popular options, any software that can export transparent PNGs will work for RimWorld though.
  
=Additional C# Software=
+
==Raster Graphics==
  
Besides your IDE it's strongly recommended to install the following software for decompiling:<br/>
+
Raster graphics are graphics that are made of pixels. They can lose detail when resized, but may be more comfortable to use for those with traditional art experience.
  
 
{| class="wikitable"
 
{| class="wikitable"
 
! Software !! OS !! Description
 
! Software !! OS !! Description
 
|-
 
|-
| [https://github.com/0xd4d/dnSpy dnSpy] || Windows || Software which is capable of [[Modding Tutorials/Decompiling source code|decompiling source code]], which is very useful in Rimworld modding (some authors have had better luck with dnSpy than ILSpy?)
+
| [http://www.photoshop.com/products Adobe Photoshop] || Windows/Mac || RimWorld's original graphics are made in Photoshop and the official Art Source generally contains PSD files. Photoshop is the gold standard for graphics software, but also very expensive. There are a lot of free alternatives.
 +
|-
 +
| [http://www.gimp.org/ GIMP] || Linux/Windows/Mac || A free, open-source alternative to Photoshop that's been around since 1998. GIMP has a large user community, with great list of [http://www.gimp.org/tutorials/ tutorials] on the official sites
 
|-
 
|-
| [http://ilspy.net/ ILSpy] || Windows/Linux/Mac || Software which is capable of [[Modding Tutorials/Decompiling source code|decompiling source code]], which is very useful in Rimworld modding
+
| [https://krita.org/en/ Krita] || Linux/Windows/Mac || A free digital painting software. Better suited than GIMP for freehand painting and should feel like home pretty quick for Photoshop users.
 
|-
 
|-
| [http://www.monodevelop.com/download/ MonoDevelop] || Linux/Windows/Mac || The Linux version of the software has an integrated decompiler for .DLLs
+
| [https://www.getpaint.net/ Paint.net] || Windows || A free photo editing program preferred by some modders. It is Windows-only.
|}<br/><br/>
+
|}
  
=Graphics Software=
+
==Vector Graphics==
  
For making textures you will need graphics software. Any image editing program should work, and if you have an alternative to the following links that's probably okay:<br/>
+
Vector graphics are created using mathematical formulae for lines and shading. They may be easier to work with if you do not have an art tablet or prior art experience, and RimWorld's simplistic art style is easily emulated with vector graphics. Note however that as noted above, RimWorld's art source is in Photoshop files and not vectors as many people believe.
  
 
{| class="wikitable"
 
{| class="wikitable"
 
! Software !! OS !! Description
 
! Software !! OS !! Description
 
|-
 
|-
| [http://www.photofiltre-studio.com/download-en.htm Photofiltre Studio] || Windows || Functional software with very little user interface clutter for its applications. Doesn't support pen tablet, and has a 100% free (non-trial) version called [http://photofiltre.free.fr/download_en.htm Photofiltre]
+
| [https://www.adobe.com/products/illustrator.html Adobe Illustrator] || Windows/Mac || Adobe's primary vector drawing software package. Also the gold standard for vector graphics, but just like Photoshop is expensive. A few free options also exist.
 
|-
 
|-
| [http://inkscape.org/en/download/ Inkscape] || Linux/Windows/Mac || Free vector graphic program with a steeper learning curve due to the vector based image editing. Vector graphics can look better than bitmap graphics in Rimworld
+
| [http://inkscape.org/en/download/ Inkscape] || Linux/Windows/Mac || Free vector graphic program with a steeper learning curve due to the vector based image editing.
|-
+
|}
| [http://www.photoshop.com/products Photoshop] || Windows/Mac || Paid software with a trial version. Rimworld's original graphics are made in Photoshop (they're .PSD files)
 
|-
 
| [http://www.gimp.org/ GIMP] || Linux/Windows/Mac || A free, open-source alternative to Photoshop that's been around since 1998. GIMP has a large user community, with great list of [http://www.gimp.org/tutorials/ tutorials] on the official sites
 
|-
 
| [https://krita.org/en/homepage/ Krita] || Linux/Windows/Mac || A free digital painting software. Better suited than GIMP for painting and should feel like home pretty quick for Photoshop users.
 
|}<br/><br/>
 
  
 
=Audio Software=
 
=Audio Software=
Line 106: Line 85:
 
|-
 
|-
 
| [http://sourceforge.net/projects/audacity/ Audacity] || Linux/Windows/Mac || Audio editing software with many tutorials online, lots of useful functionality and a relatively readable interface
 
| [http://sourceforge.net/projects/audacity/ Audacity] || Linux/Windows/Mac || Audio editing software with many tutorials online, lots of useful functionality and a relatively readable interface
|}<br/><br/>
+
|}
 
 
=Next up=
 
  
# [[Modding Tutorials/XML file structure|XML File Structure]] starts you off with the XML side of modding.
+
=Additional Links=
# [[Modding_Tutorials/Setting up a solution|Setting up]] starts you off with the C# side of modding. Knowledge of the XML part can and will be very useful.<br/>
 
  
 +
* [[Modding_Tutorials/Mod_Folder_Structure|Mod Folder Structure]] - How to set up a mod folder.
 +
* [[Modding_Tutorials/Setting up a solution|Setting up a solution]] - How to set up a C# solution and project for building a RimWorld mod assembly.
  
 
[[Category:Modding tutorials]]
 
[[Category:Modding tutorials]]

Latest revision as of 20:38, 7 May 2024


Modding Tutorials

This is a short list of programs that are useful for making mods. Most of the options listed here are free, but if you have development experience and have a favorite IDE, then by all means use what you're familiar and/or comfortable with!

XML Editors[edit]

While XML files are simple text files, basic Windows Notepad lacks any kind of syntax highlighting and rich text editors such as WordPad will insert invisible characters that are not recommended for machine-readable data files. The following are basic code editors that are recommended for writing or editing XML files:

Software OS Description
Notepad++ Windows Light-weight editor with extension support. Adding the "XML Tools" plugin is recommended for editing XML files, as it adds additional validation and error-checking.
Visual Studio Code Linux/Windows/Mac A text editor with emphasis on productivity and extension support. Also has an excellent XML plugin.
Sublime Text Linux/Windows/Mac Natively supports many programming languages and markup languages, and its functionality can be extended by users with plugins - A brief overview of its functionality can be found here and a full course here
XML Notepad Windows XML-oriented editor with a lot of features you will most likely never use in Rimworld modding
Geany Linux/Windows/Mac Extremely lightweight text editor with syntax highlighting and some other basic features oriented towards XML and code editing.


IDEs[edit]

Writing C# code for custom assemblies requires not only code editing capability but also the ability to compile raw code into executable code. This is generally best done in an Integrated Development Environment that has a compiler built-in.

Software OS Description
Visual Studio Windows/Mac Microsoft's flagship IDE and strongly recommended if you are running Windows. The Community Edition is free for individuals and small teams, and does everything you need to make a RimWorld mod assembly out of the box.
Visual Studio Code Linux/Windows/Mac VS Code can technically be used for C# as well, but you will need to do a little more legwork to get it to actually build the assembly as it's not a true IDE. VS Code is generally recommended if you are using Linux, since there is no Visual Studio for Linux.
SharpDevelop Windows Free IDE specifically made for C#
Rider Windows/Mac/Linux Unless you're a student it costs, but offers a lot of tools across all platforms.

Whichever IDE you choose, make sure it's capable of compiling for .NET Framework 4.7.2. If you for whatever reason don't have this framework installed, you can download it here.

C# Decompilers[edit]

See Decompiling source code

Graphics Software[edit]

For making textures, you will need a graphics program. The following are simply popular options, any software that can export transparent PNGs will work for RimWorld though.

Raster Graphics[edit]

Raster graphics are graphics that are made of pixels. They can lose detail when resized, but may be more comfortable to use for those with traditional art experience.

Software OS Description
Adobe Photoshop Windows/Mac RimWorld's original graphics are made in Photoshop and the official Art Source generally contains PSD files. Photoshop is the gold standard for graphics software, but also very expensive. There are a lot of free alternatives.
GIMP Linux/Windows/Mac A free, open-source alternative to Photoshop that's been around since 1998. GIMP has a large user community, with great list of tutorials on the official sites
Krita Linux/Windows/Mac A free digital painting software. Better suited than GIMP for freehand painting and should feel like home pretty quick for Photoshop users.
Paint.net Windows A free photo editing program preferred by some modders. It is Windows-only.

Vector Graphics[edit]

Vector graphics are created using mathematical formulae for lines and shading. They may be easier to work with if you do not have an art tablet or prior art experience, and RimWorld's simplistic art style is easily emulated with vector graphics. Note however that as noted above, RimWorld's art source is in Photoshop files and not vectors as many people believe.

Software OS Description
Adobe Illustrator Windows/Mac Adobe's primary vector drawing software package. Also the gold standard for vector graphics, but just like Photoshop is expensive. A few free options also exist.
Inkscape Linux/Windows/Mac Free vector graphic program with a steeper learning curve due to the vector based image editing.

Audio Software[edit]

Recording your own audio for mods might be too much to ask, but editing audio is always possible. This can be done with the following software or your own alternative:

Software OS Description
Audacity Linux/Windows/Mac Audio editing software with many tutorials online, lots of useful functionality and a relatively readable interface

Additional Links[edit]