Нетривиальные идеи #1: Reflexonominion

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

К этому посту прилагается вот эта демка. Скачивается бесплатно. Проходится часа за 3-4. Предлагаю поиграть прежде, чем пойдут спойлеры, т.к. повествование поста может быть интерпретировано в качестве наброска гайда.

Нетривиальные идеи #1: Reflexonominion

Предисловие к серии постов

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

А однажды в одном малоизвестном блоге я прочитал про участие некоего разработчика в Ludum Dare. И решил попробовать сам в следующем. В юности у меня было много свободного времени и я очень быстро делал игры. И за два дня LD я мог выдавать чуть ли не полноценную игру с графеном, музыкой и кодом с нуля.

В этом посте речь пойдёт про одну из таких игр, но пока что не про первую из моих участий.

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

Вот есть тема. И её можно интерпретировать самыми разными способами. Из них есть множество интерпретаций "в лоб", которые и будут составлять основную массу проектов в конкурсе. Моя же задача - найти интересную интерпретацию тему максимально далёкую от решения "в лоб". Так я открыл, что придумывать собственные игровые механики интереснее, чем делать салат из старых.

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

Рождение идеи в процессе конкурса

Сабжевая игра была сделана тему Beneath the Surface, на Ludum Dare за номером 29.

Поразмыслив логически я предположил, что скорее всего это будет множество игр про копание, или про ныряние.

Но для меня стоял вопрос так: Что будет поверхностью и как под неё попасть?

Нетривиальные идеи #1: Reflexonominion

Я взял за поверхность зеркало, по которому игрок перемещается и отражается в нём же. Подумав, я решил, что отражение - это именно то, что удерживает игрока на поверхности, то есть без отражения он провалится.

Родилась завязка - у важного для персонажа игрока кто-то спёр отражение, и игроку нужно найти способ попасть под поверхность чтобы его вернуть. И чтобы это сделать... ему нужно перестать отражаться в зеркале. Первая мысль, которая мне пришла в голову на тему того "кто не отражается в зеркале" - это вампир. Так что игроку нужно стать вампиром. Как становятся вампиром? Нужно чтобы игрока укусил другой вампир. Где живут вампиры. Вот значит это всё в игре и появится.

Игра - хардовый платформер с элементами метроидвании. Чисто визуально на ранних прототипах отражение игрока выглядело как ходьба по водной глади - отсюда возник водный сеттинг. И новая идея - зеркало двустороннее, то есть отражает всё с поверхности под неё и из под поверхности над ней. Отражения рыбок плавают в воздухе, а анемоны представляют собой угрозу типа шипов.

Перевёрнутые рыбки - это отражения из под поверхности, но со всеми потрохами, в т.ч. и светом.
Перевёрнутые рыбки - это отражения из под поверхности, но со всеми потрохами, в т.ч. и светом.

Когда я рисовал персонажа, я не особо задумывался кто это будет, т.к. у меня было всего 2 дня на всё. Так что я нарисовал что-то, что позже склонился считать морской звездой, или её близким родственником. Напишите в комментах свои версии =)

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

С первыми двумя локациями всё понятно - Поверхность и Замок Вампира. А что под поверхностью? Ад, вестимо. И живёт там Смерть. Поэтому нечто в капюшоне.

Заранее скажу, что в конкурсной версии я не делал боссов, но в демке, на которую я дал ссылку в самом начале - этих боссов штук 7.

Зато в конкурсной версии я сразу сделал две самые важные способности.

Первая способность - это быть вампиром. Что даёт возможность пересекать грань поверхности, а так же и двойной прыжок. Но с плюшками вампира игрок так же получает и его недостатки - уязвимость к свету. И тогда придумался левелдизайн замка - игрок доходит до вампира, а потом должен выбраться из замка, но из-за освещения, придётся строить маршрут немного по-другому.

А отражения то нет! Потому что уже вампир.
А отражения то нет! Потому что уже вампир.

Попадая в Преисподнюю, нужно продраться через прожектора и злых shadow ребят и спереть у Смерти вторую способность.

Вторая способность - бессмертие. Погибающий с одной тычки персонаж теперь превращается в душу, которая может перемещаться в любую сторону, игнорируя гравитацию и любой урон.

Нетривиальные идеи #1: Reflexonominion

Удовольствие это длится всего несколько секунд, после чего игрок спавнится на месте этой души, а способность уходит в перезарядку на примерно 3 секунды. Если игрок умирает за это время повторно - начинает с чекпоинта. Звучит как имба, но я позже придумал контр-механики.

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

