Уже не помню, каким образом я натолкнулся на Door Kickers — двумерный тактический симулятор команды спецназа со свободной паузой (дада, можно нарисовать пути атаки, в любой момент поставить игру на паузу и переделать их. Никаких ходов и гексагонов, никакого жёсткого реалтайма). Факт в том, что купив её, я сел поиграть «пару миссий», и очнулся под утро, когда пытался пройти все уровни с максимальным количеством звёзд. Дальше больше, и в итоге я начал узнавать про фирму издателя (вдруг у них есть ещё подобные проекты?). Оказалось, что игру делает маленькая фирма из Румынии — KillHouse Games, которой меньше двух лет от роду, но у разработчиков уже был ощутимый багаж знаний для разработки собственной игры
TL;DR — трейлер игры (на текущий момент графика в игре выглядит немного по другому):
А дальше идёт интервью с ними:
— Привет, ребята!
— Привет! (С вами Dan Dimitrescu и Mihai Gosa)
— Во-первых, расскажите, пожалуйста, о своей команде. Я знаю что Dan основатель KillHouse Games. Кто ещё работает вместе с вами?
MG: Он работает со мной (Mihai Gosa, программист), Catalin Saitan (программист) и с нашим full-time художником, Adrian Cruceanu.
DD: Да, мы основали фирму вместе, и являемся её совладельцами.
— Насколько я помню, перед KillHouse Дэн работал на Ubisoft. У вашей команды уже был опыт разработки игр, или пришлось учиться в процессе разработки DoorKickers?
MG: Adrian единственный, кто не работал в индустрии разработки игр, но насколько вы видите, он чертовски талантливый художник!
DD: Вы можете увидеть наши имена в титрах следующих игр: Silent Hunter 3 /4 / — симуляторе подлодки времён Второй Мировой Войны; Assassin's Creed Brotherhood; Tom Clansy's HAWX 2, Ghost Recon Future Soldier; Zombie U и многих других.
Художник и впрямь не зря ест хлеб. Начало разработки:
Конец 2013 года:
— Что вам сказали ваши родные, когда вы объявили им о том что вы уходите в стартап?
DD: Если честно, я не помню. Мне кажется я припоминаю энтузиазм, но может быть это мой
MG: Жена: О, нет! Родители: О, нет!
— У вас были какие-то сбережения на первое время, или вы работаете все 2 года только на деньги полученые от игры?
DD: У меня не было денег, я их все спустил на страйкбол, компьютеры и прочее барахло. Но у моей жены были, поскольку, как вы видите, она не работает главным дизайнером крупнейшей игровой студии в Румынии :)
MG: У меня были сбережения на первый год работы без всякой прибыли. Я начал вести учёт финансов примерно за 4-5 месяцев перед увольнением из EA, и прикинул сколько денег мне необходимо чтобы протянуть так долго. К счастью, игра начала приносить прибыль (при продаже через наш сайт) через 6 месяцев разработки (хотя могла бы начать приносить прибыль ещё раньше).
— Ещё один вопрос, ответ на который я очень долго ждал: Вы играли в SWAT-2? Сколько лет я ждал подобную игру, прежде чем нашёл DoorKickers!
DD: Я играл в неё, но не так давно — я пропустил её, когда она была новинкой. Я прыгнул с Police Quest Open Season сразу на SWAT3, которая была действительно клёвой. Само собой, в своё время я засиживался над Rainbow Six, Rogue Spear и Ghost Recon.
PQ1 и 2 было очень трудно найти в текущее время, но, благодаря gog.com, я их купил. Я помню очень много хороших старых игр, но тогда мы тратили всё время на игры, в ущерб всякой мелочи, типа подготовки к экзаменам.
— В DoorKickers игроки могут приобрести допольнительные «плюшки», типа их собственных портретов в качестве штурмовиков/террористов, домов в качестве карт в игре, доступа к ночным билдам, и т. д. Много игроков покупает такие вещи? И оправдано-ли это финансово?
DD: Много игроков покупает возможность добавить свой портрет в игру, и это хорошо для вас как для разработчика, потому что они начинают играть снова и снова когда видят себя в игре. Это приводит к тому, что игроки хвастаются перед друзьями, и те оказываются вовлечены в игру :) У нас так же есть немного проданных «вставьте-ваш-дом-в-игру», но пока никто не купил максимальную услугу «быть заложником/плохим парнем/специальным юнитом». Я думаю, будь мы более знамениты, продажи шли бы лучше, но по нашему мнению текущий результат тоже вполне хорош!
Автор собственной персоной
— Какие средства разработки вы используете? У вас практикуется Continuous Integration? Багтрекер? Какая IDE ваша любимая?
MG: Мы используем Visual Studio, Photoshop и 3D Studio Max для разработки, SVN для хранения кода, и Google Docs для документов. Примерно раз в месяц мы используем Xcode и kdevelop для билдов под Mac/Linux. Любимая IDE: Visual Studio, нелюбимая: Xcode.
Багтрекер: bugs.txt которую я редактирую с помощью Notepad++.
Мы используем некоторые принципы Continuous Integration, которые помогают максимально быстро вести разработку с минимальным оверхэдом.
DD: Это может звучать не очень Hi-Tech, но с маленькой группой программистов и очень самомотивированным лидером(MG) — это работает :) К тому же, меньше шансов начать что-то делать не так.
— Вы используете статические анализаторы кода типа PVS-Studio или что-то ещё, кроме стандартного вывода компилятора? BTW, какие компиляторы вы используется для сборки проекта?
MG: Мы используем свободные анализаторы cpplint и cppcheck, но не так часто как хотелось бы. Для сборки мы используем cl (Visual Studio), gcc (Linux) и llvm (OSX). Мы не поддерживаем стандарт c++11 потому что мы не нашли как собирать игру под OSX<10.7 с поддержкой c++11. Однажды мы выпустили апдейт который требовал OSX>10.7, и вы бы сильно удивились если бы узнали насколько много человек до сих пор использует старые версии.
— Какую VCS вы используете? Вы часто делаете бранчи (Я имею в виду, бранч для каждой фичи/бага и слияние когда всё будет готово) или используете одну ветку для каждого релиза? Как насчёт Code Review?
MG: Мы используем SVN. Никаких бранчей, коммитим сразу в ветку master. Я делаю ревью всех коммитов (и кода, и данных). Игра собирается с помощью очень простого тулчейна, и это помогает минимизировать потерю времени на выделение веток и большого тестирования. Даже в текущей Альфа-версии наши пользователи удивляются насколько стабильна игра. Мы очень редко получаем отчёты об ошибках (имелся в виду crash-report) или баги, которые не позволяют играть в игру.
— Вы используете автоматическое тестирование (или юнит-тесты), или вручную играете сотни раз чтобы найти баг? Кстати, не надоедает играть в свою собственную игру снова и снова? :)
MG: Никаких юнит-тестов. Когда 1 человек пишет 80% кода — это даёт свои результаты. Как я уже говорил выше, мы очень редко получаем баг-репорты. Кроме того, игры (и игровые движки) настолько часто меняются, что написание тестов будет занимать существенную часть времени программиста, на что мы пока не готовый пойти. Вообще мы достаточно редко играем в старые миссии. Я надеюсь что это последствия большой практики в программировании и геймдеве, что позволяет игре быть стабильной и без тестов.
— Какую модель для разработки вы используете? Agile, RAD, просто-пишем-этот-код?
MG: я думаю мне надо придумать новую терминологию, но это будет что-то среднее между Agile и RAD, с вкраплениями просто-пишем-этот-код. В своей голове я очень много планирую сторону кода, но часто всплывают неожиданные места в дизайне/графике, которые надо изменить из-за пожеланий пользователей или рынка.
DD: У нас был Agile в Ubi, но сейчас мы от него очень далеки. У нас не так много ресурсов чтобы тратить их на многочисленные итерации. Мы очень много думаем, пытаемся сделать правильно с первого раза, или просто разбиваем на мелкие задачи и смотрим на реакцию пользователей.
— Одной из возможных покупок на сайте является покупка исходников игры. Не страшно отдавать их кому-то, зная, что этот кто-то может сделать игру которая может превзойти вашу?
MG: Вообще мы добавили пункт о неконкуренции в лицензионное соглашение, но я думаю что его можно спокойно выкинуть, потому что мы не отдадим исходники до финального релиза игры. Оглядываясь назад, я думаю что это было не очень грамотное предложение — кто ж будет ждать исходников 1-2 года? К тому же, сомневаюсь что кто-то сможет сделать игру лучше чем наша :-P
Hardcode Geek!
— Что вы думаете об Open Source? Смогли бы вы написать DoorKickers только на пожертвования?
MG: Я сомневаюсь что модель open-source будет работать для любых игр, тем более для Door Kickers, так как (несмотря на очень преданных поклонников) у нас очень узкая ниша.
— Тяжело было попасть из Steam Greenlight в основной магазин Steam?
MG: Нет, достаточно просто. Greenlight быстро продвинул нас на первое место из более чем 1400 игр, прежде чем мы попали в сам Steam. Одной из вещей которые мы сделали — это выпустили бесплатную (но урезанную) версию игры для продвижения в Greenlight. В ней было много кнопок «голосуйте за нас на Greenlight» :)
— Я нашёл вашу игру только в Steam и Humble Bundle Store. Какие ещё магазины вы используете? Какой из них более эффективен?
MG: Мы продаём игру на нашем сайте ( inthekillhouse.com ), Gamers Gate и MacGameStore. Так же мы планируем добавить игру ещё в несколько магазинов когда мы будем ближе к релизу. Лично я впечатлён интерфейсом разработчика Steam и их системой обновлений, и считаю, что это способствует успеху самой платформы.
Самым успешным магазином является наш собственный сайт: это была одна из причин продолжать разработку, потому что тогда мы не могли продавать игру на других платформах. Кстати, больше всего денег приходит именно с него :)
— Я слышал, что Door Kickers используется как симулятор для военных. Можете рассказать об этом подробнее? Вы просто отдали им исходники/бинарники, или переписали часть «казуальной» логики?
DD: Версия для военных немного «подтюнена» и в неё добавили несколько специальных уровней. В долгосрочной перспективе мы хотим добавить несколько улучшений для повтора боя, чтобы инструктор мог объяснить «что пошло не так» и «как план может быть улучшен».
К тому же мы наверное уберём некоторые элементы рандома, но по правде говоря, военные не озабочены геймплеем. Они используют игру для демонстрации правильного CQB (Close Quarters Battle — ближний бой) и тактики.
Пример плохой тактики — без прикрытия, с пустым магазином, и один против троих. Raccoon не жилец
— Какие у вас отношения с коллегами? Вы просто работаете вместе, или периодически выбираетесь в бар, на шашлыки и т. д.?
MG: Мы вместе работали в других компаниях, и нам комфортно в окружении друг друга. Кстати, кто-нибудь мне расскажет, неужели бывает что-то ещё кроме работы?!
DD: Быть инди-разработчиком означает что вы зависите от себя, и всё доступное время должно быть потрачено на игру. Но в моём случае это трудно, так как у меня есть маленький ребёнок который требует внимания. Всё же, хорошие отношения которые у нас сложились со времён Ubi, означают что мы научились принимать друг друга и верить тому, что все делают всё возможное для разработки игры.
— Сколько времени уходит на управление KillHouse? В больших компаниях есть отдельные менеджеры, как с этим обстоит у вас?
MG: Мы команда которая состоит из трёх full-time работников и 5-6 part-time контрактников. Я могу управиться с таким количеством самостоятельно, оставляя разработку во главе рабочего времени. Кроме того, я и Дэн делаем всю работу связанную с поддержкой, управлением сообществом и маркетингом. Я думаю что в настоящий момент отдельный менеджер только замедлит нас, и создаст преграду между нами и игроками.
— Насколько тяжелее живётся когда тебе надо платить зарплату не только себе, но и сотрудникам? Не возникало мысли бросить всё и сказать: «Пошли все к чёрту, я ухожу обратно в большую фирму»?
MG: Лично у меня огромная толерантность к давлению со стороны работы, поэтому у меня никогда не было желания бросить всё. Хотя хочется некоторым вещам сказать «Пошли к чёрту» :) Чувство ответственности за сотрудников сильно ограничивает рост компании. Несмотря на то что мы можем ускорить разработку наняв пару разработчиков, мы не сделаем этого пока в бюджете не будет лежать как минимум их годовая зарплата.
— Может ли случиться такое что у работника нет заданий (дизайнеру нечего рисовать и т. д.)? Что вы делаете в такой ситуации?
MG: Небольшая команда имеет преимущество в отсутствии «бутылочных горлышек» в коммуникации между собой. Это то что я часто видел в дни работы на большую фирму, и то что я всегда ненавидел. Если такое случится, я дам себе подзатыльник, потому что или я плохо управляю компанией, или я запустил программирование, и дизайнер ушёл далеко вперёд.
— Бывает так что работник «сгорает» — плохо работает, становится вялым. Что вы делаете в такой ситуации?
MG: Угрозы обычно работают. Шучу, но на самом деле в стартапах (и особенно в разработке игр) нет места «перегоревшим», так как тут требуются титанические усилия. Это может звучать жёстко, но эта работа не для всех. К тому же, мы стараемся работать с само-мотивированными людьми.
— Можете припомнить какие-то смешные баги/ситуации во время разработки? Я знаю одну игру (речь идёт о посте Багло ) где свинье дали пистолет без патронов, т. к. «Свинья» наследовала класс «Солдат». Надеюсь, заложники в вашей игре — это же не Штурмовик-Без-Патронов?
MG: С точки зрения разработчика я не знаю никаких «смешных» багов :) Но я думаю, что игроки находят ситуации подобные этой забавными:
На самом деле заложники у нас — это Штурмовик-Без-Мозгов. На полном серьёзе — мы удалили им
— Какие советы можете дать для начинающих разработчиков игр?
MG: Для программистов: пишите много игр с нуля (без помощи всяких Unity), иначе вы ничему не научитесь. Пишите логику, рендер, работу с сетью, звуком, GUI и т. д., безо всякого деления на хочу/не хочу.
Для дизайнеров/художников: пишите много игр
DD: Мотивация — это уровень топлива за которым вы должны следить, при чём не только за своей, но и за командной. Когда вы запустите проект, постарайтесь сделать его играбельным как можно скорее. Если вы не дадите людям поиграть в игру (а ещё лучше — заплатить за неё) через 6-12 месяцев, вы её провалите. Когда игроки суют свои руки в игру это мотивирует вас, и даёт понять что вы движетесь в верном направлении.
— Пожалуйста, скажите пару слов напоследок для тех, кто дочитал до конца.
MG: Поздравляю! Не многие дошли до этого места :-P И покупайте нашу игру!
— И наконец: Спасибо вам, за что что вы открыли редактор и начали писать Door Kickers
DD: Спасибо вам за интервью :)
P.S. Если остались какие-то вопросы на которые хочется получить ответы — пишите их в комментариях, я с удовольствием передам их разработчикам.
Автор: Nikon_NLG