Бессонный кодер
5.17K subscribers
262 photos
47 videos
4 files
101 links
Канал разработчика и поисковика ДПСО LizaAlert

Связь: @sleeplessfeedbackbot или Direct канала (они бесплатные)
По рекламе: @dpp_ads
Купить рекламу: https://telega.in/c/sleeplesscode
Download Telegram
Помните те прекрасные (нет) дни, когда нам отключали мобильный интернет? Я в те дни был на учёбе, а там периодически мне приходится пользоваться нейронками — для помощи с экспериментами или коррекции постов.

И вот представьте: мобильного интернета нет, через Wi‑Fi моё образовательное учреждение блокирует VPN, а мне позарез нужно попросить помощи. И тут на помощь пришёл мой хороший знакомый! Вы точно его помните — Котя, автор FinWave! Он к нам с еще одной классной вещью!

Вы наверняка видели кучу ботов с GPT в телеге, но у многих — просто чат и отдельная команда для создания картинки. А если нужен целостный диалог с дополнительными фишками — фигвам. Котя решил сделать хорошо и сделал Godlike GPT! Мне самому очень понравилась реализация и удобство, так что уверен — вам тоже зайдёт. Но что там есть?

— Оплата за фактическое использование, вместо подписок (ура, не платим $23 за пару запросов).
— Разные модели, включая очень мощную и крутую GPT-4.1, которая даёт жару или GPT-4.1-mini, которая может быть немножко глупенькой, но очень дешёвая.
— Поддержка войсов, файлов, картинок и стикеров прямо в чате — и это без лимита 10 файлов в день (да, OpenAI?).
— Он даже реакции в Телеге понимает, РЕАКЦИИ, ДЖОННИ!

А самая топовая фича — пресеты. Можно создать пресет доктора, психолога, программиста (гача-друга?), настроить как угодно и использовать в пару нажатий. Специально для вас даже сделали пресет для тех, кто немного не понял мои последние посты — попробуйте сами!
#геймдев что такое Data-driven подход?

А самое главное, Котя сейчас даёт бесплатный тест для всех. Но кто я, если бы не договорился на бонус для вас ❤️. При пополнении баланса по ссылке вы получите приятный бонус:
👉 @godlike_gpt_bot
(Не забудьте активировать бесплатный тест кнопочкой, которая появится после запуска бота)
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥73😁3🏆3🎉1
Мы разобрали один день панды, так что давайте вернёмся в тлоу и изучим дни заражённых, но в этот раз дав чуть больше внимания каждому из гоалов.

И так, для начала предлагаю вам изучить таблицу распределения гоалов у сущностей, я прикрепил её к посту. Почти все заражённые имеют свои различия... Почти...

Давайте начнём с навыка "Погоня за игроком". У большинства заражённых тактика боя максимально проста - обнаружив врага, они бегут на свою цель и убивают её. Но давайте изучим работу подробнее.

Когда на заражённого действует раздражитель (урон или звук), включается наш навык и первое что он делает - крик в сторону раздражителя чтобы предупредить игрока о том, что его обнаружили.

Затем навык вызывает бехейвер move-to, который отслеживает позицию игрока и ведёт заражённого к нему.

Во время погони персонаж время от времени приостанавливаться, чтобы дать игроку возможность спрятаться или подготовить атаку, но вместо остановки бехейвера движения, в этот момент вызывается бехейвер поиска "infected-canvass", о котором мы поговорим в следующем посте. В этот момент заражённый обновляет своё понимание мира и позицию игрока, просчитывая возможность того, что тот спрятался или убежал.
💋21🔥75🕊2😇2
Давайте отвлечёмся от рубрики и немного вспомним старые рубрики :D

Что посмотреть во время миграции (в моём случае оказалось, что посмотреть, когда ты целый день в МВД😄)?
Все мы знаем СТС, далеко не многие шоу у них успешны, но мне удалось найти среди них незамеченный самородок.

