Вопрос к гуру навигации zBot, если тут такие есть

Сообщения
473
Реакции
249
Помог
6 раз(а)
В мои руки попал хороший такой мануал, в котором описывается, что такое навигация zBot и с чем её едят. Мануал старый на вид и там говорится, что вот эти зелёные полосочки:
6.PNG
вроде как места, где кемперят боты и повлиять на их расположение толком нельзя. Также, там было написано, что лестницы - самое слабое место zBot и с ними связано много багов. А главное - пути для лестниц (синие полоски) генерируются автоматически и на них НИКАК не повлиять.

Вопрос заключается в следующем: поменялось-ли что-то с тех пор? Или всё также плохо и придётся мириться с тем, что некоторые недочёты никак не исправить?
 
Сообщения
2,143
Реакции
1,223
Помог
44 раз(а)
Сообщения
473
Реакции
249
Помог
6 раз(а)
Что именно даёт bot_nav_analyze и обязателен-ли он? При сформированных зонах навигации боты и так неплохо ориентируются на местности.
 
Сообщения
160
Реакции
170
Помог
1 раз(а)
CHEL74,
bot_add — добавить бота (бот пойдет за команду, указанную параметром bot_join_team)
bot_add_t — за террориста
bot_add_ct — за контра
bot_kill name|all — убить бота по имени или всех сразу (all)
bot_kick name|all — кикнуть бота по имени или всех сразу (all)
bot_knives_only — боты играют только на ножах
bot_pistols_only — только на пистолетах
bot_snipers_only — только со снайперками
bot_all_weapons — использую все оружие
bot_difficulty 0-3 — мастерство бота (3 — самый сильный, действует на ново добавленных ботов; уже играющие боты будут иметь старый уровень мастерства)
bot_quota число — минимальное количество ботов (если вы кикните бота, то новый бот автоматически добавится; значение 0 отключает этот параметр)
bot_prefix имя — данное имя (а точнее префикс) будет добавлено к имени каждого новосозданного бота. Типа, можно симулировать ClanWar ;)
bot_join_team ct|t|any — устанавливает, к какой команде будут присоединяться боты (контры; терры; к обеим)
bot_join_after_player 0|1 — боты присоединяются только, когда хотя бы один «живой» игрок есть на сервере (0 — боты создадутся, даже если людей на сервере нет)
bot_allow_pistols 0|1 — ботам разрешено использовать/покупать пистолеты
bot_allow_shotguns 0|1 — дробовики
bot_allow_sub_machine_guns 0|1 — пистолеты-пулеметы (3-шки)
bot_allow_rifles 0|1 — винтовки, кроме снайперок
bot_allow_machine_guns 0|1 — M249
bot_allow_grenades 0|1 — гранаты
bot_allow_snipers 0|1 — снайперки
bot_allow_shield 0|1 — щит
bot_allow_rogues 0|1 — безбашенные боты (если 1 — боты бегают, никого не слушают и палят во все, что движется :)
Изменение навигации ZBot: Нижеследующие команды предназначены для ручной правки путей ботов (NAV-данных). Рекомендуется забиндить эти команды на какие-нибудь клавиши для удобства использования. ПРЕДОСТЕРЕЖЕНИЕ: операции «отмена» (undo) нет, поэтому почаще сохраняйтесь.
bot_nav_mark Помечает выбранную NAV-область для последующих операций.
bot_nav_delete Удаляет выбранную NAV-область.
bot_nav_split Разделяет выбранную NAV-область на 2 области по БЕЛОЙ линии.
bot_nav_merge Объединяет текущую выбранную NAV-область с предыдущей помеченной. Объединение произойдет только в том случае, если размеры обеих NAV-областей совпадают по линии объединения.
bot_nav_connect Создает однонаправленную связь от текущей помеченной NAV-области до текущей выбранной NAV-области. Это говорит ботам, что они могут бегать ОТ выделенной области ДО выбранной. В большинстве случаев, необходимо соединять области в обоих направлениях. Исключение: области, когда бот должен спрыгнуть куда-то вниз (назад ему уже не попасть).
bot_nav_disconnect Удаляет все связи от текущей помеченной области до текущей выбранной области.
bot_nav_begin_area bot_nav_end_area Эти две команды создают новые области: bot_nav_begin_area помечает один угол области, а bot_nav_end_area — противоположный и собственно, создает область. Для отмены операции напишите команду bot_nav_begin_area снова.
bot_nav_splice Создает новую NAV-область между текущей помеченной областью и текущей выбранной областью и соединяет новую область двусторонней связью. Данная команда особенно полезна в наклонных областях.
bot_nav_crouch Помечает область как «crouch», т.е. заставляет ботов ползти (идти вприсядку) в этой области.
bot_nav_jump Помечает область как «jump», т.е. заставляет ботов прыгать в этой области.
bot_nav_analyze Анализирует NAV-данные и определяет на карте доступные (достижимые) области. Операция может занять несколько минут в зависимости от размеров и сложности строения карты. УТОЧНЕНИЕ: Данная команда требует, чтобы на карте был хотя бы 1 бот. Рекомендуется поступать следующим образом: сохранитесь, добавьте бота и быстренько введите эту команду: bot_analyze.
bot_nav_save Сохраняет навигацию в файле *.NAV в директорию «cstrike/maps» под именем карты.
bot_nav_load Загружает NAV-данные из файла, очистив текущие данные.
Редактирование навигации:
bot_nav_edit 0|1 Значение 1 — позволяет редактировать навигацию вручную.
bot_nav_zdraw значение высоты Устанавливает высоту навигационных элементов над землей в режиме редактирования. Если рельеф карты довольно сильно меняется (подъемы, спуски), то будет полезно увеличить этот параметр до 10 или 15. По умолчанию: 4.
bot_quicksave 0|1 При значение 1 операция анализа карты будет пропущена. Но помните, что без анализа, боты не смогут правильно смотреть.
Отладка:
bot_walk 0|1 Боты не могут бегать (только ходят).
bot_stop 0|1 Боты вообще не двигаются.
bot_show_nav 0|1 При значении 1 навигация будет показана около бота.
bot_show_danger 0|1 При значении 1 «опасность» будет показана для каждой NAV-области в виде вертикальной полоски. СИНЯЯ полоса показывает опасность для контров, а красная — для терров.
bot_traceview значение Используется для внутренней отладки навигации ботов.
bot_debug значение Используется для внутренней отладки поведения ботов.
Разное:
bot_about Показывает номер версии ботов и информацию об авторе.
bot_goto_mark Заставляет 1 бота идти к центру текущей помеченной области. Это полезно при тестировании «проходимости» некоторых мест.
 
