Ремесло

Хорошие книги для gamedev AI программиста

18 ноября 20248 мин
Хорошие книги для gamedev AI программиста

После статьи о книгах для саморазвития gamedev-программиста меня просили больше написать про аишную часть и о том, что стоит почитать по этой теме. Для программиста ИИ в игрострое ситуация с книгами схожа, но с несколькими интересными особенностями. Здесь важна не столько глубина знаний, сколько наработанность с инструментами, библиотеками и технологиями в целом — а с учётом того, что новые подходы развиваются с поразительной скоростью, поразительной для игростроя конечно. Казалось, только лет 10 назад стали использоваться BT (behavior tree), но и они уже имеют редакцию 4.x (behaviortree.dev). Но важно не зацикливаться на затаскивании в проект модных примочек: базовые знания остаются самым важным, что можно получить. Это как в притче об удочке — дай человеку рыбу, и он накормит себя сегодня; дай ему удочку, и он будет кормить себя всю жизнь. Удочкой в этом случае выступает знание того, как оно работает, а не как можно его использовать.

ИИ до сих пор стоит в игрострое особняком, потому что до сих пор нет стандартов построения игровой логики: каждая из студий решает свои уникальные технические и инженерные задачи и вынуждена находить баланс между чем-то новым и общей стабильностью игры. Этот путь усеян пробами и ошибками, даже если вы уже прошли по нему в прошлом, и мало кто поможет вам увидеть ошибки заранее — банально потому, что прошёл по другому пути, со своими граблями и костылями. Тем хуже, когда именитый разработчик приходит в команду и начинает продавать свои решения и опыт, которые часто не бьются с разработками команды. Но статья не об этом, а о полезных книгах.

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

Книги по игровому ИИ

AI for Game Developers

AI for Game Developers

Это, вероятно, лучшая книга, если вы хотите начать изучать концепции построения ИИ для игр. Рассматривайте её как «ИИ для игр для чайников за 21 день»: когда-то существовала серия книг про разные языки программирования с похожим названием. В целом эта книга является отправной точкой для всех, и скорее всего вам предложат прочитать её в студии — она будет в локальной библиотеке. Как всегда, читать лучше в оригинале, потому что наши переводчики не всегда корректно переводят обороты.

Авторы объясняют довольно широкий спектр техник, решений и стратегий, используемых в разработке игр, простым и понятным языком — с небольшим условием: простым, если вы уже успели прочитать другие книги по разработке, понятным, если уже пробовали что-то делать. Информацию подают доступным языком для людей с разным уровнем опыта и общим бэкграундом в разработке игр. Книга хорошо структурирована, с балансом теории и практических примеров. Подход Бурга помогает понять некоторые концепции ИИ вроде BT, активностей, прерываний, мониторов и т. д. Неплохо рассмотрены такие концепции игрового ИИ, как принятие решений, обучение и восприятие (EOS, environment obstacle system) — я затрагивал описание похожей системы в этой статье.

Что ещё можно будет узнать из книги:

Game AI Pro

Game AI Pro

Серия книг, посвящённая искусственному интеллекту в компьютерных играх. Каждая книга представляет собой сборник статей и опыта реальных разработчиков, которые делятся своими знаниями и практическими подходами. Каждая книга организована в главы, посвящённые темам, с которыми разработчики часто сталкиваются. Читать лучше параллельно с первой книгой в списке — те главы, что пересекаются по темам. Так будет больше материала для осмысления и возможность увидеть больше примеров по теме.

Game Engine Gems

Game Engine Gems

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

! Читать лучше в оригинале — наши переводчики криво используют контекст, а зачастую убирают целые абзацы!

Чтобы было ясно: эти книги не дадут вам полного понимания того, как создать игровой движок или написать хороший и интересный ИИ противников, нет. В книге почти не обсуждается техническая часть; вместо этого внимание уделено некоторым узким специфическим темам, которые возникли при разработке, и описанию ошибок уже постмортем. Как дополнение к более техническим книгам, которые можно найти по архитектуре игровых движков и игровому ИИ, книга достойная и безусловно заслуживает места в этом списке.

Особенности:

The Pyramid of Game Design

The Pyramid of Game Design

Книга описывает модель для проектирования ИИ в компьютерных играх. Эта модель предназначена для того, чтобы помочь разработчикам игр связать различные аспекты игрового дизайна. Это теория того, как надо строить связи в игре: между квестами, между предметами, между NPC, между игроком и окружением. За годы разработки я не встречал практических примеров её применения полностью, как она описана в книге. Как теория, выглядит вполне хорошей и стройной, но как практический подход я нигде её не видел. Отдельные части — да, используются достаточно широко, об этом ниже, а вот про «эмоциональное программирование игроков» — даже звучит стрёмно, хотя вот последние игры вроде Inscryption или Buckshot Roulette, похоже, попытались применить определённые главы этой книги на практике.

Темы, которые могут быть интересны программистам ИИ и дизайнерам:

Behavioral Mathematics for Game AI

Behavioral Mathematics for Game AI

Это ценное пособие для разработчиков игр и AI-программистов, но очень скучное. Я осилил книгу после трёх попыток. Тем не менее, если вы хотите понимать математические основы моделей поведения NPC в играх и апеллировать этим в спорах с дизайнером, эта книга определённо будет полезной. Написано достаточно запутанно — тут, возможно, были ещё сложности перевода, — и бывало, что концепции из прошлой главы забывались к началу следующей. Это больше похоже на справочник для тех, кто хочет увидеть, как определённые игровые концепции воспринимаются дизайнерами в теории. Помните, что автор передаёт знания конца 90-х или начала 2000-х годов, и некоторые подходы серьёзно устарели и сейчас едва ли используются. Не читайте всё подряд — это справочник: не зашла глава после пяти страниц, смотрите следующую. Из-за того, что главы неправильно организованы, кмк, их надо читать не в порядке расположения, а в порядке возникающих в голове вопросов. Ну что есть, то есть, уже не исправишь. Меня книга зацепила автором, который участвовал в создании ИИ для первой части Majesty — если кто помнит эту игру, думаю, многие увидят в этих описаниях решения тех лет.

Behavioral Mathematics for Game AI — внутри

AI Game Programming Wisdom

AI Game Programming Wisdom

Серия книг, посвящённая техникам в области искусственного интеллекта, применяемого в разработке игр. Это истории о существующих решениях в играх начала 2000-х годов. Серия акцентирует внимание на практических подходах и решениях реальных задач ИИ.

Почему я могу порекомендовать эту серию:

Почему я не могу порекомендовать эту серию:

Заключение

Спасибо, что дочитали. Докидывайте интересные книги и мнения о них в комментах — добавлю их тоже.

← Все статьи