Все в бой: как ИИ работает в онлайн мире The Division |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2018-12-13 11:37 Виртуальные органы чувств и огромное количество данных. В первой части разбора ИИ в The Division, была описана общая структура работы NPC. Пока игроки пробираются по улицам Нью-Йорка, они сталкиваются с различными персонажами: как друзьями, так и противниками. Действия NPC зависят от дерева поведения, которое основывается на нескольких атрибутах. Тем не менее незатронутым остался очень важный вопрос: как всё это работает в онлайн среде? Автор блога AI and Games Томми Томпсон опубликовал вторую часть текста, в котором проанализировал многопользовательский компонент работы ИИ в The Division. Особое внимание он уделил вопросам того, как игра может предоставить одинаковый опыт разным пользователям, и как происходит процесс тестирования системы. Мы выбрали из материала главное. Как ИИ работает в онлайне The Division работает по модели «клиент — сервер»: каждый игрок со своей копией игры заходит на специальный сервер, который содержит информацию о том, что происходит в мире The Division. В многопользовательской игре важно, чтобы не было расхождений между опытом пользователей, которые задействованы в одной и той же ситуации. Чтобы это требование выполнялось, все системы ИИ работают на стороне сервера. Это обеспечивает согласованность для всех пользователей. Тем не менее это создаёт некоторую проблему, так как учёт всех аспектов, определяющих поведение NPC, требует обработки большого количества данных. Чтобы хоть как-то минимизировать этот процесс, на сервере просчитывается поведение ИИ, а уже сама анимация персонажей обрабатывается у каждого игрока отдельно. Хоть такое решение и снижает нагрузку на серверы, оно, в свою очередь, порождает другую проблему, которая связана с передвижением NPC. Все неигровые персонажи в The Division используют систему animation-driven locomotion — подход, который учитывает кинематику и делает движения более плавными. Но если сервер не контролирует этот процесс, как он узнает, бежит ли персонаж к нужному месту? Чтобы решить эту проблему, locomotion system на стороне сервера рассчитывает план движения персонажей, а на стороне клиента она создаёт траекторию на основе доступных анимаций. Хоть это и выглядит несколько усложнённо, зато позволяет снизить до минимума количество обрабатываемой информации. Тем не менее существуют некоторые игровые события, которые одновременно должны обрабатываться и со стороны игроков, и на сервере. Например: лечение, бросание гранат и установка турелей. Это сделано для снижения количества данных, которые передаются между клиентом и сервером. В первые месяцы после запуска The Division некоторые игроки на ПК использовали недостатки этой системы, чтобы увеличить у своих персонажей количество здоровья и огневую мощь. Управление миром На каждом сервере The Division обычно размещается несколько экземпляров игровой карты, при возможности потенциально разместить до тысячи игроков. Чтобы справиться с большим количеством игроков и NPC, tick rate сервера равен 10 Гц. Это означает, что всё поведение и локации обновляются десять раз в секунду. Интересно, что серверы не ограничивают количество NPC в игре, это происходит уже на стороне клиента. В ходе разработки было обнаружено, что консоли снижают количество одновременно функционирующих ИИ. Следовательно, существует ограничение на количество NPC, которые могут быть одновременно активными в игре. Такая специфика особенно заметна в сюжетных миссиях, из-за чего бои постоянно прерываются передышками разной продолжительности. Это во многом происходит из-за специфики консолей. Между тем, открытый мир сам устанавливает зоны, в которых NPC ограничены в перемещении. Это гарантирует то, что неигровые персонажи не будут уходить слишком далеко от их первоначальной точки появления. Например, это значит, что пользователи не столкнутся с войсками Последнего Батальона на Таймс-сквер. К навигации и дереву поведения привязаны сенсорные системы NPC. Персонажи под управлением ИИ имеют конусы зрения и способность слышать звуки в зависимости от расстояния. Кроме того, они проводят тактический анализ того, какое из 1,5 миллиона укрытий, они должны использовать, если начнётся бой. Скорость обновления этих сенсоров и их точность зависят как от расстояния до игрока, так и от активной системы погоды на сервере. Следовательно, плохая погода (дождь и снег) влияют на дальность и точность этих датчиков. В бою сенсорная информация NPC обновляется каждый кадр; если игрок находится на расстоянии от 50 до 150 метров, то каждые две секунды; а если в пределах 150 метров нет игроков, то эта система отключается. Инструменты для сборки и тестирования Созданные во время разработки The Division инструменты тестирования позволили заранее выполнить полную отладку дерева поведения. Однако наиболее впечатляющей стала возможность тестирования в имитации реальной игры. Благодаря инструментам отладки можно было отследить появление многих проблем ещё на локальных серверах и не допустить их появления в финальной версии игры. Самым забавным аспектом процесса тестирования стала отладка миссий. При создании игр такого масштаба небольшие ошибки могут стать непреодолимым препятствием для завершения заданий. Чтобы этого избежать, разработчики создали специальную тестовую модель, в которой сотни NPC, имитируя пользователей, бегали и убивали всё подряд. Тысяча «игроков» с полным арсеналом способностей и улучшений оказались выброшены на карту. При этом, их не ограничивали даже физические объекты: они могли ходить и стрелять сквозь стены, а также перемещаться между локациями, игнорируя правила навигации. Они могли собираться в группы и проходить сюжетные миссии или в одиночку исследовать открытый мир. У них не было реальной цели, но этот эксперимент помог выявить ошибки в миссиях, событиях, случайных встречах и так далее. Система поведения The Division активно развивалась и дорабатывалась во время всего жизненного цикла игры. Что-то менялось не только с платными DLC вроде The Underground, Survival и Last Stand, но и с чередой более мелких бесплатных обновлений. Выход The Division 2 не за горами, поэтому особенно интересно посмотреть, как эти системы изменятся во второй части. Источник: dtf.ru Комментарии: |
|