Игроконцепты #3
Одна из параллельных разработок на Godot - основа для абстрактного лабиринта с jrpg-боёвкой, рассчитанная на циклы перепрохождений с нуля.
Собственно, тут просто придумался способ соединить элементы нескольких замороженных проектов в новом качестве - вернуться в сеттинг космической jrpg Микрокосм, но вместо перепиливания того прототипа начать новый, немного переработать механики и взять наработки проекта Disengage (подробнее про ситуацию с ним было в первых игроконцептах). Чтобы вместо полётов по схематичному космосу между битвами - ввязываться в боевые столкновения по ходу листания "комнат лабиринта". И чтобы это опять был проект для ПК (плюс вёб, но тоже с ПК).
Боевая часть
В этот раз я решил двигаться очень поэтапно и сначала построить лишь архитектуру самой боёвки, отдельно от прочего (в отличие от Disengage, где на первом месте всё же был интерфейс лабиринта и управления партией). Чтобы просто получить сначала этот отдельный режим и иметь возможность запускать в нём разные варианты сражений - с различными наборами звездолётов и врагов (а там уже будет видно - продолжать/не продолжать). Для этого использую data-driven подход - параметры всех участников сражения хранятся в словарях и элементарно подтягиваются в сражающиеся сущности по выставленным указателям на ту или иную дату.
В Микрокосме вид боёвки был более близок к финалкам с ATB (примерно к 9-ке, но более линейно - без возможности перебора между активными героями), а в Disengage мне пришлось смотреть варианты более мобайл-френдли интерфейса и, как оказалось, подход Chrono Trigger тут идеален в плане референса. В принципе, в FF9, например, интерфейс является некоторой свёрнутой вариацией того же самого: он мог бы выглядеть так же как в Trigger - независимые окна опций для каждого персонажа. В 9-ке всего лишь тратишь дополнительные нажатия на переключение между активными персонажами, которые ещё не получили команду, сами опции занимают меньше места на экране. С другой стороны, у игрока возникает ощущение, что игра более последовательно-походовая, чем на самом деле.
Боёвка FF9 не настолько проста в реализации, как кажется, поэтому понадобилось разобраться в ней более детально, посмотреть на нюансы которые были в FF 7 и 8, чтобы заложить более удобную архитектуру. В итоге я решил помещать всех героев/врагов, которые заказали действие, в специальный лист, чтобы оттуда они потом последовательно срабатывали, по-очереди. Полоски получения ходов не растут, пока игрок открыл выбор цели для скилла, например, но уже помещённые в лист действия продолжают разыгрываться, пока лист не станет пуст - просто в него в это время не могут попасть новые заявки от врагов.
Важно, что пока происходит анимация действия конкретного героя/врага - оно не прерывается другими действиями. Хотя может возникать такое ощущение (собственно, как происходило в 9ке тоже, где ещё и тайминги у разных действий разные).
Собственно, самую базу уже собрал, только пока реализованы лишь простые атаки. Несмотря на то, что от ориентирования на тач-упавление и мобилки я решил отказаться - захотел оставить именно вариацию того интерфейса, с опциями всех активных героев сразу (к тому же текстовые опции впоследствии можно будет ещё более компактно свернуть до иконок, в этом же или прочих прототипах). Места ведь хватает, да и более наглядно-универсально работает конкретно на ПК - это на консоли переключаться дополнительной кнопкой между окнами активных героев было нормально, а с фокусом на клавиатурно-мышиное управление уже не так хорошо сочетается .
Почему не делать как в FF X? Ну, CTB-система немного скучновата и вдобавок требует кодить наглядную очередь ходов всех участников. Да, есть приятные нюансы - вроде того, что разные действия персонажей дают разную величину отката. То есть, например, юзая лечащие предметы, персонаж не тратит на это весь полноценный ход, а как бы расходует лишь какую-то его часть и его новый ход наступит намного быстрее. Просто эта вещь реализуется и в ATB - незначительные действия могут откатывать полоску действия не в 0, а в 30-50 процентов, например. Или может накладываться ускоряющий бафф либо замедляющий (допустим, после использования ультимейта).
Звездолётики
Сеттинг Микрокосма, где в качестве действующих лиц партия космических корабликов - упрощает задачу. Так как звёздолётики намного проще как-то по минимуму заанимировать. Ну а в дальнейшем можно сделать форк проекта и делать уже jrpg с человекообразными персонажами.
Экипаж кораблей в оригинальном Микрокосме создавал разные абстрактные ситуации в качестве своей атаки, которые могли с разной эффективностью влиять на корабли противника. В новой версии я подумал скорее развить тему различных синергий экипажа с самим кораблём - чтобы из них получались конкретные активные/пассивные способности. Как это было в аркадном наследнике Микрокосма - проекте Outsiders, где jrpg боёвка была убрана. Только развить обыгранную там концепцию синергий ещё дальше.
Возможные дальнейшие планы
План минимум по этому проекту, более подъемный и менее трудозатратный чем прочие - это после изготовления боевой части сделать "лабиринтную" часть, которая будет похожа на то, что было в Disengage. Общий концепт - игрок начинает путешествие одним корабликом, на ранних этапах набирает несколько прочих в партию и проходит ими всё новые события и энкаунтеры, пока может. Попутно подбирает экипировку (а в качестве "экипировки" корабликов у нас различные герои, которых можно брать в экипаж) При проигрыше повторить с начала, но, вероятно, сохраняется и какая-то мета-прогрессия, плюс далее можно выбирать кем именно начинать, например.
План максимум - потом можно будет делать производные от этого проекты более сложного уровня, основанные на jrpg-боёвке. Например - сделать вместо корабликов самих сражающихся персонажей, а обвес (в виде абстрактного лабиринта) концептуально оставить таким же. Или оставить кораблики, но вместо лабиринтов снова выпустить их в схематичный космос, чтобы летать между планетками и делать там разные квесты. Или сделать персонажей и выпустить уже их гулять по глобальной карте, реализовав какой-то мини-сюжет. Одним словом, имея ядро в виде боевой системы можно уже в дальнейшем посмотреть его с разными действующими лицами и с разными вариантами дополнительного обвеса/общего игрового плана.