Сообщения
473
Реакции
249
Помог
6 раз(а)
mr_CHikAZ,
определяет на карте доступные (достижимые) области
Что-то совсем не понятное описание.
bot_quicksave 0|1 При значение 1 операция анализа карты будет пропущена. Но помните, что без анализа, боты не смогут правильно смотреть.
В смысле правильно смотреть?) Какие-то тут даны расплывчатые данные.

Я вот замечал, что после анализа появляются фиолетовые и красные полоски по углам помимо зелёных. Зелёные, насколько я понимаю, точки кемперства. А красные и фиолетовые, получается, какие-то точки, на которые они оборачиваются, чтоль?
 
Сообщения
15
Реакции
19
CHEL74, команда bot_nav_analyze выполняется автоматически, если добавляется бот и отсутствует nav-файл. Её нужно вводить вручную только, если перед этим вы удалили навигацию. Доступные (достижимые) области - это и есть те прямоугольники, которые вы видите, когда набираете в консоли 'bot_nav_edit 1'.

В смысле правильно смотреть?
Если бот попадает в такую точку, где ещё нет никакой зоны навигации, то он просто прыгает на одном месте и смотрит только в одну сторону (прямо перед собой).

неплохо ориентируются на местности
Это зависит от карты. Например, на карте de_2minaret между респауном террористов и ближайшей точкой минирования стоит прозрачная стена. Если сгенерировать навигацию автоматически, то боты будут стоять в этом месте до конца раунда. Но если разорвать связи между зоной респауна и точкой минирования, то всё становится уже вполне нормально. Ну, почти нормально. Есть ещё одна проблема. Один из маршрутов между точками минирования непроходим для ботов с тактическими щитами, хотя человек там вполне может пройти, и нет там лестницы. С этим тоже надо что-то делать. Или навигацию приподнять. Или прыжок в том месте установить. Я ещё не пробовал.
 
Сообщения
473
Реакции
249
Помог
6 раз(а)
bcspm1, я не совсем правильно тогда сформулировал вопрос. В целом, я уже примерно понял то, что мне было нужно на своём опыте.

