Нетривиальные идеи #1: Reflexonominion
Попробую начать серию лонгридов про свой безумный геймдизайн. К каждому посту прилагается игра, демо или играбельный прототип этой идеи.
К этому посту прилагается вот эта демка. Скачивается бесплатно. Проходится часа за 3-4. Предлагаю поиграть прежде, чем пойдут спойлеры, т.к. повествование поста может быть интерпретировано в качестве наброска гайда.
Предисловие к серии постов
Знаете, я никогда не был поклонником копирования, в т.ч. копирования идей, типа вот игра мне нравится и я хочу сделать такое, но своё. Точнее такое было, но это прошло лет 12 назад, когда я открыл для себя в 2010-ом году инди игры и понял, что свои собственные миры придумывать куда интереснее.
А однажды в одном малоизвестном блоге я прочитал про участие некоего разработчика в Ludum Dare. И решил попробовать сам в следующем. В юности у меня было много свободного времени и я очень быстро делал игры. И за два дня LD я мог выдавать чуть ли не полноценную игру с графеном, музыкой и кодом с нуля.
В этом посте речь пойдёт про одну из таких игр, но пока что не про первую из моих участий.
Но прежде, чем я перейду к ней, я отмечу, что спустя несколько участий начал находить у конкурентов очень крутые и находчивые задумки. И с тех пор челленджом для меня стала не скорость реализация задумки, а сама задумка.
Вот есть тема. И её можно интерпретировать самыми разными способами. Из них есть множество интерпретаций "в лоб", которые и будут составлять основную массу проектов в конкурсе. Моя же задача - найти интересную интерпретацию тему максимально далёкую от решения "в лоб". Так я открыл, что придумывать собственные игровые механики интереснее, чем делать салат из старых.
Именно о таких решениях, и о таких механиках и будет серия постов. Я не перетендую на гениальную уникальность того, что придумываю, т.к. одни и те же идеи могут запросто прийти в головы двум разным людям.
Рождение идеи в процессе конкурса
Сабжевая игра была сделана тему Beneath the Surface, на Ludum Dare за номером 29.
Поразмыслив логически я предположил, что скорее всего это будет множество игр про копание, или про ныряние.
Но для меня стоял вопрос так: Что будет поверхностью и как под неё попасть?
Я взял за поверхность зеркало, по которому игрок перемещается и отражается в нём же. Подумав, я решил, что отражение - это именно то, что удерживает игрока на поверхности, то есть без отражения он провалится.
Родилась завязка - у важного для персонажа игрока кто-то спёр отражение, и игроку нужно найти способ попасть под поверхность чтобы его вернуть. И чтобы это сделать... ему нужно перестать отражаться в зеркале. Первая мысль, которая мне пришла в голову на тему того "кто не отражается в зеркале" - это вампир. Так что игроку нужно стать вампиром. Как становятся вампиром? Нужно чтобы игрока укусил другой вампир. Где живут вампиры. Вот значит это всё в игре и появится.
Игра - хардовый платформер с элементами метроидвании. Чисто визуально на ранних прототипах отражение игрока выглядело как ходьба по водной глади - отсюда возник водный сеттинг. И новая идея - зеркало двустороннее, то есть отражает всё с поверхности под неё и из под поверхности над ней. Отражения рыбок плавают в воздухе, а анемоны представляют собой угрозу типа шипов.
Когда я рисовал персонажа, я не особо задумывался кто это будет, т.к. у меня было всего 2 дня на всё. Так что я нарисовал что-то, что позже склонился считать морской звездой, или её близким родственником. Напишите в комментах свои версии =)
Итого мы имеем морскую звезду, которая хочет стать вампиром и отправиться под поверхность спасать отражение своего друга. Всё нормально.
С первыми двумя локациями всё понятно - Поверхность и Замок Вампира. А что под поверхностью? Ад, вестимо. И живёт там Смерть. Поэтому нечто в капюшоне.
Заранее скажу, что в конкурсной версии я не делал боссов, но в демке, на которую я дал ссылку в самом начале - этих боссов штук 7.
Зато в конкурсной версии я сразу сделал две самые важные способности.
Первая способность - это быть вампиром. Что даёт возможность пересекать грань поверхности, а так же и двойной прыжок. Но с плюшками вампира игрок так же получает и его недостатки - уязвимость к свету. И тогда придумался левелдизайн замка - игрок доходит до вампира, а потом должен выбраться из замка, но из-за освещения, придётся строить маршрут немного по-другому.
Попадая в Преисподнюю, нужно продраться через прожектора и злых shadow ребят и спереть у Смерти вторую способность.
Вторая способность - бессмертие. Погибающий с одной тычки персонаж теперь превращается в душу, которая может перемещаться в любую сторону, игнорируя гравитацию и любой урон.
Удовольствие это длится всего несколько секунд, после чего игрок спавнится на месте этой души, а способность уходит в перезарядку на примерно 3 секунды. Если игрок умирает за это время повторно - начинает с чекпоинта. Звучит как имба, но я позже придумал контр-механики.
Игрок не успевает сбежать - появляется Смерть и посылает игрока в другую сторону на другой конец преисподней забрать какую-то там штуку.
На этом конкурсная версия заканчивается, проходится минут за 40, наверное. Если интересно - могу выложить ТУ конкурсную демку по запросу в комментариях.
Постконкурс
После я много лет периодически возвращался к проекту что-то там допиливая, мечтая однажды сделать метроидванию всех времён и народов. Hollow Knight тогда ещё не было =)
За это время игра обросла жирным слоем UX. И контентом. Всё придумывалось на ходу, и сейчас я понимаю, что это bad smell. Но всё равно занятные концепции там есть.
Игровой мир
Начну с мира - он представляет собой слоёный пирог, центром которого является зеркальная поверхность.
Вниз - Преисподняя, а наверх - Рай. Они являются отражениями друг-друга в основной геометрии, т.е. Рай - это перевёрнутая преисподняя. На этой локации, я и остановился в разработке игры. Основная геометрия - это расположение стен, и свой шарм это привносит, несомненно. Зеркальные локации сильнее похожи друг на друга чем ближе к Поверхности, и не похожи (в т.ч. наполнением и механиками) - чем дальше от неё.
Есть кое-что ниже Преисподней - это Дно. И геймплей там страшен, т.к. там живут поглотители душ - а значит способность Бессмертия не будет давать такой уж лёгкой жизни. В той версии, что я скинул - от поглотителей душ можно увернуться не так уж и спложно. А до этого это был instant kill.
Отражением Дна, должна была стать локация Звёздное Небо. Но я боялся, что движок не потянет слишком большой мир на одной сцене, так что решил, что эта локация будет фрагментарно уничтожена шумом и в будущем будет представлять что-то типа арены с челленджами.
Дно сопряжено с ещё одной локацией Осень, которая получила своё название из-за цветовой гаммы.
Там живёт один парень, который открывает дверь в последнюю из придуманных локаций ЯВО измерение.
Изначально RRR измерение, что являлось аббревиатурой Rage Resurrection Revenge. Но в русской версии это аббревиатура от Ярость Воскрешение Отмщение, соответственно.
Персонажи и немного геймдизайна
Мир этот я населил дивными существами, которые могут прийти разве что только в мою голову.
Ходячая морская звезда в качестве главного героя - это только начало.
Первый босс, который даёт бытиё вампиром - сам является вампиром.
Но этот вампир немножко осьминог. У нас же морская тема - так что всё логично. Он живёт в замке, да, но практически в персональном бассейне, у границы.
Боссфайт с Вампиром довольно простой - нужно его в форме летучей мыши выманивать на светильники. Это так же даёт пинка мозгу игрока, почему его убивает свет, когда он сам становится вампиром.
А второй босс, который Смерть, на самом деле не смерть. Поэтому получил название "Смерть?", т.к. он на неё похож, но не является ей.
По сюжету это на самом деле ЯВО солдат, созданный в ЯВО измерении.
Плохо проработанный замес в том, что эти Солдаты воруют Отражения с поверхности, чтобы делать новых солдат, а скрещивая с душами - получать ещё более убойных монстров. И всё это, чтобы уничтожать высшие измерения, как это случилось со Звёздным Небом.
Геймдизайн этого босса переделывался очень много раз, в т.ч. и пару дней назад, чтобы не вызвать разрыв очка у игроков. Основная проблема в том, что у игрока нету права на ошибку, после которой нужно начинать заново.
Кстати, вся вторая локация была переработана. И вместо красных теней, там теперь много шума и яблок.
А вот шум - это новая механика. Шум уничтожается светом (правда потом возрождается), так что появились кнопки, которые включают прожектора. А некоторые прожектора включаются по таймеру. Сделано так, что за счёт левелдизайна игрок самостоятельно обучается этой механике.
После путешествий по Преисподней игрок попадает на Дно Мироздания. Здесь снова новые механики, самая моя любимая - это пауки, жёлтые и синие.
И те и те натягивают паутину. Но жёлтый натягивает паутину платформу, которая исчезает после того как на её становится игрок. А синий натягивает "сигнализацию", при задевании которой он её переплетает выпуская газ.
Третий босс прямиком со Дна этого самого Дна (простите за тавтологию) и являет собой Адский Лифт (в английской версии Hellevator)
Капсула с рожей внутри, которая гоняет по тросам. Геймдизайном этого босса я очень доволен.
Есть две пары кнопок с каждой стороны комнаты. Крайняя заряжает ядовитую капсулу, а центральная запускает её, что наносит повреждение боссу при попадании.
За победу над боссом игрок получает способность синего отражения, что позволяет телепортироваться через специальные синие квадраты.
Там же игрок знакомится с торговцем билетов на поезд.
Этот торговец немного олень внешне, а под плащом у него скелет рыбной головы, о чём немного попозже. Он неизменно путешествует вместе с появляющейся синей пастью, которая может быть его частью, а не отдельным существом.
Он торгует билетами за Искры Смерти, которые появляются после смерти кого-либо, например одна Искра Смерти появляется после смерти персонажа и таким образом их можно фармить. А можно найти секретку под комнатой Адского Лифта и пофармить Искры там при помощи новоприобретённой способности.
Билет нужен чтобы проехаться на поезде, который курсирует между Осенью и Часовой станцией. Последнее - это планировалась вертикальная мини-локация, которой я не упомянул выше. Просто потому что она очень маленькая и воспринимается скорее подлокацией Дна Мироздания.
В Осени игрок встречает нового персонажа Хранителя, который выглядит вот так:
Образ его абсолютно не случаен. Я жил один, когда делал эту игру, и перед сном долго разглядывал этот дверной проём
И решил, что это был бы занятный персонаж-дверь, особенно после прочтения книжки Макса Фрая "Ворона на мосту".
Забавный факт в том, что этот красный - уже производный от другого персонажа в этой же игре, которого пока там нет.
Но Хранитель пока закрыт, так что посылает игрока побэктречить в преисподнюю в поисках ключа.
Там игрок разговаривает с фальшивым отражением, которое оборачивается вот таким милым монстром из телевизора:
И сражение с ним - весьма занятное.
Изначально босс прикидывается отражением главгероя, и ему нужно, используя простые скрытые механики уничтожить оковы телевизора, из которого вылезает существо сродни тем, что обитают на Дне - готовые полакомиться свежей душой.
Естественно, игрок бессилен против такого монстра, но ему на помощь приходит зелёный человечек, который бегает по верху локации, заряжает меч, и рассекает им вертикальное пространство. Так что игроку придётся только подманивать монстра на эти удары, уворачиваясь от босса с помощью способности зеркалирования.
За бой этот, не сильно простой и полный фрустрации, игрок получит вертикальное отражение, принцип действия которого проще показать, чем объяснить.
Можно сказать, что это анти-зеркало, через которое игрок должен провалиться в начале игры. Игрок может наспавнить отражение, находясь в воздухе, и оно от этой точки летит вверх, однако, уперевшись в потолок не даёт падать персонажу. Таким образом, можно делать что-то из арсенала спайдермена, но с ограничениями.
Далее игроку придётся полностью пробэктречить Дно.
Ещё раз.
И купить билет у Торговца, снова. Но не тут то было. Торговец решил помахать рыбьим скелетиком из под плаща и являет собой очередного босса.
Смысл сражения с ним - подбрасывать его, зеркалясь через платформу под ним, из-за чего он раскрывает свой плащ, а там помимо рыбьего скелетика ещё одна зеркалилка, прозеркалившись через которую, босс выбрасывает МНОГО местной валюты - Искр Смерти, которые не столько можно, сколько НУЖНО собрать - ибо это ХП босса.
Когда у торговца "не остаётся денег" - он погибает, и даёт игроку Проездной, который позволяет кататься на поезде без ограничений.
Хранитель говорит игроку, что новая способность позволит пройти осенний лабиринт и добраться до ключа, который откроет запертую дверь.
Вообще локация Осени - это обучение игрока мАстерить способности с отражениями. В первый раз игрок не сможет дойти до Хранителя, если не научится вовремя прожимать отражалку. А во второй раз нужно будет использовать красное отражение, чтобы пройти в новую часть локации и зависать в воздухе, избегая лазеров.
Итак, игрок открыл Хранителя и вошёл в него. И оказался в ЯВО измерении, в котором появляется новая подлость - защитные поля, не пропускающие души. Точнее убивающие их, что должно по задумке освежить игровой процесс, снова не дав разгуляться. В середине игроку демонстрируются махины, одна из которых должна была стать боссом в будущем.
В какой-то момент ЯВО измерение станет вертикальным стержнем на вершине которого игрок повстречает уже знакомого зелёного человечка, который говорит, что его звать Викс и что ему нужна помощь.
Он говорит, что цели общие, части взаимосвязанной системы, и что ему очень нужно в Ядро, а двери закрыты, т.к. на них не подаётся питание, из-за того что его забирает на себя некий Концентратор.
Собственно он и просит отправиться в Преисподнюю и сразиться там с Концентратором. А это вот такая штука
А в игре вот такая
Электромедуза, да. Настолько сраный босс, что я дал игроку возможность сохраняться между фазами. Игроку нужно использовать способность топтаться по потолку, чтобы выталкивать медузу под прожектор, уворачиваясь от килотонн летящего в него электроговна и подгадывая тайминг так, чтобы не огрести от электрилизации всей поверхности каждые 10 секунд. Фууух.
Есть старая запись сражения с ним:
Но прежде, нужно будет деактивировать электрощит, просветив Медузу огромным прожектором. Для чего нужно два участника процесса - эту помощь и просил Викс.
Чтобы добраться до Медузы, нужно пробэктрэчить часть Преисподней и удивиться, куда пропали хаззарды с шумом. А они пропали сразу как только игрок победил фальшивое отражение. Я очень люблю когда в метроидваниях локации меняются навсегда, так что сам стараюсь чаще это реализовывать в своих проектах.
Уничтожение Медузы дарит хорошую новость и новую способность. Новость заключается в том по игровому миру активировались точки электроутечек, на которых можно очень высоко прыгать новой способностью.
А дальше грустное:
Игроку нужно пробэктрэчить часть преисподней, Дно, Осень и ещё раз ЯВО измерение.
Чтобы открыть в последней локации двери и встретить последнего для демки босса, который носит название E8ALN1K, то есть Ебальник.
Хитроумный босс. И мне нравится как получилась его механика, т.к. она эксплуатирует разные способности. А я очень люблю строить геймплей на эксплуатировании получаемых способностей. Они ведь не должны носить функцию только ключей.
Босс - смайлик, который устраивает тест. Создаёт паттерн из силовых полей, которые убивают душу, а потом убивает игрока. У игрока есть несколько секунд, чтобы подготовиться и не оказаться душой на силовом поле. Более того, игроку нужно будет душой взять красную хрень, чтобы у босса отнялось здоровье. И так 20 тестов в градации от лёгкого к сложному. На половине процесса между тестами босс будет пытаться убить электроволнами.
Для наглядности есть видео сражения с ним:
За победу даётся долгожданный фаст-тревел, от которого можно попасть в новую локацию Рай, которая недоделана.
На этом демка заканчивается. Можно побэктречить - собирать зеркальную пыль и осколки зеркала, которые в контексте демки никакого значения не имеют.
Немного про UX
Я довольно придирчив к мелочам, у меня всегда есть внутренняя потребность объяснить почему в игре происходят те или иные события, как они связаны, зачем нужен тот или иной персонаж и каковы его цели. Но я не люблю тексты, поэтому все эти вещи я люблю показывать прямо в игре антуражем. Я трачу довольно много времени на проработку задних объектов и их анимации.
Например, вот тут схемами показано зачем нужны отражения.
А вот тут я объясняю скрытую механику, что если оранжевая пулька попадёт в газ, то будет взрыв:
Я не ленюсь рисовать уникальные части игры, чтобы создать какую-то историю:
И стараюсь показывать переходы между локациями, как в этом примере из Осени в ЯВО измерение
Ещё я не люблю громоздкие и обременительные интерфейсы. Поэтому в игре ничего не захламляет края экрана, а всё что происходит с персонажем (даже кулдаун бессмертия) показывается на самом персонаже.
В какой-то момент я понял, что игре нужна карта, но технически не смог её сделать, а концептуально - не смог объяснить.
Концептуально - это как в Hollow Knight, когда получаешь намётки от Корнифера, а потом персонаж на скамейках что-то пишет и дорисовывает где побывал.
Так же часто непонятно что дают способности и куда идти. Поэтому я наскоряк сделал менюшку, которая даже игру не паузит.
Заключение
Я много лет думал о том, как я доделаю этот проект. Но, походу, не доделаю. И дело даже не в том, что у меня мало времени. А в том, что пару дней назад я наконец-то осознал чудовищные минусы этого проекта и пока не понимаю как их решать. Самый главный - это много тупого бэктрекинга. Поменьше - отсутствие карты. Технически с проектом стало работать сложно, т.к. огромная сцена тормозит всю IDE. Надо полностью реструктурировать игру на небольшие зоны. История недописана. Геймдизайн местами очень сомнительный. Диалоги написаны кринжово, т.к. на коленке за полчаса. Многие элементы игры всё-таки существуют вне логики и выглядят как отдельные идеи, притянутые за уши. Нужна глубокая проработка мира игры, т.к. на многие простые вопросы у меня нету ответов.
В общем, мне пока сложно судить достоин ли проект продолжения. Оставлю это на мнения игроков. Поддержать мои труды можно на моей страничке бусти, и там же бесплатно поиграть в другие мои готовые проекты или прототипы.
P.S. Такое название у проекта - это одна из моих дурацких шуток в юности, чтобы сложно было выговаривать. Те, кто о проекте знают - называют его Зеркальный. На конкурсе LD29 игра шла под названием Behind Mirror.