Постмортем проекта TimeShift

Страница 1 из 2

Андрей Ионес
Соучредитель компании Saber Interactive и руководитель проектов. Окончил Санкт-Петербургский Государственный Технический Университет (бывший Политехнический Институт) со степенью доктора. Опыт работы в области разработки игр более 12 лет. Начинал работу программистом в проектах для Activision и Electronic Arts; с 2000 года Андрей руководит компанией Saber Interactive.

Метью Карч
Один из основателей компании Saber Interactive, президент американского офиса, автор оригинальной идеи TimeShift. После окончания Пенсильванского Университета (Ivy League) Метью работал юристом в области высоких технологий, затем менеджером проектов ПО. Давно увлекается компьютерными играми и считает, что в игровую индустрию его привела сама судьба.

Введение

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

Проект начинался в 2003 как небольшая подтверждающая реализуемость идеи демо-версия, которую мы сделали спустя несколько месяцев после выпуска нашего первого шутера Will Rock. Годом позже Atari предложила издать игру для PC и Xbox. Проект развивался очень удачно и обладал отличной графикой, поэтому через 8 месяцев разработки в Atari было принято решение перейти с Xbox на Xbox 360. Еще через год Sierra приобрела TimeShift у Atari, когда у последней возникли финансовые затруднения и ей было необходимо продать некоторые из своих проектов. TimeShift являлся одним из проектов, в которых были заинтересованы многие издатели, и Sierra сделала лучшее предложение.

Изначальным планом после продления было дать проекту 6 месяцев, чтобы Sierra смогла улучшить некоторые из элементов игры. Денниса Квейда, Майкла Айронсайда и Ника Чинланда пригласили в качестве актеров озвучания, дополнительные усилия были приложены для улучшения визуальной составляющей и элементов геймплея. Но буквально накануне отправки кандидата на золото Sierra приняла неординарное решение - продлить разработку TimeShift еще на год. "Продления" - довольно распространенная практика, но гораздо реже они случаются, когда игра практически готова к выпуску. Вопрос был не столько в уверенности в проекте, сколько в способности Saber превратить игру в AAA-франчайз. Основная причина продолжения разработки - дать время TimeShift раскрыть свой потенциал; также было решено добавить еще одну платформу - PS3. По сути же у Saber было около 10 месяцев, чтобы сделать значительные улучшения в области графики и геймплея, плюс навести глянец и обеспечить поддержку PS3. И с этой комплексной задачей мы, безусловно, справились.

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

Наконец, осенью 2007 новый усовершенствованный TimeShift был представлен публике. Хотя конкуренция была жесткой, игра получила от игроков положительные отзывы.

Что было сделано правильно

Увеличение проекта

В 2003 у Saber была небольшая команда из 25 талантливых человек. Достаточно, чтобы собрать работающий прототип, который демонстрировал инновационный механизм управления временем, но для работы над AAA-проектом на трех платформах требовалось расшириться. Ко времени выхода проекта команда увеличилась до 80 человек (и они до сих пор работают у нас). Претерпеть столь значительное расширение было непросто. Талантливых людей вообще сложно найти, а тем более в России, где немного команд работает над большими проектами и мало людей с подходящим опытом. К счастью, ядро нашей команды составляют одни из лучших разработчиков в стране, люди с более чем десятилетним опытом в индустрии, включая работу на консолях. Они были основной частью команды, работавшей над нашим первым проектом Will Rock, игрой, которая была разработана менее чем за год. Пока мы продолжали нанимать сотрудников, большинство членов ядра команды продвинулись на лидирующие и менеджерские позиции и возглавили вновь образованные внутри компании отделы. То, что сначала было просто арт-командой с плоской структурой во главе c Дмитрием Холодовым, преобразовалось в разделенный на направления отдел, включающий concepting, текстурирование, освещение, управление аутсорсом, моделирование объектов, моделирование уровней, дизайн интерфейсов и спецэффекты; у каждого направления был свой менеджер. Открытие таких отделов позволило нам создать "центры роста", организуя процесс производства и взаимодействия. Когда новый сотрудник добавлялся в команду, всегда находился менеджер, который мог отслеживать его задачи в конкретной области и обучать новичка.


Ядро команды Saber и продюсеры Sierra (E3 2007)

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

