RA3 Mapping Guide and Specs

Introduction

The purpose of this guide is to provide all the information you need to make maps for Rocket Arena 3. This guide does assume some knowledge of Quake 3 entities and map-making in general.  While any map can be played in Rocket Arena 3 without change or modification, a multi-arena map requires some special setup.

 

Terminology

Before getting down to business I thought it best to cover some basic Rocket Arena 3 terms that will be used throughout this guide. If you have made maps for Rocket Arena 2, or are familiar with the different pieces that make a multi-arena you can probably skip this section.

 

 

Entity Information

For this, and the remaining sections of this document, please refer to the sample map. Both the .BSP and .MAP files have been included for your reference.

 

WorldSpawn

Along with the usual settings for this entity you must add a new key called “arena” and assign a value equal to the number of arenas in your multi-arena map. For example:

  "classname"                 "worldspawn"

              "message"                   "Rocket Arena 3 Sample Map"

              "arena"                       "3"

 

Trigger_Teleport

The arena selection room needs to have teleporters that transport the player into the appropriate arena To do this a standard trigger_teleport is used, except that instead of targeting a teleporter destination via a target key you specify an arena with the arena key. For example:

 

 "classname"                 "trigger_teleport"

              "arena"                       "3"

 

The above teleporter would transport the player into arena 3, the same way that selecting arena 3 from the menu would do.

Info_Player_Deathmatch

Again, along with the normal attributes of this entity you must also use the arena key/value. The arena selection room should have 10-20 info_player_deathmatch entities with the arena key set to 0.  It is important to note that this is different from Rocket Arena 2 which used teleporter destinations with an arena value of 0 for players to initially spawn in the map. An example of  an info_player_deathmatch in the arena selection room is below:

 

              "classname"                 "info_player_deathmatch"

              "arena"                       "0"

              "origin"                       "‑128 ‑128 ‑896"

              "angle"                        "180"

 

In the individual arenas you would set the arena key to the appropriate value, arena = 1 in arena 1, arena = 2 in arena 2, etc. An example of an info_player_deathmatch in an arena is below. The following example is for an info_player_deathmatch in arena #3.

 

              "classname"                 "info_player_deathmatch"

              "arena"                       "3"

              "angle"                        "135"

 

A few important things to consider when adding info_player_deathmatch’s to your map: Make sure that your have the appropriate number of spawn locations for the type of arena you are placing them in. For example, you need a minimum of 2 in a 1v1 arena (1 for each player), at least 4 in a 2v2 map, etc. In pickup/red rover/clan arenas it is recommended that you add ample spawn locations, otherwise players can spawn from the same an info_player_deathmatch and possibly get stuck together at the beginning of the match. The RA3 team recommends that you place at least 4 info_player_deathmatch’s in a 1v1 (in case players vote to make it a 2v2) and 20 or more in a clan arena/red rover arena. Also, be cautious about placing spawn locations near ledges or too close to walls.

 

Info_Player_Intermission

Just as in Rocket Arena 2, RA3 also requires that each arena have an info_player_intermission in it, which is used to identify the arena. So in addition to the normal stuff settings for the intermission, you must also assign an arena number with an arena entry, and a message field which will equal the friendly name of your arena. For example:

 

              "classname"                 "info_player_intermission"

             “angle”                      “180”

              "arena"                     "1"

              "message"                   "Arena 1’s Name Here"

 

Moving Portal Cameras

As an “extra” of sorts, RA3 allows you to use moving portal camera’s. Moving portal cameras is not a required part of making an RA3 multi-arena, but rather something you can add to make the map better.

 

Moving portal cam’s can be done in vanilla Q3, however the camera’s movement would be jerky and not very pleasing on the eye. In RA3 code has been added to smooth the movement of these cameras. Arena 3 in the sample map has a moving portal camera for you too look at in both Quake3 and in Q3Radiant. In addition, the portal to the clan arena on RA3MAP2 uses this feature. It is recommended that you take a look at ra3map0.map before reading the rest of this section. That way you will have a visual representation of what is being discussed.

 

A typical portal camera is three entities; misc_portal_surface, misc_portal_camera and a target_position. The portal surface entity targets the portal camera, which targets the target_position. Understanding this will help you understand the moving portal cameras.

