Д'жинни Вики
Advertisement

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

Благодаря этой системе можно, к примеру, создать персонажа, который появится в кузнице в 07:00 и будет оставаться там до 15:00, занимаясь созданием мечей и доспехов. В 15:00 этот же персонаж отправиться в таверну, чтобы выпить и сыграть в покер. В 20:00 он покинет таверну и отправится домой спать. На следующее утро в 07:00 он встанет и снова отправится в кузницу. Возможности практически безграничны.

Как мы уже говорили в начале этой главы, персонажей «Ведьмака» можно разделить на 3 условные группы: NPC, независимые или второстепенные персонажи (такие, как городские жители, торговцы или разбойники) и монстры. Мы начнем с NPC.

NPC[]

Для NPC задается имя; индивидуальные характеристики; места, где персонаж проводить время на разных стадиях игры; диалоги в определенных ситуациях и т. д. Другими словами, такой персонаж является уникальным. Если его убить, больше он в игре не появится. Системы появления NPC несколько отличаются от систем появления других персонажей (второстепенных персонажей и монстров).

Для начала я опишу процесс создания системы появления NPC. В нашем случае NPC – это Зигфрид, и данную систему появления мы создаём для него. В меню Файл (File) выберите Создать ‐> Основной персонаж (.npc) (New ‐> Story NPC (.npc)).

Spwns001

Откроется окно Новый основной персонаж (new story npc).

Spwns002

Список достаточно длинный, поэтому для его просмотра воспользуйтесь полосой прокрутки в нижней части окна. Окно разделено на несколько столбцов. Мы обсудим все столбцы по порядку и способы добавления новых записей.

Примечание (Comment)[]

В это поле вы можете ввести своё примечание. В игре они не используются и служат только для информационных целей. Сюда вы можете ввести любой текст, например краткое описание персонажа. Чтобы ввести текст, дважды щелкните по белому полю рядом со словом Примечание (Comment).

Spwns003

В случае Зигфрида можете ввести сюда «Зигфрид – рыцарь, работодатель» (Zygfryd – zakonnik, zleceniodawca). Затем нажмите клавишу [Enter].

Spwns004

Стадия сюжета (Story Phase)[]

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

Для каждого NPC можно создать неограниченное количество стадий сюжета. В каждой стадии можно указать выполняемые персонажем действия, идентификаторы пункта появления и так далее. Таким образом, поведение персонажа можно настроить для каждой стадии игры. Чтобы добавить новую сюжетную стадию, щелкните правой кнопкой мыши по столбцу Стадия сюжета (Story Phase).

Spwns005

В контекстном меню выберите пункт Добавить стадию сюжета (Add Story Phase).

Spwns006

Будет создана новая стадия сюжета.

Spwns007

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

Spwns008

Так как в нашем случае Зигфрид даёт Геральту задание, введите в это поле слово zadanie (zlecenie) и нажмите клавишу Enter.

Spwns009

Стадия появления (Spawn Phase)[]

Следующий шаг – создание стадии появления. Эти стадии в целом отвечают за разные части суток, в которые персонаж выполняет действия. Каждая стадия сюжета может содержать несколько стадий появления. Чтобы создать новую стадию появления, щелкните правой кнопкой мыши по полю в столбце Стадия появления (Spawn Phase).

Spwns010

В контекстном меню выберите пункт Добавить стадию появления (Add Spawn Phase).

Spwns011

Будет создана новая стадия появления. Обратите внимание, что в сюжетной стадии zadanie появилась новая строка.

Spwns012

Сюжетная стадия zadanie в настоящий момент содержит две стадии появления. Так как в нашем случае у Зигфрида будет только одна такая стадия, вторую можно удалить. Для этого щелкните правой кнопкой мыши по стадии появления, которую нужно удалить. Удалить стоит вторую стадию, так как мы только что ее создали. Щелкните правой кнопкой мыши по полю в столбце Стадия появления (Spawn Phase).

Spwns013

В контекстном меню выберите пункт Удалить стадию появления (Delete Spawn Phase).

Spwns014

Ненужная стадия появления была удалена. Каждая новая сюжетная стадия уже содержит одну стадию появления. Давайте присвоим ей имя. Для этого щелкните по полю в столбце Стадия появления (Spawn Phase).

Spwns015

