[Перевод] Как закончить игру

00d5f8ba45064800a00b0fa3c7023451.png
Заканчивая работу над собственной игрой, я много размышлял о завершении проектов вообще. Я заметил, что есть множество разработчиков, которые не могут довести дело до конца. Если честно, за мной тоже тянется шлейф так и не завершенных игр, думаю, как и за каждым из нас. Не всем проектам суждено «выстрелить» — по разным причинам. Но если вы стали замечать, что постоянно бросаете игровые проекты с хорошим потенциалом, стоит остановиться и задуматься, почему так происходит.
Все мы хоть раз в жизни думали о какой-нибудь новой книге, комиксе, фильме или другом продукте: «П-ф-ф, да я могу лучше! Опять перехвалили». Тут важно осознать: «Эй, эти люди довели проект до конца, а я не смог. Хотя бы в этом они лучше меня, и, вероятно, поэтому добились успеха, а я — нет!». Если считать завершение проекта умением, а не просто одним из этапов процесса, то станет ясно, что можно не только научиться этому, но и понять, какие привычки и мыслительные процессы мешают вам довести дело до конца.

Я не верю, что существует единственный правильный способ делать игры. Это творческий процесс, а значит в нём нет правил, которые нельзя нарушить. Однако я обсуждал эту проблему с другими разработчиками, и мне кажется, что есть определенные ментальные ловушки, в которые мы все рано или поздно попадаем, особенно когда только начинаем проект. Знать об этих ловушках — значит сделать первый шаг к тому, чтобы доводить дело до конца. Между нами говоря, классификация этих ловушек для меня — тоже способ борьбы с ними!
Итак, ближе к сути. 15 советов о том, как закончить игру:

1. Выбирайте идеи с хорошим потенциалом

63fdad362fb749fa9f50b865fae6476c.png
Я обнаружил, что есть 3 типа игр, которые меня интересуют: игры, которые я хочу делать; игры, которые я хотел бы сделать; игры, которые у меня хорошо получается делать.
Игры, которые я хочу делать, — игры, в которых сам процесс разработки кажется мне увлекательным. Это может быть механика, с которой круто поэкспериментировать, или персонаж, которого мне очень хочется анимировать.
Игры, которые я хотел бы сделать, — это игры, в которых для меня важнее результат, а не процесс. Это может быть ничем не ограниченный концепт («Ух ты, смесь GTA с Final Fantasy, а еще со Starcraft и…») или просто симпатичная идея, реализация которой не принесет мне особого удовольствия.
Игры, которые у меня хорошо получается делать, — это близкие мне по духу игры, в создании которых у меня есть опыт. Это может быть определенный жанр, к которому вы тяготеете, хорошо понимая его законы и ритм.
По-моему, самые многообещающие идеи (или по крайней мере те, которые с большей вероятностью будут закончены) попадают во все 3 категории и соответствуют условию «у меня есть время и ресурсы для того, чтобы сделать это».

2. Начните, наконец, работать над игрой

Записать идеи — не значит начать работу над игрой. Написать дизайн-документ — не значит начать работу. И собрать команду — не значит начать работу. И даже работать над графикой или музыкой — не значит начать работу. Очень легко спутать понятия «готовиться работать над игрой» и «начать работать над игрой». Просто запомните: игра — это такая штука, в которую играют, и если вы не сделали ничего, во что можно поиграть, это не игра!
Черт возьми, даже делать игровой движок не всегда значит работать над игрой. Что подводит нас к следующему пункту:

3. Не заморачивайтесь с движком без необходимости

В разработке собственного движка есть «за» и «против». Спросите себя, так ли это необходимо. Действительно ли то, что вы делаете, невозможно реализовать с помощью уже существующих разработок? Не собираетесь ли вы изобретать велосипед? Конечно, можно написать собственный движок и сделать его, по вашему мнению, идеальным. Но если честно — сколько раз вы переходили от написания движка непосредственно к созданию игры? Может быть, вы чаще создаете не игры, а движки?

Я создал оригинальную версию Spelunky в Game Maker и именно благодаря этому готовому проекту смог поработать над версией для Xbox 360. Не нужно думать, что софт для создания игр и упрощенные инструменты — это непрофессионально. Самое главное — это игра.

4. Создайте прототип

Вдогонку к пункту 2: сделайте прототип того, что у вас есть. Может, вам сразу станет понятно, что эта идея не годится. А может, вам придет в голову идея даже лучше той, что у вас есть сейчас. В любом случае мне обычно трудно понять, что же я собираюсь создать, пока я не начну что-то делать. Так что делайте что-нибудь!

5. Убедитесь, что основные механики интересны

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

6. Выбирайте хороших партнеров (или работайте в одиночку сколько сможете)
92ee05890eba49c098e9ee8ae1738ad1.jpg
Создавать с партнером компьютерные игры — как строить отношения. Мы привыкли думать, что главное здесь — умение: «О, круто, я программист, а тот парень — художник, поехали!». Но нужно учитывать еще и характер человека, его опыт, ритм работы и ваши с ним общие интересы. Как в романтических отношениях — вы же не хотите, чтобы кто-то из вас отдавал меньше, чем получает. Испытайте друг друга на более мелких проектах, ведь когда важный для команды человек внезапно уходит через несколько месяцев или лет разработки — это очень тяжело.

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

