Введение
Всем привет! Я Дмитрий Качков, руководитель компании Sobaka Studio и наша команда занимается созданием инди игр. Наша первая игра Redeemer уже вышла 1 августа в стим, собрала критику, отзывы, стримы и летс плеи. Уже улегся хаос связанный с выпуском, мы запустили в производство новый проект и настало время делится впечатлениями о производстве нашей первой игры (которой мы все и я в частности очень гордимся).
Разработка велась трудно, долго и с большим количеством сложностей. Рассказывать можно много о чем и я подумываю о написании нескольких статей по разным темам.
В качестве первой статьи я хотел рассказать на мой взгляд самую захватывающую историю о том как мы нашу игру возили на конференцию PAX в бостон в марте 2017 года. Это было очень эмоционально и накал испытанного адреналина мало с чем можно сравнить (хотя уверен много кому покажется что ничего и особенного).
Введение 2
Игру Redeemer начиная с марта 2016 мы делали совместно с партнерами / паблишерами (Gambitious Digital Entertainment ныне переименованные в Good Shepherd Entertainment). Организационной и PR деятельностью занимаются всецело они, т.е. Вся поездка, билеты, проживание, такси и прочее они обеспечивали и нам тут нечего было волноваться. Наша задача была в первую очередь собрать рабочий билд и самим собственно показывать игру людям, рассказывать о ней прессе, давать интервью и записывать в блокнотик фидбеки.
На кануне
Самолет будет в среду утром в 7.40 утра.
Понедельник утро, билд собран, протестирован, запакован и отправлен.
Середина дня, приходят новые voice over’ы (голосвая озвучка реплик героев которые попадают в демо) естественно горит желание их вставить в демо ибо с голосами то героев сильно эффектнее показывать чем без. Дело плевое, добавляем озвучку попутно выясняя что прислали нам звуки в 32 бита а анрил не может вавки в 32 бита, прошу переприслать в 16.
До конца дня все доделываю, запаковываю отправляю коллегам за океан. У них времени проверить нету они тоже все вылетают на конференцию.
Во вторник прихожу на работу расслабленный, готовимся к поездке, распланировали ночь, сон и прочее… в середине дня приходит первый звоночек, один из заморских коллег кто смог запустить и потестить чуть-чуть говорит «игра начинает немного притормаживать через 10 минут игры». Ну думаю фигня, не страшно, показалось человеку наверное, до этого тестили билд все было нормально. Времени тестить и искать что же тормозит нету, так что просто работаем доделывая все что можно еще доделать.
Вторник 23.00 выкладываю последний билд на дропбокс, параллельно запуская его и видя что игра реально подтормаживает. Ну делать нечего, уже до самолета всего ничего, еду домой.
Приключения начинаются
В метро пока еду, меня озаряет озарение и я понимаю в чем проблема, при добавлении диалогов я исправил баг который заключался в том что враг не обрывает свою фразу если его в это время убить. Т.е. Увидел нас, кричит “стоять, сейчас зарежу”, я его на первом слове убиваю и он уже лежа на земле продолжает договаривать. Как я пофиксил этото баг!? Ну конечно же вместо просто проигрывания звука я его аттачу к человечку а когда человечек умирает останавливаю все что приаттачено. Штука которую я не учел, это то, что не только произносимые фразочки стали аттачиться, но и любые звуки вобще (например звук попадания по врагу). Анрил не полюбил спавнить настолько много компонентов и стал захлебываться. Т.е. разница в одну строчку как именно спавнятся звуки стоила нам того, что билд стал тормозить, причем на самом деле ощутимо.
Надо пересобрать билд
Лааадно, приезжаю домой, срочно ставлю выкачиваться весь проект на домашний комп, сон конечно сразу идет лесом, жду пока выкачается, параллельно нахожу строчку и меняю ее на нужную (возвращая баг который я изначально фиксил, но который не имеет значения для демо). Примерно в 3 часа ночи проект наконец выкачался, я восстановил батники и прочие скрипты для сборки и нажал заветную сборку, ну думаю сейчас за часик соберется запакую и поеду. Но нет, проект только выкачан, а это значит что шейдеры и материалы еще не были ни разу собраны и скэшированы анрилом… итого 4 ночи, такси уже ждет с моим коллегой, билд еще билдится. Даю инструкции жене (какую папку в итоге на яндекс диск класть) и уезжаю.
Сразу скажу что летели мы через хитроу с пересадкой в 4 часа. С собой у меня был только айпад (да, ноут я не взял, не спрашивайте почему, не хотел я его брать и все тут). Коллега ноут с собой взял (ибо хотел еще успеть поработать на месте).
В домодедово
Приехали в домодедово, прошли все сканы и досмотры, сидим ждем вылета. Потихоньку начинаться посадка, звоню жене, как там, что там, встает, диалог:
— Что там на мониторе? Буквы бегут?
— Не, не бегут, какие-то красные буквы
— Присылай фотографию
— Как я тебе пришлю фотографию у тебя же телефон «дедовский»
— Кидай в скайп “кому нибудь”
В это время встаю в очередь на посадку и потихоньку топчусь в конце очереди, присылает, смотрю скрин “BUILD FAILED”, чОрт, как же так, смотрю внимательнее, фуф фейл только при отправке на стим сервер, сам билд вроде собрался. Звоню:
— Скопируй папку ххх в папку ууу (на яндекс диск)
— Не понимаю…
— Малышка, очень важно, давай давай, 3 кнопки нажать
— (сотрудник аэропорта) ваши посадочные пожалуйста (оборачиваюсь сзади никого я последний)
— О получилось (жена говорит), копируется
— Фуф (захожу в самолет, связь обрывается)
Прилетели в хитроу
Переходим поближе к воротам на посадку до бостона. 9 утра (по Москве), вылетать через 3 часа. Конекчусь к вайфаю захожу на яндекс диск через веб браузер, вижу архив, на месте, залился… норм… пишу коллеге (художнику в калининграде) чтобы он скачал этот архив и протестил. Он просыпается, ворчит, качает, запускает… все работает отлично, говорю “а теперь отруби полностью стим” (тут надо сделать оговорочку — очень важно для конференции запускать билд без левого софта потому что там нет интернета и нет возможности качать всего что надо, и меня об этом предупреждали партнеры на опыте), через полчаса говорит “КРЕШ, НА СТАРТЕ”, чОрт, как же так… Думаю… говорю, «запусти предыдущий билд» (который с тормозами), БЕЗ СТИМА… жду… через полчаса пишет “ВСЕ РАБОТАЕТ, ТОЛЬКО ТОРМОЗА ПОЯВЛЯЮТСЯ”… пффффф… Думаю… Лааадно… билд на анриле состоит из 2х частей, экзешник и пак с контентом (в том числе скомпиленные блюпринты), строчку я поменял в экзешнике а с контентом может быть в теории все что угодно, говорю “возьми старый билд и в него подложи экзешку из нового”, отвечает “чтооооооо!?, ну лааадно”. Через пол часа пишет “ВСЕ РАБОТАЕТ” (т.е. Не тормозит и работает без стима). “Фууууу, давай говорю заливай новый билд, который смесь 2х на яндекс…” (до вылета из хитроу пол часа).
Прилетели в бостон
Прилетали мы в Бостон в среду ближе к вечеру, добрались на метро до отеля, перекусили в дешевом фаст фуде возле отеля, все стемнело, познакомились с партнерами наконец вживую и легли спать. В четверг был целый день на подготовку к конференции (так называемая застройка) и в последующие 3 дня сама выставка. В отеле мы скачали последнейший билд на флешку и с утра поехали на застройку.
Первый запуск
Компы привезли в обед, все подключили уже после обеда. Итак, время Ч наконец запустить игру, запускаем… не запускается… чОооорт…
В чем дело, фиг знает… уже не помню как, разобрались, не установлены visual studio redistributable… ну библиотеки майкрософтовские, которые требуются большому количеству игр. Сам не очень понимаю что это, зачем, и почему оно само не происходит, но вечно с ними проблемы. Что делать… смотрим, на телефоне вай фай поймался, хм, хоть что-то, у компьютеров вай фай модуля нету, не подключится… думали, думали, волновались, волновались, далее коллеги подсказывают «я слыыыышал что если телефон на андройде вай фай ловит, то подключив его по usb комп сможет к сети подключится через этот подключенный телефон», пробуем… Работает!
VC Redistributables
Качаем redistributable, устанавливаем — ура, запускается, все норм (вроде бы). Работает как то средненько — но в целом норм. Далее один из наших коллег (ребята тоже показывают свои игры) подсказывает “проверьте какая видяха у вас определилась, а то может быть оно на встроенной работает”, хммм, проверили, действительно, запускается игра на встроенной, ерунда какая, переключаем на нормальную, мощную (очень мощная NVIDIA, специально заказанная ибо большая выставка и показываем большому количеству прессы, должно быть все Идеально). Запускаем игру, ТОРМОЗА ПРОСТО ДИКИЕ. Почему? Да потому что игра по умолчанию берет самое большое разрешение которое поддерживается видяхой, а видяха то мощная — 4к выдает.
Опции не работают
В игре много пост процесса, вот оно всё и натужилось. Ну как бы, пффф, делов то, сейчас разрешение в опциях приберем да и делов, захожу в опции, разрешение не меняется… как так? в чем дело? ааааааа?
Рассказываю партнерам (pr’щикам), сказать что они расстроились — ничего не сказать, привезли такую аппаратуру, крутой стенд заделали, много сил потратили, а по итогу разрешение поменять нельзя.
У меня очередная волна паники по тихоньку спала, думаю… такс ну в целом задача просто откуда-то взять сейвник в котором прописано другое разрешение, хммм, в отеле есть ноут, и есть целая ночь впереди.
Подменяем сейв
Вечером покушали, приехали в отель, запускаем ноут коллеги. Открываю движок, смотрю почему могут сейвы не меняться. Оказывается, есть баг что в том случае когда сейва еще нет (совсем на компьютере) то сейв всегда подменяется на дефолтный, исправляю баг, запускаю игру, выставляю разрешение 1920, забираю сейв копирую на флешку.
С утра на автобусе приехали за 2 часа до открытия, прошли мимо огромной толпы ждущих открытия и зашли внутрь по уже протоптанной тропе.
подходим к нашему стенду, запускаем компы, вставляем флешку, копируем сейв, тестируем — Все работает! Ура!
Первые игроки
Сначала было тухленько,
потому что в первую очередь конечно игроки пришли к bethesda, blizzard и другие Sony и Microsoft. Но к обеду подтянулись, сначала приходилось каждого за локоть подводить, но потом уже поток возрос.
Ну а дальше уже все пошло гладко, игра всем нравилась, и была куча куча позитивных эмоций.
Впечатления
Самые позитивные эмоции были когда приходили Афро Американцы (сори если как-то по другому надо их называть, я уже запутался). И Дико угарали когда наш герой Василий в очередной раз эффектно припечатывал врагов об стены или вырывал кадыки.
Наши PR сработали по отлаженной схеме и приводили раз в час представителя той или иной прессы. Совсем уж крупные прессы не заходили, но hardcore gamer, destructoid, games zone, everything action и другие… Мы им показывали игру, с кем то записывали интервью, ну в общем к концу 3-го дня язык совсем отсох.
Заключение
На той же конфе познакомились с ребятами которые Ruiner сделали, так они вобще привезли билд, а он крешится когда катсцену скипаешь. Они резко отправили реквест в свой «штаб», так те, не разобравшись, просто биндинг с esc кнопки убрали. И ребята уже прямо на выставке перевешивали там хитро кнопки что б и не крешилось и пауз меню вызывать можно было.
Так что весь мой пост про то что бы не паниковать. По возможности никогда.. Паника с легкостью может разрушить все что ты с таким упорством строишь на протяжении долгого времени.
Спасибо!
Источник: DTF