The game comes with dozens of maps as is, but there are a number of third party maps that can be downloaded at Forsaken's AA Page.
Alien Arena mapping guide Getting started with AARadiant
AARadiant is supplied with Alien Arena.
It will be located in "Alien Arena 2008\Tools"
When first run, itll pop up a dialog asking for a project file. Load "\Tools\projects\alienarena.qe4"
Firstly, edit the preferences (Edit -> Preferences).
- Optimise interface for: Alien Arena 2008.
- The third view type ("Views/Rendering" section) is recommended, especially if you are already familiar with WorldCraft.
- Check the game path is set correctly.
- Finally, hit OK and restart AARadiant to get your new view config.
If you get a warning along the lines of "Enter an integer from 1-64", then the Undo Levels: box is probably empty. Put in 64.
If you haven't already loaded the project settings when first starting AARadiant, do so now. Under the file menu, select "Load Project...". You will need to browse to "\Tools\Projects\alienarena.qe4"
Next, under the file menu again, select "Project Settings..."
Carefully check the paths - especially the entitypath, which should end in "defaults\*.def" not "defaults*.def".
Don't worry about the menucommands section - it doesn't work. :)
NB: If you find that the editor doesnt give you a list of texture packs under the texture menu, or that when you right click in the 2D views you dont get a full list of entities, come back to the Project Settings dialog and check again.
Notes on building mapsEdit
At the moment you have to do this by hand, using a command prompt in the maps directory. Start a command prompt and cd to "\data1\maps".
Download these batch files and put them in the maps directory.
Run "qbuild <mapname>" where mapname does not include the .map extension. This performs a quick build, and should give you a <mapname>.bsp file (your final map, ready to play in the game).
Run "fbuild <mapname>" to perform a full (or final) build. This will take a while to complete depending on the complexity of your map.
Entities specific to Alien ArenaEdit
Most of the entities names(ammo, items, weapons) are identical to Quake II.
The following items translate as follows:
- weapon_shotgun - alien smartgun
- weapon_supershotgun - chaingun
- weapon_chaingun - flamethrower
- weapon_rocketlauncher - rocket launcher
- weapon_hyperblaster - alien disruptor
- weapon_railgun - alien beamgun
- weapon_bfg - alien vaporizer
- ammo_grenades - napalm
- ammo_shells - smart bombs
(rest of items are same as Quake II)
The following are new items:
The following are specific to Cow Pull mode:
The following are miscellaneous objects:
The following are for CTF maps:
The following are for Deathball maps:
Alien Arena bots are based on the ACE (Artificial Control Experiment) bot by Steve Yeager. These bots are renowned for their skill at DM maps, but less so for CTF maps.
For any map, it is possible to create a bot navigation file (stored as <mapname>.nod in botinfo/nav). This will guide the bot around the level and prevent silly behaviour (like jumping off the map into space).
To create a .nod file for a map, use the following commands:
- sv acedebug - Turns on ACE's debugging messages. Shows when stuck, bot's thought process, node placement and linkage information.
- sv savenodes - Saves bots current knowledge of level.
(NOTE: The below commands only work when learn mode is on.)
- cmd findnode - Finds the closest node relative to the player.
- cmd goto** - Invokes botbrain and sends you to a particular node, also shows the path to the node.
- cmd addnode <0|1|2|3|4|5|6> - Adds a new node of type 0-6.
- cmd addlink - Adds a link between nodes.
- cmd removelink - Removes a link between nodes.
- cmd pathlink - Turns on pathing validator.
- cmd shownode - Shows particular node represented by a color coded sphere, also the location.
- cmd movenode - Moves a node to a new location, useful for nudging a node about.
It is recommended to bind a few basic commands to keys, so load the map (without bots!), and use:
sv acedebug on
bind h findnode
bind j addnode 0
bind k addnode 4
As you walk around the map, pressing "h" will give you a node number if you are near a weapon or other item (with the exception of heath). These node numbers can be used to make a circuit around the map which the bot will follow.
In addition to the nodes which can be found by findnode there are several others, the most important of which are:
- Nodes of type 0 - "move nodes", which can be placed anywhere on the map a bot can move to.
- Nodes of type 4 - "item nodes", which can be placed by health items not identifiable with findnode
The idea is to produce a list of node numbers, and join them using addlink <fromnode> <tonode>
It is important to note the very first node number so that the circuit can be completed.
You should also use sv savenodes frequently to save your progress.
Reviewing the new navigation path
In the game itself, use set spectator 1 to see what the bots are doing without them coming off-path to attack you.
To return from spectator mode, use set spectator 0
Creating new texturesEdit
Textures can be created out of any image file.
Texture blocks should have a pixel width and height which are a power of 2, EG:
- 32 x 32
- 64 x 64
- 128 x 128
- 128 x 64
- 32 x 64
(Note that textures do not need to be square - in fact, some of the Alien Arena standard textures are long thin strips used for lighting effects).
Alien Arena uses textures in .tga format, but for map compiling you're likely to want .wal files if you're doing anything special (such as animation) or require textures which contains information such as default surface and contents flags.
It is recommended to store textures in .tga format and convert to .wal with a program called Wally. If you look in the Alien Arena directory "data1\textures" you will see all .wal files have a corresponding .tga file.
Note: You don't need to distribute your map with .wal files (.tga is what the game uses), but it might be nice to do so anyway, so that other people can use your textures.
When converting, editing and resizing textures, the GIMP is recommended.
When saving as .tga, be sure to use RGB mode, not indexed! (See Image -> Mode -> RGB menu). TGA files also allow you to specifiy the origin - CRX requires this to be "bottom-left", otherwise your textures may appear upside down in-game. This is set using the save dialog options in GIMP.
To create effective looking lighting, when a coloured lighting texture is used, put a light source near it of the same colour - adjacent brush textures will be illuminated with this colour to reinforce the visual effect of the light texture.
Some maps have lights with a transparent beam thrown from them. This can be implemented by creating a brush under the light using surface textures "fade1" or "fade2" (which include an alpha channel). The brush should have the surface flags set to trans33 or trans66 and the contents flags set to mist - so that the player can pass through.
It should be noted that the game engine does not currently support moving transparent brushes.
Creating Alien Arena jump ramps
To create the Alien Arena jump ramps, create a brush the shape of the ramp, complete with textures, and then create a new brush just above it. This new brush should be tied to entity trigger_monsterjump - when a bot, player (and sometimes even items) come into contact with this new brush (which will be invisible) they will be thrown in the direction configured.
Player step and jump dimensions
Any object 16 units and under, the player can step onto when moving. Any object 32 units and under, the player can jump onto.
Creating rotating brushesEdit
(Section CO Forsaken)
Irritant helped me on the "origin brush" (thank you oh great one :D) I figured out how to rotate and that it rotates according to the x and y axis of the map itself but wanted some things to rotate on a different axis, you need a origin brush for that.
A origin brush is just a object when in the texture properties you select origin, then you put that where you want the center of the rotation to be, then you group it with the object you want to rotate. Then you tie the group to the rotation entity func_rotating and select your rotation, speed, etc and make sure you have it set to "start on" in the flags.
There is also a x and y rotation point you can set but thats hard to get right, the "origin" brush is easier.
(how to taken from ChainGun.org)