Перейти к основному содержимому

Создайте своего первого монстра

Это руководство проведёт вас через создание совершенно нового вида монстра с помощью Monster Creator Wizard. К концу у вас будет полностью настроенный монстр, который может появляться в сражениях, в дексе и в мире.

Использование Monster Creator Wizard​

MCE включает отдельное окно редактора для создания монстров без обращения к коду.

  1. Откройте OpenMon Hub (Tools > MCE > OpenMon Hub), выберите вкладку Art Studio и нажмите Monster Creator. (В Command Palette, Ctrl+Shift+M, тоже есть пункт Monster Creator.)
  2. Monster Creator Wizard откроется как закрепляемое окно редактора.

Monster Creator Wizard

В мастере шесть шагов, перечисленных вверху: 1. Basic Info, 2. Base Stats, 3. Abilities & Moves, 4. Evolution, 5. Art & Sprites и 6. Review & Create. Перемещайтесь кнопками Back и Next или щёлкайте нужный шаг напрямую. Ничего не записывается на диск до последнего шага, поэтому вы можете отказаться от вида, начатого по ошибке, не оставив после себя бесхозного ассета.

Шаг 1: Basic Info​

ПолеОписаниеПример
Monster NameИмя ассета вида. Также заполняет отображаемое имя.Flameleon
Display NameИмя, показываемое в игре (по умолчанию совпадает с именем монстра).Flameleon
DescriptionТекст записи в дексе.A small lizard whose tail burns brighter when excited.
Primary TypeОсновной тип (обязательно).Fire
Secondary TypeНеобязательный второй тип для двойной типизации.Flying
Dex NumberУникальный номер в вашей базе данных.152
Growth RateКривая опыта: Erratic, Fast, MediumFast, MediumSlow, Slow или Fluctuating.MediumFast
Нумерация декса

Монстры MIT Licensed Demo (отдельная загрузка) уже занимают младшие номера декса. Начинайте своих монстров выше наибольшего номера в вашей базе данных, чтобы избежать конфликтов. Можно также использовать совершенно отдельную схему нумерации, если вы создаёте оригинальную игру.

Типы определяют эффективность урона в сражении. Полную таблицу типов можно просмотреть и настроить в Type Chart Editor (OpenMon Hub → вкладка Database → Type Chart Editor).

Вкладка Database в OpenMon Hub: браузер базы данных, редактор таблицы типов, мастер видов, валидатор и кнопки создания ассетов для монстров, типов, предметов, мира, встреч и квестов

Именно на этой вкладке происходит остальная часть руководства. Верхняя половина проверяет и валидирует существующее; нижняя половина создаёт по одному ассету и открывает его в Inspector.

Шаг 2: Base Stats​

Задайте шесть базовых характеристик (каждая от 1 до 255):

ХарактеристикаОписаниеТипичный диапазон
HPОчки здоровья30-120
AttackСила физической атаки30-130
DefenseФизическая защита30-130
Sp. AttackСила специальной атаки30-130
Sp. DefenseСпециальная защита30-130
SpeedПриоритет в порядке ходов30-130

Base Stat Total (BST) показан под полосами. Шесть пресетов заполняют все характеристики сразу, чтобы вы начали с разумной формы и затем подправили её:

ПресетHP / Atk / Def / SpA / SpD / Spe
Balanced80 / 80 / 80 / 80 / 80 / 80
Physical Attacker70 / 120 / 70 / 40 / 60 / 90
Special Attacker70 / 40 / 60 / 120 / 70 / 90
Tank100 / 60 / 110 / 60 / 110 / 40
Glass Cannon50 / 130 / 40 / 130 / 40 / 110
Speedy60 / 80 / 50 / 80 / 50 / 130

Ориентиры при подборе BST:

  • Монстры начала игры: BST около 300–350
  • Монстры середины игры: BST около 400–480
  • Полностью эволюционировавшие монстры: BST около 500–540
  • Легендарные монстры: BST около 580–680

Шаг 3: Abilities & Moves​

Способности

  • Ability 1 -- Способность по умолчанию.
  • Ability 2 -- Альтернативная способность, которая может быть у некоторых особей.
  • Hidden Ability -- Редкая способность, получаемая особыми способами.

Приёмы

  • Level-Up Moves -- Нажмите + Add Level-Up Move и выберите уровень и приём: Level 1: Tackle, Level 7: Ember. Мастер сортирует их по уровню при записи вида.
  • TM/HM Compatibility -- Приёмы, которым вид может научиться с помощью предметов (+ Add TM/HM Move).
  • Egg Moves -- Приёмы, наследуемые при разведении (+ Add Egg Move).
База данных приёмов

MIT Licensed Demo (отдельная загрузка) содержит более 640 приёмов. Вы можете просмотреть каждый приём в Database Browser (OpenMon Hub → вкладка Database → Database Browser) или создать новые как ScriptableObject Move.

