Everything you always wanted to know about modding
Clone this wiki locally
Here are some informations, links, tutorials that you might need to know before starting the creation of a mod for OpenRA.
First of all, you must have installed OpenRA. There are three kind of versions you might be interested in:
- the official release, always available from here: http://openra.net.
- the playtest (recommanded), which is a pre-compiled development version: http://openra.net/download/
More information about the installation can be found here.
If you are a developer, you might also be interested in browsing these pages:
IMPORTANT: Once you have installed OpenRA, make sure to install games contents too: more information.
Which tools (softwares) are needed to create a mod ?
OpenRA comes with a easy understandable map editor. With this tool you can create or edit maps that already exist.
A command line tool that allows you to convert 8-bit PNGs with an indexed palette to SHP files.
OpenRA TileSet Builder
This tool allows you to edit/create Tilesets.
This tool can preview your sprite in the way it will look in-game, with applying TS/RA2 shadows, turrets with offsets and custom color remaps.
- http://www.ppmsite.com/forum/viewtopic.php?t=28686 (download page)
- https://github.com/katzsmile/OpenRA/tree/master/SHPViewer (source code)
- https://github.com/OpenRA/OpenRA/issues/2532 (alternatives ?)
OS SHP Builder
Description goes here
- http://www.ppmsite.com/?go=shpbuilderinfo (download page)
- http://www.ppmsite.com/forum/index.php?f=121 (support forum)
- http://www.sleipnirstuff.com/forum/viewtopic.php?t=15980&highlight=shp (not compatible with RA1/TD)
Many tools used to view/edit/convert game files.
- http://xhp.xwis.net/ (Home page)
- http://xhp.xwis.net/documents/guide_XCC_Mixer.html (Tutorial - how to use it)
Voxel Section Editor III
Voxel Section Editor III (also known as VXLSE III) is an open source voxel creation and editing tool for Command & Conquer Tiberian Sun and Command & Conquer Red Alert 2 voxel files.
Where to start? I am lost!
First of all, you can have a look at these pages:
How to create a map? (with current graphics)
Just launch "OpenRA.Editor.exe" that is located in your game installation folder and follow this tutorial:
How to modify current graphics (terrain tiles)?
1. Make sure you have downloaded game contents (for ra, cnc, d2k).
After installing Openra and the 3 official mods (cnc, ra, d2k) you will find .mix files in your "C:\Users\yourusername\Documents\OpenRA\Content\ra\" folder. It seems they contain graphics of these mods. Note that you can't directly edit them, you have to extract/convert them to PNG files first.
2. If you want to extract terrain tiles from the game, use OpenRA.Utility (the following command is an example):
OpenRA.Utility.exe --tmp-png ra cliff01
3. If you want to create a new tileset, check these pages:
How to convert SHP to PNG files (for example, to edit units)?
To do this, you need OpenRA.Utility (command line only).
Go to Start menu, and search for "cmd.exe". Run it. You'll notice a black terminal, it's an emulation of MS-DOS. There is no graphical interface yet. But don't worry, here is an example: Go to your OpenRA installation folder with:
cd c:\program files\openra
openra.utility --extract ra temperat.pal && openra.utility --extract ra mig.shp && openra.utility --png mig.shp temperat.pal
This command will convert the MIG aircraft to the following files: mig.shp, mig.png and the temperat.pal (palette) file.
Are there tutorials to help me create new units with 3DS MAX?
- https://github.com/OpenRA/OpenRA/wiki/Pixelart#converting-a-3d-infantry-model-to-sprites (infantry)
- add here a tutorial for a vehicle for example
How to set up the camera angle view correctly in 3DS MAX?
You can simply use one of these default .MAX scenes:
- http://www.sleipnirstuff.com/forum/viewtopic.php?f=83&t=15123 (Raminator's default scene)
Or you can also use this maxscript file (not tested):
How to correctly export frames of a unit created with 3DSMAX?
You can simply compile all rendered images with Sprite Sheet Packer:
Alternatively, here are some maxscripts or plugins:
How to deal with OpenRA palette files in Photoshop?
- Open OpenRA and go to Assets Browser (enable it in Settings > Debug)
- In the Assets Browser, load a unit and click SELECT TO PNG (to convert it)
- You'll find a new PNG image in your \My Documents\OpenRA\ folder
- Open this (PNG) image in Photoshop
- Go to Image - Mode - Color Table - Save the current palette as ACT file
- Go to Swatch panel and choose "Replace Swatches"
- Load the ACT file in your Swatches panel
Old Westwood games used different palette files (.PAL) than those used by Microsoft (the file type is the same but not compatible). That's why you get errors like "Could not load the color table because it is not a valid Microsoft palette file" when you try to use the .PAL palette file in Photoshop.
So, I have tried several tools (converters) and it seems that the only one that supports Westwood palettes is ACT2PAL/PAL2ACT: http://randomselect.piiym.net/tools/
You can test these .ACT files in your Photo Editing Software:
I need help editing the yaml file of my new vehicle
- http://www.sleipnirstuff.com/forum/viewtopic.php?f=83&p=278149#278149 (tank)
- http://www.sleipnirstuff.com/forum/viewtopic.php?f=83&t=16262 (aircraft carrier)
- https://github.com/OpenRA/OpenRA/wiki/Traits (complete documentation about Traits)
Isn't there a tutorial for all the Photoshop steps?
In fact, you are not obliged to use the script from above, you can just import images from 3DSMAX and start editing them in Photoshop. Here is a step-by-step tutorial to help you:
How to import RA2 units (Voxel) to openra?
How can I change sound effects?
Before starting to create your mod, there are file formats you should know:
AUD is a file extension for an audio file using AUD compression. AUD compression was created by Westwood Studios and is used in several computer games, including Command and Conquer and Red Alert.
- http://vladan.bato.net/cnc/aud3.txt (Audio file format)
- http://www.sleipnirstuff.com/forum/viewtopic.php?f=83&t=16196 (how to change sound effects)
Contains graphics for a map.
- more links to come
- more links to come
Font file format used in Command&Conquer and Red Alert.
- more links to come
MIX files are used to store other files, in the same way as ZIP files, but without compression. Used in Command&Conquer: Tiberian Dawn, Red Alert and Tiberian Sun. After installing OpenRA (and official mods), you will find .mix files in your "C:\Users\yourusername\Documents\OpenRA\Content\ra\" folder. Check out XCC Tools (below) if you want to edit these files.
OpenRA maps are created in a .oramap file extension, these files basically work as a .zip archive. Each map contains map.yaml, map.bin and several .shp files. The map.yaml contains basic information about the map.
OpenRA loads native RA/CnC palettes (.pal files) which are a list of 256 colors in the Westwood PAL format. If you plan to create new units, you will have to use the RA color palette in your Photo/Drawing Editing software.
- http://www.sleipnirstuff.com/forum/viewtopic.php?f=83&p=279185 (palettes and Photoshop)
- http://www.sleipnirstuff.com/forum/viewtopic.php?f=83&t=16176 (Tiberian Dawn and Red Alert Palette Files)
- http://cnc-comm.com/community/index.php?action=downloads;sa=view;down=27 (useful palette files)
File format used to store Dune2000 tilesets.
Seems to store tiles ? or some icons..
The .SHP files contain almost all the graphics : units, structures, trees, etc.
It seems to be a file format that stores terrain images (not sure)
Tiberian Sun Voxel Animation Format
- http://xhp.xwis.net/documents/VXL_Format.txt (Tiberian Sun voxel animation)
- http://www.sleipnirstuff.com/forum/viewtopic.php?f=82&p=281901#281901 (Adding voxel support)
- http://www.sleipnirstuff.com/forum/viewtopic.php?t=15327&highlight=isometry (Adding isometry)
- How to: import units from Red Alert 2 / TS to OpenRA
The map.yaml file contains basic information about the (.oramap) map file.
Lacking ideas ?
Other links (from the modding community)
Thanks to all OpenRA developers. Many documents where taken from the XCC Home page, thanks to Olaf van der Spek.