Введите ozhidanie (oczekiwanie) и нажмите клавишу Enter. Таким образом, мы создали сюжетную стадию zadanie (zlecenie) с одной стадией появления ozhidanie (oczekiwanie).

Spwns016

Время начала (Start time)[]

Наш следующий шаг – установить время выполнения действия. Для этого в столбце Время начала (Start time) необходимо указать время начала данной стадии появления. А в столбце Время конца (End Time) указывается время конца данной стадии появления. В этот временной период NPC будет выполнять действия, которые мы назначим чуть позже. Чтобы ввести время начала, дважды щелкните по полю в столбце Время начала (Start time).

Spwns017

Значение можно ввести с клавиатуры или с помощью стрелок, расположенных с правой стороны ячейки.

Spwns018

Оставьте здесь значение 00:00:00.

Время конца (End Time)[]

В этом столбце указывается время конца данной стадии появления. По умолчанию стоит значение 06:00:00. Если мы оставим это значение, Зигфрид появится в игре в 00:00:00 и исчезнет в 06:00:00, но это нас не устраивает. В нашем случае Зигрид должен быть в игре постоянно, днем и ночью. Для этого необходимо установить время начала и время конца стадии появления на 00:00:00. Дважды щелкните по полю в столбце Время конца (End Time).

Spwns019

Введите 00:00:00 и нажмите клавишу [Enter].

Spwns020

Учтите, что разные стадии появления не могут пересекаться по времени, так как один и тот же персонаж не может одновременно находиться в разных стадиях появления.

Скрипт при появлении (OnSpawn Script)[]

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

Spwns021

Откроется окно выбора (Select).

Spwns022

В этом окне перечислены все скрипты, доступные в игре. Древовидная схема списка отображает структуру каталога Data\Scripts (где хранятся все скрипты). Чтобы открыть дерево, щелкните по знаку плюса.

Spwns023

Чтобы закрыть ветвь, щёлкните по знаку минуса.

Spwns024

Дважды щелкните по нужному скрипту. Например, Зигфриду можно назначить скрипт 2city.

Spwns025

После того, как вы дважды щелкните по скрипту 2city, он появится в поле в столбце Скрипт при появлении (OnSpawn Script).

Spwns026

Чтобы удалить скрипт, дважды щелкните по полю в столбце Скрипт при появлении (OnSpawn Script). Но на этот раз в окне выбора дважды щелкните по пункту <Удалить> (<Delete>) в верхней части списка.

Spwns027

Скрипт 2city будет удалён. Обратите внимание, что каждой стадии появления можно присвоить свой скрипт.

Шаблон (Template)[]

Ещё один важный шаг – добавить шаблон персонажа. Именно здесь указывается шаблон персонажа, который мы создали чуть ранее. Процесс назначения шаблона аналогичен процессу назначения скриптов. Дважды щелкните по полю в столбце Шаблон (Template). Откроется окно выбора (Select).

Spwns028

На этот раз в окне перечислены все шаблоны персонажей, доступные в игре. Древовидная схема шаблонов отображает структуру каталога Data\Templates. Шаблон Зигфрида сохранен в каталоге Data\Templates\Characters\NPC. Найдите шаблон nash_zygfryd (nasz_zygfryd) и дважды щелкните по нему.

Spwns029

Шаблон nash_zygfryd (nasz_zygfryd) назначен на сюжетную стадию zadanie.

Spwns030

После того, как шаблон персонажа назначен в системе появления персонажа, удалить его невозможно. Можно лишь заменить его другим шаблоном. Каждой стадии появления для NPC можно присвоить разные шаблоны персонажа, но чтобы смена была заметна в игре, персонаж сначала должен исчезнуть, а затем снова появиться. Для этого от игрока может потребоваться выйти из локации и заново войти в нее.

Диалоги (Dialogs)[]

Созданию диалогов посвящена отдельная глава этого руководства. Диалог – разговор между двумя и более персонажами. Зигфриду необходимо назначить диалог, но это мы сделаем позже. А теперь я лишь расскажу вам, как это сделать. Процедура аналогична добавлению скрипта или шаблона персонажа. Дважды щелкните по полю в столбце Диалоги (Dialogs).

Spwns031

Откроется окно выбора (Select).

Spwns032

В окне перечислены диалоги. Древовидная схема списка отображает структуру каталога Data\Dialogues (где хранятся все диалоги игры). Чтобы добавить диалог, найдите его в списке и дважды щелкните по нему. Например, можете назначить Зигфриду диалог cn_boy01.

