Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Unity 5.x. Программирование искусственного интеллекта в играх

Покупка
Артикул: 679296.02.99
Доступ онлайн
699 ₽
В корзину
Игровой движок Unity 5 включает в себя множество инструментов, помогающих разработчикам создавать потрясающие игры, снабженные мощным искусственным интеллектом. Эти инструменты, вместе с прикладным программным интерфейсом Unity и встроенными средствами, открывают безграничные возможности для создания собственных игровых миров и персонажей. Данная книга охватывает как общие, так специальные методы, позволяющие реализовать эти возможности. Издание задумывалось как исчерпывающий справочник, помогающий расширить навыки программирования искусственного интеллекта в играх. Рассматриваются основные приемы работы с агентами, программирование перемещений и навигации в игровой среде, принятие решений и координации. Описание построено на практических примерах, в виде легко реализуемых «рецептов».
Паласиос, X. Unity 5.x. Программирование искусственного интеллекта в играх / X. Паласиос ; пер. с англ. Р.Н. Рагимова. - Москва : ДМК Пресс, 2017. - 272 с. - ISBN 978-5-97060-436-6. - Текст : электронный. - URL: https://znanium.com/catalog/product/1028125 (дата обращения: 22.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Хорхе Паласиос

Unity 5.x.  

Программирование  

искусственного интеллекта  

в играх

Adam Horton, Ryan Vice

Unity 5.x Game AI 
Programming Cookbook

BUILD AND CUSTOMIZE A WIDE RANGE 
OF POWERFUL UNITY AI SYSTEMS WITH OVER 
70 HANDS-ON RECIPES AND TECHNIQUES

Хорхе Паласиос

Unity 5.x.  
Программирование  
искусственного  
интеллекта в играх

70 ПРАКТИЧЕСКИХ РЕЦЕПТОВ И МЕТОДИК  
СОЗДАНИЯ И НАСТРОЙКИ ШИРОКОГО СПЕКТРА 
МОЩНЫХ СИСТЕМ ИСКУССТВЕННОГО  
ИНТЕЛЛЕКТА В UNITY

Москва, 2017

УДК 004.4'2Unity3D
ББК 32.972

П14

Паласиос Х.

П14
Unity 5.x. Программирование искусственного интеллекта 
в играх: пер. с англ. Р. Н. Рагимова. – М.: ДМК Пресс, 2017. – 
272 с.: ил.

ISBN 978-5-97060-436-6

Игровой движок Unity 5 включает в себя множество инструментов, помогающих 

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

Издание задумывалось как исчерпывающий справочник, помогающий расши
рить навыки программирования искусственного интеллекта в играх.  Рассматриваются основные приемы работы с агентами, программирование перемещений и 
навигации в игровой среде, принятие решений и координации.  Описание построено 
на практических примерах, в виде легко реализуемых «рецептов».

УДК 004.4'2Unity3D
ББК 32.972

 Copyright © Packt Publishing 2016. First published in the English language 

under the title ‘Unity 5.x Game AI Programming Cookbook – (9781783553570)

Все права защищены. Любая часть этой книги не может быть воспроиз
ведена в какой бы то ни было форме и какими бы то ни было средствами без 
письменного разрешения владельцев авторских прав.

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

ISBN 978-1-78355-357-0 (анг.)
© 2016 Packt Publishing

ISBN 978-5-97060-436-6 (рус.)
© Оформление, перевод, ДМК Пресс, 2017

Содержание

Об авторе ................................................................. 8

О технических рецензентах ......................................... 9

Предисловие ...........................................................10

Глава 1. Интеллектуальные модели поведения:  
перемещение ..........................................................16
Введение .................................................................................................................16
Создание шаблона моделей поведения .......................................................17
Преследование и уклонение ............................................................................21
Достижение цели и уход от погони ..............................................................23
Поворот объектов ................................................................................................26
Блуждание вокруг ...............................................................................................29
Следование по маршруту .................................................................................31
Уклонение от встреч с агентами .....................................................................36
Уклонение от стен ...............................................................................................39
Смешивание моделей поведения с весовыми коэффициентами .......41
Смешивание моделей поведения по приоритету .....................................43
Комбинирование моделей поведения с применением конвейера 
управления ............................................................................................................45
Стрельба снарядами ...........................................................................................49
Прогнозирование места падания снаряда ..................................................50
Нацеливание снаряда ........................................................................................52
Создание системы прыжков ............................................................................53

