Достаточно большую роль в производительности играет AI NextBot's (далее боты) в игре Left 4 Dead. Так как неважно, какой режим (кооператив, сражение или иной). AI код в server.dll/so использует много циклов с очень большой частотой. Поэтому очень сильной оптимизацией работы SRCDS - грамотное создание или редактирование NAV файла для каждой карты. Чтобы AI не застревал нигде и чтобы не прокручивал бесконечные циклы (дабы дойти до цели и атаковать ей - это один из многих примеров). Просматривая и следовательно редактируя NAV файлы карт я понял, что все они очень плохо сделаны. Это дает очень нехорошие показатели в производительности SRCDS L4D. По моему многолетнему опыту создания NAV файлов я мог выжимать до 10% производительности.
К тому же редактирование NAV файла дает невероятные вещи для работы с AI. В игре Left 4 Dead 1 - можно создать достаточно динамичный AI для каждой команды. Как минимум - убрать баги и нелепости в работе AI, как максимум - создание новых путей для прохождения различных препятствий (прыжки, прохождения различных полос препятствий, появлений зараженных в самых различных местах). В игре Left 4 Dead 2 есть все это, но с еще более гибкой системой управления AI (с введением VScripts)
В основном создатели карт, используют авто-генерацию навигации.
Даже сами valve её заюзали на c8m1, это хорошо видно, если прописать nav_edit 1 и посмотреть на трубы, по которым должна зараза лезть.
+ ещё очень большую роль играют метки.(Они дают директору определить, где находится убега, а где основная финальная битва.)
https://github.com/K...ting/navmesh.sp - можно и самому её сделать и загрузить плагином(но я не уверен, ибо не проверял).
Но в любом случае делать навигацию с нуля очень геморно, самый простой вариант, сделать авто-генерацию и позже уже посмотреть и подправить, если что-то очень убого вышло.
Сообщение отредактировал BHaType: 19 Январь 2019 - 1:07