OpenArena
Register
Advertisement


OpenArena's Mapping manual
Prologue /// Pre-mapping stage - Map gameplay /// Choosing an editor /// Your first map
Brush manipulation - 2D/3D clipping /// Curve manipulation /// Textures /// Introduction to Entities
Lighting - Advanced lighting /// Weapon/Item placement /// Triggers and movers - Dynamic features
Shaders /// Terrains and liquids /// Mapmodels /// Sounds /// Gametype support
Optimization and Troubleshooting - Hint brushes - Bot play - Troubleshooting
Final touches /// Compilation & packaging
Glossary of terms - Advanced features - Modelling a map - Editor differences - Default assets (Textures/Models/Sounds) - GPL

Once you've planned your map, the next logical step is to choose a Level Editor in order to make your map. In all fairness, two programs are needed for our basic mapping works: a level editor and a map compilator.

All of these programs support a wide (though different) range of games, not only Q3A/OA. This means that the mapping skills you can learn from this book can also be transferred to any of the other supported games, leaving you with only learning the particular perks about mapping for this or that game. As a countermeasure, you're required to have these games installed.

So not only you have to install the map editor itself, but also the game you want to map for, and in some cases, a compilator. The good thing is that many of these editors not only have their compilation tools integrated onto it, but also some of them are Software Libre (or "Free as in Freedom" Software), which means that they comply with the same licenses that OpenArena does.

For this manual, however, we're going to (mostly) use NetRadiant 1.5 with the Q3Map2 (for general mapping) and BSPC (for botplay compiling) compilers. The rest of the editors are covered in the Appendix D.

Why NetRadiant?[]

NetRadiant is a free open-source editor, which means that whatever content is generated with this editor automatically complies with OpenArena's GPLv2. It also has many useful tools other editors like GTKRadiant and Q3Radiant doesn't, such as caulk on new brushes and clipping, and support for many types of maps.

You can download a compiled version of the editor or build it yourself by downloading the source code from this page. You also need the GamePack in order to be able to make maps for OpenArena. And, of course, you also need the game itself.

Installation[]

Start by downloading a fresh copy of OpenArena 0.8.8 and unzipping it somewhere. (i.e. c:\openarena-dev or /home/<myuser>/openarena-dev/) Alternatively, you can build your own development version of the game.

Windows[]

  1. Run the installer. Pay attention to the installation folder. (i.e. c:\Program Files\NetRadiant)
  2. Download the gamepack and unzip it where you have installed NetRadiant. There should be a new file in the games folder called oa.game (i.e. c:\Program Files\NetRadiant\games\oa.game) and a new folder inside the NR folder called oa.game (i.e. c:\Program Files\NetRadiant\oa.game\)
    1. If you have downloaded the 0.8.8 version of the game, you don't need to do anything else.
    2. If you have built your own dev version of the game, you need to delete everything inside the oa.game\baseoa folder except the OASVN and OAX folders and replace it with the contents of both the OASVN and OAX folder contents. Then, rename shaderlist.txt to default_shaderlist.txt.
  3. Make sure you don't have any additional pk3 in your personal OA folder (i.e., C:\Documents and Settings\<myuser>\Application Data\OpenArena\baseoa or C:\Users\<myuser>\AppData\Roaming\OpenArena\baseoa) in order to avoid any conflict.
  4. You must build also the bspc tool in order to add botplay to your maps. You can get the compiled executable from any GTKRadiant package, or you can also build an updated version from a Git repository such as this one.

*Nix (Linux, Mac...)[]

  1. Unzip the editor somewhere. (i.e. /home/<myuser>/oadev/)
  2. Download the gamepack and unzip it where you have unzipped NetRadiant. There should be a new file in the games folder called oa.game (i.e. /home/<myuser>/oadev/NetRadiant/games/oa.game) and a new folder inside the NR folder called oa.game (i.e. /home/<myuser>/oadev/NetRadiant/oa.game/)
    1. If you have downloaded the 0.8.8 version of the game, you don't need to do anything else.
    2. If you have built your own dev version of the game, you need to delete everything inside the oa.game/baseoa folder except the OASVN and OAX folders and replace it with the contents of both the OASVN and OAX folder contents. Then, rename shaderlist.txt to default_shaderlist.txt.
  3. Make sure you don't have any additional pk3 in your personal OA folder (i.e., /home/<myuser>/.openarena/baseoa) in order to avoid any conflict.
  4. You must build also the bspc tool in order to add botplay to your maps. You can get the compiled executable from any GTKRadiant package, or you can also build an updated version from a Git repository such as this one.