Суть была в том, что если перед анализом ввести команду bot_quicksave, то создаются только нав-зоны. По правилам, именно так и делается. Создаются зоны, редактируются вручную и потом только полный анализ. У меня был вопрос, зачем нужен именно второй, полный анализ. Ведь боты и без него прекрасно бегают из зоны в зону. Как я понял, полный анализ генерирует "точки опасности" - красные и фиолетовые полосочки по углам некоторых зон. Судя по всему, боты с их помощью чекают опасные участки. А если второй анализ не провести, то они будут бегать не оглядываясь =)

непроходим для ботов с тактическими щитами
Что-то новое) Я щиты ботам давно уже везде запретил, не сталкивался с такими багами.
 
Сообщения
15
Реакции
19
CHEL74, щиты я тоже запрещаю. Но, во-первых, их не всегда можно запретить. Например, в официальной кампании CSCZ есть несколько заданий с тактическим щитом. Кроме того, если ботам запретить щит, то у них после щита в профиле идёт m4a1, что не совсем честно, поскольку позволяет игроку нанять более сильных союзников. Это я всё говорю про кампанию, а не про сетевую игру. А во-вторых, ошибка - это в любом случае ошибка. Тот факт, что она проявляется именно со щитом - это дело второстепенное. Та же проблема может проявить себя и без щита. Например, на карте cs_siege в "Гараже" есть лестница, которая ведёт от крыши автомобиля к вентиляции. Если боты спускаются с этой лестницы на автомобиль, то они до конца раунда остаются внизу лестницы, поскольку не понимают, что в этом месте нужно присесть или подпрыгнуть. Я считаю, что это буквально та же самая проблема. Её суть в том, боты склонны бесконечно повторять одно и то же неудачное действие и при этом они перестают смотреть вокруг и прислушиваться к звукам. Кстати, это для многих ботов характерно. Например, joebot тоже этим страдает и даже в ещё большей степени.

А что касается вопроса о том, куда боты оглядываются, то я часто вижу, что POD-Bot и zBot, когда кемперят, смотрят в упор прямо в ближайшую стену. При этом у zBot эта проблема не решается вообще, а у POD-Bot её можно решить, только разрешив боту прицеливание сквозь стены, то есть, читерством. Мне знаком только один бот, который кемперит в правильном направлении и делает это, вроде бы, без читерства, это wbot, но он для старых версий CS.
 
Сообщения
473
Реакции
249
Помог
6 раз(а)
Если боты спускаются с этой лестницы на автомобиль, то они до конца раунда остаются внизу лестницы, поскольку не понимают, что в этом месте нужно присесть или подпрыгнуть.
Можно попробовать "на весу" создать зону с нужным флагом. На de_nuke на лестнице, ведущей на крышу, прокатило.
При этом у zBot эта проблема не решается вообще
Насчёт кемперства вобще отдельный разговор. Были идеи насчёт того, чтобы как-то триггерить реакцию бота на радио-команду при его приседании, чтобы они вообще не кемперили, но потерялось всё желание после кривой реализации в регейме.
 
Сообщения
15
Реакции
19
CHEL74, так в том то и дело, что для лестницы на cs_siege нет соответствующего флага. Для спуска с той лестницы нужно присесть или подпрыгнуть, но для подъёма на неё этого делать нельзя. А подъём намного важнее, поскольку карта делалась во времена, когда заложники не умели проходить через вентиляцию. Они и сейчас не очень хорошо проходят. Но боты это не учитывают и пытаются спасти заложников не через дверь, а через вентиляцию. Это надолго затягивает раунд. Было бы идеально, если бы у ботов было два набора зон навигации: один для обычного движения, другой для движения с заложником. И хорошо бы иметь возможность указать направление для флага.

Кстати, вот ещё пример плохой навигации ботов. На карте cs_havana_cz если боты пытаются спасти заложников через дырку в полу в зоне Upstairs, то они часто не доходят всего один шаг до ближайшей зоны спасения. Постоят там несколько секунд, и возвращаются аж на респаун террористов, то есть, снова на верхний этаж. Затем снова спрыгивают вниз. И так ходят кругами до тех пор, пока не умрёт последний террорист. Или пока заложники не забегут в зону спасения по инерции. Или пока сам контр-террорист не умрёт от очередного падения вниз. В общем, больно на это смотреть. И это, между прочим, вполне официальные файлы навигации. В смысле, они официальные в обоих случаях, как на cs_siege, так и на cs_havana_cz.
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу