Перейти к содержанию
Авторизация  

Подробнее о поведении NPC

Авторизация  
Omnia

1 615 просмотров

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

После того, как существо было спроектировано, а его модель и анимация созданы в Hytale Model Maker, разработчики NPC должны воплотить его в жизнь с помощью системы поведенческих сценариев.

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

"Мы используем строительные блоки для создания NPC с нуля", - говорит разработчик Иосиф Гриффит. "У нас есть датчики, с помощью которых NPC интерпретирует окружающий мир, и именно так он решает, что он хочет делать. Тогда у нас есть действия и движения, с помощью которых они будут взаимодействовать с миром или со своей целью или чем-то еще, на чем они сосредоточены. Мы объединяем их для создания компонентов и шаблонов, из которых можно легко и быстро получить варианты".

5ca5060b36e672001743d5ce_trork_alert_scr

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

Такой модульный подход к поведению облегчает реализацию совершенно новых NPC или существ. "Когда Вы пишете сценарий для NPC, Вам не нужно указывать такие вещи, как« размахивать мечом 'или' перемещать X на расстояние вправо", - объясняет Иосиф. Достаточно простого применения абстрактного компонента, такого как "бежать" или "искать", - тогда система поведения обрабатывает основы выполнения желаемого действия.

"На самом базовом уровне самый простой способ создать NPC - это использовать существующие шаблоны", - говорит он. "Эти шаблоны состоят из компонентов, которые мы строим из датчиков, действий и движений, чтобы упростить повторное использование поведения в нескольких сценариях". Один из примеров компонента - обнаружение звука, объясняет Иосиф. При этом используется комбинация датчиков, которые позволяют NPC интерпретировать свою среду. "Когда Вы отправляете в мир нового NPC, он должен быть в состоянии справиться со средами, для которых он не был специально разработан, по крайней мере, до некоторой степени", - говорит он.

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

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

Вот пример. Добавив несколько дополнительных параметров в скрипт поведения охотников-Трорков, мы можем добавить медведей в список существ, которые заставляют их переходить в состояние "оповещения".

Теперь у нас есть охотник на Трорков! Это просто пример - необязательно он будет в игре. Тем не менее, это дает пример того, насколько просто представить новые подробности поведения существа.

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

"Некоторые мелкие кусочки добавляются в процессе", - объясняет Иосиф. "Например, у Трорков есть агрессивное поведение между собой, это когда один начинает бить кулаками другого. Когда я это реализовывал, побежденный Торк менял состояние. Иногда они сразу переходят в состояние "сон" - это было забавно, потому что казалось, что они были выбиты. Я реализовал это правильно, и в настоящее время бой между Трорками окончится тем, что оба упадут в 'сон'".

Цель команды - создавать существ и NPC, которые способствуют погружению в мир, действуя независимо от игрока. Узнав, как реагирует каждое существо, игроки могут найти творческие способы взаимодействия с ними. Например, у Торков есть особая любовь к выброшенному мясу:

То, как игрок решит воспользоваться этой информацией, полностью зависит от него!

Команда обнаружила, что сочетание множества простых способов поведения может дать удивительно реалистичный результат. "Я создал сценарий для лучников-Трорков и пытался проверить, насколько хорошо он стреляет", - говорит Эрик. "Это был первый случай, когда у NPC была возможность сменить оружие. Было удивительно пытаться преследовать этого лучника, и тогда, когда Вы были достаточно близко, он развернулся и напал на Вас с оружием ближнего боя. Объединение этих простых действий было действительно полезным".

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

Вот еще несколько примеров поведения NPC, с которыми Вы можете столкнуться при изучении Орбиса:

5ca5060b36e672001743d5cc_kweebecs_sunbat

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

5ca5060b36e672001743d5cb_goblin_bomber.j

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

Авторизация  


0 Комментариев


Рекомендуемые комментарии

Комментариев нет

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Статистика Блогов

    1
    Всего блогов
    39
    Всего записей
×