На видео ты показал отдельную механику, здесь же если монстр стреляет в напарника, ничего не происходит, они не видят друг друга и никак не взаимодействуют с окружающим миром. Всё что для них существует это игрок, который не так уж и часто попадает в поле их зрения. А когда цели нет, они просто сходят с ума, и не дай бог на их препятствии окажутся другие NPC, случится или очередной затуп или застрявание. Тычатся как слепые котята.
Я думаю это ещё частично проблема откровенно плохого левелдизайна, им просто негде развернуться и спрятаться, почти вся карта из себя представляет тесную кишку, и если какое то препятствие оказывается в корридоре, то обойти его никак. Телепорты в трубах и канализациях вообще убили, как такое вообще в голову могло прийти? И это не то что я хочу обосрать как то игру, нет. Я просто хочу чтобы это сразу учли и не допускали таких глупых ошибок.
Или вот злополучная кнопка над дверью, зачем она там? Какой смысл от неё? В Чазме например на первом уровне тоже была подобная задачка, но там эта кнопка была на уровне земли и за полуоткрытыми воротами, да ещё и подсвечена. А здесь логика отсутствует напрочь.
Некоторые идеи для ИИ:
- Монстры не просто стоят, а патрулируют корридор, ходят от точки А до точки Б туда сюда, причем могут в рандомном месте остановиться и проиграть какую то секвенцию
- Монстры должны обладать хорошим слухом, игрок же издаёт звуки. Если он топает где то по близости, монстр должен остановиться и насторожиться, начать осматриваться. Если слышит выстрелы, бежит туда.
- Монстр не должен терять игрока из виду, если он в пределе его видимости, т.е. случаи когда игрок залез на коробку, а монстр тупа стоит и сосёт дилдак смотрит на него, не должны допускаться. Если у него есть ружьё, он должен стрелять, если нет, то развернуться и притаиться где нибудь вне видимости игрока и притаиться, а не бегать по карте как сумасшедший.
- Обезаруженный монстр опять же должен прятаться, а не бегать по всей карте и особенно мельтишить перед игроком
- На картах если не ошибаюсь есть лайтмапы, почему бы не сделать на карте тёмные ниши без света, куда могли бы забиваться монстры, и прыгать оттуда на игрока, либо прятаться если они обезаружены? По мне офигенная затея которая была ещё в дуум3, но здесь на неё абсолютно забили, а это бы решило некоторые проблемы.
- Монстры не должны стрелять в союзников своего вида, особенно систематично до тех пор пока их не убьют. В таком случае они должны либо вступить в перестрелку между собой, либо как то разойтись и уже заниматься игроком. Опять же бесит что они как слепые котята, если в тебя стреляют - прячься, если тебе что то мешает - обойди, где всё это? Это не ИИ, это какие то турели.
- Монстры не должны разлетаться на гибсы, если их атакует другой монстр в ближнем бою.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: Монстры как слепые теряют игрока, не видят и стреляют друг друга (неужели так сложно вставить проверку, не находится ли перед ним другой монстр?), застрявают друг в друге. Бегают безсмысленно по карте и т.п.
Вообще хз,ты словно про другую игру пишешь.
Монстры имеют довольно продвинутый ии. Они следят за игроком, преследуют его через пол-карты, слышат звуки. Умеют убегать в укрытия, отпрыгивать от гранат и ракет. Они не стреляют по напарникам, все необходимые проверки есть в коде. Они умеют делать persistant fire, блокируя тактику "высунулся, выстрелил, спрятался".
То есть ты предлагаешь исправлять то, что давно исправлено, и я регулярно проверяю в плейтестах. Я не знаю, как исправить то, что работает. Да, бывают накладки, но я как разработчик всегда вижу, почему они случились, почему монстр тут в конкретном месте не мог поступить иначе.
Так что ок, "в волатиле с ии треш", не играй в нее пожалуйста. Много других хороших движков, я уверен.
Добавлено 19-05-2020 в 21:49:
Цитата:
FiEctro писал: случаи когда игрок залез на коробку, а монстр тупа стоит и сосёт дилдак
Конкретно по этому случаю - тоже всё понятно. Код ИИ общий и опирается на точечную трассу для определения возможности атаки. А в коде конкретного монстра стоит боксовая трасса. Первая проходит, вторая нет. По хорошему, надо в коде монстра добавить точечную трассу, если не прошла боксовая. Но я пока этим не занимался, к тому же это нечастый кейс, отстретить монстру обе лапы, а потом залезть на бочку. Но он есть и в теории, конечно, надо бы пофиксить.
Дядя Миша
Возможно, но как ты определишь что именно там темно?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
XaeroX писал: Так что ок, "в волатиле с ии треш", не играй в нее пожалуйста.
Отличный рекламный ход, хорошо продашься.
А почему бы просто еще раз не перепроверить? ИИ пуляет друг в друга, застревает друг в друге, летает через потолок, чего монстры только не умеют, но умными их не назвать.
Другой вариант - просто скажи, мол "да, есть проблемы, но я не хочу этим заниматься", вместо того, чтобы кидаться со словами "не играй".
PekpyT писал: А почему бы просто еще раз не перепроверить?
А чем я, по-твоему, всё это время занимался?
Даже несколько фиксов сделал, но все они по большому счёту минорные.
Друг в друга они пуляют, если не находятся в одной команде. Почему они должны беречь жизни друг друга вне команды? Ты бы стал беречь жизни незнакомых тебе людей под огнём врага?
Цитата:
PekpyT писал: застревает друг в друге, летает через потолок
Опять же - весь необходимый код в движке имеется, и у меня во время игры, а я прошёл демку несчётное число раз, этого не наблюдается. Но возможно, имеется какой-то баг, который надо найти и исправить. Это именно баг, а не плохой ИИ в целом, нужны какие-то шаги по воспроизведению, ну или сейвы.
Добавлено 20-05-2020 в 05:51:
Цитата:
PekpyT писал: просто скажи, мол "да, есть проблемы, но я не хочу этим заниматься"
Я хочу заниматься решением конкретных проблем, а не объяснять фиектре, почему я "не вставил проверку" и т.п.
Если претензии настолько глобальны - тогда проще забить, конечно. У большинства игроков таких претензий не возникло, насколько я понял. Типичный ответ на вопрос о проблемах звучит так: "I didn't encounter anything out of the ordinary in my playthrough, and the people I have recommended it too since have not reported anything either.".
XaeroX писал: Друг в друга они пуляют, если не находятся в одной команде. Почему они должны беречь жизни друг друга вне команды? Ты бы стал беречь жизни незнакомых тебе людей под огнём врага?
У монстров есть команды? Ну наверное стал бы, враг-то общий.
У лазерщиков - есть, они по сюжету интеллектуальные существа.
Цитата:
Crystallize писал: Ну наверное стал бы, враг-то общий.
Ну тогда тебя убьют, потому что враг поливает огнём всех без разбору.
И вообще, у инопланетян могут быть свои представления о том, что такое хорошо и что такое плохо.
XaeroX писал: Ну тогда тебя убьют, потому что враг поливает огнём всех без разбору.
Я с трудом могу уследить за твоей мыслью, но я думаю что раз враг всё равно стреляет во всех вне зависимости от команды, то и мы должны объединить команды против врага?
XaeroX стрельба во врага сквозь члена другой команды неэффективна-не прицелишься и пули теряют энергию. Убивать его просто чтобы он упал и освободил горизонт-очень глупо, это же лишний ствол против врага. Есть правда проблема с тем что кто-то может зажать тебя и ты не успеешь убежать от гранаты, но в такие узкие коридоры много народу сразу посылать и не надо.