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

Создание монстров

Это руководство охватывает всё, что необходимо знать о создании и настройке видов монстров в MCE. Мы подробно рассматриваем ScriptableObject MonsterEntry, включая формы, варианты и расширенную конфигурацию.

Обзор MonsterEntry

Каждый вид монстра в MCE определяется ScriptableObject MonsterEntry. Это авторитетное определение данных вида -- оно содержит базовые характеристики, типы, способности, изучаемые приёмы, пути эволюции и визуальные ресурсы.

MonsterEntry представляет вид (например, "Flameleon"), тогда как MonsterInstance представляет конкретную особь (например, "Flameleon игрока 25-го уровня с определёнными IVs, EVs, природой и приёмами").

Создание MonsterEntry

Использование мастера (рекомендуется)

Самый быстрый способ создать монстра -- мастер: MCE > Tools > Monster Creator.

Пошаговое руководство по мастеру см. в Первый монстр.

Создание вручную

  1. Щёлкните правой кнопкой мыши в окне Project: Create > OpenMon > Monster Entry.
  2. Назовите ассет по имени вашего вида (например, Flameleon).
  3. Выберите его и настройте все поля в Inspector.

Поля MonsterEntry

Идентификация

ПолеТипОписание
MonsterNamestringОтображаемое имя вида
DexNumberuintУникальный национальный номер декса
CategorystringКатегория вида (например, "Fire Lizard")
DexDescriptionstringТекст описания в MonsterDex
CatchRateintБазовый шанс поимки (0-255). Ниже = сложнее поймать
BaseExpYieldintОчки опыта, даваемые при победе
GrowthRateGrowthRateКривая опыта: Fast, MediumFast, MediumSlow, Slow, Erratic, Fluctuating

Типы

ПолеТипОписание
Type1MonsterTypeОсновной тип (обязательный)
Type2MonsterTypeДополнительный тип (установите None для монотипа)

Базовые характеристики

Шесть базовых характеристик определяют основные способности вида. Отдельные монстры добавляют IVs (Individual Values, 0-31) и EVs (Effort Values, 0-252) к этим значениям во время выполнения.

ПолеТипОписание
BaseHPintБазовые очки здоровья
BaseAttackintБазовая физическая атака
BaseDefenseintБазовая физическая защита
BaseSpAttackintБазовая специальная атака
BaseSpDefenseintБазовая специальная защита
BaseSpeedintБазовая скорость (определяет порядок ходов)

Выход EVs

Какие EVs получает победитель при поражении данного вида?

ПолеТипОписание
EVYieldHPintПрисуждаемые EVs HP (обычно 0-3)
EVYieldAttackintПрисуждаемые EVs Attack
......По одному полю на каждую характеристику

Способности

ПолеТипОписание
Ability1AbilityОсновная способность
Ability2AbilityВторичная способность (может быть None)
HiddenAbilityAbilityСкрытая способность (может быть None)

Пол и разведение

ПолеТипОписание
GenderRatiofloatВероятность мужского пола (0 = всегда женский, 1 = всегда мужской, -1 = бесполый)
EggGroupsEggGroup[]Группы совместимости разведения
EggCyclesintШаги для высиживания (умножается на базовое количество шагов)

Структура DataByFormEntry

MCE поддерживает несколько форм для каждого вида (например, формы Алолы, Мега-формы, сезонные варианты). Каждая форма может переопределять любые или все данные базового вида.

Массив DataByFormEntry в MonsterEntry определяет переопределения для конкретных форм:

[Serializable]
public class DataByFormEntry
{
public Form Form; // The form identifier
public MonsterType Type1; // Override type 1
public MonsterType Type2; // Override type 2
public int BaseHP; // Override base HP
// ... all stats can be overridden
public Ability Ability1; // Override abilities
public Sprite FrontSprite; // Override sprites
public Sprite BackSprite;
}

Настройка форм

  1. Создайте ScriptableObject Form: Create > OpenMon > Form.
  2. Назовите его описательно (например, MegaFlameleon, AlolanDiglett).
  3. Добавьте DataByFormEntry в ваш MonsterEntry и назначьте форму.
  4. Переопределяйте только те поля, которые изменяются -- оставьте остальные по умолчанию для наследования от базового вида.
Базовая форма

