Brush entities. The “brush” is the basic building block of Quake engine games (including Quake, Quake 2, Quake III Arena, and a host of games using the engine licenses). In its most basic form, it’s a block, a solid rectangular volume defined by the coordinates of its corner vertices. A single brush or a linked grouping of brushes can be turned into a brush entity. Brush entities include the movers (see below), triggers, and func_statics.
Movers. Most moving objects or "Movers" are built from brushes. These include doors, lifts or “plats”, rotating objects, buttons, pendulums and trains (objects following pre-defined paths), and bobbers (platforms that are constantly in motion, up and down or side to side).
Triggers. Triggers are brush entities that cause an event to occur when a player’s bounding box moves inside the volume of the trigger. Triggers can be targeted on many other entities, including most movers and targets. Some triggers also have more specialized functions. There are triggers that cause injury, activate other entities, and push or teleport the players.
Targets. Targets are the entities that are activated to cause events to happen in Q3A, or to redirect activations, insert time delays, mark locations for team play, or act as destination points for teleportation or pushing.
Lights. These are point lights, disembodied (read as no visible source) sources of illumination. They ca n be targeted at info_nulls to create spotlights. They can be turned into colored lights. Usually, they are used to create unfocused fill light in a large area or placed near glowing surface textures to create an effect.
Info. This category includes non-team player spawn spots, targets for lights, and camera locators for intermission shots.
Items. With the exception of ammo and weapons, these are things in the map that the players grab to use during play. Included are armor, power ups like the quad, and one-use items like the personal teleporter.
Ammo. Locations for ammo boxes. Each weapon type in Q3A has its own unique ammo entity.
Weapons. Each of the weapons that can be picked up has an entity that can be placed.
Miscellaneous. This is another catchall category. It includes things like the misc_model which links into the models directory when placed, func_timers which are automated repeating triggers, shooters which fire one of three different weapon fire types, camera and portal surfaces, and path corners.
What are Textures?
The art appearing on the walls of maps are generally referred to as “textures.” Textures are created and stored as true color targa (.tga) or jpeg (.jpg) graphic files. The textures do not use a pre-defined color palette (as was the case with both Quake and Quake 2). Shader scripts can further combine textures and/or modify them in numerous ways. This document will briefly touch on shaders. For an in-depth treatment of shaders, refer to the accompanying Shader Manual.
What are Sounds?
Quake III Arena world sounds are played by target_speaker entities in the maps. They are stored as 22 khz, 16-bit, mono format .wav files.
What are Models?
The statues and lights in Q3A are models, just like the player characters. They are placed with the misc_model entity.
Any combination of graphic programs and plug-ins that can output a 24 bit MS windows compatible Targa (.tga) or JPEG (.jpg) graphic file. If you plan to make textures that will have an alpha channel component (see glossary for definition), you must have a program that can create 32-bit art with that fourth channel.
Adobe PhotoShop has the ability to easily create alpha channels. Paint Shop Pro from JASC (v5.0+) can also make an alpha channel by creating a mask and naming it “alpha”.
Generally speaking, regardless of the program used, we found it best to do most of the art manipulation of the alpha channel in a separate layer or file and then paste it into the alpha channel before saving.
Setting up Files
The editor and the game program look for assets to be located along the paths set up in your project file. Start by creating a directory for you new textures by creating file folders to make a directory path as follows: quake3\baseq3\textures\[mymapname]
The installation of Q3Radiant will create a text document called “shaderlist.txt” in the following path:
Q3Radiant will use the contents of this script to grab your new textures for inclusion in the game. The contents of shaderlist.txt document will contain a listing of all the shader documents that were used by id Software to create Quake III Arena.
Since you will obviously want to create your own shaders, you need to put them in separate folders and create a new shader script for them.
If you plan to work on several maps at once and want to distinguish between textures used in each map, simply add additional map names here. For map and mod makers, we STRONGLY recommend that any new shader scripts created use the name of the map or mod in the shader file name. We know we can’t avoid every incident of files overwriting each other, but we certainly can advise you how to try.
Now, create another text file within the scripts directory and call it:
This file will contain the shader scripts you write to modify a particular texture.
Follow these rules when creating textures for the Quake III Arena engine:
The following are some things the id designers learned about textures.
Tools needed: Any sound editing program that can create and save out sound files as 22 khz, 16-bit, mono format .wav files.
Set up: The editor and the game program look for assets to be located along the paths set up in your project file. Start by creating a directory for you new textures by creating file folders to make a directory path as follows: quake3\baseq3\sounds\world\[map name]
Place your completed .wav files in the [map name] folder. You can access (and play) this file from within the editor (see instructions for Target_Speaker).
Map models need to be converted from their native file format into Quake III Arena’s native md3 file format. The modeling program, Milkshape 3D supports the file format needed to create map models for Quake III Arena (a link for this program is in the On-line Resources appendix). The compiling process merges the models into the bsp file. If you want other mappers to be able to use your models, you will need to include the md3 and supporting texture files within your pk3.
Move or copy all your new game assets in their folders.
We used an archiving program call Winzip to make the pk3 file. Get Winzip from WinZip.com
NOTE: Do not include or redistribute any game assets that are not your own (at least without permission). This specifically refers to id-copyrighted material that came with the original game or subsequent id released patches.
Make a zip archive called “map-mymapname.zip”
If you plan on distributing other resources separately, we strongly recommend the following naming conventions:
|md3-xxx.pk3||User Model with original associated skin files and sound files|
|bot-xxx.pk3||User bot files. May contain additional model or skin and texture files|
|skin-xxx.pk3||User skin with associated skin and texture files|
|map-xxx.pk3||User created map(s) and supporting files (arena, texture, sound, music)|
|tex-xxx.pk3||User texture and shader files|
(special thanks to Rogue13 of http://www.polycount.com for this naming convention)
When you go to add a resource to the archive, click on options to “Recurse Folders” and “Save Extra Folder Info”
Zip all the required assets into a zip archive file (Quake III Arena DOES support compressed pk3 files).
Rename the zip archive to mymapname.pk3
Put it where the Quake III Arena community can find it.
My .pk3 File is Huge! No One is downloading it!
Large pak files are daunting as downloads. And as specified by the Quake III Arena End User License Agreement, that is the only way those new game assets may be distributed. Be kind and remember that not everyone has access to DSL, ADSL, ISDN, Satellite, Cable Modem or other high speed internet connections. Before packing up your resources, you may want to look into some dieting tricks to make it smaller.
Back | Home | Next