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

Первый запуск, экран за экраном

Каждый снимок ниже сделан с живой работающей сборки, управляемой программно, а не нарисован макетом. Там, где экран ведёт себя не так, как выглядит, об этом сказано отдельно — именно эти примечания и есть причина существования страницы.

Образовательный материал

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

Прежде чем нажать Play: откройте стартовую сцену​

Это шаг, который чаще всего выглядит как сломанная сборка, поэтому он идёт первым.

Unity проигрывает ту сцену, которая открыта в редакторе, а не первую запись в Build Settings. Если нажать Play с пустой или несохранённой сценой, получится ровный пустой экран и консоль, которая может наполниться null‑ссылками, — и ничто из этого не означает, что с движком что-то не так.

Сначала откройте стартовую сцену:

Assets/OpenMon/Core/Game/Scenes/InitScene.unity

И только затем нажимайте Play. На прогретом редакторе запуск занимает около двадцати секунд, потому что MCEInitialization загружает базы данных прежде, чем передать управление меню.

1. Главное меню​

Главное меню OpenMon: продолжить, загрузить, новая игра, настройки, авторы и выход

Шесть пунктов: Continuar · Cargar partida · Nueva partida · Opciones · Créditos y licencia · Salir. Меню локализовано: оно рисуется на языке, выбранном в настройках, а снимок выше — сборка на испанском.

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

2. Настройки начала игры​

Настройки начала игры с выбором сложности и сложности захвата

Выбор Nueva partida не ведёт прямо в игру. Сначала предлагаются настройки сложности этого прохождения — включая сложность захвата, которая масштабирует шансы поймать независимо от боевой сложности. По умолчанию стоит «Tal y como el autor lo diseñó» — как задумал автор.

Этот экран подтверждается другой клавишей

Этот экран закрывается клавишей F (действие Extra1 в движке), а не Enter / Submit. Нажатие Enter здесь не делает ничего видимого, и выглядит это ровно как зависание.

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

3. Выбор персонажа​

Экран выбора с двумя игровыми персонажами

Выберите персонажа. Отсюда игра спросит имя и затем отдаст вам мир вместе с управлением игроком.

4. Подтверждение персонажа​

Диалог, предупреждающий, что выбор персонажа окончателен

«¿Quieres jugar con este personaje? No podrás cambiar más adelante.» — выбор окончателен, и движок говорит об этом до подтверждения, а не после.

5. Имя персонажа​

Запрос имени игрока

Для ввода текста нужна физическая клавиатура

Экран говорит об этом прямо: «Por favor, usa un teclado físico. El teclado [virtual] no está implementado.» Экранной клавиатуры нет, так что сборка без аппаратной клавиатуры дальше этого экрана не пройдёт.

Тем, кто автоматизирует: это TextInputDialog, и он читает события ввода текста, а не карту действий. Синтетические нажатия через инжектор ввода до него не доходят — их просто игнорируют, и экран выглядит застрявшим, работая правильно. Управляйте им через колбэк диалога OnFinished(true, text). Запрос псевдонима на шаге 7 — тот же диалог и ведёт себя так же.

6. Мир загружается, и профессор знает ваше имя​

Профессор Оак приветствует игрока по имени в лаборатории

Игрок появляется в лаборатории, и Оак открывает разговор словами «¡Hola, AEGIS!» — имя с предыдущего экрана, протянутое в диалог NPC. Дойти до этого кадра значит, что состояние сохранения, сетка мира и скриптование NPC через CommandGraph живы одновременно, так что это самая полезная быстрая проверка во всём первом запуске.

Три стартовых монстра стоят на столе как интерактивные акторы. Выход из лаборатории закрыт, пока вы не возьмёте одного, так что уйти наполовину начатым нельзя.

7. Выбор стартового монстра​

Диалог, предлагающий Charmander

Подойдите к одному и взаимодействуйте. Каждое предложение называет вид и его категорию до того, как вы решите.

Диалог, подтверждающий получение стартового монстра

Затем запрос псевдонима — тот же TextInputDialog, что на шаге 5, с тем же требованием физической клавиатуры.

8. Он входит в отряд​

Полноэкранная презентация: монстр с псевдонимом входит в отряд

«Chispa se unió al equipo.» Полноэкранная презентация, и монстр в вашем отряде под выбранным псевдонимом.

9. Из лаборатории​

Персонаж игрока в деревне после выхода из лаборатории

Выход из лаборатории открывается, когда у вас есть стартовый монстр, и деревня загружается как отдельная сцена — переход является настоящей загрузкой сцены, так что позиция игрока на сетке на краткое время неизвестна. Трава дальше, на маршрутах; в самой деревне плиток встреч нет.

10. Дикий бой​

Экран боя с Charmander игрока и его полоской здоровья

Прогулка по маршруту вызывает дикую встречу. Бой загружается со спрайтом спины вашего монстра, его псевдонимом, уровнем и полоской здоровья — здесь Chispa, ур. 5, 19/19.

Диалог боя: дикий Rattata использовал «Хвостом»

«¡Rattata usó Látigo!» — ход разрешается, приём противника проигрывает свою анимацию, и бой продвигается. Анимации приёмов идут через собственный слой интерполяции движка, так что этот кадр — ещё и сквозная проверка того, что система анимации жива в бою, а не только в меню.

11. Победа и повышение уровня​

Панель повышения уровня: после боя растёт каждая характеристика

Выберите Luchar, выберите приём — и ход отыгрывается. Победа даёт опыт (+76 здесь), а уровень приносит полную панель характеристик: PS 19→21, атака 10→11, защита 8→9, обе особые 11→12, скорость 13→15. Chispa достигает ур. 6.

Весь цикл виден в одном этом кадре: выбор приёма, расчёт урона, опыт и презентация повышения уровня с анимированными полосками.

Зоны встреч не всегда видны инструментам

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

К чему это приводит​

Десять экранов от нажатия Play до дикого боя, с названным монстром в отряде. Два вывода стоит унести с собой:

  • Откройте InitScene прежде, чем нажать Play. Всё остальное ведёт себя так, как выглядит; это — нет, и это самая частая ложная тревога.
  • Два из этих экранов — текстовые поля, и оба требуют настоящей клавиатуры. Если вы пишете автотесты первого запуска, именно там они тихо встанут.

Дальше​