Configuration[]

  1. Opening the editor for the first time asks you for the game you're going to map for (in our case, OpenArena), and the "engine" directory, which is where you have unzipped OA. (in our case, c:\openarena-dev or /home/<myuser>/openarena-dev/)
  2. Now go to Edit → Preferences, where the bulk of configuration takes place. In the left bar, you should check, by now:
    1. Interface → Layout allows you to select a working layout. A recommended layout is the third from the left, C/XY/XZ/YZ, as it has both the three viewports and the 3D view. You can later summon the Console by pressing O and the Texture Panel by pressing T.
    2. Settings → Brush: It has Use caulk for new brushes. This allows you to create new brushes and not to worry about them containing textures you might want or not. Also, if you cannot load a specific map, you might want to check Use alternative texture-projection ("brush primitives"). Use this if you ONLY plan to load map files created with other editors.
    3. Settings → Camera. Disable Enable far-clip plane in order to see the entirety of the map at any time and not to let the 3D view cut any distance.
    4. Settings → Clipper. Enable Clipper tool uses caulk. Same reason as caulk for new brushes.
    5. Settings → Autosave. Enable Autosave should be enabled. Frequency should be set to something as 10 maximum. Also, in order to save space on disk, check Save snapshots.

Why Autosave[]

Like any other software tool, NetRadiant is not immune to critical errors from itself, the operating system, or even the power sources. You have been working on your map for so long without saving, and then your OS threw a critical error at the wrong time, or the lights went off on your city, and you lost a lot of hours of work you put onto your map and you have to start again from scratch. Or, for some reasons, your map started to have some problems after your changes, or the changes themselves even prevented your map to compile, forcing you to restore a previous version and continue from there, if you're not capable of identifying the problem with the current one.

Having backups of previous versions may be useful also if you want to restore just a part of your map.

Needless to say, even with the autosave feature, don't forget to backup your .map files.

Building a development version of the game[]

Follow this step ONLY if you aren't going to map for the latest stable version of the game.[1]

The development version we're going to build is composed of both the official SVN repo and OpenArena eXpanded.

It's possible that in Linux you may also need to install the linux headers (or build dependencies) corresponding to your kernel version. In both cases, you may also need the ioquake3 source code. And it's possible that you might also want to copy the renderers included in the 0.8.8 zip package if you game fails to start.

First, you need to install a Subversion client. If you're in Windows, TortoiseSVN is the tool you need. On *nix systems, if it isn't there, download the svn tool by using either sudo apt-get install svn (in Debian-based systems) or by downloading the source code and compiling it yourself.

Once you got the tools, create another folder (c:\oadev\ or /home/<myuser>/oadev/) and do a svn checkout on http://openarena.ws/svn in the HEAD revision.

Once everything is there, run the file build-pieced.bat (Windows) or buildpk3nix.sh (Linux/Mac). Wait until all of the pk3 files are assembled. After everything finished, run build-missionpack.bat or buildmppk3nix.sh, to get the Missionpack assets. Move every generated pk3 file into the baseoa dir of your OA development folder (in our case, c:\openarena-dev\baseoa\*.pk3 or /home/<myuser>/openarena-dev/baseoa).

Now it's time to build OAX. First download the GIT tools. Windows has GIT for Windows. Linux has either sudo apt-get install git and the source code from the official site itself.

Do a git clone on both https://github.com/OpenArena/engine and https://github.com/OpenArena/gamecode inside your oadev folder. This should create two folders inside your oadev folder called "engine" and "gamecode". (In our case, c:\oadev\engine and c:\oadev\gamecode or /home/<myuser>/oadev/engine and /home/<myuser>/oadev/gamecode).

Compile the code in both by running the command Make. This command should output the following:

  • In the engine folder, there should be a "build" folder. Inside this one there should be another folder called release-blablabla with several executable files and files ending in .so. Move these files (ignore the folders) to the openarena-dev folder (i.e. c:\openarena-dev\ or /home/<myuser>/openarena-dev).
  • In the gamecode folder, there should be a "build" folder. Inside this one there should be another folder called release-blablabla with several folders. The folder we're interested on is called oax. Within this folder, there's another folder called vm. Zip this folder (make sure to enable routes) to a file called pak7-oax.zip, and rename this zip to pak7-oax.pk3. Drop this file in the baseoa folder (i.e. c:\openarena-dev\baseoa\pak7-oax.pk3 or /home/<myuser>/openarena-dev/pak7-oax.pk3).

Now, everything that remains is to test the game to see if it's operable. Go to the created openarena-dev folder, and run the openarena executable (NOT openarena-ded, that's for the dedicated servers!). Check if this build is playable at all, if not, there's something else to do.

Other tools[]

Footnotes and references[]

  1. Using a development version of the game can be useful if you are going to create a map for a future OA version, but if you are going to make a map for the current official version, you can just use current version package (don't forget that development version may contain some new stuff which is not included in current official version).
<< Previous (Map gameplay) Mapping manual (Your first map) Next >>
Advertisement