Выпустили свою первую игру - DRAWER. Большой Devlog - как мы сделали игру за месяц

Сейчас 11 ночи и я дописываю этот пост через 10 минут после нажатия кнопки "Выпуск приложения". Как в "крутых" книжках, начинаю свой рассказ с конца, когда результат уже известен, но никто не понимает, что происходит.

Заранее извиняюсь за любые ошибки в русском языке. Как написал один из пользователей DTF под нашим первым постом, еще в далеком 18 году: "Быдлокодеры, не осилившие русский?".

Сабж:

Выпустили свою первую игру - DRAWER. Большой Devlog - как мы сделали игру за месяц

Предыстория

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

Одним месяцем ранее...

Утром 10-го декабря начался мобильный джем от Pixel Incubator. Тема была "Локдаун" и мы думы думали, как бы интересно её обыграть. QR-коды и маски - слишком очевидно, симулятор "выживания" в квартире - тоже. Начали крутить удаленку, какое-нибудь нестандартное занятие, которое можно переложить на игру и тему. Так и родился DRAWER - рисуй, чтобы рулить. Это аркадное ралли с непрямым управлением, где игрок чертит траекторию движения автомобиля заранее, а машина едет по нему сама. Звучало дико, но попробовать стоило: на то и созданы джемы:)

Первым делом пошли искать готовый движок для машинок, потому что делать за 2 дня свой - самоубийство. Нашли прикольный с доступной демкой, попробовали, понравилось, купили. Дальше стояла задача посложнее: как заставить машинку, которая управляется руками, ехать самой? Благо, в движке были боты, которые катались по заранее заданной траектории. Оставалось расковырять чужой код и вставить в него нашу рисовалку.

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

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

Геймплей прототипа DRAWER

Ссылочка на прототип, если кого заинтересует сравнить с финальной версией.

Постджемовый период

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

Работа закипела...
Игру перевели на URP, так как он лучше работает на мобилках. Сразу повылазило кучу проблем с тенями и деревьями, так как в URP нормально не работает стандартный "рандомайз" деревьев в тирейне (обожаю юнити:). Зато фпс вырос почти в 2 раза и мы решили, что такая жертва допустима.

На следующем же чемпионате мы сели в лужу, которую заметили слишком поздно. Первый чамп я заполнял всю карту участками и деревьями под ноль. Таким образом, у нас получилось 9 трасс. В новом чемпионате к 9-й трассе у меня осталось свободно еще более половины тирейна и я понял, что-то тут не так:)
Оказалось, размер тирейна в первом чампе был 350*350, а во втором 1000*1000. В итоге, по классике, это стало не багом, а фичей. Трассы получились широкими и длинными. Теперь нужна соответствующая машина - мощный и быстрый маслкар, который месит грязь на заднем приводе.

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

Третий чемпионат дался проще всего: в нем мы использовали тирейн от нашей основной разработки - RoFIsh: Prelude. Решили сделать саморекламу и реюзнуть ассеты, почему нет. Здесь в распоряжение игрока дают полноприводного монстрика, который хорошо дружит с песком и очень плохо заходит в резкие повороты.

Остров RoFIsh
Остров RoFIsh

Еще нам нужна была музыка. Какая гоночная игра без прикольного музла? В прототипе мы взяли треки без авторских прав для ютуба, какой-то лоу фай электрочил. Нам очень понравилось то, как он вяжется с геймплеем: ведь ты почти не можешь повлиять на исход во время гонки, но все равно переживаешь за свою машинку. К сожалению, использовать в коммерческих целях те треки было нельзя. Исполнителей такого андерграунда найти достаточно непросто, а связаться - еще труднее.
Как оказалось, на просторах интернета не так много полностью бесплатной музыки. Почти везде есть приписка нон-комершиал, но мне удалось найти алмаз. На одном из сайтов "бесплатной" музыки я нашел парня, который реально отдает музыку бесплатно. И это было просто ИДЕАЛЬНЕЙШЕЕ попадание в наш DRAWER. Я нашел идеальную музыку за бесплатно - не знак ли это свыше:)<br> Написал ему письмо. Ответ пришел почти сразу: "That sounds freakin awesome, you are definitely free to use my music:)".

Во время создания четвертого чампа начали закрадываться мысли, что ПК версия играется достаточно хорошо. Но все это время мы резали графон и оптимизировали игру, чтобы она заработала в 30 фпс на моем пятилетнем Redmi 4x. Интерфейс был заточен тоже под мобилки: крупные разноцветные кнопки, минимум текста и так далее. Да и в целом, игра делалась с максимальным соотношением скорость/качество, чтобы успеть к НГ и закрыть эту галочку. Никакого расчета на успех и коммерцию не шло, вливать деньги в инсталы и всю эту мобильную шляпу мы не собирались. Просто по приколу, посмотреть что там да как.

Переломный момент

24 января, на совете директоров npuKoJI team было принято решение - надо выпускаться в Steam. Играется слишком хорошо и прикольно, идея свежая и такой реализации мы не видели. План чуть меняется - на игру у нас месяц, две недели из которого уже прошли. Сняли деньги с донатилки, купили токен стима. Выходить решили максимально близко, чтобы быть честными сами с собой - 27 января.

Что мы хотели получить от этого:

  • самое главное, опыт выпуска готового продукта на площадку
  • разобраться как работает вывод средств в Steam
  • получить проект в портфолио
  • проверить свои способности и таймменджмент
  • разобраться как работают ачивки
  • попробовать портироваться
  • ДОДЕЛАТЬ ХОТЬ ОДНУ ИГРУ ДО КОНЦА
  • заработать пару лямов бакинских рублей (шутка)

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

