Главная Фото и Видео Новости
-------------, в --:-- 1490

Поведение НПС

Группа Hytale вконтакте: vk.com/hytale

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

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

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

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

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

Такой модульный подход к поведению облегчает реализацию совершенно новых НПС. «Когда вы пишете скрипт для НПС, вам не нужно указывать такие вещи, как «размахивать мечом» или «перейти X блоков вправо» — объясняет Иосиф. Достаточно простого применения абстрактного компонента, такого как «бежать» или «искать», — тогда система поведения обрабатывает основы выполнения желаемого действия.

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

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

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

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

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

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

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

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

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

Команда обнаружила, что сочетание множества простых способов поведения может дать удивительно реалистичный результат. «Я создал сценарий для лучника Трорков и пытался проверить, насколько хорошо стреляет лучник в ближнем бою» — говорит Эрик«Это был первый случай, когда у НПС была возможность сменить оружие. Я был очень удивлен, я пытаться преследовать этого лучника, и тогда, когда я был достаточно близко, он развернулся и напал на меня с оружием ближнего боя. Объединение этих простых действий стало действительно интересным».

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

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

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

Оригинал статьи

Вступай в нашу группу ВК, там информация появляется быстрее! vk.com/hytale

Перевод:

Milkyway705

Другие новости и статьи