На этом конкурсная версия заканчивается, проходится минут за 40, наверное. Если интересно - могу выложить ТУ конкурсную демку по запросу в комментариях.

Постконкурс

После я много лет периодически возвращался к проекту что-то там допиливая, мечтая однажды сделать метроидванию всех времён и народов. Hollow Knight тогда ещё не было =)

За это время игра обросла жирным слоем UX. И контентом. Всё придумывалось на ходу, и сейчас я понимаю, что это bad smell. Но всё равно занятные концепции там есть.

Игровой мир

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

Это общая сцена всей игры. По центру поверхность, выше - Рай, ниже - Преисподняя, ещё ниже - дно, правее которого Осень. Отдельный кусок в правом верхнем углу - ЯВО измерение.
Это общая сцена всей игры. По центру поверхность, выше - Рай, ниже - Преисподняя, ещё ниже - дно, правее которого Осень. Отдельный кусок в правом верхнем углу - ЯВО измерение.

Вниз - Преисподняя, а наверх - Рай. Они являются отражениями друг-друга в основной геометрии, т.е. Рай - это перевёрнутая преисподняя. На этой локации, я и остановился в разработке игры. Основная геометрия - это расположение стен, и свой шарм это привносит, несомненно. Зеркальные локации сильнее похожи друг на друга чем ближе к Поверхности, и не похожи (в т.ч. наполнением и механиками) - чем дальше от неё.

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

Есть кое-что ниже Преисподней - это Дно. И геймплей там страшен, т.к. там живут поглотители душ - а значит способность Бессмертия не будет давать такой уж лёгкой жизни. В той версии, что я скинул - от поглотителей душ можно увернуться не так уж и спложно. А до этого это был instant kill.

Вот эти призраки-зубастики выходят на охоту как только поблизости оказывается душа.
Вот эти призраки-зубастики выходят на охоту как только поблизости оказывается душа.

Отражением Дна, должна была стать локация Звёздное Небо. Но я боялся, что движок не потянет слишком большой мир на одной сцене, так что решил, что эта локация будет фрагментарно уничтожена шумом и в будущем будет представлять что-то типа арены с челленджами.

Для локации Звёдное Небло я только тайлсет сделал на данном этапе + небольшую комнату со станцией телепорта.
Для локации Звёдное Небло я только тайлсет сделал на данном этапе + небольшую комнату со станцией телепорта.

Дно сопряжено с ещё одной локацией Осень, которая получила своё название из-за цветовой гаммы.

Нетривиальные идеи #1: Reflexonominion

Там живёт один парень, который открывает дверь в последнюю из придуманных локаций ЯВО измерение.

Нетривиальные идеи #1: Reflexonominion

Изначально RRR измерение, что являлось аббревиатурой Rage Resurrection Revenge. Но в русской версии это аббревиатура от Ярость Воскрешение Отмщение, соответственно.

Персонажи и немного геймдизайна

Мир этот я населил дивными существами, которые могут прийти разве что только в мою голову.

Ходячая морская звезда в качестве главного героя - это только начало.

Первый босс, который даёт бытиё вампиром - сам является вампиром.

Нетривиальные идеи #1: Reflexonominion

Но этот вампир немножко осьминог. У нас же морская тема - так что всё логично. Он живёт в замке, да, но практически в персональном бассейне, у границы.

Нетривиальные идеи #1: Reflexonominion

Боссфайт с Вампиром довольно простой - нужно его в форме летучей мыши выманивать на светильники. Это так же даёт пинка мозгу игрока, почему его убивает свет, когда он сам становится вампиром.

А второй босс, который Смерть, на самом деле не смерть. Поэтому получил название "Смерть?", т.к. он на неё похож, но не является ей.

Нетривиальные идеи #1: Reflexonominion

По сюжету это на самом деле ЯВО солдат, созданный в ЯВО измерении.

Нетривиальные идеи #1: Reflexonominion

Плохо проработанный замес в том, что эти Солдаты воруют Отражения с поверхности, чтобы делать новых солдат, а скрещивая с душами - получать ещё более убойных монстров. И всё это, чтобы уничтожать высшие измерения, как это случилось со Звёздным Небом.

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

Вот этот товарищ. На самом деле того же посола, что и нечто справа скриншотом выше, но в накидке. При просвечивании истинная форма проступает. Да, чтобы его повреждать - нужно просвечивать, хотя есть и скрытая механика с просвеченными крестами.
Вот этот товарищ. На самом деле того же посола, что и нечто справа скриншотом выше, но в накидке. При просвечивании истинная форма проступает. Да, чтобы его повреждать - нужно просвечивать, хотя есть и скрытая механика с просвеченными крестами.