В ходе освоения территории next-gen разработки нам потребовалось усовершенствовать наши производственные процессы. Во время обычной разработки мы собирали один билд и отправляли его издателю. Этого было достаточно, чтобы продемонстрировать прогресс. К концу проекта мы отправляли до 15 билдов в день, каждый день (включая 2 или 3 локализационных билда на каждой из трех платформ для полной версии игры и демо-версии). Нам пришлось сформировать специальный отдел, который тесно сотрудничал с командой тестирования, чтобы обеспечить ежедневную сборку и тестирование билдов и немедленное извещение команды о проблемах. Мы установили несколько серверных стоек с "фермами" для вычислений, что помогало нам собирать все данные на ежедневной основе, компилировать код под все три платформы, переэкспортировать все элементы графики, компилировать базу шейдеров и выполнять закачку финальной версии на сервер к издателю. Процесс работал круглосуточно, и иногда мы уже работали над новой версией и занимались ее тестированием, а в то же время более ранняя версия еще закачивалась.


Сервера, на которых почти круглосуточно рассчитывались и собирались версии проекта

Масштабное мышление

В сентябре 2006 Sierra приняла решение продлить проект еще на год. В Saber все были шокированы решением. На тот момент игра была практически готова и выглядела достаточно хорошо. Мы прошли сертификацию в Microsoft дважды, и открытыми оставались только 7 багов - это все, что нам оставалось сделать, прежде чем игра попадет на полки магазинов. Мы были в конце долгого марафона бессонных ночей, все были уставшими, а финишная лента была уже так близко, и вдруг - снова продление. Нам пришлось глубоко вздохнуть и приготовиться к еще одному долгому году. После некоторого размышления мы осознали, что нам был дан редкий шанс вывести игру на новый уровень качества, так же как и добавить еще одну важную платформу - PlayStation 3. Конечно, для молодой независимой компании-разработчика важно доказать свою способность сделать игру вовремя (что мы фактически и сделали к тому моменту), но портирование игры на PS3 и улучшение ее качества вполне оправдывает задержку.

Первый вопрос, который возник после продления разработки - что нам надо сделать, чтобы остаться конкурентоспособными в таком переполненном жанре через год? Нам очень повезло, что мы обладали людьми, способными мыслить масштабно и представлять будущие потребности рынка. В течение года весь графический движок был переделан Антоном Крупкиным, Денисом Сладковым и нашей командой рендеринг-программистов. Было добавлено множество новейших функций, таких как динамические карты теней и усовершенствованная система материалов. Наши ведущие аниматоры, Александр Мяла и Сергей Богинский, отправились в Лос-Анджелес в студию mocap-анимации House of Moves и заменили тысячи ручных анимаций mocap’ом.


Ведущий аниматор Александр Мяла демонстрирует актеру движение во время съемок mocap-анимации

История была переписана Майклом Холлом - профессиональным писателем с опытом работы над голливудскими сценариями. Изменение сюжета, очевидно, требовало переделки всей озвучки (таким образом, реплики, записанные Деннисом Квейдом и Ником Чинландом, не вошли в окончательную версию игры), видеороликов и локализации. HUD и меню игры были переделаны с нуля. Команда программистов мультиплеера, возглавляемая Стасом Заинчковским, полностью переписала сетевой режим игры с использованием последних технологий клиент-серверной и peer-to-peer архитектур. Павел Русин (член профессиональной команды Unreal2 Pro Team, ставший программистом) провел год, занимаясь балансом и точными регулировками игрового кода мультиплеерной игры. Арт- и скрипт-отделы, возглавляемые Дмитрием Холодовым и Сергеем Ларионовым, полностью переделали начальные и конечные уровни игры, чтобы воссоздать нужную атмосферу. Все персонажи, оружие и транспортные средства также были переделаны. И, наконец, Антон Ломакин, наш гуру спецэффектов, предложил удивительный эффект дождя, который очень хвалила игровая пресса - представьте, как в остановившемся времени вы можете видеть каждую каплю дождя, замершую в воздухе, на которую применены эффекты искажения и преломления света. Такого раньше просто нигде не было. Таким образом, ко времени своего выхода TimeShift не выглядел как игра с косметическими изменениями - это была полностью новая игра.

Планирование

Sierra приняла все изменения, которые мы предлагали на стадии планирования, и оказывала нам значительную поддержку. И все же мы знали, что хотя игра становилась все лучше, нам необходимо было успеть выпустить ее осенью 2007 на всех платформах. Пропустить продажи к праздникам было бы неразумно. Целый год разработки при планировании казался огромным сроком. Однако мы вскоре мы поняли, что, если мы хотим выпустить продукт с достойным уровнем качества, альфа-версия должна быть готова к марту, а бета - к июню. Иначе говоря, у нас было всего несколько месяцев, чтобы почти полностью переделать проект.

