Lucy’s Dreams — выход демо-версии и основные перипетии разработки

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

Lucy’s Dreams — выход демо-версии и основные перипетии разработки

Всем привет. Я называю себя Корраптором и я хочу представить вам свою игру.

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

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

В Lucy’s Dreams вы играете за водителя авто, вашей целью является езда по трассе, уклонение от препятствий и набор очков. Игра наверняка напомнит вам такие хиты прошлого, как Subway Surfers или Audiosurf, однако своей целью я ставил объединить необъединяемое, а именно бессмысленную казуалку и трагично-агрессивную атмосферу, поэтому прежде всего вы обратите внимание на такие нетипичные для жанра углублённый дизайн уровней и сюжетные вставки.

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

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

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

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

Пока что готова только демо-версия, однако от конечного варианта игра отличается только недостатком контента, все механики в ней уже реализованы так, как задуманы (хотя простор для улучшения безусловно есть). Полноценный выход игры планируется в начале 2022-го года.

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

Основной блок закончен, далее будет долгий пересказ хода разработки.

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

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

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

  • Геймдизайн
  • Колористика
  • Шейдеры
  • Постпроцессинг
  • Подробное устройство графического движка в Unity
  • Глубокая оптимизация в Unity

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

Первоначальная идея

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

Идея игры пришла мне вечером на автобусной остановке ещё в марте 2019-го. Я очень люблю жанровые деконструкции, поэтому мне хотелось сделать что-то подобное. Это должен был быть клон Subway Surfers, но про слетевшего с катушек убийцу. Мне хотелось, чтобы игрок находился в суперпозиции приятного и неприятного: задорные зарекомендованные себя временем механики соседствовали бы с отвращением от своих собственных действий, от своего собственного наслаждения, которое ты чисто по человечески не должен испытывать в данной ситуации.

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

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

Вышеперечисленное видение было опубликовано на геймджеме DTF летом 2019-го и не нашло никакого интереса у публики. Тогда я бросил разработку игры в первый раз.

Всё переделать

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

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

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

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

Lucy’s Dreams — выход демо-версии и основные перипетии разработки

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

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

Кор-геймплей стал наскучивать и я ввёл промежуточные коридоры в 6 уровнях из 8. Там геймплей немного меняется, на каждом уровне по своему: могут падать новые несбиваемые препятствия с неба, все препятствия целиком могут смениться на несбиваемые и их нужно объезжать на высокой скорости, а ещё может появиться полицейский автомобиль, который будет пытаться вас остановить (этого нет в демо-версии).

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

Хотя бы единожды полностью переделывались все внутриигровые уровни, как каждый по отдельности, так и их базовая платформа. Очень много времени было потрачено на скайбокс, поскольку он занимает приличную часть экрана и поэтому обязан выглядеть мощно. Каждый уровень хоть и опирался на найденные мной на Pinterest случайно найденные концепт-арты, все они в итоге были плотно вписаны в сюжетную канву и дополнялись исходя из наделённой им скрытой метафоры. Самих уровней в планах сначала было 6, потом стало 10, а теперь вообще 14 (2 стандартных и 6 с промежуточными коридорами, а промежуточный коридор тоже обладает своим уникальным дизайном).

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

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

Оптимизация

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

  • Используются высокие скорости, поэтому вы не сможете безболезненно использовать слишком много ассетов, у вас не будет времени на их выгрузку.
  • Плюсом к вышеперечисленному для высоких скоростей для комфортной игры требуется большой FPS, не менее 15, а лучше 25-30.
  • Уровень генерируется в реальном времени, так что ни о каком запекании мешей и освещения не может быть и речи.
  • Достаточно необычный сеттинг, требующий очень большого количества шейдеров и прозрачных объектов, которые требуют много вычислений.
  • В то же время, сложно найти концепт-арты, которые было бы легко реализовать в настолько ограниченных мощностях, это уже не говоря о том, что они все похожи как две капли воды.

Часто приходилось имитировать прозрачность через градиенты, сливающиеся с фоном. Часто приходилось ограничиваться 3-5 объектами интерьера на уровень, чтобы свести количество вызовов отрисовки к минимуму, хотя бы до 150-200. Было необходимо чётко контролировать порядок отрисовки объектов. Это уже не говоря о поголовном отказе от любых материалов, кроме Mobile и Legacy и других и так очень распространённых хаков. Именно из-за этого игра в целом склоняется к минимализму форм и образов.

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

Пышный лес, вид сверху<br />
Пышный лес, вид сверху

Про модель распространения

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

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

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

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

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

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

5757
20 комментариев

Молодец. Но предупреждение для эпилепсиков все же поставить нужно. Или убрать эффекты по умолчанию. 

7
Ответить

Комментарий недоступен

2
Ответить

Фича. Но видимо скоро перестанет ей быть, потому что ты не первый жалуешься

2
Ответить

Комментарий недоступен

2
Ответить

Благодаря таблеткам и выхиливанию ХП на столкновения можно забить. Автор даже об этом в посте написал:
А через несколько месяцев было решено отказаться от концепции одной попытки, то есть смерти от единого неосторожного столкновения с препятствием. Игра должна была быть про агрессивного убийцу, так почему он находится в защите, а не нападении? Теперь игрок мог свободно сбивать любые препятствия и у него появился некоторый запас прочности (шкала здоровья), которым он мог распоряжаться.

Ответить

@KekW смотри

1
Ответить

Стиль и разнообразие локаций очень нравится, круто!

1
Ответить