Background Background Background Background Background Background


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_deathmatch spawns 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_intermission camera. 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_location or trigger_location for callouts.

Worldspawn Info

  • Set a message key to show loading details.
  • Set gridsize to lower amount for smoother model lighting.
  • Change _blocksize for more/less granular VIS splits.
  • Set _mingridlight so that player models are easily visible.
  • Set _keeplights 1 so that light entities are kept on decompile.



2) Compile & Optimization

Compiling

  • BSP -meta -v (at least)
  • VIS -hint -merge -v (at least)
  • LIGHT Don't use -fast, you can tell the difference.
  • add footstep sounds before you compile bots.
  • AAS -forcesidesvisible -noliquids -optimize always.
  • Use -threads on 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 _blocksize amounts, 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 .aas with bspc to 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.