Как была создана GunFu Deadlands (перевод)

В очередной раз перепройдя GunFu Deadlands, зашел на блог ее автора - Christiaan'а Janssen'а. Наткнулся на короткий постмортем к GunFu Deadlands. Статья написана довольно простым (и корявым :) ) английским, но, дабы привлечь к этой, без сомнения, замечательной игре больше внимания, я ее перевел. Так же будет полезна начинающим разработчикам.

 GunFu Deadlands

Кто-то спрашивал у меня, как я создал GunFu Deadlands. Это короткий пост об этом.

Идея пришла мне в голову во время BIGjam’09.

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

Основная деятельность в течении этих jam'ов - это трехчасовые minijam'ы. Идея проста: получаем тему, выбираемую более или менее случайно, и за 3 часа пытаемся закончить игру, основанную на этой идее. Всего лишь 3 часа. Ни вычурной графики, ни сложной механики, ни каких-либо проработанных идей. Просто откройте свой редактор и сделайте что-нибудь как можно скорее. Концепт. Прототип. Вы даже не должны стараться сделать что-то оригинальное. Что бы ни было сделано, самое главное - иметь что показать остальным после 3-х часов напряженной работы.

Это стало прозрением для меня.

Не то чтобы игры, сделанные во время эти jam'ов, были какими-то особенными. Nunfusion и Croissant. Но впервые я смог закончить что-то, что могло бы называться игрой. Мой образ мышления изменился, и я начал понимать, что проще придумывать маленькие идеи для маленьких игр. Больше того, на своем опыте я понял, как это важно, когда ты создаешь игру, достигнуть уровня "играбельности" так быстро, как только можешь. Большой урок в том, что ты должен быть способен играть в свою собственную игру так скоро, как только возможно, полировка будет позже. 

Известной мантрой среди разработчиков является фраза “keep it simple” ("делай проще"). И все-таки я иногда забываю это и иду сложным путем. Сжатые сроки - это хороший способ заставить себя "делать проще".

Во время сна между вторым и третьим днями jam'а, у меня появилась основная идея GunFu Deadlands. Что-то маленькое, простое. Шутер про далекий запад с замедлением времени. С простой графикой, без фоновой истории, просто экшен и фан. Что-то, что я в состоянии закончить примерно за неделю работы. Тот факт, что я смог придумать эту идею, я считаю, является результатом того, что я ввел свое сознание в это состояние во время jam'а.

Я познакомился с  Löve2D, создавая Nunfusion. На самом деле, я его выучил, пока создавал эту игру. Это 2D игровой движок, основанный на lua, языке, который мне очень нравится с самого начала из-за его простоты (по крайней мере, в сравнении с С++). Я решил использовать его для GunFu Deadlands.

Завершение первой беты отняло у меня месяц календарного времени, но если посчитать время, которое я посвятил этому, я скажу, что на это ушло две недели. Самой сложной частью было создание графики. Я не очень хорош в этом. Хотя я хотел оставить ее в lo-fi, что должно было облегчить труд, но все равно было сложно. Я не удовлетворялся результатами и изменял их снова и снова. Так как я установил себе дедлайн для беты (1 сентября), я, наконец, решил идти дальше с той графикой, что была, и больше не беспокоиться. Если бы я не поставил себе дедлайн, я, возможно, никогда не закончил бы игру. 

Для рисования графики я использовал Paint.Net. Он работает только под Windows, но, все-таки, довольно хорош. Я предпочитаю его Gimp'у (который я тоже иногда использую), потому что его интерфейс намного проще. Учитывая то,  какую графику я собирался рисовать, мне действительно не нужны какие-либо расширенные возможности Gimp'а.

Для звуковой части я нашел нужные сэмплы на freesound.org. Пришлось немного поискать, но, в конце концов, я смог найти кое-что, что могло пригодиться для моих нужд. Для редактирования сэмплов я использовал Audacity. Мне были нужны растянутые во времени замедленные версии сэмплов для bullet-time'а, Audacity идеально подошел для этого. А также для сжатия сэмплов в OGG из оригинального WAV, чтобы они не занимали так много места на диске. 

С музыкой тоже была небольшая проблема. Сперва я попробовал связаться с кем-нибудь, кто бы мог помочь мне и написать для меня музыку. К сожалению, все те, кто, как я знал, могли бы создать музыку, которую можно было бы использовать в видеоиграх, были слишком заняты, так что я, наконец, решил попробовать создать музыку самому. В поисках вдохновения я искал музыку в духе далекого запада, где только мог, и, наконец, написал собственный трек, используя MilkyTracker. Я много игрался с Fasttracker 2 много лет назад, так что я уже немного разбирался в таком виде софта (это он о трекерах - прим. перев.). Удивительно, что это не отняло много времени - создать приличную композицию, чтобы использовать ее как саундтрек. Важной частью было найти правильные сэмплы/инструменты, которые я отыскал в огромной библиотеке старых XM песен, которые у меня сохранились на жестком диске.

Бета была готова к дедлайну, 1-му сентября. Я показал ее паре друзей, от которых я получил некоторое количество предварительных замечаний. Это было важно для устранения явных проблем с игрой. Неделю спустя я запостил ее на форуме отзывов Тигсурса. Моим планом было получить некоторое количество отзывов от его посетителей, использовать их для улучшения игры и выпустить законченную версию 1.0. Произошло следующее: сперва игру проигнорировали, но месяц спустя Cactus оставил ссылку на игру в твиттере, и затем она распространилась через несколько сайтов. Это было похоже на вирус. Это было не совсем то, что я планировал, я боялся, что люди примут бету за окончательный вариант и у меня не будет шанса представить настоящую окончательную версию. Но все же, отзывы, полученные на всех этих сайтах были очень ценными. После этого я потратил другой месяц просто на полировку тех моментов, где были найдены проблемы, и, наконец, в середине декабря, сделал версию 1.0 доступной.

Некоторые люди просили о сайте, куда бы они могли загружать свои карты. Я не смог найти какой-нибудь онлайн-сервис, который бы отвечал моим нуждам, они были или слишком большими/сложными или слишком простыми. Я даже рассматривал возможность написания моего собственного сервера базы данных для карт на Google App Engine, но так и не нашел время, чтобы это сделать.

И это вся история.

Если вам интересны внутренности GunFu Deadlands, игра распространяется как свободное програмное обеспечение (под лицензией GPL), так что вы можете просматривать код и скачать его с сайта проекта на sourceforge. Код может быть не очень понятным, так как я писал его для себя, но все же может быть интересен кому-нибудь. 

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

Первая переведенная мной статья. Буду благодарен за указанные ошибки в переводе. Сильно не ругайтесь :3. В блог тоже пишу редко, так что могут быть какие-нибудь ошибки в разметке.