Кстати, вся вторая локация была переработана. И вместо красных теней, там теперь много шума и яблок.

<i>"Боги смерти едят лишь яблоки" </i>- понятно к чему отсылка =)
"Боги смерти едят лишь яблоки" - понятно к чему отсылка =)

А вот шум - это новая механика. Шум уничтожается светом (правда потом возрождается), так что появились кнопки, которые включают прожектора. А некоторые прожектора включаются по таймеру. Сделано так, что за счёт левелдизайна игрок самостоятельно обучается этой механике.

После путешествий по Преисподней игрок попадает на Дно Мироздания. Здесь снова новые механики, самая моя любимая - это пауки, жёлтые и синие.

Нетривиальные идеи #1: Reflexonominion

И те и те натягивают паутину. Но жёлтый натягивает паутину платформу, которая исчезает после того как на её становится игрок. А синий натягивает "сигнализацию", при задевании которой он её переплетает выпуская газ.

Третий босс прямиком со Дна этого самого Дна (простите за тавтологию) и являет собой Адский Лифт (в английской версии Hellevator)

Нетривиальные идеи #1: Reflexonominion

Капсула с рожей внутри, которая гоняет по тросам. Геймдизайном этого босса я очень доволен.

Нетривиальные идеи #1: Reflexonominion

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

За победу над боссом игрок получает способность синего отражения, что позволяет телепортироваться через специальные синие квадраты.

Нетривиальные идеи #1: Reflexonominion

Там же игрок знакомится с торговцем билетов на поезд.

Нетривиальные идеи #1: Reflexonominion

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

Нетривиальные идеи #1: Reflexonominion

Он торгует билетами за Искры Смерти, которые появляются после смерти кого-либо, например одна Искра Смерти появляется после смерти персонажа и таким образом их можно фармить. А можно найти секретку под комнатой Адского Лифта и пофармить Искры там при помощи новоприобретённой способности.

Если прозеркалиться через эту капсулу - из неё вылетает Искра Смерти.
Если прозеркалиться через эту капсулу - из неё вылетает Искра Смерти.

Билет нужен чтобы проехаться на поезде, который курсирует между Осенью и Часовой станцией. Последнее - это планировалась вертикальная мини-локация, которой я не упомянул выше. Просто потому что она очень маленькая и воспринимается скорее подлокацией Дна Мироздания.

Билет этот одноразовый.
Билет этот одноразовый.

В Осени игрок встречает нового персонажа Хранителя, который выглядит вот так:

Нетривиальные идеи #1: Reflexonominion

Образ его абсолютно не случаен. Я жил один, когда делал эту игру, и перед сном долго разглядывал этот дверной проём

Нетривиальные идеи #1: Reflexonominion

И решил, что это был бы занятный персонаж-дверь, особенно после прочтения книжки Макса Фрая "Ворона на мосту".

Этот персонаж просто ходит туды-сюды. Запертый.
Этот персонаж просто ходит туды-сюды. Запертый.

Забавный факт в том, что этот красный - уже производный от другого персонажа в этой же игре, которого пока там нет.

Вот этот господин как раз был срисован с моего дверного проёма. На фотке выше не сильно заметно, но на проёмом висит звезда в рамке.
Вот этот господин как раз был срисован с моего дверного проёма. На фотке выше не сильно заметно, но на проёмом висит звезда в рамке.

Но Хранитель пока закрыт, так что посылает игрока побэктречить в преисподнюю в поисках ключа.

Нетривиальные идеи #1: Reflexonominion

Там игрок разговаривает с фальшивым отражением, которое оборачивается вот таким милым монстром из телевизора:

Нетривиальные идеи #1: Reflexonominion

И сражение с ним - весьма занятное.

Первая фаза сражения, когда игрок имеет дело с фальшивым отражением.
Первая фаза сражения, когда игрок имеет дело с фальшивым отражением.

Изначально босс прикидывается отражением главгероя, и ему нужно, используя простые скрытые механики уничтожить оковы телевизора, из которого вылезает существо сродни тем, что обитают на Дне - готовые полакомиться свежей душой.

Нетривиальные идеи #1: Reflexonominion

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

Монстра уже нет, а телевизор так и остался разбитый.
Монстра уже нет, а телевизор так и остался разбитый.

За бой этот, не сильно простой и полный фрустрации, игрок получит вертикальное отражение, принцип действия которого проще показать, чем объяснить.

