Інтерв'ю з KillHouse Games

Інтерв'ю з KillHouse Games

Вже не пам'ятаю, яким чином я наштовхнувся на 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: Спасибі вам за інтерв'ю.

Update: Бібліотеки, які використовуються:

- OpenGL (ES) для рендера

- OpenAL для звуку

- tinyxml для читання/запису .xml

- libpng для читання .png

- Curl для завантаження новин (які, до речі, теж у xml)

- ffmpeg для експорту запису бою

- У майбутньому може додасться нові бібліотеки

P.S. Якщо залишилися якісь питання на які хочеться отримати відповіді - пишіть їх у коментарях, я із задоволенням передам їх розробникам.