Как создавался ИИ для Watch Dogs 2
На этой неделе в Монреале прошла конференция Montreal International Game Summit, посвященная, как вы догадались, разработке игры. Одним из спикеров MIGS стала Роксана Блуин-Пейер, занимающаяся дизайном искусственного интеллекта в Ubisoft Montreal.
Кстати, на сайте читать удобнее
В своем выступлении Роксана рассказала о работе над ИИ для Watch Dogs 2, а издание gamesindustry опубликовало краткую версию презентации Роксаны.
Работу над ИИ для Watch Dogs 2 решили с очевидного - разработчики создали набор реакций, которые NPC мог проявлять в определенных ситуациях. Например, если прогуливавшийся NPC видел, как другой NPC оскорбляет еще одного персонажа, то с вероятностью в 70% он бы проигнорировал это событие. В 20% случаев наш NPC вмешался бы в конфликт, а в оставшихся 10% - испугался и убежал.
В зависимости от отношения к попавшему в беду NPC вероятности могли меняться. Например, если кто-то нападал на "друга" прогуливавшегося NPC, то он бросался на помощь уже с вероятностью в 50%, а сбегал всего в 5% случаев.
К сожалению, довольно быстро выяснилось, что система работает совсем не так хорошо, как ожидалось: NPC могли начать драку, затем испугаться и тут же сбежать. С точки зрения игрока все это выглядело довольно хаотично. В Ubisoft решили, что пора изменить подход и немного усложнить модель.
Разработчики решили наделить NPC определенным настроением: это мог быть страх, гнев, счастье или безразличие. Каждому настроению соответствовало несколько моделей поведения: гневный персонаж мог время от времени оскорблять других NPC или нападать на них, а безразличные NPC предпочитали просто наблюдать или делать фотографии происходящего.
У каждого настроения были собственные наборы анимаций, позволявшие в том числе реализовать плавный переход от одного настроения к другому. Например, разгневанный NPC будет двигаться очень характерно, однако через какое-то время он остынет и превратится в спокойно прогуливающегося безразличного персонажа.
Дизайнеры Ubisoft решили не останавливаться на настроениях и добавить своим NPC несколько характеров: пессимистический, оптимистический, героический, нейтральный и злодейский. В сложной ситуации NPC-"герои" скорее всего бросятся на помощь, персонажи с пессимистичным характером будут отпускать наполненные негативом комментарии, ну а со "злодеями" все и так понятно - им лишь бы подраться.
Интересно, что в Watch Dogs 2 определенные характеры чаще проявляются в определенных районах игрового мира. Например, на пляже в основном встречаются оптимисты и нейтрально настроенные персонажи, в богатых районах обитают героические оптимисты, а трущобы населены пессимистичными злодеями.
Еще одна проблема была связана с реакциями NPC на поведение игрока. Поначалу разработчики хотели, чтобы неигровые персонажи реагировали на Маркуса точно так же, как и на обычных NPC, однако выяснилось, что такой вариант работает не очень хорошо: NPC реагировали откровенно вяло.
Разработчики попытались поднять общую активность реакций NPC - и игровой мир моментально превратился если не в бойню, то в очень неприятное место. В итоге было решено, что NPC будут активнее реагировать только на действия игрока.
Какие еще возможности стоило реализовать в Watch Dogs 2? Роксана полагает, что более детальная синхронизация поведения NPC пошла бы игре на пользу. Сейчас NPC могут увлеченно оскорблять друг друга и ввязываться в драку, но более интеллектуальное взаимодействие вроде флирта потребовало бы от них более точных реакций и хотя бы приблизительного понимания того, что говорит другой персонаж.
Кроме того, похожую систему ИИ можно было распространить и на боевые действия - Роксана полагает, что это сделало бы их более веселыми и интересными.