Testing/Maps

From Unvanquished
Jump to: navigation, search

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 with cg_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 to 1. Be aware of the difference between this and r_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 to 1.
  • To disable PVS for entities, set sv_novis to 1.
Information 48x48.png

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>

For debugging bot navigation problems

  • /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 and r_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 with cg_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.