Testing/Maps
Finding gameplay testers
To publicly test your maps, make a thread on forums to share your work-in-progress work and some server admins will probably host it ;-).
Cheat commands and cvars
- To fly around the map, use the
\noclip
command.
If you find that you are moving too slowly (or too fast), you may change the speed withcg_flySpeed
. - To spawn as granger or ckit in your current location, use
/devteam a
or/devteam h
. - To make yourself invincible, use the
\god
command. - To stop buildables from attacking, use the
\notarget
command. - See Map Layouts for buildable layout management commands.
Some rendering debugging cvars
- To lock the state of PVS, set
r_lockpvs
to1
. Be aware of the difference between this andr_novis
: this disables any updates to the state of the PVS buffer but PVS is still in effect; this can make flying outside of a map difficult. - To disable PVS entirely, set
r_novis
to1
. - To disable PVS for entities, set
sv_novis
to1
.
Developer Note
The reason that enabling/disabling PVS for entities is controlled with a separate cvar from the world is that the server is responsible for determining when to send information about entities to the client. The server considers two things:
- if the entity is within radar range of the player, and
- if the entity is potentially visible to the player.
The server will send the position of an entity if it meets one or both of these conditions.
- [Engine version 0.55+] If parts of the map seem too bright, try setting
r_forceLegacyOverbrightClamping 1
to see if it looks better with this cvar that makes lighting more like older versions. - If things are not being rendered that should be, try setting
r_nocull 1
to disable CPU-side culling of surfaces.
For debugging map entities
- Set
cg_drawEntityInfo 1
to identify an entity's class and number by looking at it -
/listEntities
to print details of all entities in the console -
/showEntity <num>
to print detailed information about a single entity - Set
g_debugEntities
to some value between 1 and 3 to get more logging -
/entityFire <num>
-
/navedit enable <classname>
to show the navigation mesh
For toggling rendering of specific things
Disabling rendering of X may help to answer questions such as "Is this thing I'm looking at an X?" or "Is everything messed up because rendering of X is going haywire?"
- Set
r_drawWorld 0
to disable rendering of the fixed part of the world - Set
r_drawEntities 0
to disable the complement of r_drawWorld? - Set
r_noCurves 1
to disable patches (SF_GRID surfaces) - Set
r_noFog 1
to disable fog - Set
r_noportals 1
to disable mirrors/portals
For testing maps from games other than Unvanquished or Tremulous
- Set
g_neverEnd 1
to avoid the game instantly ending due to lack of an Unvanquished layout. - Set
fs_legacypaks 1
to load .pk3 packages. The way this works is that all .pk3 packages in the pakpath are loaded -- there is no concept of dependencies. - Set
r_dpMaterial 1
andr_dpBlend 1
for testing DarkPlaces engine (Xonotic) maps
More obscure rendering debugging cvars
These can be difficult to interpret and are probably rarely useful.
- Set
r_showLightGrid 1
to visualize the lightgrid. - Set
r_showEntityTransforms 1
to see bounding boxes of renderer "entities" (these do not necessarily to gamelogic/map entities) - Set
r_showBspNodes
between 1 and 3 to see BSP divisions. - Set
r_showTris 1
to see outlines of all triangles. Might want to combine withcg_draw2d 0
to reduce noise - Set
r_showSky 1
to draw the sky on top of everything else
Replacing the entity lump
You can put a file named maps/$mapname$.ent
in the VFS to override the entity lump in the BSP with one of your own choosing.