Глава 2. Навигация ....................................................60
Введение .................................................................................................................60
Представление игрового мира с помощью сетей .....................................61
Представление игрового мира с помощью областей Дирихле ............71
Представление игрового мира с помощью точек видимости ..............77
Представление игрового мира с помощью навигационного  
меша .........................................................................................................................81
Поиск выхода из лабиринта с помощью алгоритма DFS  .....................84
Поиск кратчайшего пути в сети с помощью алгоритма BFS ...............86
Поиск кратчайшего пути с помощью алгоритма Дейкстры .................88
Поиск оптимального пути с помощью алгоритма A* .............................91

 Содержание

Улучшенный алгоритм A* с меньшим использованием  
памяти – алгоритм IDA* ...................................................................................95
Планирование навигации на несколько кадров вперед: поиск  
с квантованием времени ...................................................................................98
Сглаживание маршрута ................................................................................. 100

Глава 3. Принятие решений ......................................103
Введение .............................................................................................................. 103
Выбор с помощью дерева принятия решений ........................................ 104
Работа конечного автомата ........................................................................... 107
Усовершенствование конечного автомата: иерархические  
конечные автоматы .......................................................................................... 110
Комбинирование конечных автоматов и деревьев принятия  
решений ............................................................................................................... 112
Реализация деревьев моделей поведения ................................................ 113
Работа с нечеткой логикой ........................................................................... 116
Представление состояний с помощью числовых значений:  
система Маркова .............................................................................................. 120
Принятие решений в моделях целенаправленного поведения ........ 123

Глава 4. Координирование и тактика ..........................126
Введение .............................................................................................................. 126
Обработка формирований ............................................................................ 127
Расширение алгортма A* для координации: алгоритм A*mbush ..... 132
Выбор удобных точек позиций ................................................................... 136
Анализ точек позиций по их высоте .......................................................... 138
Анализ точек позиций по обзорности и незаметности ....................... 140
Оценка точек позиций для принятия решения ..................................... 142
Карты влияния .................................................................................................. 143
Улучшение карт влияния путем заполнения ......................................... 147
Улучшение карт влияния с помощью фильтров свертки ................... 152
Построение боевых кругов ........................................................................... 155

Глава 5. Органы чувств агентов .................................164
Введение .............................................................................................................. 164
Имитации зрения с применением коллайдера ...................................... 165
Имитация слуха с применением коллайдера ......................................... 167
Имитация обоняния с применением коллайдера ................................. 171
Имитации зрения с применением графа ................................................. 175
Имитация слуха с применением графа .................................................... 176
Имитация обоняния с применением графа ............................................ 179
Реализация органов чувств в стелс-игре ................................................. 181

Содержание  7

Глава 6. Настольные игры с искусственным  
интеллектом ..........................................................189
Введение .............................................................................................................. 189
Класс игрового дерева  ................................................................................... 190
Введение в алгоритм Minimax ..................................................................... 192
Алгоритм Negamax ........................................................................................... 194
Алгоритм AB Negamax ................................................................................... 196
Алгоритм Negascouting .................................................................................. 199
Подготовка ......................................................................................................... 199
Реализация соперника для игры в крестики-нолики .......................... 201
Реализация соперника для игры в шашки .............................................. 206

Глава 7. Механизмы обучения ...................................217
Введение .............................................................................................................. 217
Предугадывание действий с помощью алгоритма  
прогнозирования N-Gram ............................................................................. 217
Усовершенствованный иерархический алгоритм N-Gram ................ 220
Использование классификаторов Байеса ............................................... 222
Использование деревьев принятия решений ......................................... 225
Использование закрепления рефлекса .................................................... 229
Обучение с помощью искусственных нейронных сетей .................... 234
Создание непредсказуемых частиц с помощью алгоритма  
поиска гармонии ............................................................................................... 238

