Чему я научился, создавая инди-игру

Переделки и поиск мотивации.

Я вскоре выпускаю свою игру в Steam. И вот что я думаю по этому поводу

Чему я научился, создавая инди-игру

Никогда больше не буду ничего переделывать

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

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

Андрей Петкевич, великий программист

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

Вывод: переделывай умеренно.

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

Тяжело быть одиноким программистом-геймдизайнером

Есть ряд основных критериев, которые необходимы, чтобы любая игра была интересной (не будем вспоминать о всяких социалках).

  • Свободное участие.
  • Вызов.
  • Высокая эндогенная ценность контента.

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

Все, кто играют, играют свободно. Кто должен играть, играть не может

Джесси Шелл, автор книги «Искусство геймдизайна»

Как вы понимаете, для меня не соблюдался ни один пункт.

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

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

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

«Информации, получаемой из матрицы, гораздо больше, чем ты можешь расшифровать. Ты привыкнешь к этому. Я уже даже не вижу код. Я вижу блондинку, брюнетку, рыжую»
«Информации, получаемой из матрицы, гораздо больше, чем ты можешь расшифровать. Ты привыкнешь к этому. Я уже даже не вижу код. Я вижу блондинку, брюнетку, рыжую»

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

К чему это приводит? Помимо очевидной неспособности дать своему труду адекватную оценку, в свою игру попросту не интересно играть. Это в свою очередь приводит к жестокой потере мотивации. Я бы наверное не смог это доделать, но меня спасли две вещи:

Геймплей, основанный на игрушке. «Игрушка» — это то, с чем приятно возиться даже без цели. Например, персонаж в любой Assassin's Creed — это игрушка, поскольку им интересно просто бегать по городу и паркурить. Я начинал Shadowlings с идеи боёвки, основанной на физике. Чтобы оружие обладало инерцией, сталкивалось друг с другом и таким образом давало пользователю приятный фидбек. Это то, что всегда поддерживало во мне хоть какое-то удовольствие от геймплея

Участие в нескольких джемах с неплохими результатами. Я получал хорошие отзывы от игроков, и это помогало мне помнить, что моя игра как минимум неплохая. Однажды меня даже сдержанно похвалил Константин Кошутин. В основе моей боёвки лежат идеи его чудесной игры Hammerfall. Я был вдохновлен до невозможности.

Как говорится, «я никогда больше не буду мыть эту руку»
Как говорится, «я никогда больше не буду мыть эту руку»

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

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

8888
41 комментарий

Спасибо за рассказ. Очень интересно. Побольше таких статей на dtf

18
Ответить

Тошнота от своего проекта - это нормально.

Во-первых потому что все самое интересное и крутое мы делаем в начале, а под конец остаётся всякий не интересный шлак (рефакторинг, оптимизация, обработка корнер-кейсов, полишинг).

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

В общем, главное дотерпеть до конца. Молодец, что дотерпел :)

10
Ответить

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

6
Ответить

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

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

4
Ответить

Комментарий недоступен

1
Ответить

Ух ты, круто :) Но такие рекламные посты вроде как запрещены на DTF) В стиме можно добавить игру в вишлист, если что.

5
Ответить