Встречайте - Большой Побег, невероятно кайфовое шоу-квест. Оно интересно со стороны того как действуют участники, со стороны что ты сам порой долго думаешь как разгадать ту или иную загадку и со стороны наличия юмора.
Продюсерам удалось собрать довольно органичную команду (конечно же звёзд, но тут это не так крижово как в новом галелео).

Ну и да, любители ТЛОУ, первый эпизод вы зацените. Говорят Маркони всё-ещё пытается угадать номер автобуса
🔥396😍4🤗2😘2🕊1
Админ если что живой (на процентов 30), просто сдаёт экзамен и диплом :D
113🔥15😱11👍5😁3🤷‍♀1🤷‍♂1🍓1🎄1🤷1
Неделя без постов... Да...
Я немного ожил чтобы рассказать вам что да как, ну и подкинуть контента.

Начнём с хорошего, экзамен я сдал на высший бал, диплом ещё пока в работе)
Вообще, я планировал вернуться к вам после экзамена и завести гору контента, но у меня тут возникли проблемы, много юридических приколов, суд и заявления, короче я прохожу ещё один интересный уровень с головоломками в игре "жизнь".

Ну а пока я утопаю в документах, Никилодиум (а вернее Никитунс) выпустил новый мультфильм который во-первых зашёл мне, во-вторых, я уверен что зайдёт вам. Первый эпизод доступен на ютубе.
58👏15💘7🫡4❤‍🔥3🔥3🍓2👍1💊1
Почти месяц без постов... Ну что я вам скажу 🙈
Кто-то завершил государственный экзамен и защитил диплом на высший балл 😄
Юридические приколы пока ещё идут, но тоже начинают отпускать (200+ листов дела Джонни, БОЛЬШЕ ДВУХСОТ)
Так что... ДА, я начинаю возвращаться к вам, готовьтесь к контенту :3
Please open Telegram to view this post
VIEW IN TELEGRAM
💋88👏275👍4🔥3🤩3👌3🆒2💊1
Помните этот момент, вы случайно были замечены одним из заражённых, проходит минута и вот за вами идут уже все заражённые дома. Почему так случалось? Где реализм?

Как вы уже знаете, заражённые не общаются друг с другом. Они не обмениваются информацией ни в одной части кода. Это соответствует представлению о том, что они не обладают интеллектом и реагируют на стимулы в окружающей среде исключительно инстинктивно.

Следовательно, если зараженный обнаруживает игрока и начинает преследовать его, другие зараженные, которые не обнаружили игрока напрямую, остаются равнодушными. Хотя это и логично, на практике зараженные казались слишком невосприимчивыми к окружающей среде.

По этому, в качестве альтернативы Naughty Dog добавили навык «follow», который позволяет одному персонажу следовать за другим, который что-то преследует. Следующий персонаж не получает никакой информации о преследуемом объекте, он просто испытывает побуждение следовать за ним.

Просто и изящно, не так ли?
👍4217🔥5🌚4👏21👀1
Бессонный кодер
Мы разобрали один день панды, так что давайте вернёмся в тлоу и изучим дни заражённых, но в этот раз дав чуть больше внимания каждому из гоалов. И так, для начала предлагаю вам изучить таблицу распределения гоалов у сущностей, я прикрепил её к посту. Почти…
Продолжая изучать скиллы, давайте рассмотрим «Засаду» aka «Ambush».

Это уникальный боевой навык сталкеров который заменять им навык преследования, но интересно, он был создан лишь на поздней стадии разработки игры. Создавая тип заражённых, который боялся бы света и сдерживался бы фонариком (привет Alan Wake), команда Naughty Dog столкнулась с тем, что в итоге было трудно сдержать баланс их опасности и полной бесполезности фонарика, в результате идея сменилась.

В итоговом варианте сталкеры перемещаются из укрытия в укрытие давая игроку только мелком увидеть их в потёмках, выжидая, когда игрок подойдёт ближе и нападали. За счёт этого при встрече сталкеров игрок автоматически начинал накручивать себе саспенс и максимально опасаться любого угла. Отдельной фичей стало что попытки сталкеров «спрятаться» приравнивали сложность и напряжение поиска последнего сталкера к аналогичному для первого.