Индекс 0 в массиве DataByFormEntry -- это базовая форма. Все монстры начинают в этой форме, если не указано иное. Дополнительные записи -- альтернативные формы.

Формы и варианты

MCE поддерживает несколько распространённых паттернов форм:

ПаттернРеализация
Мега-эволюцияDataByFormEntry с усиленными характеристиками и специальным спрайтом. Активируется в бою через MegaModule.
Региональные вариантыDataByFormEntry с другими типами, характеристиками и спрайтами. Встречи указывают, какая форма появляется по региону.
Сезонные формыНесколько записей DataByFormEntry. Активная форма определяется внутриигровым календарём.
Различия по полуДве записи для базовой формы. Выбирается автоматически на основе пола MonsterInstance.
Формы только для бояФормы, существующие только во время боя (например, Gigantamax). Форма возвращается после окончания боя.

Цепочки эволюции

Каждый MonsterEntry имеет массив Evolutions из записей EvolutionData:

[Serializable]
public class EvolutionData
{
public MonsterEntry TargetSpecies; // What it evolves into
public Form TargetForm; // Specific form (optional)
// Evolution type is determined by the concrete class
}

Типы эволюции реализованы как полиморфные ScriptableObject'ы. Вы назначаете соответствующий тип эволюции (например, EvolveByLevel) и настраиваете его параметры (например, требуемый уровень = 16).

Все 30+ поддерживаемых типов см. в Руководстве по эволюции.

Спрайты и материалы

Каждому монстру нужны визуальные ресурсы. MCE использует стандартные ссылки Unity Sprite:

РесурсНазначениеПримечания
Front SpriteБой (вид противника)Пиксель-арт, точечная фильтрация
Back SpriteБой (вид игрока)Пиксель-арт, точечная фильтрация
Icon SpriteМеню, ПК, отрядМаленькая иконка, обычно 32x32
Overworld SpriteСистема следованияСпрайтлист на 4 направления
Shiny VariantsВсе вышеуказанныеПерекрашенные версии

Настройки импорта для пиксель-арта

Для всех спрайтов монстров используйте эти настройки импорта:

  1. Texture Type: Sprite (2D and UI)
  2. Sprite Mode: Single (или Multiple для спрайтлиста)
  3. Pixels Per Unit: Соответствует размеру тайла вашей игры (обычно 16 или 32)
  4. Filter Mode: Point (no filter)
  5. Compression: None
  6. Max Size: Оставьте фактическое разрешение
Режим фильтрации

Использование любого режима фильтрации, кроме Point, приведёт к размытию пиксель-арта. Это самая распространённая визуальная проблема при настройке спрайтов монстров.

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

После создания MonsterEntry:

  1. Обозреватель базы данных -- Откройте MCE > Tools > Database Browser и найдите вашего монстра по имени или номеру декса.
  2. Валидация ассетов -- Запустите MCE > Tools > Asset Validation для проверки отсутствующих ссылок.
  3. Декс в игре -- Запустите игру и проверьте MonsterDex, чтобы увидеть запись вашего монстра.
  4. Дикая встреча -- Добавьте монстра в WildEncountersSet и встретьте его на местности.

Пакетное создание

Для создания множества монстров одновременно есть несколько вариантов:

  • Essentials Importer (уровень Basic+) -- Импортируйте виды напрямую из данных PBS RPG Maker Essentials.
  • Art Studio (уровень Basic+) -- Генерируйте спрайты для нескольких видов в пакетном режиме.
  • Создание через скрипты (уровень Source) -- Напишите скрипты редактора, создающие SO MonsterEntry программно.

Лучшие практики

  1. Используйте мастер для отдельных монстров. Он валидирует ваш ввод и обнаруживает типичные ошибки.
  2. Сохраняйте уникальность номеров декса. Дубликаты приведут к ошибкам поиска.
  3. Устанавливайте разумные диапазоны характеристик. Используйте рекомендации BST из Первый монстр.
  4. Всегда назначайте спрайты. Отсутствующие спрайты будут отображаться розовым/пурпурным в бою и меню.
  5. Тестируйте цепочки эволюции полностью. Убедитесь, что каждый вид в цепочке существует в базе данных.
  6. Используйте формы умеренно. Каждая форма добавляет нагрузку на память для ресурсов спрайтов.