Сверху игрока - его вертикальное, красное отражение.
Сверху игрока - его вертикальное, красное отражение.

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

Далее игроку придётся полностью пробэктречить Дно.

Ещё раз.

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

Нетривиальные идеи #1: Reflexonominion

Смысл сражения с ним - подбрасывать его, зеркалясь через платформу под ним, из-за чего он раскрывает свой плащ, а там помимо рыбьего скелетика ещё одна зеркалилка, прозеркалившись через которую, босс выбрасывает МНОГО местной валюты - Искр Смерти, которые не столько можно, сколько НУЖНО собрать - ибо это ХП босса.

То что выбрасывает босс тут же пытается всосать появляющаяся пасть, так что собирать их не так то просто.
То что выбрасывает босс тут же пытается всосать появляющаяся пасть, так что собирать их не так то просто.

Когда у торговца "не остаётся денег" - он погибает, и даёт игроку Проездной, который позволяет кататься на поезде без ограничений.

Вот он - проездной билет.
Вот он - проездной билет.

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

Элемент обучения синему отражению. Если упал - начинаешь с начала.
Элемент обучения синему отражению. Если упал - начинаешь с начала.

Вообще локация Осени - это обучение игрока мАстерить способности с отражениями. В первый раз игрок не сможет дойти до Хранителя, если не научится вовремя прожимать отражалку. А во второй раз нужно будет использовать красное отражение, чтобы пройти в новую часть локации и зависать в воздухе, избегая лазеров.

Элемент обучения красному отражению по зависанию на потолке.
Элемент обучения красному отражению по зависанию на потолке.

Итак, игрок открыл Хранителя и вошёл в него. И оказался в ЯВО измерении, в котором появляется новая подлость - защитные поля, не пропускающие души. Точнее убивающие их, что должно по задумке освежить игровой процесс, снова не дав разгуляться. В середине игроку демонстрируются махины, одна из которых должна была стать боссом в будущем.

Там потом по сюжету одна из них исчезает.
Там потом по сюжету одна из них исчезает.

В какой-то момент ЯВО измерение станет вертикальным стержнем на вершине которого игрок повстречает уже знакомого зелёного человечка, который говорит, что его звать Викс и что ему нужна помощь.

Нетривиальные идеи #1: Reflexonominion

Он говорит, что цели общие, части взаимосвязанной системы, и что ему очень нужно в Ядро, а двери закрыты, т.к. на них не подаётся питание, из-за того что его забирает на себя некий Концентратор.

Нетривиальные идеи #1: Reflexonominion

Собственно он и просит отправиться в Преисподнюю и сразиться там с Концентратором. А это вот такая штука

Нетривиальные идеи #1: Reflexonominion

А в игре вот такая

Нетривиальные идеи #1: Reflexonominion

Электромедуза, да. Настолько сраный босс, что я дал игроку возможность сохраняться между фазами. Игроку нужно использовать способность топтаться по потолку, чтобы выталкивать медузу под прожектор, уворачиваясь от килотонн летящего в него электроговна и подгадывая тайминг так, чтобы не огрести от электрилизации всей поверхности каждые 10 секунд. Фууух.

Есть старая запись сражения с ним:

Но прежде, нужно будет деактивировать электрощит, просветив Медузу огромным прожектором. Для чего нужно два участника процесса - эту помощь и просил Викс.

Нетривиальные идеи #1: Reflexonominion

Чтобы добраться до Медузы, нужно пробэктрэчить часть Преисподней и удивиться, куда пропали хаззарды с шумом. А они пропали сразу как только игрок победил фальшивое отражение. Я очень люблю когда в метроидваниях локации меняются навсегда, так что сам стараюсь чаще это реализовывать в своих проектах.

Уничтожение Медузы дарит хорошую новость и новую способность. Новость заключается в том по игровому миру активировались точки электроутечек, на которых можно очень высоко прыгать новой способностью.

А дальше грустное:

Игроку нужно пробэктрэчить часть преисподней, Дно, Осень и ещё раз ЯВО измерение.

Чтобы открыть в последней локации двери и встретить последнего для демки босса, который носит название E8ALN1K, то есть Ебальник.

Нетривиальные идеи #1: Reflexonominion

Хитроумный босс. И мне нравится как получилась его механика, т.к. она эксплуатирует разные способности. А я очень люблю строить геймплей на эксплуатировании получаемых способностей. Они ведь не должны носить функцию только ключей.

Нетривиальные идеи #1: Reflexonominion

