Эволюция из 2D в 3D. Наш путь к релизу

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

Эволюция из 2D в 3D. Наш путь к релизу

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

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

Примерно в 14 я начал покупать игровой журнал «Игромания». Со временем к нему стали прикладывать CD-диск, а затем и DVD с патчами, видосами и демками игр. Именно на одном из таких дисков мне впервые попалось демо игры «Lightspeed». Я был в восторге от звука и картинки! И хоть играл я в нее недолго, воспоминания крепко засели в моей голове.

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

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

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

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

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

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

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

Первый референс я создал при помощи встроенного в «Lightspeed» редактора, добавив на фон изометрический задник, найденный на просторах интернета. Немного фотошопа, и появились дополнительные сущности, которые мы продумали еще на самом старте игры. Смотрелось трешово, но суть идеи отображало верно. По задумке свет в пирамиде возникал не магическим образом, а попадал туда через пролом в потолке, в дальнейшем отражаясь от системы зеркал внутри.

Эволюция из 2D в 3D. Наш путь к релизу

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

Эволюция из 2D в 3D. Наш путь к релизу

Далее программистом был сделан простейший прототип на Unity, где уже были работающие лучи, источник, приемник и препятствия. Процесс работы с редактором шел мучительно – отчасти из-за моей неопытности, отчасти из-за отсутствия на тот момент рабочего плагина выравнивания по сетке. Это заставляло меня на первых порах выстраивать объекты впритык друг другу, удаляя затем ненужные. Так я мог быть уверен в одинаковом расстоянии между сущностями внутри игрового поля. Довольно глупо мерить удава в попугаях, но, если больше у вас ничего нет, это тоже вариант.

Эволюция из 2D в 3D. Наш путь к релизу

Определившись с размерами и пропорциями, мы приступили к разработке и добавлению новых механик, и созданию первых играбельных уровней. Параллельно с этим среди наших друзей нашлась художница, которая помогла нам с разработкой первых изометрических изображений для игры. Мы довольно долго представляли себе конечный проект как изометрический пазл. Фактически он был бы 2D, но визуально передавал глубину за счет внешних границ игрового поля: внутренних стен нашей комнаты, сущностей, колон и внешних стен, которые также, по сути, должны были быть псевдообъемными. Так проект выглядел по итогу, до момента, когда мы решили «эволюционировать» в 3D.

Эволюция из 2D в 3D. Наш путь к релизу

Собственно, объемность по итогу и стала для нас неразрешимой задачей. Если недвижимые объекты изобразить несложно, то сделать реалистичный поворот плоской картинки стало той еще проблемой. Мы, конечно же, не первые, кто столкнулся с такой задачей. Обычно со времен старых изометрических игр проблема создания спрайта для поворота решалась отрисовкой каждого из положений в отдельности. И, как правило, можно было обойтись 8 изображениями для каждой сущности. Однако в нашем случае мы хотели свободу поворота на все 360 градусов, а это означало либо честные 360 картинок, либо какие-то визуальные артефакты на промежуточных значениях. Еще одним самым простым вариантом был бы выбор в пользу камеры строго сверху, тогда любую картинку можно было бы просто крутить. Но нам не хотелось делать так, как сделано в большинстве проектов такого рода, в рамках нашего жанра, потому что, как нам казалось, это сильно «удешевляло» итоговую картинку. В итоге мы решили не идти в сторону упрощения.

Эволюция из 2D в 3D. Наш путь к релизу

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

