Пользователь
0,0
рейтинг
21 мая 2011 в 20:46

Разработка → Как доделать игру перевод

На блоге одного из создателей Aquaria и Spelunky есть любопытный пост с советами для тех, кто испытывает проблемы с доведением до конца своих игровых проектов. Этот список советов оказался для меня своего рода «зеркалом», в котором отражены многие проблемы, с которыми сталкивался я сам, и я был удивлен тем, насколько хорошо автору удалось уловить суть этих проблем и предложить свои решения, зачастую бескомпромисные.
image
Приближаясь к заключительной стадии разработки моей игры, я много думал о том, как завершать выполнение проектов в целом. Я заметил, что вокруг много действительно талантливых разработчиков, у которых возникают проблемы с доведением до конца игровых проектов. По правде говоря, я и сам оставил позади себя ряд незавершенных игр… Думаю, у многих та же ситуация. Не всякий проект удается, по разным причинам. Однако если вы стали замечать, что постоянно забрасываете проекты, которые имеют неплохой потенциал, вероятно, стоит оглянуться назад и изучить тому причины.

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

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

Итак, далее следуют 15 советов для тех, кто хочет успешно довести до конца свой игровой проект:

1. Выбирайте идею, имеющую потенциал


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

Игры, которые я хочу делать — это игры, в которых интересен сам процесс создания. Это может быть игровая механика, с которой хочется экспериментировать, или, например, персонаж, которого интересно анимировать.

Игры, которые я хотел бы, чтобы были сделаны — это игры, в которых меня интересует именно результат, а не процесс его достижения. Это может быть игра с невероятной концепцией («ОМГ, GTA + Final Fantasy + Starcraft + ...»), или просто с классной идеей, воплощать которую в жизнь может быть далеко не весело.

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

По моему мнению, игры с наибольшим потенциалом (достаточным по крайней мере для того, чтобы довести дело до конца) принадлежат одновременно ко всем трем категориям и удовлетворяют требованию «у меня есть время и ресурсы, чтобы действительно сделать это».

2. Начинайте наконец делать эту чертову игру


Оформить и выписать идею игры не значит начать делать игру. Описать в документе дизайн игры не значит начать делать игру. Собрать команду не значит начать делать игру. Даже делать музыку и визуальную составляющую не значит делать игру. Очень легко спутать «готовиться начать делать игру» и «начать делать игру». Просто запомните: в игру можно играть, а если вы не сделали ничего, во что можно играть, значит это ещё не игра!

Наконец, даже создать игровой движок не обязательно значит начать делать игру. И это приводит нас к следующему совету…

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


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

Оригинальную версию моей игры Spelunky я сделал в Game Maker'е, и эта по-настоящему завершенная игра позволила мне продолжить работу над версией уже под XBOX360. Поэтому не воспринимайте программное обеспечение для создания игр и прочие инструменты, упрощающие работу, как нечто противозаконное. Главное — игра.

4. Делайте прототипы


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

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


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

В процессе прототипирования может случиться так, что откроется новая механика, интереснее задуманной изначально — рассмотрите вариант использования этой новой механики вместо старой!

6. Выбирайте хороших партнеров (или работайте один так долго, как только сможете)


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

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

