Неделя без постов... Да...
Я немного ожил чтобы рассказать вам что да как, ну и подкинуть контента.
Начнём с хорошего, экзамен я сдал на высший бал, диплом ещё пока в работе)
Вообще, я планировал вернуться к вам после экзамена и завести гору контента, но у меня тут возникли проблемы, много юридических приколов, суд и заявления, короче я прохожу ещё один интересный уровень с головоломками в игре "жизнь".
Ну а пока я утопаю в документах, Никилодиум (а вернее Никитунс) выпустил новый мультфильм который во-первых зашёл мне, во-вторых, я уверен что зайдёт вам. Первый эпизод доступен на ютубе.
Я немного ожил чтобы рассказать вам что да как, ну и подкинуть контента.
Начнём с хорошего, экзамен я сдал на высший бал, диплом ещё пока в работе)
Вообще, я планировал вернуться к вам после экзамена и завести гору контента, но у меня тут возникли проблемы, много юридических приколов, суд и заявления, короче я прохожу ещё один интересный уровень с головоломками в игре "жизнь".
Ну а пока я утопаю в документах, Никилодиум (а вернее Никитунс) выпустил новый мультфильм который во-первых зашёл мне, во-вторых, я уверен что зайдёт вам. Первый эпизод доступен на ютубе.
❤58👏15💘7🫡4❤🔥3🔥3🍓2👍1💊1
Почти месяц без постов... Ну что я вам скажу 🙈
Кто-то завершил государственный экзамен и защитил диплом на высший балл😄
Юридические приколы пока ещё идут, но тоже начинают отпускать (200+ листов дела Джонни, БОЛЬШЕ ДВУХСОТ)
Так что... ДА, я начинаю возвращаться к вам, готовьтесь к контенту :3
Кто-то завершил государственный экзамен и защитил диплом на высший балл
Юридические приколы пока ещё идут, но тоже начинают отпускать (200+ листов дела Джонни, БОЛЬШЕ ДВУХСОТ)
Так что... ДА, я начинаю возвращаться к вам, готовьтесь к контенту :3
Please open Telegram to view this post
VIEW IN TELEGRAM
💋88👏27❤5👍4🔥3🤩3👌3🆒2💊1
Помните этот момент, вы случайно были замечены одним из заражённых, проходит минута и вот за вами идут уже все заражённые дома. Почему так случалось? Где реализм?
Как вы уже знаете, заражённые не общаются друг с другом. Они не обмениваются информацией ни в одной части кода. Это соответствует представлению о том, что они не обладают интеллектом и реагируют на стимулы в окружающей среде исключительно инстинктивно.
Следовательно, если зараженный обнаруживает игрока и начинает преследовать его, другие зараженные, которые не обнаружили игрока напрямую, остаются равнодушными. Хотя это и логично, на практике зараженные казались слишком невосприимчивыми к окружающей среде.
По этому, в качестве альтернативы Naughty Dog добавили навык «follow», который позволяет одному персонажу следовать за другим, который что-то преследует. Следующий персонаж не получает никакой информации о преследуемом объекте, он просто испытывает побуждение следовать за ним.
Просто и изящно, не так ли?
Как вы уже знаете, заражённые не общаются друг с другом. Они не обмениваются информацией ни в одной части кода. Это соответствует представлению о том, что они не обладают интеллектом и реагируют на стимулы в окружающей среде исключительно инстинктивно.
Следовательно, если зараженный обнаруживает игрока и начинает преследовать его, другие зараженные, которые не обнаружили игрока напрямую, остаются равнодушными. Хотя это и логично, на практике зараженные казались слишком невосприимчивыми к окружающей среде.
По этому, в качестве альтернативы Naughty Dog добавили навык «follow», который позволяет одному персонажу следовать за другим, который что-то преследует. Следующий персонаж не получает никакой информации о преследуемом объекте, он просто испытывает побуждение следовать за ним.
Просто и изящно, не так ли?
👍42❤17🔥5🌚4👏2⚡1👀1
Бессонный кодер
Мы разобрали один день панды, так что давайте вернёмся в тлоу и изучим дни заражённых, но в этот раз дав чуть больше внимания каждому из гоалов. И так, для начала предлагаю вам изучить таблицу распределения гоалов у сущностей, я прикрепил её к посту. Почти…
Продолжая изучать скиллы, давайте рассмотрим «Засаду» aka «Ambush».
Это уникальный боевой навык сталкеров который заменять им навык преследования, но интересно, он был создан лишь на поздней стадии разработки игры. Создавая тип заражённых, который боялся бы света и сдерживался бы фонариком (привет Alan Wake), команда Naughty Dog столкнулась с тем, что в итоге было трудно сдержать баланс их опасности и полной бесполезности фонарика, в результате идея сменилась.
В итоговом варианте сталкеры перемещаются из укрытия в укрытие давая игроку только мелком увидеть их в потёмках, выжидая, когда игрок подойдёт ближе и нападали. За счёт этого при встрече сталкеров игрок автоматически начинал накручивать себе саспенс и максимально опасаться любого угла. Отдельной фичей стало что попытки сталкеров «спрятаться» приравнивали сложность и напряжение поиска последнего сталкера к аналогичному для первого.
Ещё одна уникальность навыка – он единственный среди заражённых использует механизм укрытий, но, кроме него эту систему используют и люди, так что на них её и рассмотрим.
Бойся каждого угла, кто знает, какой дорогой пойдёт сталкер…
Это уникальный боевой навык сталкеров который заменять им навык преследования, но интересно, он был создан лишь на поздней стадии разработки игры. Создавая тип заражённых, который боялся бы света и сдерживался бы фонариком (привет Alan Wake), команда Naughty Dog столкнулась с тем, что в итоге было трудно сдержать баланс их опасности и полной бесполезности фонарика, в результате идея сменилась.
В итоговом варианте сталкеры перемещаются из укрытия в укрытие давая игроку только мелком увидеть их в потёмках, выжидая, когда игрок подойдёт ближе и нападали. За счёт этого при встрече сталкеров игрок автоматически начинал накручивать себе саспенс и максимально опасаться любого угла. Отдельной фичей стало что попытки сталкеров «спрятаться» приравнивали сложность и напряжение поиска последнего сталкера к аналогичному для первого.
Ещё одна уникальность навыка – он единственный среди заражённых использует механизм укрытий, но, кроме него эту систему используют и люди, так что на них её и рассмотрим.
Бойся каждого угла, кто знает, какой дорогой пойдёт сталкер…
❤30👍2🔥1🕊1👀1🙉1
А это уже 50-й пост рубрики про игры и технологии!
Настало время для последнего интересующего нас навыка — «поиск» aka «search».
Когда заражённый теряет игрока — он начинает искать. И делает это не как человек. ИИ заражённых строится вокруг концепции хаотичного и органически выглядящего поиска.
Когда игрок убегает и прячется, заражённый включает навык поиска и здесь запускается целый алгоритм.
1) Сначала выстраивается навигационная сетка (далее навмеш) с зонами которые неизвестны для заражённого.
2) Простраивается граф точек, ведущих к укрытиям, и начинаются обследования.
3) При этом обследования идут не по сетке слева направо или по маршруту, а по принципу пристраивания через случайный набор анимаций.
Т.е. ИИ не управляет тем, куда пойдёт заражённый, он выбирает анимацию которая даст максимальный обзор.
К примеру скриншот в посте, на 3 этапе у нас есть 2 доступные анимации, движение чуть вперёд или резкий разворот, идёт расчёт насколько каждая анимация закроет точки на карте, решив что вторая более производительная в этом плане он запускает эту анимацию и помечает просмотренные точки как готовые.
4) А затем этот механизм продолжается до тех пор, пока не будет найден игрок или пока неизведанные точки не закончатся.
Это довольно интересный и необычный механизм поиска который подчёркивает хаотичную природу заражённых, надеюсь я смог понятно объяснить его для вас (чтобы мне осознать его, ушло пару дней).
А на этом у нас кончается цикл постов про ИИ заражённых, надеюсь вам понравилось такое специфичное отступление с детальным раскрытием темы)
Настало время для последнего интересующего нас навыка — «поиск» aka «search».
Когда заражённый теряет игрока — он начинает искать. И делает это не как человек. ИИ заражённых строится вокруг концепции хаотичного и органически выглядящего поиска.
Когда игрок убегает и прячется, заражённый включает навык поиска и здесь запускается целый алгоритм.
1) Сначала выстраивается навигационная сетка (далее навмеш) с зонами которые неизвестны для заражённого.
2) Простраивается граф точек, ведущих к укрытиям, и начинаются обследования.
3) При этом обследования идут не по сетке слева направо или по маршруту, а по принципу пристраивания через случайный набор анимаций.
Т.е. ИИ не управляет тем, куда пойдёт заражённый, он выбирает анимацию которая даст максимальный обзор.
К примеру скриншот в посте, на 3 этапе у нас есть 2 доступные анимации, движение чуть вперёд или резкий разворот, идёт расчёт насколько каждая анимация закроет точки на карте, решив что вторая более производительная в этом плане он запускает эту анимацию и помечает просмотренные точки как готовые.
4) А затем этот механизм продолжается до тех пор, пока не будет найден игрок или пока неизведанные точки не закончатся.
Это довольно интересный и необычный механизм поиска который подчёркивает хаотичную природу заражённых, надеюсь я смог понятно объяснить его для вас (чтобы мне осознать его, ушло пару дней).
А на этом у нас кончается цикл постов про ИИ заражённых, надеюсь вам понравилось такое специфичное отступление с детальным раскрытием темы)
🔥35❤3👍1🥰1👌1🤝1🎄1
Как мы уже знаем, разрабатывая заражённых Naughty Dog придерживались принципа отчуждённости и природной естественности. Но какие цели стояли при разработке искусственного интеллекта людей?
А ответ максимально прост: «заставить поверить игрока в то, что противники достаточно реальны, вызывая угрызения совести при их убийстве».
Первой задачей в реализации этой цели было достижение того, чтобы враги были опасными, ведь если бы они вели себя как пушечное мясо, игрок бы так к ним и относился. Нам же нужно чтобы каждый человек, с которым столкнётся игрок, представлял угрозу и сложность (не такую как уровень с вертолетиком, конечно).
Дополнительной задачей было реализация системы, которая бы позволяла людям координировать свои действия или, по крайней мере, создавать видимость координации. (спойлер, во второй части они настолько хорошо продвинутся в этом, что создадут собственный язык). Группа бродяг или мародёров должна работать вместе чтобы выжить, так же, как и Джоэл с Элли работают сообща, без этого они выглядят нечеловечески.
Кроме того, люди должны заботиться о своей безопасности и безопасности своих близких, ведь навряд ли во время битвы с Джоэлом им нужны новые террористы-смертники. Они были выжившими, они должны быть так же осторожны, как игрок осторожен с жизнью главных героев.
Кроме того, в отличии от заражённых, они не хаотичны, они должны опираться на свои знания и навыки при выборе куда идти и когда именно начинать идти. Они должны делиться информацией о потере или встрече игрока между собой, они должны замечать и реагировать на потерю своих соратников.
Сочетание всех этих выпиленных задач и чуточка SFX создаёт настоящих и живых человеческих врагов, которые становятся полной полярностью к заражённым, с которыми игроку интересно играть и которые могли вызвать чувство сочувствия у игрока при убийстве.
Получилось ли? Решать вам.
А ответ максимально прост: «заставить поверить игрока в то, что противники достаточно реальны, вызывая угрызения совести при их убийстве».
Первой задачей в реализации этой цели было достижение того, чтобы враги были опасными, ведь если бы они вели себя как пушечное мясо, игрок бы так к ним и относился. Нам же нужно чтобы каждый человек, с которым столкнётся игрок, представлял угрозу и сложность (не такую как уровень с вертолетиком, конечно).
Дополнительной задачей было реализация системы, которая бы позволяла людям координировать свои действия или, по крайней мере, создавать видимость координации. (спойлер, во второй части они настолько хорошо продвинутся в этом, что создадут собственный язык). Группа бродяг или мародёров должна работать вместе чтобы выжить, так же, как и Джоэл с Элли работают сообща, без этого они выглядят нечеловечески.
Кроме того, люди должны заботиться о своей безопасности и безопасности своих близких, ведь навряд ли во время битвы с Джоэлом им нужны новые террористы-смертники. Они были выжившими, они должны быть так же осторожны, как игрок осторожен с жизнью главных героев.
Кроме того, в отличии от заражённых, они не хаотичны, они должны опираться на свои знания и навыки при выборе куда идти и когда именно начинать идти. Они должны делиться информацией о потере или встрече игрока между собой, они должны замечать и реагировать на потерю своих соратников.
Сочетание всех этих выпиленных задач и чуточка SFX создаёт настоящих и живых человеческих врагов, которые становятся полной полярностью к заражённым, с которыми игроку интересно играть и которые могли вызвать чувство сочувствия у игрока при убийстве.
Получилось ли? Решать вам.
❤25🤔5😍3🤝2🔥1
🧠 Как работает навигация и скрытность у ИИ в The Last of Us?
Вы когда-нибудь замечали, что люди в TLoU не просто бегут к вам по прямой, а словно пытаются обойти, укрыться, выйти с фланга?
Такое поведение — результат сложной архитектуры, в основе которой лежит несколько хитрых решений. Давайте разберёмся, как работает интеллект, который «понимает», когда он видим и откуда может быть замечен.
🔹 Навигация в два уровня
The Last of Us использует навигационные меши — треугольные сетки, по которым ИИ рассчитывает маршрут. Это обычная практика.
Но в TLoU всё сложнее. Поверх мешей — ещё один уровень: локальная 2D-сетка, центрированная вокруг каждого NPC. Она уточняет препятствия: стены, мебель, динамичные объекты. Результат — точные короткие маршруты + возможность планировать дальние перемещения.
Чтобы всё это работало быстро (да, ещё и на PS3!), Naughty Dog распределяли задачи по SPU-процессорам. До 40 маршрутов в кадр. Но как оказалось на тестах, более продвинутая локальная навигация очень сильно нагружала консоль, из-за чего её было решено ограничить сильнее — максимум 1 проработка за кадр с общей очередью всех персонажей, так что им приходилось ждать своей очереди.
🔹 Exposure Map
Ещё одним интересным нововведением стала карта экспозиции — простая 2D-карта, где пиксель = «видно/не видно».
ИИ не просто знает путь — он знает, где он может попасться игроку на глаза.
Это решает кучу проблем:
- выбирать маршрут не только по расстоянию, но и по укрытию,
- делать фланговые атаки,
- быть осторожным (да-да, даже ИИ может бояться Элли с винтовкой за спиной).
Как это работает? В меш вшита карта высот, позволяющая делать быстрые рэйкасты (проверки видимости) в 360°. Причём, она работает в целочисленных координатах благодаря чему она стала идеальной для параллельных SPU, позволяя за пару миллисекунд обновить карты видимости — и для игрока, и для каждого NPC.
И вот здесь магия: эта карта становится стоимостью в навигации. Чем «открытее» путь — тем выше стоимость. ИИ начинает выбирать маршруты с минимальной экспозицией. Прямо как человек, инстинктивно крадущийся под прицелом.
📌 Какой приём здесь используется?
Это приём называется visibility-informed pathfinding — путь строится с учётом зон видимости. Это гибрид тактической оценки и маршрутизации, придающий врагам видимость разума.
ИИ не просто знает, где вы. Он знает, где вы можете его увидеть. И старается не попасться.
Вы когда-нибудь замечали, что люди в TLoU не просто бегут к вам по прямой, а словно пытаются обойти, укрыться, выйти с фланга?
Такое поведение — результат сложной архитектуры, в основе которой лежит несколько хитрых решений. Давайте разберёмся, как работает интеллект, который «понимает», когда он видим и откуда может быть замечен.
🔹 Навигация в два уровня
The Last of Us использует навигационные меши — треугольные сетки, по которым ИИ рассчитывает маршрут. Это обычная практика.
Но в TLoU всё сложнее. Поверх мешей — ещё один уровень: локальная 2D-сетка, центрированная вокруг каждого NPC. Она уточняет препятствия: стены, мебель, динамичные объекты. Результат — точные короткие маршруты + возможность планировать дальние перемещения.
Чтобы всё это работало быстро (да, ещё и на PS3!), Naughty Dog распределяли задачи по SPU-процессорам. До 40 маршрутов в кадр. Но как оказалось на тестах, более продвинутая локальная навигация очень сильно нагружала консоль, из-за чего её было решено ограничить сильнее — максимум 1 проработка за кадр с общей очередью всех персонажей, так что им приходилось ждать своей очереди.
🔹 Exposure Map
Ещё одним интересным нововведением стала карта экспозиции — простая 2D-карта, где пиксель = «видно/не видно».
ИИ не просто знает путь — он знает, где он может попасться игроку на глаза.
Это решает кучу проблем:
- выбирать маршрут не только по расстоянию, но и по укрытию,
- делать фланговые атаки,
- быть осторожным (да-да, даже ИИ может бояться Элли с винтовкой за спиной).
Как это работает? В меш вшита карта высот, позволяющая делать быстрые рэйкасты (проверки видимости) в 360°. Причём, она работает в целочисленных координатах благодаря чему она стала идеальной для параллельных SPU, позволяя за пару миллисекунд обновить карты видимости — и для игрока, и для каждого NPC.
И вот здесь магия: эта карта становится стоимостью в навигации. Чем «открытее» путь — тем выше стоимость. ИИ начинает выбирать маршруты с минимальной экспозицией. Прямо как человек, инстинктивно крадущийся под прицелом.
📌 Какой приём здесь используется?
Это приём называется visibility-informed pathfinding — путь строится с учётом зон видимости. Это гибрид тактической оценки и маршрутизации, придающий врагам видимость разума.
ИИ не просто знает, где вы. Он знает, где вы можете его увидеть. И старается не попасться.
❤18👍3🔥2🤔1👻1
Какой самый важный элемент в стелс играх? Прикрытия? Присядь? Коробка? Механизм восприятия NPC.
В серии Uncharted ИИ использовал простую систему для определения своего восприятия мира. Его зрение определялось с помощью простого конуса обзора и лучей для проверки на наличие препятствий. (первая картинка)
Но вот при тестировании TLoU возникла проблема, игроки могли спрятаться от NPC банально подойдя к нему вплотную за грань этого конуса, и игроки, находившиеся слишком далеко, были замечены просто потому, что конус, который использовали ранее, не был адекватен для представления реального зрения, что ломало всё погружение.
Основная проблема заключалась в том, что при близком расстоянии NPC требовался больший угол обзора, а на расстоянии — меньший. Тут Naughty Dog разработали для себя простое правило — угол обзора для NPC обратно пропорционален расстоянию (не поняли? Смотрите вторую картинку)
Ещё одно важное решение – это не моментальное обнаружение игрока, а использование таймера для этого. То есть, если игрок был виден в одном кадре, не означало, что NPC мгновенно его замечали. Когда NPC видел игрока, он запускал таймер. Каждый раз, когда игрок был виден, таймер увеличивался. Каждый кадр, когда игрок был невидим, таймер уменьшался. Игрок не считался замеченным, пока таймер не достигал определенного значения (около 1 или 2 секунд для типичного NPC). Во время боя порог таймера был намного ниже, а когда NPC еще не замечал игрока (т. е. игрок находится в режиме стелса), этот порог был намного выше.
В серии Uncharted ИИ использовал простую систему для определения своего восприятия мира. Его зрение определялось с помощью простого конуса обзора и лучей для проверки на наличие препятствий. (первая картинка)
Но вот при тестировании TLoU возникла проблема, игроки могли спрятаться от NPC банально подойдя к нему вплотную за грань этого конуса, и игроки, находившиеся слишком далеко, были замечены просто потому, что конус, который использовали ранее, не был адекватен для представления реального зрения, что ломало всё погружение.
Основная проблема заключалась в том, что при близком расстоянии NPC требовался больший угол обзора, а на расстоянии — меньший. Тут Naughty Dog разработали для себя простое правило — угол обзора для NPC обратно пропорционален расстоянию (не поняли? Смотрите вторую картинку)
Ещё одно важное решение – это не моментальное обнаружение игрока, а использование таймера для этого. То есть, если игрок был виден в одном кадре, не означало, что NPC мгновенно его замечали. Когда NPC видел игрока, он запускал таймер. Каждый раз, когда игрок был виден, таймер увеличивался. Каждый кадр, когда игрок был невидим, таймер уменьшался. Игрок не считался замеченным, пока таймер не достигал определенного значения (около 1 или 2 секунд для типичного NPC). Во время боя порог таймера был намного ниже, а когда NPC еще не замечал игрока (т. е. игрок находится в режиме стелса), этот порог был намного выше.
🔥37❤6😱5❤🔥2👏2😁1🤔1🤗1🤪1
🎯 Почему враги в The Last of Us не стреляют вам в мизинец за укрытием?
Потому что они не видят его. Буквально.
В ранней версии ИИ играл по честным правилам: каждый враг отправлял десятки лучей в каждый сустав Джоэла, чтобы понять, виден ли он. Потом эти лучи складывались, взвешивались и сравнивались с порогом — если получалось больше 60% видимости, значит игрок замечен. Но почему это не оставили? Всё работало... чересчур точно.
Игроки не могли предсказать, «видно» их или нет. Ведь как понять, учитывает ли система торчащий палец за укрытием? Или ухо?
Решение пришло простое и гениальное: заменить десятки лучей на одну точку на теле игрока.
- В стелсе она находится на груди — меньше шанс быть замеченным.
- В бою точка прыгает на голову — чтобы не было «спрятался за булыжник и всех победил».
Так AI остаётся «честным», но система становится предсказуемой для игрока — ты чувствуешь, когда ты в укрытии, а когда на грани провала.
Потому что они не видят его. Буквально.
В ранней версии ИИ играл по честным правилам: каждый враг отправлял десятки лучей в каждый сустав Джоэла, чтобы понять, виден ли он. Потом эти лучи складывались, взвешивались и сравнивались с порогом — если получалось больше 60% видимости, значит игрок замечен. Но почему это не оставили? Всё работало... чересчур точно.
Игроки не могли предсказать, «видно» их или нет. Ведь как понять, учитывает ли система торчащий палец за укрытием? Или ухо?
Решение пришло простое и гениальное: заменить десятки лучей на одну точку на теле игрока.
- В стелсе она находится на груди — меньше шанс быть замеченным.
- В бою точка прыгает на голову — чтобы не было «спрятался за булыжник и всех победил».
Так AI остаётся «честным», но система становится предсказуемой для игрока — ты чувствуешь, когда ты в укрытии, а когда на грани провала.
👍32❤🔥12❤5🔥3🤔2👏1🕊1
👁 А как ИИ вообще узнаёт, где вы?
Он не читерит. Почти всегда.
Когда один NPC увидел игрока — он передаёт информацию другим: «он там, в какое-то время». Это создаёт ощущение живой координации. Пока вас никто не видит — ваше местоположение заморожено, как последняя запись в камере наблюдения.
Но! Был один момент, где честность уступила драматургии.
Ранние тесты показали, что враги слишком долго подбирались к последней позиции игрока — в среднем до двух минут, прежде чем переходили к поиску. Игрок давно ушёл, а они всё окружали пустоту.
⚠️ Решение? Читерство в пользу темпа: если игрок отбежал дальше 5 метров от предполагаемой позиции, ИИ принудительно начинал проверку — кто-то шёл на разведку, и сцена быстро переходила к поиску.
Результат: цикл боя сократился до 30 секунд, и игра стала быстрее, напряжённее, живее.
Тем самым геймдизайнеры старались сохранять темп геймплея, хоть и в угоду тотальному реализму.
Он не читерит. Почти всегда.
Когда один NPC увидел игрока — он передаёт информацию другим: «он там, в какое-то время». Это создаёт ощущение живой координации. Пока вас никто не видит — ваше местоположение заморожено, как последняя запись в камере наблюдения.
Но! Был один момент, где честность уступила драматургии.
Ранние тесты показали, что враги слишком долго подбирались к последней позиции игрока — в среднем до двух минут, прежде чем переходили к поиску. Игрок давно ушёл, а они всё окружали пустоту.
⚠️ Решение? Читерство в пользу темпа: если игрок отбежал дальше 5 метров от предполагаемой позиции, ИИ принудительно начинал проверку — кто-то шёл на разведку, и сцена быстро переходила к поиску.
Результат: цикл боя сократился до 30 секунд, и игра стала быстрее, напряжённее, живее.
Тем самым геймдизайнеры старались сохранять темп геймплея, хоть и в угоду тотальному реализму.
👍53🤔5🍾4😘3❤1🔥1🙈1
🧠 Где укрыться?
Один из самых базовых — и самых сложных — вопросов, который встаёт перед ИИ в The Last of Us. Потому что это не «сесть за ящик». Это — решение о выживании. А выживание, как и смерть — вещь нерациональная.
🔹 Сначала — сбор кандидатов:
ИИ ищет cover posts — это точки укрытия, заранее просчитанные в редакторе, с ориентацией против угрозы. Берутся ближайшие 20 штук на NPC. Каждая из них проверяется четырьмя лучами: можно ли стрелять из неё по игроку. Если хотя бы один луч блокирован — точка отбраковывается.
Параллельно находятся open posts — это точки для разведки: из них тоже стреляют лучи, но не по игроку напрямую, а в последнее известное его местоположение.
🎯 Всего за кадр может быть запущено до 160 raycast’ов — они же формируют исходный список точек, куда NPC в теории может пойти. Затем на оставшиеся точки запускается pathfinding, но не сразу — в порядке очереди, максимум 20 на кадр.
🔹 Потом — пост-селекторы (post selectors):
ИИ не выбирает точку сразу. Он передаёт весь массив данных в скриптовую систему. Всего в игре было 17 различных селекторов, каждый из которых подбирает точку под текущее состояние NPC: атака, уклонение, оборона, паника и т.д.
Каждый пост проходит через набор критериев — и каждый критерий выдаёт значение от 0 до 1. Эти значения перемножаются: итоговая точка — это та, у которой наивысший результат. Причём:
– Критерий
– Критерии можно обновлять на лету — всё написано на LISP и перезагружается без перезапуска.
– Все оценки точек идут асинхронно, заранее, поэтому ИИ мгновенно реагирует на смену ситуации — он всегда знает, куда ему двигаться, не тратя кадры на панику.
📌 И именно поэтому люди в The Last of Us кажутся живыми. Потому что они не бегают по скриптам, а взвешивают варианты, анализируют, не слишком ли они сблизятся с тобой при беге к укрытию.
В отличие от заражённых, человек в бою не инстинкт — он расчёт, страх, уклонение и агрессия. А у тебя на него — всего пара патронов.
Один из самых базовых — и самых сложных — вопросов, который встаёт перед ИИ в The Last of Us. Потому что это не «сесть за ящик». Это — решение о выживании. А выживание, как и смерть — вещь нерациональная.
🔹 Сначала — сбор кандидатов:
ИИ ищет cover posts — это точки укрытия, заранее просчитанные в редакторе, с ориентацией против угрозы. Берутся ближайшие 20 штук на NPC. Каждая из них проверяется четырьмя лучами: можно ли стрелять из неё по игроку. Если хотя бы один луч блокирован — точка отбраковывается.
Параллельно находятся open posts — это точки для разведки: из них тоже стреляют лучи, но не по игроку напрямую, а в последнее известное его местоположение.
🎯 Всего за кадр может быть запущено до 160 raycast’ов — они же формируют исходный список точек, куда NPC в теории может пойти. Затем на оставшиеся точки запускается pathfinding, но не сразу — в порядке очереди, максимум 20 на кадр.
🔹 Потом — пост-селекторы (post selectors):
ИИ не выбирает точку сразу. Он передаёт весь массив данных в скриптовую систему. Всего в игре было 17 различных селекторов, каждый из которых подбирает точку под текущее состояние NPC: атака, уклонение, оборона, паника и т.д.
Каждый пост проходит через набор критериев — и каждый критерий выдаёт значение от 0 до 1. Эти значения перемножаются: итоговая точка — это та, у которой наивысший результат. Причём:
– Критерий
ai-criterion-static-pathfind-not-near-player
отбраковывает укрытия, путь к которым идёт сначала к игроку, а потом от него. Это частый баг в шутерах — когда NPC «хочет» пойти в дальнее укрытие, но для этого пробегает мимо тебя.– Критерии можно обновлять на лету — всё написано на LISP и перезагружается без перезапуска.
– Все оценки точек идут асинхронно, заранее, поэтому ИИ мгновенно реагирует на смену ситуации — он всегда знает, куда ему двигаться, не тратя кадры на панику.
📌 И именно поэтому люди в The Last of Us кажутся живыми. Потому что они не бегают по скриптам, а взвешивают варианты, анализируют, не слишком ли они сблизятся с тобой при беге к укрытию.
В отличие от заражённых, человек в бою не инстинкт — он расчёт, страх, уклонение и агрессия. А у тебя на него — всего пара патронов.
❤29✍3🔥2🍓2💋2👍1
«Ты слышал это?» — основа стелса в The Last of Us. Но за этой репликой стоит не скрипт, а слоистая система ролей, пост-селекторов и поведенческой логики, где ИИ сам решает, кто идёт проверять, и как именно он будет это делать.
Всё начинается с отвлекающего события — шум, камень, бутылка, патрон не попавший в цель. NPC слышит звук и… запрашивает роль "Исследователя". Получает её один из доступных — и только тогда начинается реакция.
Он выбирает позицию с помощью кастомного пост-селектора, идёт к ней, проигрывает анимацию осмотра.
Ничего не нашёл? Возвращается к предыдущему состоянию и продолжает движение по скриптовому маршруту.
Но всё это — только если игрок не обнаружен.
Если обнаружен — начинается поиск. И тут в дело вступает поисковая карта.
Поисковая карта — это сетка клеток, где каждая клетка отображает вероятность нахождения игрока.
Когда игрок был виден — отмечена только одна клетка. Как только игрок исчез — вероятность начинает растекаться по соседним клеткам, как чернила в воде.
Каждый кадр:
– NPC проверяют клетки в зоне видимости — и обнуляют вероятность в них.
– Остальные клетки продолжают "вспухать" по соседям, распространяя тень игрока по карте.
– NPC разбиваются по зонам, каждый обрабатывает свою часть сетки.
Результат: у каждого есть представление, где игрок может быть. И он действует не по скрипту, а по вероятности, основанной на недавнем контакте, топологии и текущей видимости.
Всё начинается с отвлекающего события — шум, камень, бутылка, патрон не попавший в цель. NPC слышит звук и… запрашивает роль "Исследователя". Получает её один из доступных — и только тогда начинается реакция.
Он выбирает позицию с помощью кастомного пост-селектора, идёт к ней, проигрывает анимацию осмотра.
Ничего не нашёл? Возвращается к предыдущему состоянию и продолжает движение по скриптовому маршруту.
Но всё это — только если игрок не обнаружен.
Если обнаружен — начинается поиск. И тут в дело вступает поисковая карта.
Поисковая карта — это сетка клеток, где каждая клетка отображает вероятность нахождения игрока.
Когда игрок был виден — отмечена только одна клетка. Как только игрок исчез — вероятность начинает растекаться по соседним клеткам, как чернила в воде.
Каждый кадр:
– NPC проверяют клетки в зоне видимости — и обнуляют вероятность в них.
– Остальные клетки продолжают "вспухать" по соседям, распространяя тень игрока по карте.
– NPC разбиваются по зонам, каждый обрабатывает свою часть сетки.
Результат: у каждого есть представление, где игрок может быть. И он действует не по скрипту, а по вероятности, основанной на недавнем контакте, топологии и текущей видимости.
❤🔥37🕊4👀3❤1👍1🔥1👻1💘1
🧠 Как сделать врагов в игре не просто опасными, а страшными?
Секрет — не в уроне, не в численности и даже не в хитром ИИ.
Секрет в координации и потере контроля.
Каждый выстрел по игроку сопровождается полной телесной реакцией:
анимация боли, отнятие управления, короткий момент уязвимости.
Это не просто попадание — это пауза, наказание, ошибка, превращённая в событие.
Но чтобы игрок это чувствовал, кто-то должен гарантированно стрелять.
Каждый бой. Каждую секунду. Без суеты.
И тут в игру вступает Combat Coordinator — сердце тактического ИИ.
Combat Coordinator — это глобальный диспетчер ролей.
Он следит за всеми NPC на арене и раздаёт им поведенческие функции:
– Flanker — обходит фланг
– Approacher — продвигается вперёд
– Investigator — проверяет след
– StayUpAndAimer — держит позицию
– OpportunisticShooter — тот, кто стреляет прямо сейчас
Вот он — ключ.
Игра гарантирует, что всегда есть хотя бы один враг, ведущий огонь.
И не просто стреляющий — а срывающийся в огонь мгновенно.
Даже если NPC в анимации, он немедленно прерывает её и стреляет.
Это решение сделало ИИ смертельно опасным.
Зачем оно так сделано? В предыдущих тестах NPC начинали стрелять слишком поздно, игроки легко выносили всех в лоб.
Теперь — один отвлекает, другие окружают.
Ты получил пулю — остановился. Враги — не останавливаются.
Секрет — не в уроне, не в численности и даже не в хитром ИИ.
Секрет в координации и потере контроля.
Каждый выстрел по игроку сопровождается полной телесной реакцией:
анимация боли, отнятие управления, короткий момент уязвимости.
Это не просто попадание — это пауза, наказание, ошибка, превращённая в событие.
Но чтобы игрок это чувствовал, кто-то должен гарантированно стрелять.
Каждый бой. Каждую секунду. Без суеты.
И тут в игру вступает Combat Coordinator — сердце тактического ИИ.
Combat Coordinator — это глобальный диспетчер ролей.
Он следит за всеми NPC на арене и раздаёт им поведенческие функции:
– Flanker — обходит фланг
– Approacher — продвигается вперёд
– Investigator — проверяет след
– StayUpAndAimer — держит позицию
– OpportunisticShooter — тот, кто стреляет прямо сейчас
Вот он — ключ.
Игра гарантирует, что всегда есть хотя бы один враг, ведущий огонь.
И не просто стреляющий — а срывающийся в огонь мгновенно.
Даже если NPC в анимации, он немедленно прерывает её и стреляет.
Это решение сделало ИИ смертельно опасным.
Зачем оно так сделано? В предыдущих тестах NPC начинали стрелять слишком поздно, игроки легко выносили всех в лоб.
Теперь — один отвлекает, другие окружают.
Ты получил пулю — остановился. Враги — не останавливаются.
👀30👍9❤7🔥4🍌1🎃1
А у нас закончилась рубрика внутри рубрики (да, вчера был последний пост про ИИ в тлоу)
Так что давайте отвлечёмся, причём отвлечёмся прям максимально. Как некоторые из вас знают, я стараюсь по мере наличия времени участвовать в поисках в составе отряда LizaAlert, но ещё больше людей у меня часто спрашивают — зачем это мне?
Предлагаю вам посмотреть целых 8 причин зачем!
Так что давайте отвлечёмся, причём отвлечёмся прям максимально. Как некоторые из вас знают, я стараюсь по мере наличия времени участвовать в поисках в составе отряда LizaAlert, но ещё больше людей у меня часто спрашивают — зачем это мне?
Предлагаю вам посмотреть целых 8 причин зачем!
YouTube
Дети не должны умирать в лесу! Истории о поисках, рассказанные их участниками. Видеоверсия спектакля
8 ПРИЧИН ИСКАТЬ ПРОПАВШИХ ДЕТЕЙ
Добровольцы отряда “ЛизаАлерт” - о поисках, изменивших их жизнь и о том главном, что помогает им найти ответ на вопрос "Зачем?".
Документальный спектакль был создан творческой группой сериала “Неспокойные ночи. ЛизаАлерт”.…
Добровольцы отряда “ЛизаАлерт” - о поисках, изменивших их жизнь и о том главном, что помогает им найти ответ на вопрос "Зачем?".
Документальный спектакль был создан творческой группой сериала “Неспокойные ночи. ЛизаАлерт”.…
❤🔥21☃4❤3✍2👀2🔥1🌭1
Media is too big
VIEW IN TELEGRAM
После изматывающего боя с заражёнными Элли и Дэвид отступают в заброшенный склад. Постановка этой сцены явно вдохновлена «Ночью живых мертвецов»: герои в осаде, последние патроны, клацающие челюсти снаружи — и чувство, что выжить получится лишь чудом. И чудо происходит: Элли и Дэвид остаются в живых и садятся у костра. Тишина. Напряжение спадает — но лишь на поверхности. Потому что сейчас начинается самая напряжённая часть.
Дэвид заводит свой знаменитый монолог: «Я считаю, никаких случайностей не бывает. Недавно мои люди пошли в город за едой. Вернулись не все. Те, кто выжил, сказали, что на них напал один психопат. И, представь себе... с ним была девочка». Дальше — пауза. Дэвид улыбается. Элли замирает. А игрок вдруг осознаёт: он не просто присутствует при сцене — он в ней участвует. Это не просто разговор — это суд.
В этот момент The Last of Us впервые не просто намекает, а прямо вспарывает моральный слой происходящего. До этого игрок убивал десятки людей. Без имён. Без лиц. Без последствий. Но теперь перед ним — не просто очередной враг, а Дэвид: спокойный, разумный, харизматичный. Его люди тоже потеряли близких. Они тоже выживали. Возможно, они даже добросовестно искали еду. И вот теперь ты смотришь на Элли, которая вот-вот побежит за лекарством для умирающего Джоэла — и не можешь не задать себе вопрос: а правда ли ты герой этой истории?
Именно в этой сцене Naughty Dog делают то, над чем бились ещё с первой части Uncharted — пытаются преодолеть конфликт между игровыми действиями и нарративом. И персонаж Дэвида становится инструментом этого сомнения: он не просто антагонист, он зеркало. Он не угрожает Элли — он стыдит её. И игрока. И если тебе вдруг стало не по себе — значит, всё работает как надо.
Дэвид заводит свой знаменитый монолог: «Я считаю, никаких случайностей не бывает. Недавно мои люди пошли в город за едой. Вернулись не все. Те, кто выжил, сказали, что на них напал один психопат. И, представь себе... с ним была девочка». Дальше — пауза. Дэвид улыбается. Элли замирает. А игрок вдруг осознаёт: он не просто присутствует при сцене — он в ней участвует. Это не просто разговор — это суд.
В этот момент The Last of Us впервые не просто намекает, а прямо вспарывает моральный слой происходящего. До этого игрок убивал десятки людей. Без имён. Без лиц. Без последствий. Но теперь перед ним — не просто очередной враг, а Дэвид: спокойный, разумный, харизматичный. Его люди тоже потеряли близких. Они тоже выживали. Возможно, они даже добросовестно искали еду. И вот теперь ты смотришь на Элли, которая вот-вот побежит за лекарством для умирающего Джоэла — и не можешь не задать себе вопрос: а правда ли ты герой этой истории?
Именно в этой сцене Naughty Dog делают то, над чем бились ещё с первой части Uncharted — пытаются преодолеть конфликт между игровыми действиями и нарративом. И персонаж Дэвида становится инструментом этого сомнения: он не просто антагонист, он зеркало. Он не угрожает Элли — он стыдит её. И игрока. И если тебе вдруг стало не по себе — значит, всё работает как надо.
👍21❤6🎉4💅4❤🔥2🔥1😍1
Media is too big
VIEW IN TELEGRAM
(Внимание, сцена крайне не рекомендуется к просмотру лицам младше 18 лет, а также особо чувствительным людям, берегите себя)
Для многих игроков чудесное выздоровление Джоэла — один из самых спорных моментов всей The Last of Us. Он был при смерти, потерял сознание от лихорадки, но спустя несколько часов после укола пенициллина уже бегает по снегу и душит людей голыми руками. Даже в мире, где гриб превращает людей в чудовищ, эта сцена кажется натяжкой. Что особенно парадоксально — ведь в остальном игра болезненно стремится к правдоподобию. И всё же именно эта неправдоподобность становится необходимой: без неё не было бы того Джоэла, которого мы увидим дальше.
Но что самое важное, он очнулся не просто выжившим — он очнулся отцом. Элли спасла его, заботилась, рисковала — не имеет права её потерять. С этого момента Джоэл движим не просто целью, не просто инстинктом, а чем-то гораздо сильнее — страхом снова остаться одним. И потому, когда он находит людей из банды Дэвида, в нём нет ни капли сомнения. Он хватает двоих. Один — привязанный к батарее, другой — на коленях. И тут начинается сцена, которая ломает остатки иллюзий о героизме.
Это не всплеск ярости. Это не аффект. Джоэл хладнокровен, точен, привычен в каждом движении. Он не просто допрашивает — он пытает. А когда получает ответ — убивает обоих. Без эмоций. Почти буднично. Даже с язвительной репликой, как будто это сцена из другого жанра. Но никакого облегчения или катарсиса не наступает. Только холод. И вот тогда игроку становится ясно: этот человек — не герой. Он человек, для которого любовь неотделима от насилия. Он будет убивать, если того требует забота. Он будет лгать, если того требует привязанность. Он — отец, в мире, где доброта не выживает.
Без этой сцены финал игры не работал бы. Она — первый удар по щиту морали, за которым прятался игрок. Джоэл больше не тот, кого нужно спасать. Теперь он сам — угроза. Но угроза во имя любви. И в этом, как ни страшно это признавать, он становится самым человечным персонажем во всей игре. И что самое главное — эта сцена нам напрямую предвещает и помогает понять пролог The Last of Us 2, поэтому мы ещё вернёмся к ней.
Для многих игроков чудесное выздоровление Джоэла — один из самых спорных моментов всей The Last of Us. Он был при смерти, потерял сознание от лихорадки, но спустя несколько часов после укола пенициллина уже бегает по снегу и душит людей голыми руками. Даже в мире, где гриб превращает людей в чудовищ, эта сцена кажется натяжкой. Что особенно парадоксально — ведь в остальном игра болезненно стремится к правдоподобию. И всё же именно эта неправдоподобность становится необходимой: без неё не было бы того Джоэла, которого мы увидим дальше.
Но что самое важное, он очнулся не просто выжившим — он очнулся отцом. Элли спасла его, заботилась, рисковала — не имеет права её потерять. С этого момента Джоэл движим не просто целью, не просто инстинктом, а чем-то гораздо сильнее — страхом снова остаться одним. И потому, когда он находит людей из банды Дэвида, в нём нет ни капли сомнения. Он хватает двоих. Один — привязанный к батарее, другой — на коленях. И тут начинается сцена, которая ломает остатки иллюзий о героизме.
Это не всплеск ярости. Это не аффект. Джоэл хладнокровен, точен, привычен в каждом движении. Он не просто допрашивает — он пытает. А когда получает ответ — убивает обоих. Без эмоций. Почти буднично. Даже с язвительной репликой, как будто это сцена из другого жанра. Но никакого облегчения или катарсиса не наступает. Только холод. И вот тогда игроку становится ясно: этот человек — не герой. Он человек, для которого любовь неотделима от насилия. Он будет убивать, если того требует забота. Он будет лгать, если того требует привязанность. Он — отец, в мире, где доброта не выживает.
Без этой сцены финал игры не работал бы. Она — первый удар по щиту морали, за которым прятался игрок. Джоэл больше не тот, кого нужно спасать. Теперь он сам — угроза. Но угроза во имя любви. И в этом, как ни страшно это признавать, он становится самым человечным персонажем во всей игре. И что самое главное — эта сцена нам напрямую предвещает и помогает понять пролог The Last of Us 2, поэтому мы ещё вернёмся к ней.
❤32👀6🔥4💅3❤🔥1👎1🤔1
Media is too big
VIEW IN TELEGRAM
(Внимание, сцена содержит кадры насилия, не рекомендуется к просмотру чувствительным людям, берегите себя)
Финал зимней главы — это не просто кульминация арки Дэвида, а кульминация взросления Элли. Она пробирается в заброшенный ресторан, где, среди сломанных стульев и затопленных огненном светом столов, начинается поединок — не на выносливость, а на человечность. Дэвид — не очередной враг. Он персонаж, зеркальное отражение Джоэла, только лишённый любви. Он говорит с Элли как взрослый с взрослой, но за его голосом — угроза. И Элли отвечает. Удары ножом, прятки, сближение, сцепление, крик — и тьма.
Оба теряют сознание. И вот игрока переносят к Джоэлу. Он бредёт сквозь метель, приближается, медленно, но неотвратимо. Эта смена перспектив — идеальное решение. Эмоциональное напряжение растёт, и пока игрок продвигается через белую пелену, он знает, что что-то должно случиться, он знает, что Элли сейчас сражается один на один c канибаллом и гебефилом. Эта сцена закладывает фундамент для чередования точек зрения в The Last of Us Part II.
Но до второй части ещё далеко. Сейчас — Элли. И она не убивает — она уничтожает Дэвида. Раз за разом. Без счета. Без остатка. До тех пор, пока Джоэл не находит её, не хватает, не останавливает — и только его объятия могут вернуть её обратно. Это не сцена победы. Это сцена потери. Смерть Дэвида — это не наказание. Это цена. За выживание. За силу. За то, что ты больше никогда не сможешь быть прежним.
Джоэл обнимает её и повторяет слова, которые когда-то говорил умирающей Саре:
«Это я... Смотри. Это я. Солнышко. Ничего, ничего».
Он называет её baby girl. Так же, как называл дочь.
Игра замирает. Музыка поднимается. Звучит All Gone. Та самая тема, что играла в ночь смерти Сары. Та, что вернётся в финале, когда Джоэл вынесет Элли из операционной. Этот мотив — не просто мелодия. Это связующая нить. Печать на эмоциях. И когда она звучит, игрок чувствует: всё прошло. Круг замкнулся. Детство кончилось. Путь, начатый с потери дочери, продолжается — теперь уже с новой.
Финал зимней главы — это не просто кульминация арки Дэвида, а кульминация взросления Элли. Она пробирается в заброшенный ресторан, где, среди сломанных стульев и затопленных огненном светом столов, начинается поединок — не на выносливость, а на человечность. Дэвид — не очередной враг. Он персонаж, зеркальное отражение Джоэла, только лишённый любви. Он говорит с Элли как взрослый с взрослой, но за его голосом — угроза. И Элли отвечает. Удары ножом, прятки, сближение, сцепление, крик — и тьма.
Оба теряют сознание. И вот игрока переносят к Джоэлу. Он бредёт сквозь метель, приближается, медленно, но неотвратимо. Эта смена перспектив — идеальное решение. Эмоциональное напряжение растёт, и пока игрок продвигается через белую пелену, он знает, что что-то должно случиться, он знает, что Элли сейчас сражается один на один c канибаллом и гебефилом. Эта сцена закладывает фундамент для чередования точек зрения в The Last of Us Part II.
Но до второй части ещё далеко. Сейчас — Элли. И она не убивает — она уничтожает Дэвида. Раз за разом. Без счета. Без остатка. До тех пор, пока Джоэл не находит её, не хватает, не останавливает — и только его объятия могут вернуть её обратно. Это не сцена победы. Это сцена потери. Смерть Дэвида — это не наказание. Это цена. За выживание. За силу. За то, что ты больше никогда не сможешь быть прежним.
Джоэл обнимает её и повторяет слова, которые когда-то говорил умирающей Саре:
«Это я... Смотри. Это я. Солнышко. Ничего, ничего».
Он называет её baby girl. Так же, как называл дочь.
Игра замирает. Музыка поднимается. Звучит All Gone. Та самая тема, что играла в ночь смерти Сары. Та, что вернётся в финале, когда Джоэл вынесет Элли из операционной. Этот мотив — не просто мелодия. Это связующая нить. Печать на эмоциях. И когда она звучит, игрок чувствует: всё прошло. Круг замкнулся. Детство кончилось. Путь, начатый с потери дочери, продолжается — теперь уже с новой.
❤🔥17❤4🔥1