Как [Баян Гордыня] для [ЛОКИ] игру делывает

Кодовое название: «Электрожаба на донышке»
Сначала был Disco Elysium. Задумка была простой и прямолинейной. «Я хочу свой Disco Elysium, с Psychedelic Trance музыкой и про меткоискательниц»
— сказал Баян Гордыня и привычным движением запустил RPG Maker MV, чтобы тут же попытаться реализовать высокоразвитые диалоги
Задумка была простой и прямолинейной. «Я хочу свой Сокобан, с клёвыми механиками и понями» — сказал Баян Гордыня и привычным движением запустил RPG Maker MV, чтобы тут же попытаться реализовать ключевые механики. Ключевой механикой была возможность толкать ящики перед собой. Никаких проблем.
Затем Баян Гордыня позвонил другу: «Привет! Помнишь, как на втором курсе ты нарисовал пару клёвых карт для моего консольного Сокобана? Мне нужно ещё, но только чтобы на одной карте было сразу три персонажа!». Друг радостно отправился рисовать карты, пока я впервые за 10 лет качался на качели под дождиком и курил трубку ОСУЖДАЮ НЕ ОДОБРЯЮ ЭТО ВРЕДНО ДЛЯ ЗДОРОВЬЯ (меня потом вырвало).
Наступает утро и я вижу, что на карте есть странные объекты. Достаю баклажку домашнего кваса и иду к другу, по пути постоянно отпивая свою долю. Когда я пришёл — стало ясно, что домашний квас крепче магазинного пива ОСУЖДАЮ НЕ ОДОБРЯЮ ЭТО ВРЕДНО ДЛЯ ЗДОРОВЬЯ. Друг пояснил, что странные объекты есть мины-убивающие да порталы, куда нужно затолкать ключ. На бумажке прошёл карту, было очень интересно (в следующий раз пройти карту я смог только через три недели). Ба, делов-то. Нужно добавить реализацию мин и порталов. Но вот беда — RMMV не поддерживает обработку столкновения двух объектов. И так я пытался, и сяк — не получилось. Начался новый поиск.
Задумка была простой и прямолинейной. «Я хочу свой движок для Сокобана на C# + SFML, с клёвыми механиками и расширяемостью» — сказал Баян Гордыня и привычным движением запустил VS2019, чтобы тут же попытаться реализовать ключевые механики. Ключевой механикой была возможность безболезненного добавления всех новых безумных штук, которые придумает мой друг в попытке сделать новую карту. И тут я впал в ступор на целые три недели. Как только я пытался думать о программировании и проектировании, мой мозг сразу же притворялся мёртвым. Начался новый поиск.
Несколько дней назад я вновь запустил RMMV. Теперь со мной было пивное вдохновение, безысходность и разбирающийся в RMMV человек. Первым делом я решил волевым усилием убрать из игры все сложные механики, вроде мин и порталов. Сказано — сделано. Оставалось реализовать ключевую механику игры — смену персонажей. Что ж, это не так уж и сложно. Запоминаем координаты каждого из персонажей, и когда переключаемся на нового — сохраняем координаты старого. Переключение работает в виде заклинаний.

Поначалу переключение работало как безумие: менялась картинка героя и его имя. Добрый человек подсказал мне, что можно добавлять в партию нового героя и удалять старого.
Теперь я задался вопрос: как разделять инвентарь? Ведь в RMMV инвентарь общий для партии, и даже если менять героев, вещи останутся! Решение пришло из моей старой истории про попытку сэкономить немного памяти и хранить бинарную карту как биты в байтах через специальный переводчик. Только здесь нужно было завести по одной переменной для каждого предмета, и хранить в ней номер персонажа, который этот предмет имеет.
А потом добрый человек подсказал мне про плагин для разделения инвентарей. Это был первый мой плагин. И я покатился по наклонной.
После раздельных инвентарей мне подсказали про плагин для обработки любых кнопок (RMMV считывает только около десятка стандартных клавиш). Больше не нужно искать заклинание «Стать Sweetie Bell»! Достаточно нажать на «1», «2» або «3»!
А потом я нашёл плагин для обработки столкновения двух событий, скрипты для которого работали не из раздела «скрипты», а из раздела «комментарии». И тут понеслось. В итоге первая карта моего друга была реализована целиком и полностью.

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

11 комментариев
tabun.andreymal.org/ — ошибка 522
Домашний квас вредным быть ниможет!
Ересь, вот каково истинное звучание психоделики:
Разработка вышла на финишную прямую.
Осталось настроить звуки и музыку, отшлифовать баги и облагородить тексты.
Задача Решено?
Удалять ключи при открытии дверей Да
Запретить выход с уровня с ключом в инв. Не хочу
Счётчик шагов на экране Доделать/не хочу
Показывать взятые ключи на экране Да
Вступление и сюжет Почти
Случайные фразы Твай Почти
Коррекция цвета гребешков и ключей Да
Дракончики поворачиваются к игроку Да
Запретить поворот ключей Да
В интерфейсе ключи переносятся на новый уровень (на самом деле нет) Да
Не хочешь покормить перед выходом?\ Не хочу
Проницаемые порталы Не совсем
Порталы выхода на кнопку Да
Иконки поней с цифрами Да
Починить шары Частично
Звук снежным шарам Да
Лубок прозрачность после ТП Да
Нет звука при переключении на 1 2 3 Да
Толкать пони Да
Подружки смотрят на нас Да
Переместить Звук смены пони в Стать_пони
Статистика шагов
Ещё добавил вроде как титры
Немного враки. Костылится, вполне нормально причем, без всяких джаваскриптов.
Для двух персонажей я просто менял местами ивент с игроком местами, графику ивента и набор пати
(а меню игры у меня нет, ха-ха).А еще однажды я понял, что очень круто делать карты по возможности сильно большего размера, чем активная область (кроме, офкос, комнат на один экран), это позволяет
— избавиться от странного ощущения на границе карты, когда нужно смотреть в другое место (естественно, кроме переходов в другие зоны)
— можно гадить ивентами по краям (даже видимыми) и они точно не будут мешаться.
А еще попробуй в идеале графику более говорящую. В эту штуку я достаточно много играл в детстве, там много всяких механик и осталось место приколюхам, при этом обучение пусть и методом проб и ошибок, но в целом достаточно говорящее.
С картой в самую точку, сам пришёл к такому же выводу, если я всё правильно понял.
Персонажей я меняю так — сохраняются координаты событий и игрока, и в нужный момент происходит то что ты описал + стоит плагин на несколько раздельных инвентарей
А так регионы ванлав, если хотя бы что-то сидит статично. Только жалко, что изкоробки рпгмейкер не позволяет в динамике рисовать на карте
а еще у купленного мейкера в комплекте уже куча плагинов идет, их просто достать надо
Не надо, нашёл. Это ж надо так спрятать купленные дополнения, лол
Уже воткнул плагин на переназначение кнопок. Довольно сырой и неуклюжий, но теперь можно листать варианты ответа прямо с WASD. Эти настройки ведь сохранятся в выпущенном билде? Я надеюсь…
Не сохранились =(
Не знаю, может быть если я релизной сборке сам выставлю все настройки и запакую — тогда настройки сохранятся?