Ещё одна уникальность навыка – он единственный среди заражённых использует механизм укрытий, но, кроме него эту систему используют и люди, так что на них её и рассмотрим.

Бойся каждого угла, кто знает, какой дорогой пойдёт сталкер…
30👍2🔥1🕊1👀1🙉1
А это уже 50-й пост рубрики про игры и технологии!

Настало время для последнего интересующего нас навыка — «поиск» aka «search».
Когда заражённый теряет игрока — он начинает искать. И делает это не как человек. ИИ заражённых строится вокруг концепции хаотичного и органически выглядящего поиска.

Когда игрок убегает и прячется, заражённый включает навык поиска и здесь запускается целый алгоритм.

1) Сначала выстраивается навигационная сетка (далее навмеш) с зонами которые неизвестны для заражённого.
2) Простраивается граф точек, ведущих к укрытиям, и начинаются обследования.
3) При этом обследования идут не по сетке слева направо или по маршруту, а по принципу пристраивания через случайный набор анимаций.
Т.е. ИИ не управляет тем, куда пойдёт заражённый, он выбирает анимацию которая даст максимальный обзор.
К примеру скриншот в посте, на 3 этапе у нас есть 2 доступные анимации, движение чуть вперёд или резкий разворот, идёт расчёт насколько каждая анимация закроет точки на карте, решив что вторая более производительная в этом плане он запускает эту анимацию и помечает просмотренные точки как готовые.
4) А затем этот механизм продолжается до тех пор, пока не будет найден игрок или пока неизведанные точки не закончатся.

Это довольно интересный и необычный механизм поиска который подчёркивает хаотичную природу заражённых, надеюсь я смог понятно объяснить его для вас (чтобы мне осознать его, ушло пару дней).

А на этом у нас кончается цикл постов про ИИ заражённых, надеюсь вам понравилось такое специфичное отступление с детальным раскрытием темы)
🔥353👍1🥰1👌1🤝1🎄1
Как мы уже знаем, разрабатывая заражённых Naughty Dog придерживались принципа отчуждённости и природной естественности. Но какие цели стояли при разработке искусственного интеллекта людей?

А ответ максимально прост: «заставить поверить игрока в то, что противники достаточно реальны, вызывая угрызения совести при их убийстве».

Первой задачей в реализации этой цели было достижение того, чтобы враги были опасными, ведь если бы они вели себя как пушечное мясо, игрок бы так к ним и относился. Нам же нужно чтобы каждый человек, с которым столкнётся игрок, представлял угрозу и сложность (не такую как уровень с вертолетиком, конечно).

Дополнительной задачей было реализация системы, которая бы позволяла людям координировать свои действия или, по крайней мере, создавать видимость координации. (спойлер, во второй части они настолько хорошо продвинутся в этом, что создадут собственный язык). Группа бродяг или мародёров должна работать вместе чтобы выжить, так же, как и Джоэл с Элли работают сообща, без этого они выглядят нечеловечески.

Кроме того, люди должны заботиться о своей безопасности и безопасности своих близких, ведь навряд ли во время битвы с Джоэлом им нужны новые террористы-смертники. Они были выжившими, они должны быть так же осторожны, как игрок осторожен с жизнью главных героев.

Кроме того, в отличии от заражённых, они не хаотичны, они должны опираться на свои знания и навыки при выборе куда идти и когда именно начинать идти. Они должны делиться информацией о потере или встрече игрока между собой, они должны замечать и реагировать на потерю своих соратников.

Сочетание всех этих выпиленных задач и чуточка 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 — путь строится с учётом зон видимости. Это гибрид тактической оценки и маршрутизации, придающий врагам видимость разума.

ИИ не просто знает, где вы. Он знает, где вы можете его увидеть. И старается не попасться.
18👍3🔥2🤔1👻1
Упс, случайно получилось
1🔥145👏2913🥰8🍾7🤯43🤝1💘1🦄1👾1
Какой самый важный элемент в стелс играх? Прикрытия? Присядь? Коробка? Механизм восприятия NPC.

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