Шаг 4: Evolution​

Нажимайте + Add Evolution Branch для каждого способа эволюции монстра:

  1. Выберите Type эволюции из выпадающего списка. В нём есть распространённые — ByLevel, ByItem, ByFriendship, ByTrade, ByLevelAtSpecificTime, ByFriendshipAtSpecificTime, ByLevelWithSceneTag, OnItemUse, OnLevelUpHoldingItem, WhenTraded, WhenTradedHoldingItem, ByFriendshipWithMoveOfType, ByCriticalHitCounter, ByUsingMoveXTimes и ByEvolutionCounter — и мастер показывает поле Level, Item или Friendship, которое требуется выбранному типу.
  2. Задайте в Evolves Into целевой вид.

MCE поддерживает в общей сложности 37 типов эволюции. Для любого типа, которого нет в списке, оставьте ветку пустой и добавьте эволюцию позже в Inspector (см. Руководство по эволюции).

Шаг 5: Art & Sprites​

Дайте виду боевые спрайты и иконку: перетащите собственные текстуры в Front Sprite, Back Sprite и Icon Sprite.

АссетЧто из него делает мастерРекомендуемый размер
FrontБоевой материал (152-Flameleon-Front.mat) с шейдером боевых спрайтов движка, для стороны противника96x96 px
BackТо же для стороны игрока (152-Flameleon-Back.mat)96x96 px
IconИконка вида в меню команды и в боксах ПК32x32 px

Используйте режим фильтрации Point (no filter). Текстура иконки, кроме того, должна быть импортирована с Texture Type Sprite и значением Pixels Per Unit под масштаб вашей игры (обычно 16 или 32); если это не так, мастер оставляет иконку пустой и сообщает об этом в консоли. Спрайты для мира (монстр, который идёт за игроком) задаются потом в инспекторе MonsterEntry, в разделе World Sprites.

Шаг 6: Review & Create​

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

  1. Проверьте Output Path (по умолчанию Assets/OpenMon/Core/Data/Monsters; ... позволяет выбрать другую папку).
  2. Нажмите Create Monster, чтобы записать ассеты, или Create & Add to Database, чтобы записать их и сразу зарегистрировать вид в базе данных монстров.
  3. Мастер создаёт папку, названную по номеру декса и виду (например, 152-Flameleon/), в которой лежат форма Form-Normal и ScriptableObject MonsterEntry.
  4. Откройте Database Browser (OpenMon Hub → вкладка Database → Database Browser) и найдите своего монстра, чтобы убедиться, что он появился.
  5. Откройте MonsterDex в режиме игры, чтобы увидеть запись в дексе вашего монстра.

Тестирование вашего монстра​

Чтобы увидеть монстра в действии:

  1. Дикая встреча -- Добавьте монстра в WildEncountersSet и назначьте этот набор нужному типу встречи в ассете SceneInfo карты. Наступите на EncounterTile этого типа, и в конце концов вы его найдёте (см. Дикие встречи).
  2. Прямое появление -- Выберите любой ассет Roster (это ScriptableObject, например команда игрока) и используйте его кнопку Add Monster в Inspector, чтобы добавить вид напрямую.
  3. Команда тренера -- Добавьте монстра в ассет Roster тренера таким же способом, чтобы он появился в скриптовом сражении.

ScriptableObject MonsterEntry​

Внутри мастер создаёт ScriptableObject MonsterEntry. Если вы предпочитаете работать напрямую с SO, а не через мастер, можете создать его вручную:

Assets > Create > MCE > Monster Database > Monster

MonsterEntry — контейнер на уровне вида. Фактические данные о характеристиках, типах и внешнем виде находятся в записях по формам:

УровеньКлассСодержит
ВидMonsterEntryDexNumber, AvailableForms, индексированные данные форм
По формеDataByFormEntryТипы, характеристики, способности, спрайты, эволюции
// MonsterEntry  --  species-level
public class MonsterEntry : ScriptableObject
{
public uint DexNumber;
public List<Form> AvailableForms;
private List<DataByFormEntry> DataByForm; // read through monsterEntry[form]
}

// DataByFormEntry -- per-form data (abridged)
[Serializable]
public class DataByFormEntry
{
public Form Form;
public MonsterType FirstType;
public MonsterType SecondType;
public SerializableDictionary<Stat, byte> BaseStats;
public List<Ability> Abilities;
public List<Ability> HiddenAbilities;
public byte CatchRate;
public uint BaseExperience;
public GrowthRate GrowthRate;
public List<EvolutionData> Evolutions;
// ... materials (Front, Back, shiny and male variants), icons, world sprites, breeding data
}

Структура DataByFormEntry позволяет одному виду иметь несколько форм (например, региональные варианты, формы Mega) с разными характеристиками, типами и спрайтами для каждой формы.

Следующие шаги​