Популярное
Свежее
Моя лента
Сообщения
Рейтинг
Пополнить Steam
Низкая комиссия
Темы
Игры
Гайды
Офтоп
Ночной музпостинг
Вопросы
Hollow Knight
Творчество
Музыка
Кино и сериалы
Инди
Показать все
DTF
О проекте
Правила
Реклама
Приложения
Аккаунт удален
Инди
30.03.2021

Статья удалена

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

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

Об игре

No Parachute — это хардкорная аркада, в которой главный герой падает в пещеру и пытается не умереть, избегая препятствий. Хардкорность игры заключается в скорости, безумной камере и отрывающихся конечностях.

Одной из особенностей является то, что игра на самом деле двухмерная. Мир состоит из десятка 2D-плоскостей, отрисованных друг поверх друга, имитируя глубину пещеры.

Июль. Ранние прототипы на Unity

Планируемая дата завершения работы над игрой — сентябрь

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

Один из ранних уровней<br />
Один из ранних уровней

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

Сделав третий уровень, я осознал, что движок не хочет справляться с моей игрой. До этого я не беспокоился насчёт фреймрейта, ведь делал простую демку, но в однажды решил запустить игру на ноутбуке с Intel HD Graphics. Оказалось, что рендер пары десятков плоскостей с прозрачной текстурой ронял FPS ниже 60.

Так выглядит левел со стороны
Так выглядит левел со стороны

После изучения проблемы, я узнал, что overdraw это очень плохо, а transparency overdraw ещё хуже. Если коротко, то overdraw — это когда множество объектов рендерятся друг поверх друга в одном кадре и снижают тем самым производительность. Загвоздка в том, что вся моя игра состоит из одного большого overdraw. В этот момент я сильно расстроился и почти забросил разработку.

Сентябрь. Знакомство с ECS, переход на LÖVE

Планируемая дата завершения работы над игрой —?

В сентябре вместо запланированной подготовки к релизу я решил отвлечься и взялся изучать шаблон проектирования Entity Component System, который на тот момент был уже давно на слуху благодаря его внедрению в Unity. Я осознал, что до этого не пытался придерживаться строгой архитектуры в своих играх, а ECS дает довольно чёткую структуру приложения, чего мне сильно не хватало.

Но эта статья не про ECS, поэтому не хочу углубляться. Смысл в том, что я изучал описанный выше паттерн, делая прототипы на LÖVE, фреймворке для 2D игр. И внезапно мне пришла в голову мысль перенести No Parachute в 2D, заодно попробовав ECS.

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

Эффекты крови, сделанные уже на LÖVE<br />
Эффекты крови, сделанные уже на LÖVE

Ноябрь. Возня с уровнями

Планируемая дата завершения работы над игрой — середина декабря

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

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

Март. Подход good enough™

Планируемая дата завершения работы над игрой — конец марта

Я прочитал статьи о разработке Titan Chaser и вдохновился.

dtf.ru
Titan Chaser: как я перестал бояться делать странные игры не для всех и заработал 20 тысяч долларов — Инди на DTF
dtf.ru
Titan Chaser: как у меня получилось за 8 недель сделать прибыльную игру — Инди на DTF

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

За март я сделал всё, что планировал.<br />
За март я сделал всё, что планировал.

Подготовка к релизу, раскрутка

Планируемая дата релиза — апрель

В середине месяца я начал заполнять страницу в Steam. Сделал трейлер и логотип.

Путь к логотипу игры
Статья удалена

Дальше я начал пытаться пиарить игру бесплатными методами. Сначала на Discord-сервере фреймворка LÖVE с довольной большим онлайном. Я регулярно публиковал там скриншоты с прогрессом разработки, поэтому люди с радостью приняли новость о появлении страницы в Steam, что в первый же день дало 20 добавлений в вишлист.

Также я опубликовал пост на Reddit в r/IndieDev. К моему удивлению пост набрал 1200 апвоутов, вышел в «горячие» и сейчас находится на втором месте по популярности за месяц. Но несмотря на популярность и ссылку, с Reddit было всего 65 переходов на страницу в магазине.

Трейлер для Steam

После этого я решил попробовать TikTok. Не особо стараясь, я записал геймплей на телефон прямо с монитора, играя одной рукой. Видео набрало 1000 просмотров в первый день. В TikTok нет прямых ссылок, поэтому сложно отследить количество переходов, но игру явно начали активнее искать в поиске. Я сделал еще несколько видео, которые в сумме набрали еще 13 тысяч просмотров. Правда, помимо поисков в Steam, ожила и старая версия игры в Google Play, получив 200 новых установок.

Мне почти не стыдно!<br />
Мне почти не стыдно!

На момент написания этой статьи страница в магазине имеет 1418 посещений и 112 добавлений в вишлист.

Пару дней назад я закончил работу над финальным билдом игры и отправил его на проверку в Steam. Игра будет стоит $5 или 133 руб. и выйдет в начале апреля.

store.steampowered.com
No Parachute on Steam

#личныйопыт