Глава 8. Прочее ......................................................242
Введение .............................................................................................................. 242
Улучшенная обработка случайных чисел ................................................ 242
Соперник для игры в воздушный хоккей ................................................ 245
Соперник для настольного футбола .......................................................... 251
Программное создание лабиринтов .......................................................... 261
Реализация автопилота для автомобиля ................................................. 264
Управление гонками с адаптивными ограничениями ......................... 265

Предметный указатель ............................................269

Об авторе

Хорхе Паласиос (Jorge Palacios) – профессиональный программист 
с более чем семилетним опытом. Последние четыре года занимался 
разработкой игр, работая на различных должностях, от разработчика инструментария до ведущего программиста. Специализируется 
на программировании искусственного интеллекта и игровой логики. 
В настоящее время использует в своей работе Unity и HTML5. Также 
является преподавателем разработки игр, лектором и организатором 
«геймджемов».
Больше узнать о нем можно на его личном сайте: http://jorge.
palacios.co.

О технических  
рецензентах

Джек Донован (Jack Donovan) – разработчик игр и инженер-программист, работающий с движком Unity3D начиная с третьей версии. 
Учился в колледже Шамплейн (г. Берлингтон, штат Вермонт), где получил степень бакалавра в области программирования игр.
В настоящее время работает над проектом виртуальной реальности IrisVR в Нью-Йорке, где занимается разработкой программного 
обес печения, позволяющего архитекторам создавать модели виртуальной реальности по CAD-моделям. До проекта IrisVR Джек работал в небольшой независимой студенческой команде, занимавшейся 
разработкой игр, написав при этом книгу «OUYA Game Development 
By Example».
Лорен С. Ферро (Lauren S. Ferro) – консультант по игрофикации 
(геймификации), дизайнер игр и схожих с играми приложений. Занимается проектированием, консультацией и разработкой стратегий 
для целого ряда проектов в области профессионального обучения, систем рекомендаций и общеобразовательных игр. Ведет активную исследовательскую работу в области геймификации, профилирования 
игроков и ориентированного на пользователей проектирования игр. 
Проводит семинары для специалистов и компаний, занимающихся 
разработкой игр и приложений с элементами игры, ориентированных 
на вкусы пользователей. Также является разработчиком методики 
Gamicards проектирования прототипов игр и приложений с элементами игры.

Предисловие

Стоит подумать об искусственном интеллекте, и в уме возникает множество ассоциаций. От простых моделей поведения, например преследование или убегание от игрока, до игры с искусственным интеллектом в классические шахматы, методов машинного обучения или 
процедурной генерации контента.
Движок Unity сделал разработку игр намного демократичнее. Благодаря простоте использования, быстрому совершенствованию технологий, постоянно растущему сообществу и новым облачным услугам движок Unity превратился в один из важнейших программных 
продуктов для игровой индустрии.
С учетом вышесказанного основной целью написания книги была 
попытка помочь вам, читатель, через описание технологий Unity, знакомство с передовым опытом, изучение теории, разобраться в идеях 
и методах искусственного интеллекта, что обеспечит вам преимущества как в любительской, так и в профессиональной разработке.
Эта книга рецептов познакомит вас с инструментами создания искусственного интеллекта, например для реализации достойных противников, доведенных до совершенства, и даже для разработки собственного нестандартного движка искусственного интеллекта. Она 
станет вашим справочным пособием при разработке методов искусственного интеллекта в Unity.
Добро пожаловать в увлекательное путешествие, которое сочетает 
в себе ряд вещей, имеющих для меня, как профессионала и просто человека, большое значение: программирование, разработка игр, искусственный интеллект и обмен знаниями с другими разработчиками. 
Не могу не отметить, как я польщен и рад, что вы читаете написанный 
мной текст прямо сейчас, и я благодарен команде издательства Packt 
за предоставление такой возможности. Надеюсь, что этот материал 
поможет вам не только поднять на новый уровень навыки работы 
с Unity и искусственным интеллектом, но и содержит описание функций, которыми вы заинтересуете пользователей своих игр.

О чем рассказывается в этой книге

Глава 1 «Интеллектуальные модели поведения: перемещение» описывает наиболее интересные алгоритмы перемещения, основанные на 

Доступ онлайн
699 ₽
В корзину