VGUI-Menu: friendList, chat backend, textview class proto SurfaceProps: Flesh impacts recognition PropData: BreakModels now use a bodyque to limit possible physics overhead PMove: falldamage, liquids can now be configured via external decl NSWeapon: added alternative punchangle based on springs, 'punchSpring X Y Z' in decl API: Team class management APIS NSPhysicsEntity: Optimised, optimised, optimised. New cvar: phys_lowspec. Scraping, impact effects etc have been added. More polish everywhere else
15 lines
1.1 KiB
Markdown
15 lines
1.1 KiB
Markdown
# Bots {#bots}
|
|
|
|
![](computer.png) Bots are CPU controlled opponents. They can be useful for development, debugging but can also fun to play with.
|
|
|
|
They're 'fake' client entities, traversing the level, and acting upon objectives they either figure out themselves, or are told to to act a certain way.
|
|
|
|
*We encourage any multiplayer game to support them*, because they often also fill in the function of balancing teams. There's a whole slew of benefits of supporting bots, and *players will generally thank you for including them*.
|
|
|
|
## Technical Info
|
|
|
|
Bots are handled by BotLib, located under `src/botlib/` in the source tree.
|
|
|
|
Nuclide's BotLib takes some inspiration from **Quake III Arena** its bots, but shares no code or specific ideas or implementations. We do not use **AAS** for navigation, we leverage the route/pathfinding system **FTEQW** provides. Bots also share some code with regular NPC/Monster type entities through the use of the ncActor class.
|
|
|
|
@note Games are allowed to handle how they want to integrate bots themselves, but for development purposes there are ways to force bots to spawn also.
|