Как (не) сделать игру за 672 часа

Создание и выпуск первой игры

Меня зовут Аня. Мне 25 лет, я программист (или по-крайней мере так написано в дипломе) и сегодня в стиме вышла моя первая игра – Voxel Tanks.

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

Вступление

Начнём издалека. Любовь к играм пришла вместе с первой Nintendo, появившейся у наших соседей и Sega Mega Drive 2, картриджи от которой до сих пор лежат где-то в коробке в квартире родителей. Родители всю жизнь проработали инженерами связи, и в школьные годы вопрос выбора профессии практически никогда не поднимался, потому что я была уверена, что тоже пойду на какую-нибудь техническую специальность.

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

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

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

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

Об идее

Одной из первых в голову пришла идея сделать ремейк Battle City (всем известные «Танчики» на «Денди»), только добавив в них динамики. Игра была простая как по части механики, так и в визуальном плане, и поэтому для моего мини-гейм-джема подходила просто идеально. Я отбросила концепцию защиты собственной базы, как это было в оригинале, (потому что это оказалось не так уж увлекательно) и игра обрела тот вид, в котором она и дошла до релиза — аренный top-down шутер с танками. Поиск по библиотеке Steam и тогда ещё работавшему SteamSpy показал, что такие игры есть и даже пользуются каким-никаким спросом.

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

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

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

О разработке

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

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

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

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

Воксели и чиптюн

Если на работе я вполне успешно прикидывалась настоящим программистом, то вот выдавать себя за художника оказалось на порядок сложнее. Как и с самой игрой в целом, я решила, что чем графика будет проще, тем проще мне будет с её реализацией. Конечно можно было бы найти художника, но он не помещался в мой нулевой бюджет, да и хотелось попробовать абсолютно всё сделать самой. 3D-моделированием я никогда не увлекалась, но я вовремя вспомнила про свой небольшой опыт работы с MagicaVoxel — очень простым воксельным редактором.

Я уже говорила, что разработка происходила достаточно стихийно, так что я как-то сразу отказалась от идеи прототипирования на кубиках, поэтому модель танка была практически первым, что я сделала, приступив к разработке, и которая в первозданном виде дожила до релиза. Тут не могу не упомянуть геймдизайнера по имени Jesper Brun Halfter, работами которого я вдохновлялась.

SimpleFX ассет
SimpleFX ассет
Первая модель танка-главного героя
Первая модель танка-главного героя

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

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

Интеграция со Steam

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

Интеграция самой игры особых проблем на вызвала. Я пользовалась библиотекой Steamworks.NET (которая имеет успешного потомка в лице Facepunch.Steamworks), а сам Steam содержит достаточно подробное описание каждого шага.

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

О продвижении

Почти каждая статья об инди-разработке говорит, что заниматься продвижением нужно начинать задолго до релиза, иначе ваша игра вскоре утонет где-то на дне Steam с нулём покупок в месяц.

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

Примерно за неделю до релиза через встроенную в Steam программу связи с кураторами я разослала ключи всем 100 доступным кураторам (Привет, DTF). Сначала я собиралась каждому отдельно отправить ключ с персональным письмом, но где-то после первого десятка решила, что это перебор. За неделю из этих 100: 35 не активировали ключи, 10 написали положительные отзывы, остальные воздержались. Также сразу после релиза я отправила посты в тематические сообщества во «ВКонтакте» и выложила трейлер на YouTube. Ну и, конечно, же эта статья, чего тут скрывать.

Первый положительный отзыв от куратора. Слёзы счастья
Первый положительный отзыв от куратора. Слёзы счастья

Сейчас пока сложно оценить, был ли какой-то толк от всего этого, но попробовать по крайней мере стоило.

Об итогах

Затраты на разработку составили 100 долларов за публикацию приложения и примерно полтора месяца моих вечеров. Конечно, я знаю, что можно было бы всё сделать быстрее. Можно было бы всё сделать лучше. Да и многие, наверное, скажут, что просто в Steam стало одним инди-трешем больше. Может, так оно и есть. Но я давно хотела выпустить свою игру и я, наконец, это сделала, так что я довольна.

В ближайших планах — продолжать работу. Хочется попробовать что-то новое, поэтому пока ждала всех проверок в Steam, начала новый проект. Я решила не отходить от концепции чего-то простого, так что взялась за всеми любимый инди-жанр – пиксельный платформер!

Пока ещё безымянный платформер
Пока ещё безымянный платформер

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

211211
149 комментариев

Меня зовут Аня. Мне 25 лет, я программист

Здравствуй, Аня.

141
Ответить
Комментарий удалён модератором

Так сколько подняла в итоге?
(Дудь может мной гордиться)

23
Ответить

Присоединяюсь к вопросу)

Ответить

Респект таким парням...

19
Ответить

"я тян, пруфов не будет"

17
Ответить

Единственное правило, которого я придерживалась — это не прекращать разработку ни на день. Даже если за весь день — пятиминутное исправление мелкого бага

это самый главный секрет)

7
Ответить