TrueCombat: Elite
Map Development Kit (MDK) Guide 
v 0.1 
Copyright (c) 2004 GrooveSix Studios and Team Terminator


0. Content
//////////

 1. Introduction
 2. Gametypes
 3. Getting started
 4. Map design rules
 5. Compiling the map
 6. Script, briefing, mapinfo file, levelshot, and blueprint/intel map


1. Introduction
///////////////

TrueCombat: Elite is a modern day, misson based, tactical combat
modification of the free game Return to Castle Wolfenstein: Enemy
Territory. This document provides you with all the information
needed to develop maps for TC:Elite. It is assumed that you are
familiar with the basics of Q3-based mapping and the respective
tools. You will need GTK Radiant and a current version of ydnar's
q3map2 tool. With the provided sample maps and information, making
your own map should be very simple. Don't fear complicated
scripting, since you only have to copy-paste.


2. Gametypes
////////////

In general, TC:Elite uses the ET mission scripting. Rounds are
always mission based, 1-life, and time limited to a short period
as, e.g., 4 minutes. So far, TC:Elite supports only the
"demolition" gametype.

2.1 Demolition
--------------
In "demolition" the assault force has to place explosives close to
one of two possible objective sites. Each member of the assault
force is able to accomplish the objective. The explosives require
five seconds to be armed and have set a timer of 60 seconds until
they detonate. When explosives are planted at one of the objective
sites, no further explosives can be planted. The defending team is
able to defuse explosives and need 10 seconds for this. When the
explosives are defused, the defending force wins the round. When
the explosives detonate the assaulting force wins. If one of the
forces is eliminated, the standing force wins.


3. Getting started
//////////////////

Make sure the TC:Elite textures and shaders are in your search
path. Add the TC:Elite shaders to the "shaderlist.txt" and make
sure the TC:Elite "custinfoparms.txt" is available. The quickest 
way to start mapping is to open the "dem_hideout.map" which is ready to
compile. The map provides you with the required objective trigger fields 
for the "demolition" gametype and all the scripts. 
Currently, this is the only gametype available. Edit the
map and safe the file as, e.g., "dem_mymap.map". The "dem_"
indicates that the map is designed  to match the requirements for
"demolition" gameplay. In addition the the map file you should
also copy and rename the "dem_sample.script" and
"dem_sample.mapinfo" (which basically replaces the .arena file).
The dem_hideout map is intended to serve as a prefab
base and a guideline for the dimensions and texture scaling. It
also demonstrates the usage of models.

In order to get a proper scaling of the TC:E textures open the game dependent GTK config file
"et.game" in the "YourGTKFolder\games" folder.
Add the line

default_scale="0.25"

as the second line from bottom. The last line should still be

/>


4. Map design rules
///////////////////

Since TC:Elite is a tactical realism shooter, it is particularly
important that the look and feel of the map is realistic and that
the map layout meets the gametype requirements. In order to
achieve this goal, we ask you to keep the following design rules
in mind.

4.1 Gametype dependent map layout
---------------------------------
4.1.1 Demolition You should place two bomb objectives in your map.
These two objective sites should be in a central location,
somewhere between the Assault and Defending force spawn areas.
Placing both too close to the either spawn areas might not be good.
In general, one objective site [A] should be located centrally the
objective site [B] closer to the Defending force spawn.

Objective sites have to be placed strategically. The area should
not be easy to camp in or to be controllable by a single sniper.
The area should be accessable from different directions (three
independent routes are good).

Maps must be named following the convention "dem_mapname", in
order to indicate the gametype the map is designed for.