С другой стороны, можно найти бесплатную музыку и графику в интернете, по крайней мере на время (на The Independent Gaming Source мы участвовали в соревновании, на котором было создано очень много бесплатной музыки и графического наполнения для игр). Используйте ASCII, если нужно. Как художник, я знаю, что внесу вклад скорее в проект, который почти завершен и нуждается только в графической составляющей. А если вам нужен программист… попробуйте научиться программировать сами (если я смог, сможете и вы!), или найдите соответствующий софт (см. #3).

7. Тяжелая работа — это нормально, включите в свой план


Создание игр во многом утомительно и совершенно невесело. Это не игра, это работа (поэтому затыкайте всех, кто шутит, что вы «играете в игры весь день»). В какой-то момент вы осознаете, что есть вся эта фигня, о которой вы не думали, когда планировали проект и делали прототипы — игровые меню, экраны переходов, загрузка и сохранение, и т.д. «Надо же! Я представлял себе потрясающий мир, который буду создавать, и этот прикольный геймплей, с которым буду экспериментировать… Я не думал, что буду тратить недели, делая функциональные меню, которые бы не выглядели как дерьмо!». Или, например, есть вещи, такие как анимация персонажей, которые интересны в определённых дозах и становятся кошмаром, когда понимаешь, что этих персонажей штук 100.

Как только вы пройдете все это несколько раз, придет понимание того, как важно масштабировать проект, чтобы не проводить слишком много времени в этой неизбежной трясине («слишком много» означает количество времени до того момента, когда вы забросите разработку). Вы также осознаете, что все эти детали на самом деле придают игре завершенный вид! Даже симпатичный стартовый экран может творить чудеса.

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


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

9. Двигайтесь вперед


Ощущаете, что застряли? Идите дальше. Начните работу над новым уровнем, новым врагом, новым чем угодно. Это полезно не только для повышения мотивации, но и помогает ощутить, как в целом будет выглядеть игра. Это как сочинять — никто не пишет предложение за предложением, придавая каждому идеальный вид, прежде чем двигаться дальше. Сначала составляют план.

10. Следите за своим умственным и физическим состоянием


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

11. Прекратите оправдывать начинание «с нуля»


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

Стоп. Нет. На каком-то этапе так бывает во всех игровых проектах. В вашем коде всегда будет неразбериха. Вы многому научитесь. Оно никогда не будет идеальным. И если вы начнете все сначала, то придете к тому же состоянию, от которого ушли. Мыслить таким образом — ужасная ловушка.

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

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

12. Оставьте это для следующей игры


Итак, в разгаре разработки у вас родилась идея, которая взбудоражит умы всех, но для реализации которой придется переделывать всю игру? Оставьте её для следующей игры! Верно? Надо полагать, не последнюю игру делаете. Оставьте новую идею для следующей игры… и завершите текущую!

13. Вырезать. Это. Полностью.


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

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

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

14. В случае неудачи уменьшайте масштабы


Что ж, иногда бывают провалы. Может быть, нет никакого пути вообще когда-нибудь завершить проект, или в вашем распоряжении слишком большой хаос наработок, чтобы что-то отсеивать. Может быть, остальная часть команды уже забила. Я составляю этот список в надежде помочь людям избежать подобных возможностей, но эй, может вы уже пришли с развалившегося проекта. А иногда… shit just happens.

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

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

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


Говорят, последние 10 процентов — на самом деле 90, и в этом есть доля правды. Это детали, которые отнимают много времени… Действительно, может вы закодили мощную боевую систему за неделю… но сделать ее действительно качественной и отлаженной… на это могут уйти месяцы. Бывает и так, что этот финальный круг будет повторяться раз за разом, прежде чем наступит настоящий финальный круг.

Это может звучать удручающе, но не должно. Хотя последние 10 процентов мучительны, я обнаружил, что это время в разработке приносит наибольшее удовлетворение. Потому что все чаще разные фрагменты хорошо между собой стыкуются в конечном счете, если время было потрачено разумно. А превращать путаницу идей и контента в сладкую игровую ману — волшебное ощущение.

Это все, что касается деталей.

И наконец… релиз!


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

Больше никакого простаивания в кулуарах, друг: теперь ты — разработчик игр.
Перевод: Derek Yu
Alexey Fedotov @gcc
карма
7,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (54)

  • +1
    Спасибо за перевод, прочитал с удовольствием. Интересные советы, стоит задуматься.
  • +21
    Эти советы применимы к разработке не только игр.
    • +12
      Особенно вот этот:


      Сколько я раз такое слышал.
      • +1
        Сколько раз я об этом думал, хорошо что дальше мыслей дело ни разу не двигалось.
      • +13
        Сколько я раз так делал! Ужас…
      • +1
        У меня, к сожалению, то же самое с разработкой сайтов. И пока есть только один успешный сайт, который приносит деньги — это тот, который я сделал 10 лет назад, пока ещё ничего не знал. А всё что я сделал после него — это бесконечная погоня за тем, чтобы проект стал «идеальным», а в итоге они все забрасываются и начинаются новые, с новым опытом.
    • 0
      А я думал, что это только мне с разработчиками не везет ))
  • +4
    Мне кажется, стоит в начале перевода добавить комментарий, что автор оригинала — создатель Aquaria (я же правильно поняла?). Это сразу придаст статье другой оттенок, потому что игра классная. А ведь в свое время я так и застряла на втором из финальных боссов… *ушла проходить игру заново*
    • +1
      Игра прикольная, красиво сделана, но, как по мне, нудновата.

      Возможно, девушки к ней особо тепло относятся, но я не осилил. Нашёл пару форм, доплыл до воздуха, но к тому времени уже заставлял себя играть и забросил.

      Но то, что работает под Линуксом — отдельный респект.
      • +1
        Я прошёл всю и мне очень понравилась. Красивая, интересная и с приятной музыкой. Чем-то напонила Ecco the dolphin.
      • 0
        > Возможно, девушки к ней особо тепло относятся

        Похоже, у вас плохие новости для меня. :(
        • +1
          Не расстраивайтесь, naryl. Возможно, я ошибся ;)
  • –15
    ппц какой. Такое ощущение, что документирование и планирование были придуманы просто так.
    • +3
      А что, документирование и планирование это панацея? Можете чуть расписать свою мысль, а то я боюсь, что неверно интерпретировал.
      • –1
        Панацея, если ты понимаешь задачу и следуешь плану. В противном случае советы в духе «Режь, что не успел сделать» и «Держи себя в тонусе, приятель» не принесут пользы.
        • +3
          Если бы не вмешивался фактор «креатив», так бы оно и было. Крупные компании типа Valve нередко переносят сроки релизов только потому, что главному дизайнеру показались недостаточно убедительными текстуры на стенах.
          • –1
            Не подменяйте понятия. Из-за одного сета текстур никто не будет срывать релиз. QA и «креатив» не имеют ничего общего.
            • +1
              Речь о качестве проработки деталей в целом, а текстуры — первый пример, который пришел мне в голову.

              «Убедительность текстур» не означает, что у них низкое разрешение, и для убедительности достаточно его увеличить. Дизайнеру может показаться, что выбранный сет на самом деле вообще не вяжется с концепцией уровня, и какой-то другой смотрелся бы гораздо лучше. Это так или иначе творческий процесс.
              • 0
                Вот уже почти год работаю в игровой компании и не было еще ни разу, чтобы игра вышла вовремя :) Так что так оно и есть — то дизайнер начнет переделывать, то мы багу найдем.
        • +2
          Статья расчитана на тех, кто занимается играми как хобби. Какое нафиг планирование и документация если человек делает для себя что-то новое да ещё и в свободное от работы время?
          • +1
            Без документации по игре разработчик сам к середине игры что-то упустит, что приведет к хаосу на каком-то этапе разработки
          • +1
            Какой-то план действий (разной степени подробности) в голове у разработчика все равно обычно есть, если он всерьез взялся за проект. Другое дело, что не всегда охота его выписывать, оформлять и апдейтить по ходу разработки.
        • +3
          Людям несвойственна возможность ясно видеть задачу в деталях, особенно в начале работы. Но даже когда человек расписал задачу в деталях в голове или на бумаге, это не защищает от ошибок.

          Я не говорю, что планирование бесполезно. Просто переоценивать его тоже не стоит.

          Кстати, людей, «понимающих задачу» в сфере IT я редко встречал (к разработке игр это, правда, не относится). Самые хорошие спецы, на которых я ориентируюсь, _постоянно_ изучают задачу (да, на протяжении всего решения они не останавливаются).
    • +6
      Не думаю, что многие инди-разработчики придают этому значение, тем более одиночки.
  • +5
    Ммм, побольше бы статей по геймдеву!
    • +4
      Сейчас целых 3 последних поста в ленте из этого блога =)
  • 0
    Классная статья. Такой момент есть в любом проекте, и главное тут — уметь отрезать лишнее. Это так трудно, «ну мы же задумывали...» и все прочее, но понимание недостатка времени стимулирует выбирать важное. Вот тут и получается хорошее решение — отрезаемое выкидываем в дополнение или сиквел. И отказываться не приходится и сроки не отодвигает.
    А вот насчет «небольшой прикольной игры, в которую я могу играть...» есть заминка. Она за время разработки и тестирования может наскучить. И даже очень.
    • +1
      Автор имел в виду «Вы выпустите игру, а я в нее поиграю» =)
      • 0
        Не знаю, мне кажется, если я сделаю игру, в которую буду сам с интересом играть, я буду доволен своей работой.
  • +3
    Я джва года хочу сделать игру но выходит бесконечное переписывание движков :\ Надо брать себя в руки.
    • +2
      Он прав, идеально сделать нельзя. Битва между универсальность и перфекционизмом с одной стороны и костылями и рабочим состоянием будет всегда. И придерживаться одной стороны всегда — значит или выпускать чушь, или не выпускать ничего, но идеальное.
      • 0
        универсальностью, конечно
    • +1
      У меня обычно обрывалось на том, что казавшаяся изначально прикольной идея потом начинает восприниматься как очередной неинтересный велосипед.
      • 0
        Есть такое, но надо постоянно думать, что все интересно.
  • +28
    А всё потому что сначала это выглядит так:

    image

    А на самом деле

    • 0
      Жесткий демотиватор
  • 0
    Прочитав статью, вспомнил о своем небольшом проекте. Все никак руки не доходят доделать.
    • +1
      Глядя на скрины, я не ощутил особой кровожадности этой игры, но когда услышал звуки…
  • +5
    Какие омерзительные картинки. Вы уж извините.
    • 0
      Не знаю, откуда они у автора, но я решил их не убирать. Хотя согласен, не все выглядят приятно )
  • +3
    Для меня самый полезный совет номер 10, про режим и про здоровье.

    Буквально вчера я сам до него созрел, плодя игрушки по 1 в неделю… Итог, зрение -10, вес +10, забыл как девушки выглядят…

    Спасибо автору, вовремя подсказал.
    • –6
      Дата рождения: 15 марта 1964


      как оно там, в будущем?
      • +7
        С Вашим будущим все просто — Вы состаритесь и умрете.

        Остальные ответы (про курсы валют) — платные.
        • –3
          тоже мне, капитан очевидность.
          • +5
            Слушайте, этот парень, к которому вы домогаетесь, много лет назад (в моем юношестве) подарил мне много часов потрясающего развлечения с винни-пухом и другими веселыми ребятами. Отойдите в сторону, будьте благоразумны.
            • 0
              Этот «парень» давно уже не парень, а взрослый дядя. А вопрос был простой и животрепещущий — какова она, жизнь программиста в возрасте за 40.
              • +1
                Простите, но ваш вопрос был сформулирован просто дико. Я его воспринял как «подъеб». Да хоть 50, видно же, что человек молод душой :)
                • 0
                  ну да, соглашусь, формулировка получилась несколько двусмысленной.
  • 0
    Иными словами, пахать и быть всегда вовлеченным в свой процесс, не выбиваться из него — и тогда можно будет взять с полки пирожок
  • 0
    Отличная статья
  • +1
    Чистейшая правда! Даже и не вспомню сколько игр не довел до конца. Но я многому научился, и теперь я — разработчик игр:)
  • 0
    Советы действительно полезны, но мне показалось, что многие из них приходят с опытом.

    Всё равно, спасибо.
  • 0
    Разработчики «Duke Nukem Forever», видать, наконец-то перестали думать лишнего и переделывать. Никак, прочитали оригинальную статью.
  • +1
    Статья, которая ещё до прочтения попадает в избранное. Спасибо, ценно.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.