Разработка
Как заканчивать игры (и другие проекты)
Я не верю, что есть правильный способ делать игры. Это творческое занятие, поэтому нет жестких правил, которые нельзя было бы нарушить в какой-то момент. Но как разработчик игр, который обсуждал эту проблему с другими разработчиками, я чувствую, что есть некоторые умственные ловушки, в которые мы все в какой-то момент попадаем, особенно когда мы только начинаем.
Работая над завершением собственной игры, я много думал в целом о том, как заканчивать проекты. Я заметил, что есть много талантливых разработчиков, у которых есть проблемы с завершением игр. По правде говоря, я оставил после себя длинный след незавершенных игр… Я думаю, что у всех остались. Не каждый проект по той или иной причине будет закончен. Но если вы понимаете, что постоянно отказываетесь от игровых проектов, которые имеют большой потенциал, возможно, стоит сделать шаг назад и изучить, почему это происходит.
У всех нас бывало такое чувство, по крайней мере по поводу одной игры, комикса, фильма и т.д. — «Ого, я мог бы сделать лучше, чем это! Это переоценено». Но важно сделать шаг назад и понять, что они вкладывают время и силы в то, чтобы завершить проект, а вы так и не доводите его до конца. По крайней мере, в этом они могут быть лучше вас, и, вероятно, именно поэтому у них есть признание, которого нет у вас! Если вы относитесь к завершению проектов как к навыку, а не просто как к шагу в процессе, вы можете признать не только то, что это то, в чем вы можете стать лучше, но и то, какие привычки и мыслительные процессы мешают вам.
Я не верю, что есть правильный способ делать игры. Это творческое занятие, поэтому нет жестких правил, которые нельзя было бы нарушить в какой-то момент. Но как разработчик игр, который обсуждал эту проблему с другими разработчиками, я чувствую, что есть некоторые умственные ловушки, в которые мы все в какой-то момент попадаем, особенно когда только начинаем. Осознание этих ловушек — отличный первый шаг к завершению чего-либо (по секрету, систематизация этих идей — отчасти мой способ избежать их!).
Итак, без лишних слов, вот список из 15 советов для завершения большего количества проектов.
1. Выберите идею с потенциалом
Я обнаружил, что есть три типа игр, которые вызывают у меня интерес: игры, которые я хочу создать, игры, которые я хотел бы создать, и игры, которые я умею делать.
Игры, которые я хочу делать, — это игры, в которых сам процесс кажется действительно забавным. Может быть, с этой механикой действительно интересно поэкспериментировать, или, может быть, есть персонаж, которого я действительно хочу оживить.
Игры, которые я хочу делать, — это игры, в которых меня больше интересует результат, чем его достижение. Может быть, это концепция «без ограничений» («OMG, GTA встречается с Final Fantasy и Starcraft…») или просто изящная идея, воплощать которую не обязательно весело.
Игры, которые я умею создавать, — это игры, которые подходят моей личности и которые у меня есть опыт создания. Возможно, есть определенный жанр, к которому вы от природы тяготеете и в котором вы очень хорошо понимаете ритм и поток.
На мой взгляд, идеи с наибольшим потенциалом (по крайней мере, к завершению) попадают во все три категории, которые также удовлетворяют требованию «У меня есть время и ресурсы, чтобы на самом деле это сделать».
2. Действительно начните эту чертову игру
Записывать свою идею — не начинать чертову игру. Написание дизайн-документа — это еще не начало создания игры. Собирать команду — это еще не чертова игра. Даже создание графики или музыки — это еще не начало чертовой игры. Легко спутать «подготовку к чертовой игре» с «началом чертовой игры». Просто помните: в чертову игру можно играть, и если вы не создали что-то, во что можно играть, это не чертова игра!
Так что, черт возьми, даже создание игрового движка не обязательно является началом игры. Это подводит меня к следующему совету…
3. Не оттачивайте технику, если вам не нужно
У написания собственного движка есть свои плюсы и минусы. Но спросите себя: действительно ли это необходимо? Невозможно сделать то, что вы хотите сделать, с тем, что уже существует, или вы будете изобретать велосипед? Конечно, если вы напишете свой собственный движок, вы сможете сделать его идеальным так, как вам нравится. Но честно говоря, как часто вы переходите от движка к самой игре? Вы делаете игровые движки чаще, чем игры?
Я создал исходную версию Spelunky в Game Maker, и именно эта «законченная» игра в конечном итоге дала мне возможность работать над версией для Xbox 360. Так что никогда не думайте, что программное обеспечение для создания игр или другие упрощенные инструменты каким-то образом бросят на вас тень. Главное — игра.
4. Прототип
Это касается пункта №2: сделайте прототип со всем, что у вас есть. Иногда сразу же понимаешь, что это плохая идея. Иногда ты натыкаешься на даже ЛУЧШУЮ идею. В любом случае, мне обычно трудно понять, что я хочу сделать, пока я действительно не начну что-то делать. Так что сделай что-нибудь!
5. Убедитесь, что основная механика удобна
Найдите Core механики, с которыми просто интересно играть. Выполнение самых простых взаимодействий должно доставлять удовольствие, потому что это то, что игроки будут делать больше всего в вашей игре. В конечном итоге вы хотите, чтобы эти механики стимулировало вашу разработку. Это значительно упростит вам задачу позже, когда вам придется вырезать части игры (совет №13) — у вас всегда будет это ядро, к которому можно будет вернуться.
Возможно, во время создания прототипа вы обнаружите механику, которая БОЛЕЕ увлекательна, чем то, что вы изначально думали о базовой механике — подумайте о том, чтобы сделать ее новой основной механикой!
6. Выбирайте хороших партнеров (или работайте в одиночку так долго, как можете)
Поиск хорошего партнера для разработки игр во многом похож на свидания. Вы можете подумать, что все, что имеет значение, — это умение: «Ой, круто, я программист, а этот парень художник… давай СДЕЛАЕМ ЭТО!» Но нет, нужно учитывать и другие вещи, такие как личность, опыт, время и взаимный интерес. Как и в романтических отношениях, вы не хотите находиться в положении, в котором вы или другой человек гораздо менее преданы делу. Поэкспериментируйте друг с другом на небольших проектах, потому что когда ключевой человек уходит после нескольких месяцев или лет разработки, это может быть действительно разрушительным.
Еще одна замечательная черта завершенных проектов — это то, что ваши партнеры будут знать, на что вы способны, и им будет удобнее работать с вами. Трудно убедить кого-либо из опытных разработчиков работать с вами только над идеей, учитывая, как мало идей на самом деле видят свет (и как трудно увидеть ценность некоторых идей до тех пор, пока они не будут реализованы). Хорошие партнеры захотят увидеть ваши готовые игры. Так что добей их!
В качестве альтернативы найдите бесплатную графику и музыку в Интернете, по крайней мере, в качестве заполнителей (в The Independent Gaming Source у нас был конкурс, в ходе которого было создано много бесплатной графики и музыки). При необходимости используйте ASCII. Как художник, я знаю, что с большим удовольствием внесу свой вклад в проект, который уже закончен, но в котором просто не хватает арта. А если вам нужен программист… подумайте о том, чтобы научиться программировать самостоятельно (если я смог это сделать, то вы тоже можете!). Или приобретите какое-нибудь программное обеспечение для создания игр (см. совет №3).
7. Гринд — это нормально, учитывайте это в вашем плане
Создание игр утомительно и совершенно бесполезно. Это не игра, это работа (и именно поэтому вы должны задушить ЛЮБОГО, когда он шутит о том, что вы «целый день играете в игры»). В какой-то момент вы внезапно поймете, что есть многое, о чем вы никогда не думали, когда планировали свой проект и прототип — такие вещи, как меню, переходы между экранами, сохранение и загрузка и т.д. Пристрелите! Я представлял себе удивительный мир, который собирался создать, или эту забавную механику, с которой я собирался экспериментировать… А не недели на создание функциональных меню, которые хоть относительно не выглядят как дерьмо!» Или, например, есть вещи, которые забавны в небольших количествах, например, анимация персонажей, но она становится кошмаром, когда вы понимаете, что наделали себе 100 разных персонажей.
Пройдя через это пару раз, вы поймете, насколько важно масштабировать ваш проект, чтобы вы не проводили слишком много времени в этом неизбежном болоте («слишком много времени» — сколько бы времени ни потребовалось, прежде чем вы все бросите). Вы также поймете, что многие из этих скучных вещей делают игру законченной! Например, красивый титульный экран творит чудеса, заставляя игру казаться качественной.
8. Используйте награды, соревнования и другие события как настоящие дедлайны
Когда мы с Алеком работали над Aquaria, крайний срок подачи заявок на фестиваль независимых игр заставил нас принять трудные решения относительно того, в каком направлении мы движемся, а также заставил более реалистично смотреть на наше расписание. Если бы у нас не было этого срока, я не совсем уверен, что мы бы закончили! В соревнованиях приятно участвовать, потому что сроки очень реальны, а награды (признание, награды, возможно, деньги) вполне реальны. Кроме того, они могут дать вам возможность связаться с сообществом единомышленников.
9. Двигайтесь вперед
Застряли? Двигайтесь вперед. Начните работать над следующим уровнем, следующим врагом, следующим кем угодно. Это полезно не только для мотивации, но и для понимания того, как будет развиваться вся ваша игра. Точно так же, как и при письме — не нужно делать каждое предложение безупречным. Составьте общий план и двигайтесь по нему.
10. Заботьтесь о своем психическом и физическом здоровье
Может быть на удивление сложно позаботиться о себе, когда вы сосредоточены на завершении игры. Но, честно говоря, вы оказываете своей игре медвежью услугу, если не спите, не занимаетесь спортом и не питаетесь правильно. В лучшем случае вы мешаете себе работать в полную силу и повышаете вероятность того, что бросите ее. Сомнения в отношении вашего проекта совершенно естественны, но депрессия или болезнь — нет. Поразительно, как вы потеряете в работе над проектом своей мечты, когда ваш разум и тело окажутся нездоровыми!
11. Перестаньте оправдываться, если начинаете сначала
«Мой код кошмарен. И я уже многому научился. Если бы я начал все сначала, я мог бы сделать это намного лучше и быстрее, и тогда остальная часть игры тоже пойдет намного быстрее!».
ОСТАНОВИТЕСЬ. НЕТ. Это верно на определенном этапе разработки каждой игры. Ваш код всегда будет в беспорядке. Вы многому учитесь. Он никогда не будет идеальным. И если вы начнете все сначала, вы окажетесь в той же ситуации, когда снова доберетесь до этой точки. Думать так — ужасная ловушка.
Вот шутка: человек всю свою жизнь работает над настолько совершенным игровым движком, что все, что ему нужно сделать, это нажать одну кнопку, и из него выйдет идеальная игра. На самом деле, это не шутка, потому что главное — он никогда его не закончит! Такого игрового движка или игры не существует.
Если плохая организация действительно тормозит вас, вернитесь и сделайте нужную тонкую операцию, чтобы почувствовать себя лучше. Если это работает, хоть и немного странным способом, то наберитесь смелости и продолжайте!
12. Сохраняйте для следующей игры
Итак, на полпути у вас возникла новая замечательная новая идея, которая поразит всех, но вам придется переделать всю игру, чтобы ее реализовать? Сохраните ее для следующего проекта! Верно? Надеюсь, это не последняя игра, которую вы когда-либо создавали. Сохраните это для следующего раза… но сначала закончите эту!
13. Отрезать. Это. На хрен.
Вот дерьмо, вы сильно отстаете от графика. У вас есть все эти идеи, но Маск скорее колонизирует Марс, прежде чем вы успеете реализовать половину из них. О горе… НО ПОДОЖДИТЕ!
На самом деле это здорово! Потому что теперь вы вынуждены решать, что действительно важно для вашей игры, а что можно убрать. Дело в том, что если бы у всех нас были неограниченные ресурсы и неограниченное время, мы бы все сделали одну и ту же дрянную, извилистую игру, и не было бы смысла играть вообще. Наши ограниченные ресурсы и время заставляют нас создавать ограниченные игры, у которых, кажется, есть цель.
Если вы основывались на каких-то основных Core концепциях, которые доказано увлекательны, просто продолжайте сокращать, пока не дойдете до самого края этого ядра. Все остальное, наверное, просто ерунда, без которой можно было бы обойтись. Или, что еще хуже, это чушь мешает людям увидеть лучшие части вашей игры.
14. Если вы закрыли проект, уменьшите масштаб
Ладно, иногда пора и бросать. Может быть и правда вы никогда не закончите, а то, что уже есть, в слишком большом хаосе, чтобы что-то из этого вырезать. Может быть, остальная часть вашей команды уже ушла. Я надеюсь, что при составлении этого списка я хоть как-то помог людям избежать такой ситуации, но эй, может быть, вы только что отказались от такого проекта. А иногда… дерьмо просто случается.
Если спасти проект шанса нет, по крайней мере, убедитесь, что вы уменьшили масштаб вашего следующего проекта. Легко ставить цели все выше и выше, даже если ваши проекты становятся все менее и менее завершенными. «Мои НАВЫКИ улучшаются! Я учусь на своих неудачах», — распространенное оправдание. Но я думаю, что именно поэтому так важно относиться к окончаниям проектов как к навыку.
Так что двигайтесь вниз, вниз, вниз, до точки, которая будет немного ниже вас. Например, вместо того, чтобы переходить с 4x космического симулятора на 4x космический симулятор в 3D, попробуйте создать отличную игру, в которой основное внимание уделяется одному маленькому элементу космических симуляторов. А если вы не можете закончить это, попробуйте что-нибудь вроде Asteroids. Вполне возможно, что это будет более серьезная задача, чем вы думали (и/или сделать это будет веселее, чем вы думали)!
15. Последние 90%
Говорят, что не так страшны первые 90% проекта, как последние 90%, и в этом есть правда. На детали уходит много времени. Конечно, может быть, вы написали грамотную боевую систему за неделю… но на то, чтобы сделать ее хорошей и сделать ее сложной (и свободной от ошибок) могут уйти еще месяцы. Честно говоря, вам, вероятно, придется много раз пробежать «последний круг», прежде чем вы доберетесь до настоящего последнего круга.
Если это звучит обескураживающе, то не расстраивайтесь. Хотя последние 10% мучительны, я также обнаружил, что это очень приятное время для разработки. Потому что чаще всего кажется, что в конце вещи действительно «просто складываются вместе», если вы правильно уделяете им время, а превращение мешанины смешанных идей и контента в сладкую игровую манну — волшебное чувство.
Все дело в деталях.
И НАКОНЕЦ… РЕЛИЗ!
Святая корова, вы выпустили игру! Поздравляю, вы только что перешли на следующий уровень, большой праздник. К преимуществам относятся: повышенная уверенность, репутация способного заканчивать проекты и понимание всего процесса создания игры! Но самое приятное то, что у вас есть маленькая милая игра, в которую я могу играть и получать от нее удовольствие! А я люблю играть в игры почти так же, как мне нравится их создавать.
Больше не нужно стоять в стороне, друг: ТЫ РАЗРАБОТЧИК ИГР.