VReaperV/unvanquished-layouts
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
This repo contains various layouts and bot navigation patches
to be used by unvanquished server hosts.
The "default.dat" layouts are here to allow random selection
in maprotations.cfg but are simply the builtin layouts
extracted from their original map.
== File organisation ==
All layouts are in `./layouts/$MAP/` folder.
By convention, files are named as such:
* `default.dat` for the layout extracted from the original
map;
* `alt${NUM}.dat` to provide alternative layouts for regular
games, that is, PvP, where ${NUM} is a unique number;
* `${SPECIES}pve${NUM}.dat` to provide "mission-style"
layouts, that is, one team should not be played by real
players. ${NUM} is a unique number;
* `${SPECIES}pve${NUM}.txt` to provide rules for PvE layouts;
This repo also includes basic navmesh connection files
required to help bots navigating.
Those files are named as: "maps/${MAP}-${CLASS}.navcon", where
${CLASS} must be one of:
* human_bsuit
* human_naked
* level0
* level1
* level2
* level2upg
* level3
* level3upg
* level4
Granger navmeshes are intentionally skipped since bots are
not yet able to choose this class.
The navmesh files should not be considered reliable.
== Creating layouts ==
Here is a small list of useful commands (you need to spawn
the console to use them) to create a layout, as there is
currently no easy to use GUI to help with that:
* `/devmap ${MAP}` starts a game with ${MAP}, enabling
cheating. Cheating is required to save a layout;
It is possible to load an existing layout by appending
said layout's name, that is: `/devmap ${MAP} ${LAYOUT}`;
* `g_instantBuilding 1`: this removes the need to wait when
you buid or removes something. It also allows to remove
the last spawn and unique buildings (RC/OM). Doing this
might make the game end, though!
* `g_neverEnd 1` prevent the game to end if a team have no
spawns and no players;
* `/noclip` allows you to no longer be affected by geometry.
This is pretty useful as human, but with noclip enabled,
you won't be able to wallwalk and hence to put alien
buildings on walls and ceilings;
* `/devteam [a|h]` makes you either a naked human with CKit
or an advanced granger, where you currently are, switching
team if necessary;
* `layoutSave ${LAYOUT}` saves the layout in your unvanquished
local folder, under `./game/layouts/${MAP}/${LAYOUT}.dat`;
* `layoutLoad ${LAYOUT}` reloads the map with ${LAYOUT};
* `cg_drawBBox 1` allows you to see the collision boxes of
buildings, useful to make sure something can or not be hit,
or to ensure a barricade really blocks a door;
* `/god` prevents you from taking any damage;
* `give bp` gives your team a lot of build points. Specific
number can be provided to add more (or remove if negative).
Keep in mind that the starting number of BPs is not set by
layout, but by server and map configurations, and hence you
might end up with disabled buildings in real games!
* `give momentum` gives your team the maximum momentum. As for
`give bp`, you can specify the amount, which can be
negative;
* `listlayouts` when in game will list all available layouts
for current map;
Keep in mind that several of those changes will stay around
in normal (`/map $MAP`) local games!
Notably, g_instantBuilding will.
== Enabling layouts in map rotations ==
Example of `maprotation.cfg` entry to use random layout:
```
station15 {
layouts "default" "alt1"
}
```
Note that it is currently not possible to automatically load
a specific configuration file depending on the layout, so
mission-style layouts must be setup manually.
== Navmesh improvements ==
For some PvE layouts, bots needs additional connections to
travel correctly and give a decent challenge. Those are
placed in the "map" folder.