Spwns033

Выбранный диалог появится в поле в столбце Диалоги (Dialogs).

Spwns034

Так как созданием собственных диалогов мы займемся позже, дважды щелкните по полю в столбце Диалоги (Dialogs) и в окне выбора (Select) выберите пункт <Удалить> (<Delete>).

Spwns035

Диалог будет удалён. Каждой стадии появления для NPC можно присвоить разные файлы диалогов. Именно поэтому таким персонажам не присваивают файлы диалогов в шаблоне персонажа.

Категории появления (Spawn Categories)[]

Следующий столбец – категории появления. Это идентификатор, который сообщает NPC информацию, в каком пункте появления персонаж должен появляться или исчезать. Чтобы добавить категорию появления, щелкните правой кнопкой мыши по полю в столбце Категории появления (Spawn Categories).

Spwns036

В контекстном меню выберите пункт Добавить категорию (Add Category).

Spwns037

Будет создана новая категория появления. Чтобы присвоить ей имя, дважды щелкните по полю, которое только что появилось в столбце Категории появления (Spawn Categories).

Spwns038

В случае Зигфрида присвоим категории имя spawn_zygfryd. Введите имя и нажмите клавишу [Enter].

Spwns039

Чтобы Зигфрид мог впоследствии появиться в игре, необходимо создать пункт появления с тегом spawn_zygfryd. Более подробно пункты появления описаны в отдельной главе этого руководства.

Каждая стадия появления для ключевых персонажей игры может содержать неограниченное количество категорий появления. Добавим Зигфриду еще одну категорию. Щелкните правой кнопкой мыши по полю в столбце Категории появления (Spawn Categories). В контекстном меню выберите пункт Добавить категорию (Add Category). Появится следующее поле.

Spwns040

Правда, в нашем случае вторая категория появления не нужна, поэтому ее можно удалить. Для этого щёлкните правой кнопкой мыши по соответствующему полю в столбце Категории появления (Spawn Categories).

Spwns041

В контекстном меню выберите пункт Удалить категорию (Delete Category).

Spwns042

Список действий (Action List)[]

В этом столбце указываются все действия, которые будет выполнять Зигфрид в данной стадии появления. Это наборы анимационных роликов, воспроизводимых для определенного персонажа в соответствующий момент. Чтобы добавить действие, щелкните правой кнопкой мыши по полю в столбце Список действий (Action List).

Spwns043

В контекстном меню выберите пункт Добавить действие (Add Action).

Spwns044

Откроется окно выбора (Select).

Spwns045

В этом окне вы увидите обширный список действий. Найдите пункт w_h_pray (заставит Зигфрида молиться) и дважды щёлкните по нему.

Spwns046

Выбранное действие появится в столбце Имя действия (Action Name).

Spwns047

В столбце Вероятность (Probability) появилось значение 50%. Это означает, что для нашего персонажа вероятность выполнить действие w_h_pray в определенный момент составляет 50% по сравнению со всеми другими действиями. Учтите, после того, как вы укажете все действия, которые должен выполнить персонаж за данную стадию появления, сумма всех значений в этом столбце должна составлять 100%. Предположим, вероятность выполнения действия w_h_pray для Зигфрида должна составлять всего 5%. Чтобы изменить значение, дважды щелкните по полю в столбце Вероятность (Probability).

Spwns048

Введите значение 5 и нажмите клавишу [Enter]. Знак процентов вводить необязательно, так как он добавляется автоматически. Теперь добавим ещё одно действие. Еще раз щелкните правой кнопкой по столбцу Имя действия (Action Name) в строке сюжетной стадии zadanie. На этот раз, когда откроется окно выбора (Select), щелкните по крестику, чтобы закрыть окно.

Spwns049

Будет добавлено пустое действие.

Spwns050

Естественно, это поле нельзя оставлять пустым. Щёлкните по пустому полю в столбце Имя действия (Action Name), чтобы открыть окно выбора (Select) со списком действий.

Spwns051

Снова откроется окно выбора. Найдите в списке пункт w_h_alarmed (заставляет Зигфрида тревожно осматриваться) и дважды щёлкните по нему.

Spwns052

Выбранное действие появится в столбце Имя действия (Action Name).

Spwns053

