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
\noclipcommand.
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 aor/devteam h. - To make yourself invincible, use the
\godcommand. - To stop buildables from attacking, use the
\notargetcommand. - See Map Layouts for buildable layout management commands.
Some rendering debugging cvars
- To lock the state of PVS, set
r_lockpvsto1. 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_novisto1. - To disable PVS for entities, set
sv_novisto1.
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 1to 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 1to disable CPU-side culling of surfaces.
For debugging map entities
- Set
cg_drawEntityInfo 1to identify an entity's class and number by looking at it -
/listEntitiesto print details of all entities in the console -
/showEntity <num>to print detailed information about a single entity - Set
g_debugEntitiesto 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 0to disable rendering of the fixed part of the world - Set
r_drawEntities 0to disable the complement of r_drawWorld? - Set
r_noCurves 1to disable patches (SF_GRID surfaces) - Set
r_noFog 1to disable fog - Set
r_noportals 1to disable mirrors/portals
For testing maps from games other than Unvanquished or Tremulous
- Set
g_neverEnd 1to avoid the game instantly ending due to lack of an Unvanquished layout. - Set
fs_legacypaks 1to 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 1andr_dpBlend 1for testing DarkPlaces engine (Xonotic) maps
More obscure rendering debugging cvars
These can be difficult to interpret and are probably rarely useful.
- Set
r_showLightGrid 1to visualize the lightgrid. - Set
r_showEntityTransforms 1to see bounding boxes of renderer "entities" (these do not necessarily to gamelogic/map entities) - Set
r_showBspNodesbetween 1 and 3 to see BSP divisions. - Set
r_showTris 1to see outlines of all triangles. Might want to combine withcg_draw2d 0to reduce noise - Set
r_showSky 1to 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.