Босс - смайлик, который устраивает тест. Создаёт паттерн из силовых полей, которые убивают душу, а потом убивает игрока. У игрока есть несколько секунд, чтобы подготовиться и не оказаться душой на силовом поле. Более того, игроку нужно будет душой взять красную хрень, чтобы у босса отнялось здоровье. И так 20 тестов в градации от лёгкого к сложному. На половине процесса между тестами босс будет пытаться убить электроволнами.

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

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

Так игрок выбирает локации для путешествия.
Так игрок выбирает локации для путешествия.

На этом демка заканчивается. Можно побэктречить - собирать зеркальную пыль и осколки зеркала, которые в контексте демки никакого значения не имеют.

Немного про UX

Я довольно придирчив к мелочам, у меня всегда есть внутренняя потребность объяснить почему в игре происходят те или иные события, как они связаны, зачем нужен тот или иной персонаж и каковы его цели. Но я не люблю тексты, поэтому все эти вещи я люблю показывать прямо в игре антуражем. Я трачу довольно много времени на проработку задних объектов и их анимации.

Например, вот тут схемами показано зачем нужны отражения.

О том как из отражения появляются два ЯВО солдата, а из двух ЯВО солдат с ядром души получается ещё более мощная штука.
О том как из отражения появляются два ЯВО солдата, а из двух ЯВО солдат с ядром души получается ещё более мощная штука.

А вот тут я объясняю скрытую механику, что если оранжевая пулька попадёт в газ, то будет взрыв:

Нетривиальные идеи #1: Reflexonominion

Я не ленюсь рисовать уникальные части игры, чтобы создать какую-то историю:

Показана нижняя часть ЯВО солдата, которая повредила часть генератора света, что объясняет падение энергии в шкале во время катсцены.
Показана нижняя часть ЯВО солдата, которая повредила часть генератора света, что объясняет падение энергии в шкале во время катсцены.

И стараюсь показывать переходы между локациями, как в этом примере из Осени в ЯВО измерение

Как только игрок входит в Хранителя, он попадает сюда, показываю частичку Осени, чтобы связать контекст.
Как только игрок входит в Хранителя, он попадает сюда, показываю частичку Осени, чтобы связать контекст.

Ещё я не люблю громоздкие и обременительные интерфейсы. Поэтому в игре ничего не захламляет края экрана, а всё что происходит с персонажем (даже кулдаун бессмертия) показывается на самом персонаже.

В какой-то момент я понял, что игре нужна карта, но технически не смог её сделать, а концептуально - не смог объяснить.

Концептуально - это как в Hollow Knight, когда получаешь намётки от Корнифера, а потом персонаж на скамейках что-то пишет и дорисовывает где побывал.

Так же часто непонятно что дают способности и куда идти. Поэтому я наскоряк сделал менюшку, которая даже игру не паузит.

Более менее понятно где игрок, и что ему нужно сделать, и что он уже умеет.
Более менее понятно где игрок, и что ему нужно сделать, и что он уже умеет.

Заключение

Я много лет думал о том, как я доделаю этот проект. Но, походу, не доделаю. И дело даже не в том, что у меня мало времени. А в том, что пару дней назад я наконец-то осознал чудовищные минусы этого проекта и пока не понимаю как их решать. Самый главный - это много тупого бэктрекинга. Поменьше - отсутствие карты. Технически с проектом стало работать сложно, т.к. огромная сцена тормозит всю IDE. Надо полностью реструктурировать игру на небольшие зоны. История недописана. Геймдизайн местами очень сомнительный. Диалоги написаны кринжово, т.к. на коленке за полчаса. Многие элементы игры всё-таки существуют вне логики и выглядят как отдельные идеи, притянутые за уши. Нужна глубокая проработка мира игры, т.к. на многие простые вопросы у меня нету ответов.

В общем, мне пока сложно судить достоин ли проект продолжения. Оставлю это на мнения игроков. Поддержать мои труды можно на моей страничке бусти, и там же бесплатно поиграть в другие мои готовые проекты или прототипы.

P.S. Такое название у проекта - это одна из моих дурацких шуток в юности, чтобы сложно было выговаривать. Те, кто о проекте знают - называют его Зеркальный. На конкурсе LD29 игра шла под названием Behind Mirror.

3434
4 комментария

@Andrey Apanasik срочно репост, тут годный контент!!!

4
Ответить

tldr, но стало интересно что за игра, скачал демку, постараюсь написать свои ощущения от игры.

Ответить

Очень круто, что дизайн, что геймдизайн, что геймплей. Позвони Филу. Я серьезно.

Ответить