Первые прототипы в 3D мы также собирали на примитивах. Даже этого было достаточно, чтобы продолжать разрабатывать новые уровни и выявлять кучу новых возникших проблем. Третье измерение добавило нам высоту луча, который теперь так и норовил при неверном значении сбежать с уровня и засветить игроку в глаз. Довольно долго мы не могли решить, на какой угол выставить камеру. Ее позиция создавала массу проблем, которых не было в 2D. При определенной высоте внутренних стен полностью скрывался луч, проходящий за ними. Это сильно усложняло чтение сцены и создавало ненужные визуальные помехи с разрывами луча. Помимо этого, восприятие любых головоломок при такой позиции камеры становится сложнее, чем если смотреть строго сверху. Плюс FoV камеры, создавая эффект бочки или рыбьего глаза, также сильно влияют на размеры сущностей на сцене, которые при передвижении к углам как бы увеличиваются визуально. И, наконец, сама коробка отъедала игровое пространство уровня, и соблюсти баланс между антуражем и функциональностью игрового пространства было проблематично. А городить систему перемещения игровой камеры и зума, нагружая этой необходимостью игрока, казалось чрезмерным для простой игры со сценой на один экран. Решений предстояло множество, и все это нужно было кому-то воплотить. Благо, мой друг – рукастый программист, который не только вытащил всю техническую часть проекта сам, но и помогал с реализацией смежных задач, интеграцией всего сделанного, тестами, оптимизацией и т.д. Мой совет начинающим командам: ищите на эту позицию сильного и опытного спеца. Это значительно увеличит шанс выживания команды, состоящей преимущественно из новичков.

Эволюция из 2D в 3D. Наш путь к релизу

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

Параллельно с этим мы окончательно решили, что у нас в игре помимо шуток будет простенький сюжет. После решения не делать камеру с видом сверху это было уже второе решение, которое в разы усложнило для нас процесс разработки. Есть вероятность, что в рамках этого жанра не просто так никто не делает 3D со свободной расстановкой и сюжетом, не в виде отдельного полотна текста, а в виде диалогов. Это стало нетривиальной задачей с учетом того, что мы хотели оставить за игроком свободу выбора, возможность пропустить часть уровней или выбрать их порядок, при этом не нарушая для себя канву сюжетного повествования. Так возникли дополнительные реплики-филлеры, которые, на манер таких в аниме, не влияют на сюжет, но дополнительно описывают устройство мира в целом. Игрок, пропустив их, не испортит себе историю, но упустит что-то расширяющее лор, а мы сможем безболезненно провести его через уровни, на которых он мог бы застрять. При этом в игре внедряется система подсказок, так что глобально игрок и так не застрянет намертво. Уровень нашей замороченности на его комфорте сложно переоценить.

Эволюция из 2D в 3D. Наш путь к релизу

Когда мы закончили с сюжетом и продвинулись с готовыми уровнями, стало ясно, что пора браться за графику. Поначалу мы даже думали обойтись сторонними ассетами, но найти что-то подходящее не удавалось. Сеттинг Египта довольно популярен, однако задачи, которые мы перед собой ставили, было не покрыть только купленными моделями. Также нам хотелось, насколько это возможно, оставаться в стилизованном реализме и не скатываться в low poly. Пазлы получались довольно сложными, и внешний вид игры должен был поддерживать ощущение, что эта игра, в первую очередь, направлена не на детей. Как ни крути, нам в любом случае нужна была дюжина уникальных объектов. Стало понятно, что нам необходимо найти постоянного 3D-художника. И, собрав одну пробную сцену на неоптимизированных под мобильные устройства ассетах, мы больше к ним не возвращались.

Эволюция из 2D в 3D. Наш путь к релизу

Помимо полного 3D и адаптированного сюжета был еще один сделанный нами выбор, создающий сложности. Нам хотелось добиться разнообразия в исследовании игроком пирамиды, и мы решили, что помимо уникальных антуражей каждый этаж будет иметь новую игровую механику. В теории звучит отлично, на практике же выливается в десятки часов кодинга. А по сути своей мы сделали вместо одной игры семь, каждую со своими уникальными правилами и игровыми сущностями. Эдакая антология игр на отражения.

Дальше были длительные поиски людей и разнообразные ситуации. Описывать все будет слишком долго, все же уже шел 2022 год. Но так или иначе после ряда попыток мы нашли 3D-художника и начали создавать модели под себя. Сначала решили создать только основные игровые сущности и уже потом взяться за декорации и прочие украшательства. На его рендерах в Blender все выглядело неплохо, но визуал на Unity и мобильной графике вызывал только слезы и вьетнамские флешбэки воспоминания о графике первой PlayStation.