4.2 Textures
------------
TC:Elite ships with a huge set of textures. The texture resolution
is 512 pixels per 128 game units. The general texture scaling in
GTK is 0.25 (see Sec. 3). Note that this is a different texture resolution from
ET which used 0.5. Most textures for walls are 512^2 pixels.
Textures for smaller props like barrels or crates are 256^2
pixels. Avoid the usage of textures bigger then 512^2 pixels. The
upper limit should be 1024x512, which is used for, e.g.,
containers. In order to make you map unique be encouraged to use
own textures. Textures have to look photo realistic, so they
should be derived from digital pictures you take. Please avoid
texture painting. Textures folders follow the naming convention
"nickname" or "nickname_materialtype" or "nickname_mapname", like,
e.g., "coroner" for Coroner's general textures or "twy_metals" for
Tweety's metal textures.

4.3 Dimensions
--------------
In general one game unit equals one inch (2.54 cm). The character
dimensions are 30x30x72 for standing and 30x30x48 for crouching.
These measures are the free space a character needs to fit through. In order
to match the engine requirements you should always operate on a
grid and stick to multiple integer dimensions of 2, 4, 6, 8, 12,
16, 24, 32 units as possible. This is important for proper texture
use as for the wall penetration routine. Units as small as 1
should be avoided and used for very small details like wires. If
possible, glass should be 2 units thick or even 4 when it doesn't
appear vastly unrealistic. Some examples (in game units) are
given. There is always a tradeoff between the real size of things
and the appearance in the game engine.

wires                           1
small details                   1
metal sheed                     2
glass                           2
wood panel                      2-4
pipes                           4-x 
door frame                      2
door opening in wall            48x88
door opening minus frame        44x86
big window opening              48x72 
small crate                     32x32 
big crate                       48x48
barrel model                    scale = 0.4 (30 units diameter)
container                       see mapobjects/coroner/container01.ase

building story overall height   128 (includes ceiling, so open 
                                     height in the building is 112) 
concrete floor/ceiling          16
outer walls                     16
inner walls                     8

stair step height               8 
stair step depth                12 
stair width                     48-64
railing                         2-4

Generally, keep in mind that TC:E aims for very realistic looks. This, at times, will even force
experienced TC mappers to break with the sometimes clumpsy TC mapping style.

4.4 Surface types
-----------------
TC:Elite offers the following surface types (make sure you use
-custinfoparms). The material influences impact effects, the
walking sound and the penetration properties of the surface.

(surfaceparm                    effect)

default/no surfaceparm          concrete
metalsteps                      heavy metal 
tinsteps                        thin/hollow metal (barrels, pipes)
woodsteps                       wood 
gravelsteps                     gravel 
sandsteps                       sand 
grasssteps                      grass 
foliagesteps                    foliage
carpetsteps                     rug/carpet 
roofsteps                       lose metal
snowsteps                       snow

The surfaceparm "modifier" allows for combinations of the just
mentioned surfaces with the modifier which gives new set of
surface types.

modifier only                   cement/plaster 
roofsteps+modifier              metal fence 
carpetsteps+modifier            plastic

To be continued.

4.5 Special contents shaders
----------------------------
TC:Elite introduces a contents stair, which must cover the volume above stairs.
It prevents the player from flying and falling when going stairs downwards and also
influences the footstep frequency when climbing stairs.

TC:Elite offers an environmental sound effect system, that can be partly controlled by the
mapper. The mapper can force a strong, tunnel like reverberation effect inside brushes with
the contents sfxhallway. It should only be rarely used, where it really matches the environment.


5. Compiling the map
////////////////////

Please use the latest version of Ydnar's q3map2. The stock TC:E maps are compiled using the 
following options:

q3map2 -game et -fs_basepath "C:/usr/se/wet/" -onlyents -samplesize 4 -custinfoparms c:\usr\se\wet\tcemain\maps\%1
q3map2 -game et -fs_basepath "C:/usr/se/wet/" -vis c:\usr\se\wet\tcemain\maps\%1
q3map2 -game et -fs_basepath "C:/usr/se/wet/" -light -fast -samplesize 4 -samples 2 -filter -patchshadows -dark -external -lightmapsize 256 -custinfoparms c:\usr\se\wet\tcemain\maps\%1.bsp


6. Script, briefing, mapinfo file, levelshot, and blueprint/intel map
/////////////////////////////////////////////////////////////////////
