Как (не) сделать игру за 672 часа
Создание и выпуск первой игры
Меня зовут Аня. Мне 25 лет, я программист (или по-крайней мере так написано в дипломе) и сегодня в стиме вышла моя первая игра – Voxel Tanks.
В целом эта статья о том, как я провела последние пару лет, пытаясь создать что-то, что было бы интересно не только мне. Я не буду давать каких-то советов другим начинающим разработчиками, потому что я вряд ли смогу сказать вам что-то принципиально новое и полезное. Но меня очень вдохновляет читать об опыте других людей, поэтому я решила, что возможно и мой опыт покажется кому-то интересным.
Вступление
Начнём издалека. Любовь к играм пришла вместе с первой Nintendo, появившейся у наших соседей и Sega Mega Drive 2, картриджи от которой до сих пор лежат где-то в коробке в квартире родителей. Родители всю жизнь проработали инженерами связи, и в школьные годы вопрос выбора профессии практически никогда не поднимался, потому что я была уверена, что тоже пойду на какую-нибудь техническую специальность.
Пару лет назад я поняла, что даже несмотря на периодически появляющиеся интересные проекты, работа в офисе постепенно душит тебя своей рутиной и совершенно не подталкивает к какому-то развитию. Поэтому я начала с разработки в свободное время небольших мобильных приложений (которыми пользовалась в основном я сама) и, перескочив через ступеньку с мобильными играми, пришла к мысли, что могу попробовать сделать целую собственную игру! Да, на тот момент логичным казалось попробовать свои силы именно в мобильном гейминге, но я на своем смартфоне почти никогда ни во что не играла и плохо представляла, как сделать что-то по-настоящему увлекательное.
Совсем другое дело – ПК. Тогда казалось, что любая идея окажется суперуспешной и уже наутро я проснусь на мешке денег. Мечты мечтами, но меня подводила их реализация. Я могла несколько дней рисовать один спрайт, чтобы потом понять, что результат мне совершенно не нравится и отправить весь проект в корзину. Вследствие такого мотивация падала абсолютно до нуля, и я несколько недель даже не притрагивалась к ноутбуку.
В итоге, после нескольких очередных прототипов, так и оставшихся на стадии прототипов, начитавшись мотивирующих статей, я решила, что нужно как-то подтолкнуть себя и довести до ума хоть что-то. Вообще, хоть что-то. Логично было бы попробовать свои силы в каком-нибудь гейм-джеме, но участие в чём-то подобном предполагает определённый уровень ответственности, что вкупе с ограниченными сроками представляет из себя потенциальный источник колоссального стресса, с которым я бы вряд ли справилась.
Поэтому я решила устроить себе свой собственный гейм-джем. Выбрать максимально простую концепцию и реализовать её за определённый срок. При этом реализовать целиком — от первой строчки кода до публикации в стиме. Оценив свои силы и время (а это нужно было совмещать с основной работой), я решила выделить на разработку ровно четыре недели (спойлер: я не успела).
Об идее
Одной из первых в голову пришла идея сделать ремейк Battle City (всем известные «Танчики» на «Денди»), только добавив в них динамики. Игра была простая как по части механики, так и в визуальном плане, и поэтому для моего мини-гейм-джема подходила просто идеально. Я отбросила концепцию защиты собственной базы, как это было в оригинале, (потому что это оказалось не так уж увлекательно) и игра обрела тот вид, в котором она и дошла до релиза — аренный top-down шутер с танками. Поиск по библиотеке Steam и тогда ещё работавшему SteamSpy показал, что такие игры есть и даже пользуются каким-никаким спросом.
Изначально в игре должна была быть куча фич, от которых в итоге пришлось отказаться по тем или иным причинам (чаще всего из-за поджимающих сроков). Под нож попали различные уровни, игровые режимы (предполагалось, что обычные аренные уровни будут разбавлены более аркадными), геймплейные фичи (вроде различных бустов-усилителей на уровнях и бомбардировок с пролетающего самолета), а также отдельный режим с бесконечными волнами вражеской техники, когда после каждой волны уровень бы перестраивался по одному из рандомно выбранных шаблонов. О последнем я особенно жалела.
Так что я старалась с умом воспользоваться тем, что есть. Старалась постепенно увеличивать сложность уровней, и сохранять интерес, добавляя новые типы врагов каждые уровень-два. Через каждые пять уровней был бы уровень с боссом — особенно живучим представителем вражеской техники.
За бортом остались и некоторые боссы, на реализацию механик которых тоже не хватило времени. Возможно, что-то из этого добавлю в последующих дополнениях. А может быть и нет.
О разработке
Так как все предыдущие мои игры так и остались на стадии прототипов, я решила, что видимо в этот раз нужно что-то изменить в том, как вообще у меня организован процесс разработки. На своей основной работе я стараюсь систематизировать все свои задачи в виде различных списков, блок-схем, перенести на канбан-доску — иначе я просто теряюсь в хаосе, когда и что нужно сделать. Но я поняла, что, когда я пытаюсь хотя бы перечислить все основные моменты игры, которые мне нужно реализовать, они буквально вгоняют меня в полнейшее уныние. Так что я решила, что лучший план — это никакого плана!
Разработка была настолько хаотичной, насколько это возможно. Не знаю, насколько нужен дизайн-документ для таких мелких проектов, но у меня его не было. Не было вообще ничего. Я делала то, что мне казалось наиболее интересным или важным в данный момент. Единственное правило, которого я придерживалась — это не прекращать разработку ни на день. Даже если за весь день — пятиминутное исправление мелкого бага или небольшая перестановка объектов на сцене — но разработка должна продолжаться.
Я планировала уложиться в четыре недели, но, так как нормально поработать удавалось только по вечерам, в обед или за завтраком, в итоге разработка затянулась до шести. Хотя мечты о мешке денег вместо матраса меня не покидали, уйти с основной работы я себе позволить пока ещё не могла.
И как это бывало со всеми предыдущими проектами — в голове постоянно появлялись новые идеи, которые казались гораздо перспективнее и призывали бросить все и заняться именно ими. Но потом эти идеи вытеснили бы другие, а их ещё другие… В общем, так предыдущие полтора года и прошли. В этом плане очень помогло, что изначально я ограничила себя небольшими временными рамками – так легче себя убедить, что скоро ты закончишь проект и сможешь приступить к новому, который окажется ещё интереснее.
Воксели и чиптюн
Если на работе я вполне успешно прикидывалась настоящим программистом, то вот выдавать себя за художника оказалось на порядок сложнее. Как и с самой игрой в целом, я решила, что чем графика будет проще, тем проще мне будет с её реализацией. Конечно можно было бы найти художника, но он не помещался в мой нулевой бюджет, да и хотелось попробовать абсолютно всё сделать самой. 3D-моделированием я никогда не увлекалась, но я вовремя вспомнила про свой небольшой опыт работы с MagicaVoxel — очень простым воксельным редактором.
Я уже говорила, что разработка происходила достаточно стихийно, так что я как-то сразу отказалась от идеи прототипирования на кубиках, поэтому модель танка была практически первым, что я сделала, приступив к разработке, и которая в первозданном виде дожила до релиза. Тут не могу не упомянуть геймдизайнера по имени Jesper Brun Halfter, работами которого я вдохновлялась.
Справедливости ради стоит заметить, что хоть мне и хотелось сделать всё самой, но один раз всё-таки пришлось обратиться к встроенному в Unity магазину ассетов ради эффектов взрыва и дыма.
С музыкой всё оказалось достаточно просто — на одном сайте я нашла несколько звуковых эффектов и чиптюн-композиций, которые, как мне показалось, подходили под настроение игры и на этом всё.
Интеграция со Steam
Без преувеличения — самая ужасная часть разработки. Оформление страницы, подготовка промо-изображений разного размера, монтаж трейлера — кроме как головной болью это никак не назовёшь. Опять-таки, можно было бы найти человека, который бы занялся всем этим, но и для него не нашлось места в отсутствующем бюджете.
Интеграция самой игры особых проблем на вызвала. Я пользовалась библиотекой Steamworks.NET (которая имеет успешного потомка в лице Facepunch.Steamworks), а сам Steam содержит достаточно подробное описание каждого шага.
При добавлении игры сразу возник вопрос цены. Оценив художественную ценность своего проекта, я решительно установила минимальную цену — 27 рублей. Хотела добавить скидку в честь релиза, но решила, что целесообразнее будет сделать скидку через пару недель, когда начнётся летняя распродажа.
О продвижении
Почти каждая статья об инди-разработке говорит, что заниматься продвижением нужно начинать задолго до релиза, иначе ваша игра вскоре утонет где-то на дне Steam с нулём покупок в месяц.
Звучит, конечно, логично, но если взглянуть правде в глаза, то несложно увидеть, что моя игра не совсем из тех, о которых пишут игровые издания, журналисты или любят видеоблогеры. Но и полностью упускать все возможности для рекламы, наверное, не стоит.
Примерно за неделю до релиза через встроенную в Steam программу связи с кураторами я разослала ключи всем 100 доступным кураторам (Привет, DTF). Сначала я собиралась каждому отдельно отправить ключ с персональным письмом, но где-то после первого десятка решила, что это перебор. За неделю из этих 100: 35 не активировали ключи, 10 написали положительные отзывы, остальные воздержались. Также сразу после релиза я отправила посты в тематические сообщества во «ВКонтакте» и выложила трейлер на YouTube. Ну и, конечно, же эта статья, чего тут скрывать.
Сейчас пока сложно оценить, был ли какой-то толк от всего этого, но попробовать по крайней мере стоило.
Об итогах
Затраты на разработку составили 100 долларов за публикацию приложения и примерно полтора месяца моих вечеров. Конечно, я знаю, что можно было бы всё сделать быстрее. Можно было бы всё сделать лучше. Да и многие, наверное, скажут, что просто в Steam стало одним инди-трешем больше. Может, так оно и есть. Но я давно хотела выпустить свою игру и я, наконец, это сделала, так что я довольна.
В ближайших планах — продолжать работу. Хочется попробовать что-то новое, поэтому пока ждала всех проверок в Steam, начала новый проект. Я решила не отходить от концепции чего-то простого, так что взялась за всеми любимый инди-жанр – пиксельный платформер!
И, наверное, стоит что-то сказать в заключение статьи. Спустя всего несколько минут после релиза сложно понять, станет ли игра успешной (вряд ли) и много ли людей в неё поиграет (скорее всего, нет). Но даже если она не окупит все те пакетики чая, выпитого за ноутбуком, ощущение, что ты создаёшь что-то своё, определенно того стоит.
Меня зовут Аня. Мне 25 лет, я программист
Здравствуй, Аня.
Комментарий удалён модератором
Так сколько подняла в итоге?
(Дудь может мной гордиться)
Присоединяюсь к вопросу)
Респект таким парням...
"я тян, пруфов не будет"
Единственное правило, которого я придерживалась — это не прекращать разработку ни на день. Даже если за весь день — пятиминутное исправление мелкого бага
это самый главный секрет)