Bots and NPCs: Difference between revisions

From Empires Wiki
Jump to navigation Jump to search
Line 40: Line 40:
== Blocking Navigation ==
== Blocking Navigation ==


# Numbered lis
# First you need to create a ''func_nav_blocker'' entity covering the extent of the area you wish to block.
[[Image:Nav blocker setup 1.png|thumb|The func_nav_blocker is textured here with tools/trigger, and covers the extent of the area I want to block]]
# Configure the ''func_nav_blocker'' settings, and choose whch team(s) you wish to block for and give it a name so that it can be activataed by another entity.
# Create an entity to use to activate the ''func_nav_blocker'', here we use ''logic_auto'' but any entity can be used here
## Configure the ''logic_auto'' so that it triggers on game start
# Set the ''logic_auto'''s output to fire the '''BlockNav''' input on the ''func_nav_blocker''
# Finally, check that the ''func_nav_blocker'' has the correct input coming in
[[Image:Nav blocker setup 1.png|thumb|The ''func_nav_blocker'' is textured here with ''tools/trigger'', and covers the extent of the area I want to block]]


[[Image:Nav blocker setup 2.png|thumb|The func_nav_blocker is  configured with the team, and a name so that it can be triggered from other entities]]
[[Image:Nav blocker setup 2.png|thumb|The ''func_nav_blocker'' is  configured with the team to block for, and a name so that it can be activated by other entities]]


[[Image:Logic auto setup 1.png|thumb|A logic auto is created so that we can trigger the ''func_nav_blocker'' to start blocking]]
[[Image:Logic auto setup 1.png|thumb|A ''logic_auto'' is created so that we can trigger our ''func_nav_blocker'' to start blocking]]


[[Image:Logic auto setup 2.png|thumb|The logic_auto is configured to fire when the game is runing on a PC, at game start time]]
[[Image:Logic auto setup 2.png|thumb|The ''logic_auto'' is configured to fire when the game is runing on a PC, at game start time]]


[[Image:Logic auto setup 3.png|thumb|The logic_auto has it's output set so that it triggers to BlockNav input on our previous func_nav_blocker entity]]
[[Image:Logic auto setup 3.png|thumb|The ''logic_auto'' has it's output set so that it triggers the ''BlockNav'' input on our previous ''func_nav_blocker'' entity]]


[[Image:Nav blocker setup 3.png|thumb| Finally, checking that the nav_blocker has detected the input correctly comign from the logic_auto]]
[[Image:Nav blocker setup 3.png|thumb| Finally, checking that the ''func_nav_blocker'' has detected the input correctly coming from the ''logic_auto'']]


= Common NPC FAQs =
= Common NPC FAQs =

Revision as of 20:46, 9 August 2020

Empires Mapping Documentation
Mapping Overiew | Hammer Configuration | Entity Index | Basic Mapping | Setup Resources | Tutorials | Useful FGD Modifications | Bots and NPCs | Dimensions | Skyboxes




This will be periodically updated with information about NPCs and Bots (fake players).


NPC

This refers to non-player AI controlled entities.

NPC Notes:

  • NPCs will automatically go to and attempt capture available control points
  • NPCs shoot at valid targets 2000 units away and in line of sight

= Bots

= This refers to fake clients, that are simulated server side.


Adding NPCs to maps

Added to hammer are 2 test NPC entities, these should work on any map however their functionality is limited. To ensure correct operation with your map, i have created a checklist of things that need to be done.

NPC checklist:


NPC Entity List:

Debugging NPCs

Console Commands

  • ai_debug_emp_paths : shows the actual paths the bots are currently following, blue for BE, red for NF
  • ai_debug_emp_cap_points : bots print which capture point they are trying to go to

Blocking Navigation

  1. First you need to create a func_nav_blocker entity covering the extent of the area you wish to block.
  2. Configure the func_nav_blocker settings, and choose whch team(s) you wish to block for and give it a name so that it can be activataed by another entity.
  3. Create an entity to use to activate the func_nav_blocker, here we use logic_auto but any entity can be used here
    1. Configure the logic_auto so that it triggers on game start
  4. Set the logic_auto's output to fire the BlockNav input on the func_nav_blocker
  5. Finally, check that the func_nav_blocker has the correct input coming in
The func_nav_blocker is textured here with tools/trigger, and covers the extent of the area I want to block
The func_nav_blocker is configured with the team to block for, and a name so that it can be activated by other entities
A logic_auto is created so that we can trigger our func_nav_blocker to start blocking
The logic_auto is configured to fire when the game is runing on a PC, at game start time
The logic_auto has it's output set so that it triggers the BlockNav input on our previous func_nav_blocker entity
Finally, checking that the func_nav_blocker has detected the input correctly coming from the logic_auto

Common NPC FAQs

  • The NPCs aren't moving anywhere, only occasionally shuffling forwards or standing there.
    • This is most likely because there is no navigation mesh, or capturable flags available.