Как вариант, найдите бесплатную графику и музыку онлайн — по крайней мере в качестве заглушек (у нас на Independent Gaming Source проходил конкурс, в рамках которого было создано много бесплатного графического контента и музыки). Если нужно, используйте ASCII. Мне как художнику гораздо интереснее участвовать в проекте, который уже почти готов, и осталось только сделать графику. А если вам нужен программист… Попробуйте научиться кодить — если я смог, то и у вас получится — или воспользуйтесь специализированным ПО для разработки игр (см. п.3).

7. Рутина — это нормально. Включите ее в план

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

Пройдя через это пару раз, вы поймете, как важно соизмерять объем работ, чтобы не торчать в этом болоте слишком долго («слишком долго» — это вплоть до того момента, когда вы бросите проект). А еще вы поймете, как важна для игры вся эта скучная ерунда! Например, хорошая заставка чудесным образом улучшает презентабельность игры.

8. Используйте конкурсы, соревнования и другие события в качестве дедлайнов

Когда мы с Алеком работали над Aquaria, срок подачи заявок на Independent Games Festival заставил нас принимать жесткие решения о направлении нашего движения и реалистичнее оценить наш график. Если бы над нами не висел этот дедлайн — не знаю, завершили бы мы проект или нет! Участвовать в конкурсах и соревнованиях очень полезно — там строгие дедлайны, и вознаграждение (признание, награды, иногда деньги) тоже ощутимое. А еще это отличный способ познакомиться с единомышленниками.

9. Избегайте пробуксовки

Застряли? Делайте что-то другое. Работайте над следующим уровнем, новым врагом — чем угодно. Это полезно не только с точки зрения мотивации — так вы сможете лучше понять, как в конечном итоге будет выглядеть ваша игра. Ведь если вы пишете книгу, вы же не придумываете по одному предложению, переделывая до безупречности каждую фразу, прежде чем написать следующую. Делайте общие наброски.

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

11. Не придумывайте оправданий для того, чтобы все бросить и начать сначала
09d6d73669f04ad9a8fcd2651757f58d.png
«Мой код — сплошной бардак. А я уже многому научился на этом проекте! Если начну заново, получится намного быстрее и лучше, и игру я доделаю гораздо быстрее!».
Стоп. Нет. На каком-то этапе разработки игры так всегда и бывает. В коде — сплошной бардак. Вы многому научились. Идеально не будет никогда. А если бросить и начать заново, то вы снова окажетесь в такой же ситуации на том же этапе. Поэтому такие мысли опасны.
Есть такой анекдот: человек всю жизнь работает над созданием настолько идеального игрового движка, что там будет всего одна кнопка: «Сделать идеальную игру». Анекдот несмешной, потому что этот человек никогда не сделает такой движок. Не бывает идеальных движков, и идеальных игр тоже.
Если вас действительно тормозит плохая организация, попробуйте оптимизировать процесс. Если всё работает немного криво, но жить можно — не останавливайтесь!

12. Сохраняйте идеи на другой проект

В какой-то момент вам пришла в голову гениальная идея, от которой у всех отвалится челюсть, но для её реализации нужно переделать всю игру? Отложите её на другой проект! Это же не последняя игра в вашей жизни, правильно? Приберегите идею для следующего проекта, но сначала — закончите этот!

13. Убирайте лишнее
c47fa7ec5ddb4461a469ae7a788cddb4.jpg
Ой-ой, вы выбиваетесь из графика. Вы полны блестящих идей, но Марс колонизируют прежде, чем вам удастся реализовать хотя бы половину из них. Бедный, бедный вы… Но постойте!

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

14. Если все-таки бросаете, уменьшайте размах, а не увеличивайте

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

Если этот проект безнадежен, пусть ваша следующая затея будет хотя бы не такой масштабной. Очень часто бывает, что метишь всё выше и выше, а проекты становятся всё более и более недоделанными. «Но я же столько всего уже умею! Я учусь на собственных ошибках», — такое можно услышать часто. Мне кажется, именно поэтому нужно понимать, что доводить проект до конца — это тоже умение.

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

15. Последние 10 процентов

Говорят, что 90 процентов работы — в последних 10 процентах работы, и это отчасти правда. На проработку деталей уходит огромное количество времени. Возможно, вы напишете приличную систему боев за неделю, но на то, чтобы сделать её крутой и многоуровневой (и продебажить), могут уйти месяцы. Правда в том, что вам, скорее всего, придется сделать кучу «последних рывков», прежде чем вы доберетесь до настоящего «последнего рывка».

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

И наконец… Релиз!
9d1f57e2dbba432f91df1e00c3700169.jpg

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

© Geektimes