Difference between revisions of "Navmeshing"

From Sunrust Wiki
Jump to navigation Jump to search
Line 114: Line 114:




Let's consider these options in more details.
'''''Let's consider these options in more details.'''''


== Path edit mode ==  
== Path edit mode ==  

Revision as of 18:14, 1 September 2020

Art by AltShadow.

Navmeshing – the process of creating navigation for bots, or more simply, creating paths so that bots can work correctly on a given map. There are many different types of bots that are used for the zs gamemode: AzBots, D3Bots, MarcoBots, etc.

MarcoBots are currently used on Sunrust servers. MarcoBots are not open-source bots, they are private and exclusive type of bots and you cannot download them for your single player. Therefore, the navmesh creation takes place on a dedicated server (or directly in the main server itself).

The advantages of MarcoBots is the simplicity navmesh creation, the automation of many bot actions, since you don’t need to specify when they need to jump or crouch, and a huge level of optimization, as a result these bot load server much less and this leads to less lags.

The better navmesh is created, the more powerful the bots will be, since they will know how to act in each area of the map. A good navmesh also affects the optimization, server network and is especially necessary for the correct work of Great Evils - exclusive zombie boss classes only for bots.









Terminology

Navmesh
(abbreviated "mesh")
Navigation for bots.
Navmeshing The process of creating navigation for bots.
Nodes Points between which bots move and where they can find you.
Paths
(or "links")
Connections between nodes that allow or not move between specific nodes.
Areas A special type of bot navigation that differs from nodes. Instead of nodes, you select the required area and the bot can find you if you are in it. Will be discussed this type of navigation in more detail below.
Targeting A bot pathfinding for the closest or highest priority target.
Pursuit mode The bot stops moving on the nodes and starts moving exactly behind you, is activated for ~200 units.

Required commands and control

To be able to create navmesh, you need to be granted access to a dedicated navmesh server. Contact Scott to have access to dev server: Scott#3224. After obtaining the necessary rights, you can connect to it and begin to create navmesh.

Dev Server IP: 104.194.10.86:27020


Next, you need to get the navmesh tool and start creating the navmesh. Let's look at the required commands for this:

Console commands.png
Select navmesh tool.
/navmeshtool Gives you a navmesh tool
/startmeshing Gives you a navmesh tool, god mode and an infinite wave time
/changemapnavmesh
mapname
Allows you to change the map on server
zs_admin_purgepaths Completely clears navmesh (SA only,console command)
/give weapon_zs_adminpathtool
PlayerName
Alternative way to get navmesh tool (SA only)



After you give yourself a navmesh tool, you may notice control tips in the upper left corner.

Disable the experience display in the options in “F4 –> Interface” to see them more correctly. If you also have spark_currency_widget 1, disable it as well.

When you hold down the “Alt” key. in the lower right corner, a menu for tool control will appear. Consider this interface:



Navmesh menu.png
Path edit mode
Path edit mode options.png
Allows you to select the navmesh type. Will be discussed in more detail below.
Path draw distance
Path draw distance menu.png
Allows you to change the display range of nodes
Flags
Navmesh menu flags.png
Ghost Mode – Gives you noclip.

Hide Air Paths – Hides air nodes.

Hide Sublevel Paths – Disables the visibility of nodes you cannot see.

Draw Through Walls – Enables drawing nodes through walls.


Let's consider these options in more details.

Path edit mode