Но вот при тестировании TLoU возникла проблема, игроки могли спрятаться от NPC банально подойдя к нему вплотную за грань этого конуса, и игроки, находившиеся слишком далеко, были замечены просто потому, что конус, который использовали ранее, не был адекватен для представления реального зрения, что ломало всё погружение.

Основная проблема заключалась в том, что при близком расстоянии NPC требовался больший угол обзора, а на расстоянии — меньший. Тут Naughty Dog разработали для себя простое правило — угол обзора для NPC обратно пропорционален расстоянию (не поняли? Смотрите вторую картинку)

Ещё одно важное решение – это не моментальное обнаружение игрока, а использование таймера для этого. То есть, если игрок был виден в одном кадре, не означало, что NPC мгновенно его замечали. Когда NPC видел игрока, он запускал таймер. Каждый раз, когда игрок был виден, таймер увеличивался. Каждый кадр, когда игрок был невидим, таймер уменьшался. Игрок не считался замеченным, пока таймер не достигал определенного значения (около 1 или 2 секунд для типичного NPC). Во время боя порог таймера был намного ниже, а когда NPC еще не замечал игрока (т. е. игрок находится в режиме стелса), этот порог был намного выше.
🔥376😱5❤‍🔥2👏2😁1🤔1🤗1🤪1
🎯 Почему враги в The Last of Us не стреляют вам в мизинец за укрытием?
Потому что они не видят его. Буквально.

В ранней версии ИИ играл по честным правилам: каждый враг отправлял десятки лучей в каждый сустав Джоэла, чтобы понять, виден ли он. Потом эти лучи складывались, взвешивались и сравнивались с порогом — если получалось больше 60% видимости, значит игрок замечен. Но почему это не оставили? Всё работало... чересчур точно.
Игроки не могли предсказать, «видно» их или нет. Ведь как понять, учитывает ли система торчащий палец за укрытием? Или ухо?

Решение пришло простое и гениальное: заменить десятки лучей на одну точку на теле игрока.
- В стелсе она находится на груди — меньше шанс быть замеченным.
- В бою точка прыгает на голову — чтобы не было «спрятался за булыжник и всех победил».

Так AI остаётся «честным», но система становится предсказуемой для игрока — ты чувствуешь, когда ты в укрытии, а когда на грани провала.
👍32❤‍🔥125🔥3🤔2👏1🕊1
👁 А как ИИ вообще узнаёт, где вы?
Он не читерит. Почти всегда.

Когда один NPC увидел игрока — он передаёт информацию другим: «он там, в какое-то время». Это создаёт ощущение живой координации. Пока вас никто не видит — ваше местоположение заморожено, как последняя запись в камере наблюдения.

Но! Был один момент, где честность уступила драматургии.
Ранние тесты показали, что враги слишком долго подбирались к последней позиции игрока — в среднем до двух минут, прежде чем переходили к поиску. Игрок давно ушёл, а они всё окружали пустоту.

⚠️ Решение? Читерство в пользу темпа: если игрок отбежал дальше 5 метров от предполагаемой позиции, ИИ принудительно начинал проверку — кто-то шёл на разведку, и сцена быстро переходила к поиску.
Результат: цикл боя сократился до 30 секунд, и игра стала быстрее, напряжённее, живее.

Тем самым геймдизайнеры старались сохранять темп геймплея, хоть и в угоду тотальному реализму.
👍53🤔5🍾4😘31🔥1🙈1
🧠 Где укрыться?

Один из самых базовых — и самых сложных — вопросов, который встаёт перед ИИ в 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 кажутся живыми. Потому что они не бегают по скриптам, а взвешивают варианты, анализируют, не слишком ли они сблизятся с тобой при беге к укрытию.
В отличие от заражённых, человек в бою не инстинкт — он расчёт, страх, уклонение и агрессия. А у тебя на него — всего пара патронов.
293🔥2🍓2💋2👍1