Дважды щелкните по ячейке в столбце Вероятность (Probability) рядом с действием w_h_alarmed, установите значение на 10% и нажмите клавишу [Enter].

Spwns054

Добавьте Зигфриду еще три действия: all_walkto1 (вероятность 35%), all_walkto2 (вероятность 35%) и w_h_bored (вероятность 15%). Вы уже знаете, как это сделать. В целом, список действий Зигфрида должен выглядеть следующим образом.

Spwns055

Запомните, что общая сумма значений в столбце Вероятность (Probability) должна составлять 100%. Появившись в игре, Зигфрид будет ходить с места на место, время от времени будет вставать на колени и молиться, оглядываться по сторонам или потягиваться от скуки. Если хотите удалить то или иное действие, щелкните по нему правой кнопкой мыши и в контекстном меню выберите пункт Удалить действие (Delete Action).

Spwns056

Цикл действий (Actions Looped)[]

При установке значения True в этом столбце действия, перечисленные в столбце Имя действия (Action Name) будут выполняться циклично. То есть Зигфрид будет постоянно выполнять указанные действия. При выборе значения False Зигфрид выполнит каждое действие один раз, а затем отправится к пункту выхода. Чтобы установить цикличный повтор действий, дважды щелкните по полю в столбце Цикл действий (Actions Looped).

Spwns057

В меню выберите пункт Да (Yes).

Spwns058

Цикл действий будет включен.

Spwns059

Чтобы изменить значение, щелкните правой кнопкой мыши по ячейке в столбце Цикл действий (Actions Looped) и выберите в меню пункт Нет (No).

Список зон (Regions List)[]

Зона появления – это просто идентификатор для области действий (более подробно области действий описываются в отдельной главе данного руководства). Зона появления передает персонажу информацию, какие действия необходимо выполнить в той или иной области действий. Учтите, что в списке области действий, в которой персонаж должен что‐то сделать, должны быть указаны идентичные действия. Чтобы добавить новую зону появления, щелкните правой кнопкой мыши по полю в столбце Список зон (Regions List).

Spwns060

В контекстном меню выберите пункт Добавить зону появления (Add Spawn Region).

Spwns061

Будет создана новая зона появления.

Spwns062

Теперь присвоим ей имя. Дважды щелкните по полю, которое только что было добавлено в столбец Список зон (Regions List). Введите action_zygfryd и нажмите клавишу [Enter].

Spwns063

Учтите, что имя области действия, в которой Зигфрид должен выполнять свои действия, должно быть идентично имени зоны появления. В каждой стадии появления можно создать любое количество зон появления. Чтобы добавить еще одну зону, щелкните правой кнопкой мыши по столбцу Список зон (Regions List) и выберите в меню пункт Добавить зону появления (Add Spawn Region). Появится ещё одно поле.

Spwns064

Правда, в нашем случае вторая зона появления не нужна, поэтому щелкните по ней правой кнопкой мыши и выберите в контекстном меню пункт Удалить зону появления (Delete Spawn Region).

Spwns065

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

Сохранение[]

Теперь сохраним систему появления. Для этого в меню Файл (File) выберите пункт Сохранить как... (Save As...).

Spwns066

Откроется стандартное окно Windows для сохранения файлов. Сохраните параметры появления Зигфрида в каталог Templates\NPCSpawn. Перейдите в этот каталог, введите имя файла nash_zygfryd (nasz_zygfryd) и нажмите кнопку Сохранить. Не забудьте, что имя файла должно содержать не более 16 символов. В противном случае редактор D’jinni просто не увидит этот файл. Убедитесь, что сохраняете файл в формате npc.

Spwns067

Если в окне указан другой тип файла, это, возможно, означает, что вы случайно пытаетесь сохранить содержимое другого открытого окна. Прежде, чем сохранять шаблон персонажа, убедитесь, что у вас активно окно Новый основной персонаж (new story npc). Если оно не активно, его заголовок будет отображаться серым цветом.

Spwns068

Любой другой цвет заголовка означает, что данное окно является активным.

Spwns069

Звездочка перед текстом в заголовке окна означает, что последние изменения в этом файле не были сохранены. Как и в случае с шаблонами, вместо пункта Сохранить как... (Save As...) можно выбрать в меню Файл (File) пункт Сохранить нового основного персонажа (Save new story npc). Таким образом вы сможете сохранить файл непосредственно в модуль. Но в данном руководстве этот способ не рассматривается.