Это потребовало от 3D художника длительного изучения и оптимизации. Но после множества итераций мы смогли добиться визуала, который бы нас устраивал, с учетом уровня наших навыков, конечно же. В любом случае, когда делаешь что-то, учишься в процессе, и первые наработки кажутся уже недостаточно хорошими. Тут нужно вовремя остановиться, потому что процесс улучшений бесконечен и доводить все до идеала можно годами. Как говорится, проверено на себе. Что-то из наших хотелок не удалось реализовать в угоду производительности на устройствах, что-то – ввиду отсутствия опыта, еще часть хотелок заняла бы слишком много времени. У нас даже был документ, где мы накидывали приходящие кому-либо из нас идеи касательно игры в целом, которые можно было бы добавить, и по итогу он разросся до более чем 30 пунктов. А ведь это, напоминаю, все еще была «крохотная» простенькая игра и первый игровой проект для всей команды. Волевым решением мы оставили все это на теоретический сиквел. В любом случае, значительный прогресс 3D художника за время разработки игры, позволил подтянуть визуал до уровня приятного глазу. Мы очень благодарны ему за то, что он поверил в саму идею, на моменте, когда игра была в зачаточном, по сути, состоянии и дошел вместе с нами весь непростой путь до самого конца.

На поздних этапах разработки, когда до планируемого выпуска оставалось около трех месяцев, к нам в команду добавилась 2D-художница, которая в итоге создала заново весь игровой арт, разработала палитру, а также помогала придерживаться общего стиля между артами и 3D-сценами. Она горела идеей, работала быстро и крайне скрупулёзно относилась ко всему, что было связанно с ее компетенциями. Качество ее работ было на высоте. Когда мы начинали этот проект, я и надеяться на такое не мог. А тот объём работ, который она смогла осилить в столь жатые сроки поистине поражал. Остальная команда, смотря на это, так же мотивировалась держать заданную ей высокую планку качества. Было очень приятно наблюдать, как игра приобретает законченный вид и хорошеет на глазах, особенно с учетом того, сколько я к тому времени провел часов, играя в прототип без графики с целью выявить и устранить все альтернативные решения в пазлах.

Весь VFX ввиду нашего неумения создавать его с нуля было решено купить. Благо, его было немного: эффекты горения и частицы со светом. Также для ускорения разработки примерно за месяц до выпуска было решено взять и визуальную часть Ui. Тут надо отдать должное исполнителю: ей удалось попасть в наш стиль и выполнить все на высоком уровне, притом что сами задачи были нетривиальны, а времени на их выполнение – немного. Мы по сложившейся в проекте традиции не стали идти по простому пути и делать как все, просто отрисовав табличку уровней рядами кнопок, а попытались ее вписать в антураж и изобразить как заполняемый пазл. Сложно сказать, насколько это функционально. Скорее нет, чем да. Но зато вышло очень самобытно.

Эволюция из 2D в 3D. Наш путь к релизу

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

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

Эволюция из 2D в 3D. Наш путь к релизу

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

На этом месте текст должен был закончится счастливой публикацией в Google play, которая и произошла, однако нам не повезло. Где-то через неделю после выпуска нам прилетел бан, за якобы связь с ранее забаненным аккаунтом. Естественно, наши заверения о том, что это наша первая игра и первый приобретенный аккаунт не возымели эффекта. В результате игру вместе с ним удалили, не дав возможности что-то исправить и не утруждая себя в пояснении и доказательствах. Это, конечно, был серьезный удар для команды, с учетом сроков и тяжести разработки. Оставалось либо выкинуть все и сдаться, либо переориентировать игру, изначально рассчитанную исключительно на мобильные устройства под web площадку. Как итог почти полгода технических изменений под требования площадки и шлифовки визуала, и теперь игра доступна на смартфонах, ПК и планшетах через Яндекс игры.

Спасибо всем, кто дочитал до этого места. Если вам интересно ознакомиться с плодами наших усилий, вот ссылка на нашу игру https://yandex.ru/games/app/213281 . Надеюсь, любителям необычных механик и пазлов будет интересно ее опробовать.

1717
9 комментариев

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

2

А рустор?

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

Huawei AppGallery не рассматривали для публикации?

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

Поздравляю с релизом!

Игра играется довольно приятно.

Большое спасибо!