Moving portal cameras require that you setup two separate func_trains. The first func_train represents the path of the portal camera, while the second represents the target_position that the portal camera will point to as it moves around.

 

Let’s start with the portal camera path.  First, make a nodraw non-solid brush with an origin brush in it, select both and make that a func_train entity. Then make the func_train target path_corners as normal. These path_corners will represent the path of the portal camera. Although you don’t need to, we recommend make these path_corners target each other around in a circle (as seen in the sample map). This way the camera won’t suddenly jump from the last path_corner to the first.

 

Then make a second func_train in the same was as above. This time thought, the path_corners represent the target_position of the camera. You do not need the same number of path_corners in the two trains because the camera will simply target the nearest path_corner representing the target_position.

 

You will still need to add misc_portal_camera and target_position to the map. Simply make the misc_portal_camera target the target_positon. For example:

 

"classname"       "misc_portal_camera"

"origin"          "256 1248 192"

"target"          "t9"

 

"classname"       "target_position"

"origin"          "280 1304 192"

"targetname"       "t9"

 

Now, rather than make the misc_portal_surface target the misc_portal_camera you target first train (for the portal camera path) and add a model key with a value that is the target name of the second train (for the target position path). For example, the misc_portal surface would look like this:

 

"classname"       "misc_portal_surface"

"model"           "train2"

"target"          "train1"

"origin"          "224 848 192"

 

 

 

LevelShots and Arenashots

As with all other Q3 game types RA3 does take advantage of levelshots, which display an image of your choice when your map loads. In addition to levelshots RA3 also uses arenashots. These should be placed in the quake3\arena\arenashots directory. Arenashots are displayed on the RA3 menu when an arena is highlighted. This allows players to see a screenshot of the arena before selecting it from the menu.

A suggestion to help make your arena shots look better is to feather the edges via an alpha border. The following outlines how to do this in Adobe Photoshopä

 

  1. Take your 128x128 image (no alpha channels)
  2. Select All
  3. Select-Modify-Border-10
  4. Select-Feather-3
  5. Select-Inverse
  6. Select-Save Selection-New Channel
  7. Then save the TGA (make sure it's 32 bit!).

 

Config File

Much like RA2, RA3 uses a config file to define the gameplay type of each arena as well as default weapons, health and armor for the different arenas in your map. The config file should have the same name as your .bsp file, but with a .cfg extension. So for a map called ra3big1.bsp the config file would be named ra3big1.cfg.

 

The following is the config file for ra3map8 provided as an example:

 

ra3map8 { //Hal's base arena

                weapons: 1 2 3 4 5 6 7 8;

            armor:50;

            healthprotect:1;

            armorprotect:1;

            1 { //Gleam

            }

            2 { //Grit

            }

            3 { //Grunge

            }

            4 { //Gutteral

                                  weapons: 1 2 3 4 5 6 7 8;

                        armor: 100;

                        rounds: 9;

                        gametype: redrover;

                        healthprotect:1;

                        armorprotect:1;

            }

            5 { //Gaudy

                                  weapons: 1 2 3 4 5 6 7 8;

                        armor: 100;

                        rounds: 9;

                        gametype: clanarena;

                        healthprotect:1;

                        armorprotect:1;

            }

 

}

 

At the top is the bsp name and the maps friendly name. On the next line starts default weapon, health and armor information for all the arenas in the map. In other words, unless otherwise specified for an arena the settings here will be used. Then after the defaults there is an entry for each arena in the map.

 

In the arena settings you can  specify which weapons that will be available to players by default in that arena. The weapon numbers correspond to the weapon number in the game. (i.e. 1 = Gauntlet, 2 = Machine Gun, etc).

 

In addition you can set the default amount of health and armor each player will start with. You can also set armorprotect and healthprotect to 0, 1, or 2. Here is what each setting means:

0 = damage self, team, enemy

1 = damage only enemy

2 = damage self and enemy

 

Finally, you can set the gametype for each arena. The possible choices are: clanarena, redrover, practice and rocketarena, the default is rocketarena. You can also specify the number of players per team for rocket arenas with an entry called “playersperteam”.

 

Additional Help

If you need additional assistance, or if you notice corrections and/or improvements that can be made to this guide let us know. Post a question on the “RA3 Mapping Help” forum at Multi-Arena Headquarters: http://www.planetquake.com/mahq