Эра ПК

Тогда же, 24 декабря, я закончил 4 чамп и "игра" была готова. Так как приближался новый год, четвертый чемпионат решили сделать тематическим: горы, снег и ёлки. Осталось проехаться по всему этому, потестить и выписать время для кубков из разной ценности металла.

Четвертый чемпионат 
Четвертый чемпионат 

Если бы мы выпускались на мобилку, то ровненько к НГ все было бы готово. Но мы забыли, что гугл будет проверять билд (а прошлый билд он проверял 5 дней) и решили, что самое логичное решение - забить болт на мобилки до релиза на ПК, а потом спокойно все доделать. "Мобильность" игры нас немного расстраивала, но ничего уж тут не поделаешь - времени на переделку у нас нет, а растягивать разработку такого эксперимента не хотелось.

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

А еще, чуть не забыл рассказать про приколдесы с сервером для глобальной таблицы лидеров. Денег (как вы уже поняли) у нас нет, нужно было какое-то элегантное (бомжацкое) решение. И оно нашлось - мы купили хостинг за 200 рублей в месяц и подняли на нем таблицу лидеров. Но чем больше мы его тестили, тем больше палок в колеса нам попадало. Итог: сервак заработал до конца корректно только вчера (26 января). (да нормально он работал, че придумываешь)

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

С прошедшим всех Новым Годом! Немного поздновато, но лучше поздно чем никогда:)

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

Последняя неделя прошла в бесконечных тестировках, допиливания разного рода мелочей и правки багов. Я в стиме уже наиграл 8.5 часов и еще не сосчитать сколько до этого. Разработка вдвоем - это ад для тестирования. Очень легко упустить мелочи, на которые уже замылен глаз. В одном из серверов дискорда, куда я отправлял демку для фидбека (кстати, она есть в стиме), мне ткнули носом, что у нас баллон с нитро подписан О2, а не N2O. Таких косяков можно найти очень много - обязательно нужен взгляд со стороны.

Итог

Игра закончена! Сейчас 27 января, 17:21 и финальный билд залит в стим, а кнопка выпуска ждет своего часа. Все запланированные таски выполнены, кроме порта, но тут дело небыстрое. Мы теперь можешь официально заявлять, что мы разработчики, игра-то в стиме есть. На коммерческий успех мы не рассчитываем. Если отобьем 100$ за токен - это победа. За 17 дней в стиме страница набрала всего 55 (считай 0) вишлистов, учитывая, что у нас группа ВК на 200 человек:)

Мы полностью довольны проделанной работой и с этого нам нужно было начинать наш путь в геймдев. Маленькой игры за 100 рублей, построенной на 2 механиках. Если вы хотите попробовать себя индустрии, послушайте мой совет - сделайте так:) У нас уже был опыт на основном проекте, благодаря которому получилось сделать DRAWER за месяц. Но лучше бы я потратил на него 2 месяца и у меня он был бы в портфолио, чем почти год делать игру крупнее в надежде найти издателя.

А самое главное, людям очень нравится наша игра - значит мы все делаем правильно:)
Спасибо большое, что прочитали мой дислексический монолог! Если у вас есть вопросы, не стесняйтесь, мы ребята открытые. Надеюсь, увидимся в таблице рекордов;)

игра бомбическая. мне понравилось) машинки так классно ощущаются, увесисто

еще бы редактор уровней запилить, или добавлять кампаний новых регулярно и будет бомба

kaolin_sama, Стример Трекмании

UPD: мы полные идиоты и пропустили, что сегодня начинается лунная распродажа. На гениальничах, что сказать:)
#мояперваяигра #личныйопыт #девлог
Ссылочки на нас:

66 показов
1.1K1.1K открытий
36 комментариев

Через неделю жду отчёт по продажам!
Но конечно в день распродажи нельзя запускаться, как и в течение 2ух недель после

П.с. - напиши мне в лс если интересно продвижение игр(набор вишлистов)

Ответить

отчет сделаю, забыл в посте написать

Ответить

А к чему такая спешка? Зачем устраивать марафон? Банально посидели бы еще 2 недели, поделали бы гифок и вот уже вишлисты подросли, а вы сами зачем-то ставите себе выдуманный дедлайн и релизете игру без вишлистов

Ответить

до сотки подросли бы (если подросли), а толку?)
Мы просто хотели, что-то уже сделать до конца. Марафона особо и не было, идея экспериментальная, так и так не продастся нормально. Сейчас у нас есть классный "прототип", с ним можно уже поискать издателя на продолжение.

Ответить

Круто, нравится когда здесь говорят о гонках.
Скажите, у вас фпс стал в 2 раза больше после перехода со стандартного рендеринга на юниверсал? 😳, У меня так не произошло, хотя все взял из коробки и лишнее выключил, и ещё один вопрос, вы не встречались с интересной проблемой когда на телефоне терейн физически есть но не рендерится если поставить галочку Draw instanced?

Ответить

Заменой рендер-процесса фпс не поднять, вот у этого товарища, целый плей лист, о том как выцарапать фпс у юнити https://youtube.com/playlist?list=PLSGDQs7IrtDDUsZ1GD-5Xgz__bWO9HeLo
Думаю поможет с draw call и подкинет еще пару идей для оптимизации 💪👍

Ответить