Второстепенные персонажи и монстры[]

Теперь перейдем к системам появления для остальных персонажей, то есть для второстепенных персонажей и монстров. Начнём с Юза. Задача этого персонажа – играть в покер с Геральтом. Чтобы создать систему появления Юза, выберите в меню Файл (File) пункт Создать ‐> Система появления (.spn) (New ‐> Spawn set (.spn)).

Spwns070

Откроется окно Новая система появления (new spawn set).

Spwns071

Как и при работе с окном Новый основной персонаж (new story npc), в данном случае можете воспользоваться полосой прокрутки в нижней части окна. Это окно также разделено на несколько столбцов. И хотя некоторые столбцы здесь идентичны столбцам окна Новый основной персонаж (new story npc), я расскажу о них еще раз, чтобы процедура создания системы появления была понятнее.

Примечание (Comment)[]

В это поле вы можете ввести свое примечание. В игре они не используются и служат только для информационных целей. Сюда вы можете ввести любой текст, например краткое описание персонажа. Чтобы ввести текст, дважды щелкните по белому полю рядом со словом Примечание (Comment).

Spwns072

В случае Юза можете ввести сюда «Юз — заядлый игрок в покер» (Józek – pasjonata gry w kości), после чего нажмите клавишу [Enter].

Spwns073

Элемент появления (Spawn Entry)[]

Для неключевых персонажей игры не предусмотрены параметры Стадия сюжета (Story Phase) и Стадия появления (Spawn Phase). Дело в том, что таким персонажам это не требуется. Однако параметр Элемент появления (Spawn entry) в определенной степени аналогичен стадии появления. С помощью элементов появления персонажу можно присвоить действия, которые он будет выполнять в разное время суток. Чтобы создать новый элемент появления, щелкните правой кнопкой мыши по столбцу Элемент появления (Spawn Entry).

Spwns074

В контекстном меню выберите пункт Добавить элемент появления (Add Spawn Entry).

Spwns075

Будет создан новый элемент появления.

Spwns076

Чтобы присвоить ему имя, дважды щелкните по полю в столбце Элемент появления (Spawn Entry).

Spwns077

Так как Юз в нашем случае любит играть в покер, просто введите в поле слово poker и нажмите клавишу [Enter].

Spwns078

Чтобы добавить еще один элемент появления, снова щелкните правой кнопкой мыши по столбцу Элемент появления (Spawn Entry) и выберите в меню пункт Добавить элемент появления (Add Spawn Entry). Будет создан второй элемент появления.

Spwns079

Однако второй пункт нам не нужен, поэтому можете его удалить. Щелкните правой кнопкой мыши по полю в столбце Время начала (Start time).

Spwns080

В контекстном меню выберите пункт Удалить элемент появления (Delete Spawn Entry).

Spwns081

Учтите, что в контекстном меню столбца Элемент появления (Spawn Entry) нет пункта Удалить элемент появления (Delete Spawn Entry).

Время начала (Start time)[]

Для независимых (второстепенных) персонажей также необходимо указывать период выполнения действий. Столбцы Время начала (Start time) и Время конца (End Time) аналогичны одноименным столбцам в окне Новый основной персонаж (new story npc). Чтобы указать время начала для элемента появления, дважды щелкните по полю в столбце Время начала (Start time).

Spwns082

Значение можно ввести с клавиатуры или с помощью стрелок, расположенных с правой стороны ячейки.

Spwns083

Оставьте здесь значение 00:00:00.

Время конца (End Time)[]

По умолчанию здесь стоит то же значение, что и в предыдущем случае – 06:00:00. Если оставить это значение, Юз будет появляться в 00:00:00 и исчезать в 06:00:00. Однако в нашем случае необходимо, чтобы и Зигфрид, и Юз присутствовали в игре постоянно, днем и ночью. Как и в случае с настройками для NPC, независимые персонажи будут постоянно присутствовать в игре, если и время начала, и время конца установлено на 00:00:00. Дважды щелкните по полю в столбце Время конца (End Time).



СТАТЬИ
Персонажи
ВведениеШаблоныСистемы появленияПункты появленияОбласти действий
Д'жинни

С чего начатьБазовые статьиМодулиПерсонажиДиалогиКвестыЗапуск и тестирование игрыРолики

СкриптыПриложенияМодели персонажейФорматы файлов

Advertisement