Мы были уверены, что успеем в сроки на Xbox 360 и PC, но возможность сделать вовремя PS3-версию оставалась под вопросом. Первые девкиты мы получили примерно в ноябре 2006-го, и начало работ было достаточно медленным. У нас ушло примерно три месяца просто на установку оборудования, компилирование кода под PS3, освоение новых средств разработки и вывод на экран первого полигона. Тем не менее, мы понимали, что выпуск TimeShift на PS3 - это огромная возможность для нас, так что мы включили в работу нескольких сильных программистов. Наибольшую сложность представляло то, что PS3-версия игры была не просто портированием - версии для всех трех платформ разрабатывались одновременно, со всеми новыми возможностями и технологиями, появлявшимися по мере совершенствования нашего движка для PS3. Дело двигалось, но двигалось медленно.

В начале июня на встрече в петербургском офисе с топ-менеджерами из Vivendi нас попросили дать оценку того, укладываемся ли мы в сроки для разных платформ. Шансы для Xbox 360 и PC мы оценили в 90%, на для PS3 мы не могли дать больше 60%. Нам надо было решить много технических вопросов, связанных с новой платформой, включая такие как ограничение размера памяти, вопросы производительности, технические требования производителя консолей (TRC). Мультиплеер был полностью неработающим к тому времени, поскольку мы целиком переделали архитектуру. Мы были так близки к завершению, Sierra и Saber совместно приняли непростое решение сфокусироваться на Xbox 360 и PC, убедиться, что с ними мы уложимся в сроки, и назначить PS3 более низкий приоритет.

Решение оказалось очень правильным, поскольку позволило команде сосредоточиться на том, что является жизненно необходимым для проекта, в котором ставки были столь высоки. Однако мы не были обрадованы перспективой потерять год на PS3. На внутреннем совещании с Андреем Григорьевым, который является руководителем программистской команды, мы сгенерировали идеи, как нам справиться с PS3, не подвергая риску две другие платформы. Мы понимали, что не можем задействовать много ведущих программистов для постоянной работы над этой задачей. При этом было необходимо поддерживать в рабочем состоянии версии для PS3: код должен был компилироваться и выполняться, стабильность билда должна была проверяться, множество небольших неполадок в процессе сборки билда нужно было обнаруживать и исправлять, также надо было решать задачи с TRC. В результате мы назначили небольшую группу (а точнее двух программистов и одного QA-специалиста) для постоянной работы над этой платформой. Когда они сталкивались с проблемой, которую не могли решить сами, они обращались к другим членам команды за помощью в конкретных областях (звук, мультиплеер, пользовательский интерфейс и т.д.)

Чудесным образом такой подход сработал. К началу сентября, когда версия для Xbox 360 была близка к завершению, и у нас появилось больше ресурсов, оставалось довольно много нерешенных проблем по PS3. Игра не умещалась в память (как в основную, так и в видеопамять RSX). Время загрузки было неприемлемым, производительность была неадекватной, и большое количество TRC-проблем оставались открытыми. И все же у нас был достаточно стабильный билд, который мы могли собирать и тестировать ежедневно, как и на двух других платформах. Это было ключевым моментом. Теперь вся наша техническая команда была готова решить эти проблемы. Больше никаких элементов и функций не добавлялось, и у нас оставался целый месяц перед финальной отсылкой билда в Sony. Более того, многие технические трудности с PS3 были похожи на трудности с Xbox 360. У нас было много людей, которые только что справились с ними, так что мы обладали опытом и инструментарием. Процесс продвигался. Например, очень сложная задача оптимизации времени загрузки была решена Романом Лебедевым за неделю, и время загрузки сокращено с 4 минут до приемлемых по TRC 25 секунд.

В дополнение к этой стратегии, которая была успешно осуществлена, несколько других факторов сыграли критическую роль.

Марк Джеймс, технический директор Sierra, назначенный на наш проект, помогал нам установить прямой контакт непосредственно с производителями hardware и разработчиками middleware. Когда бы мы ни сталкивались с трудностями (что обычно случалось в 3 утра по московскому времени или в 2 часа пополудни на западном побережье Америки), мы могли позвонить техническим экспертам в Sony или Microsoft напрямую, задать конкретные вопросы и иногда совместно найти творческое решение проблемы, которое бы удовлетворяло техническим требованиям и было бы осуществимо в наших временных рамках. Это позволяло продолжать работу на следующий день и не тратить времени попусту. Использование электронной почты заметно снизило бы скорость работы.

