Urban Terror - Map Release Checklist
A practical, end‑game workflow: Pre‑Compile → Compile & Optimization → Final Touches.
This is a rewrite of Tub's original article (2005).
You’ve placed your last brush, run a compile, and the map finally looks the way you want. Time to release it? Not quite. The final stage of mapping may not be glamorous, it’s a careful finish - but it’s what separates a rough project from a polished release. Take your time; you only get one first impression.
The process is split into three stages:
- Pre‑Compile Tasks
- Compile & Optimization Checks
- Final Touches & Packaging
1) Pre‑Compile
Spawn Points
- Place at least 10 spawns per team for all game modes(16 for CTF/TDM).
- Use at least 2 spawnsets for TS, for more replayability.
- Include
info_player_deathmatchspawns for FFA/Gun mode.
Gameplay Entities
- CTF:
info_player_intermission,team_CTF_redflag,ut_mrsentry(for spawns). - Bomb: 2x
info_ut_bombsite- must be placed on a flat surface. - Capture & Hold:
team_CAH_capturepoint
Intermission Camera
- Always add a
info_player_intermissioncamera. This is used as the view when you load into the map and at the end of the game. - You can target this entity at a target_position or info_null.
- If one is not used, the view from the first deathmatch spawn will be used instead.
Clipping
- Clip rooftops/unintended ledges (
clip/weapclip). - Clip large models; trees can remain soft‑clipped if desired.
- Fill deep voids + spawns with nodrop, so flags are returned if a player dies out of bounds.
Ambient Sounds
- Add in‑editor sound entities; a few well‑placed loops help atmosphere.
Location Markers
- Define areas using
target_locationortrigger_locationfor callouts.
Worldspawn Info
- Set a
messagekey to show loading details. - Set
gridsizeto lower amount for smoother model lighting. - Change
_blocksizefor more/less granular VIS splits. - Set
_mingridlightso that player models are easily visible. - Set
_keeplights 1so that light entities are kept on decompile.
2) Compile & Optimization
Compiling
BSP-meta -v (at least)VIS-hint -merge -v (at least)LIGHTDon't use -fast, you can tell the difference.- add footstep sounds before you compile bots.
AAS-forcesidesvisible -noliquids -optimize always.- Use
-threadson all slow stages if you have multiple cores, I normally only use all but 1 or 2 cores, I so can still use my PC while compiling.
Hinting
- Hint brushes control visibility and performance. Poor hinting hurts FPS. Review trusted hinting guides and test aggressively.
- Test various
_blocksizeamounts, to increase/decrease VIS split results.
Texture Alignment & Z‑Fighting
- Check trims, curves, and angled geometry.
- Fix misaligned curve caps (Ctrl + Shift + N to cycle).
- Fly the map for 10 minutes and note issues.
Detail Brushes
- Mark decorative/small geometry as detail to avoid excess portals and cuts.
Caulking
- Caulk unseen faces (curves too) to reduce overdraw.
Lighting
- Expect several iterations; balance intensity, colour, and bounce to achieve the look you want.
3) Final Touches
Surface Properties / Sounds
- Assign material surface types (Remember that throwables bounce further of metal surfaces by 20%).
Arena File
- Copy the formatting from another file. Mainly useless at this point because people can't vote on maps in most servers.
Levelshot
- Provide a clean, representative screenshot in the Urban Terror style.
- Here you can download a blank template - rescale any screenshot to 2048x2048 then paste in.
- Font used is HelveticaCondensedBlack_SemiBold.TTF - included in the download above.
Minimap
- The Minimap will get generated on the first time loading the .BSP in game, remember to delete old versions before generating a new one.
- For competitive, you should name the most obvious place names on the minimap - provide a clear version as a mod instead.
- To get roofs removed on the minimap, either photoshop it - or I like to remove roof geo and compile a custom map variant for the minimap.
Bot Navigation (AAS)
- Generate
.aaswithbspcto test flow/pathing. - Use botclip around any patchmesh or autoclipped models.
PK3 Packaging
- Bundle required textures, shaders, scripts. If you're not using a packing tool, remember to rest without mods and other files in the Games directory for pure test.
Include reademe.txt
- Speaking from experience, people might want to find you one day, without one of these it's essentially impossible.
Testing
- Test all modes, teams, player counts; fix clipping/sounds/lighting until it’s tight.