Наконец, разработка устойчивого набора программных инструментов сыграла большую роль, особенно во время финального забега перед отсылкой голд-кандидата на PS3. Прекрасный пример - это анализатор производительности. Этот относительно несложный инструмент позволил нам отслеживать производительность отдельных участков кода и выводить результаты в файл, который можно было просматривать и анализировать позднее. Прохождение всех уровней было записано и проанализировано экспертами на предмет "узких мест" производительности и выявления проблем. Сейчас, когда TimeShift завершен, практически вся наша команда программистов занимается разработкой инструментария для нашего следующего проекта.

Балансировка и тюнинг

По мере приближения к стадии бета мы начали проводить демонстрации игры фокус-группам и внутренней команде тестеров Sierra. Результаты были ошеломляющими. На первой итерации демонстрационного уровня у нас было только три оппонента со слабейшим оружием, а игроки умирали снова и снова. Ни один человек в Saber даже не думал, что уровень может быть сложным. Это было индикатором больших проблем с балансом игры - ее недоступностью для основной аудитории.

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

Мы также выслушали представителей прессы, которые видели игру год назад и могли сравнивать две версии. Наибольшей критике подвергалось упрощение механизма управления временем. В версии 2006 года игрок мог сам выбрать любой их трех способов управления временем в произвольный момент, что не только требовало использования большего количества кнопок на джойстике, но также затрудняло процесс обучения игрока. После продления мы пришли к выводу (в результате проведения нескольких фокус-групп), что пользователь обучается использованию какой-то одной функции управления временем и никогда не экспериментирует с двумя другими. В результате было принято решение автоматизировать выбор - теперь была только одна кнопка и игра (или, скорее, костюм игрока, управляемый искусственным интеллектом) автоматически выбирала функцию. Такой подход не только облегчал управление, но также позволял дизайнерам выделить области, где определенные манипуляции со временем было невозможно использовать. Наибольшей проблемой TimeShift-2006 было то, что игрок мог нажать обратную перемотку в любой момент. Это существенно ограничивало нашу возможность создавать сложные сценарии эпизодов или даже такие простые вещи, как респаун оппонентов. Тем не менее, нововведение также раздражало большое количество пользователей, которые чувствовали, что главная черта игры - возможность свободно контролировать время - была у них отнята. Нам пришлось снова вернуться к стадии дизайна и придумать решение, которое бы сочетало обе схемы. Итогом были довольны наиболее осведомленные представители игровой прессы и игрового мира.


Старый и измененный TimeShift

Пресловутый режим кранча

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

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

Главным инструментом, имеющимся у нас в распоряжении, было соответствующее планирование и установление производственных процессов. Мы знали, что главным врагом является разочарование и пытались минимизировать его. К счастью, мы выучили уроки предыдущего кранча. Нет ничего более раздражающего, чем, проработав сверхурочно, не иметь возможности уйти домой после выполнения своих задач, потому что новая функция была реализована непосредственно перед отправкой билда и нуждается в тестировании.

Руководители направлений установили еженедельное расписание с жестким временем окончания внесения в базу изменений кода и данных. Билд для каждой платформы собирался ночью и тестировался на следующий день, так что, если имелись какие-то проблемы с кодом, данными или инструментами сборки билда, мы узнавали о проблеме сразу же, и практически не оставалось неприятных сюрпризов ко времени отсылки "официального" билда в Sierra.

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

На пике работы с билдами у нас было 12 тестеров, включая людей из Saber и Sierra, работающих в нашем питерском офисе. Им приходилось тяжелее всего во время кранчей. Ребята были вынуждены уходить поздно, зачастую после полуночи, после тестирования билда, и приходить рано для того, чтобы создать отчеты об ошибках и быть готовыми к просьбам остальной команды. Кирилл Морозов, начальник отдела тестирования Saber и наш "билд-мастер", настроил удаленный доступ из дома, контролировал и корректировал сборку билдов в течение ночи, иногда отвечая в 5 утра на звонки от тестеров из Лос-Анджелеса, когда что-то шло не так.

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

 
  стр. 1 из 2  

Copyright © 2019 ООО "ДТФ.РУ". Все права защищены.

Воспроизведение материалов или их частей в любом виде и форме без письменного согласия запрещено.

Замечания и предложения отправляйте через форму обратной связи.

Пользовательское соглашение