Вторник
22.07.2025
01:06
Главная страница SITE LOGO Приветствую Вас Гость | RSS Регистрация
Вход
Меню сайта

Наш опрос
Оцените мой сайт
Всего ответов: 91

Начало » 2007 » Апрель » 11 » Статьи // Посмортем Half-Life 2
Статьи // Посмортем Half-Life 2
В процессе разработки Half-Life, который вышел в ноябре 1998 года, мы в Valve изобрели метод децентрализованного дизайна, который был назван Cabal Process (описан в декабрьском номере Game Developer за 1999 год, а также на сайте www.gamasutra.com): небольшая группа (cabal) специалистов разных областей собиралась и принималась за дизайн. Нужно ли говорить, что, когда мы начали работу над Half-Life 2, нам не терпелось проверить на деле ту же структуру и те же принципы. Однако ввиду масштаба сиквела мы столкнулись с рядом проблем применения Cabal Process. Поэтому нам пришлось слегка доработать процедуру, чтобы пользоваться ею дальше. В этой статье мы расскажем о модифицированном Cabal Process, который применялся при разработке Half-Life 2.

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

К тому времени как технология Source обрела осязаемые черты, мы оказались в ситуации, во многом схожей с началом Cabal Process для Half-Life, но имеющей ряд существенных отличий. С точки зрения дизайна это было хорошее начало. У нас на руках были последовательность событий, сюжетные подробности, описания ключевых персонажей, часть локаций и скетчей, а также довольно четкое представление, с какой технологией нам в итоге придется работать. С точки же зрения разработки мы имели в запасе только кучу сырья: кое-какое оружие, несколько неплохих монстров (и несколько посредственных) и фрагменты любопытных уровней. Как и в случае HL, на данном этапе разработки извлечь какие-либо плюсы из технологии было невозможно. Пройти игру целиком было нельзя, о стройной последовательности уровней не было и речи.

Чтобы вдохнуть жизнь в своих персонажей, Valve создала более 3 часов диалогов, ставших результатом кропотливой работы актеров
Когда мы составили окончательное представление о том, на что способен наш движок, и накопили достаточно наработок для дальнейшего дизайна, Cabal Process наконец заработал на полную катушку, как в старые добрые времена создания HL.

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

Снова в седле Каждая cabal-группа состояла из пяти-шести человек: половина - программеры, половина - левел-дизайнеры. Еще в процессе разработки HL мы нашли такой состав идеальным. В более крупных командах совещания были непродуктивными, мелкие же группы страдали от недостатка идей. Мы объединили левел-дизайнеров и программистов, поскольку чаще всего дизайн затрагивает изменения в AI, игровом коде и структуре уровней. В каждой команде присутствовал также один программист движка, который вносил в Source необходимые изменения. Все члены cabal-группы были тесно взаимосвязаны: левел-дизайнеры зависели от работы программистов, а программисты зависели от левел-дизайнеров, поскольку их код проверялся на готовых уровнях. Каждая cabal-группа работала в своем офисе - так разработчикам было удобнее общаться. Как показало время, это также способствовало расстановке приоритетов. Люди гораздо реже отвлекались на маловажные задачи, когда их товарищи по команде служили им немым укором.

Cabal-группа HL включала в себя художников и сценариста. Наличие нескольких групп в Cabal Process HL2 потребовало от нас сделать этих специалистов общим ресурсом. Мы создали группу художников, группу аниматоров и группу звукорежиссеров (которая состояла из одного человека). Арт-группа помогала всем с обликом уровней, монстров, персонажей на ранних этапах работы, а потом доводила уже пригодные для игры уровни до ума. Звукорежиссер добавлял предварительные звуки, а после того как уровень был готов, заменял их финальным вариантом. Группа по геймплею распределяла цели миссий и сюжетные вставки, а также отвечала за всю необходимую анимацию. Эта же команда выступала четвертой независимой группой по разработке ключевых сюжетных миссий, таких как Kleiner's Lab, Black Mesa East и Breen's Chamber.

Несмотря на значительные перемены в структуре Cabal Process, многое осталось без изменений. Трудовой процесс cabal-групп был практически тем же. Мы по-прежнему придерживались правила "Кто ищет - тот всегда найдет", твердо веря, что лучший дизайн рождается в процессе работы. Люди, которые хорошо знают, какие варианты действия возможны в каждом конкретном случае, непременно сделают лучший выбор. Мы продолжали порицать иллюзию единоличной ответственности: чем больше народу работает над составляющей игры - тем более качественной она выходит. Методы тестирования остались прежними, и мы пользовались ими, чтобы разрешать споры внутри cabal-групп. Каждая команда была полностью ответственна за соблюдение установленных стандартов качества на своих участках работы.

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

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

Сюжетные рамки
В Half-Life 2 три часа сцен с виртуальными персонажами, и запись диалогов для них была нелегкой задачей. Пару раз для этого потребовалось слетать в Лос-Анджелес, выгадать окно в плотном графике актера и успеть все записать за несколько студийных сессий.

В идеале нас устроил бы традиционный процесс написания сценария. Но только в том случае, если бы мы знали, в какие дебри нас заведет сама разработка. Сцены на движке нельзя было оставить «на потом» – нам некогда было бы их дорабатывать. А потому сюжет и игровой процесс развивались параллельно.

Поначалу обе эти ипостаси казались взаимосвязанными, что приняло форму интересной задачи: как позволить cabal-группам, занятым геймплеем, и результат чьей работы текуч и непредсказуем, свободно творить, не выходя при этом за жесткие сюжетные рамки? В конце концов мы сошлись на том, что сюжет определит лишь ключевые точки в развитии игрового процесса. Скажем, при создании глав Route Kanal и Water Hazard мы предположили, что игрок начнет с побега из Kleiner’s Lab под пулями солдат City 17 и в итоге окажется далеко за пределами City 17, в Black Mesa East. Разработку сюжетных подробностей между двумя этими пунктами мы нарочно отложили, чтобы вернуться к ней, когда на этом участке оформится игровой процесс. То есть до тех пор, пока cabal-группа по геймплею не выходила за рамки сюжетной концепции, она могла творить все, что казалось ей нужным.

Ранняя концепт-зарисовка улиц City 17
Когда игровой процесс очередной главы был готов, команда по геймплею встречалась с командой по сюжетным вставкам, и они вместе решали, на каком участке главы можно разместить сюжетный ролик. Некоторые из вставок были продиктованы геймплеем - вроде выдачи игроку очередного задания или пояснения игровой механики. Другие служили для развития истории или для мотивации игрока в ходе выполнения продолжительной миссии (например, постоянные напоминания в Route Kanal, что Гордону необходимо добраться до Эли). Наконец, прочие были призваны обогатить игровой интерес. И даже при строгом соблюдении рамок сюжет должен был оставаться достаточно гибким для требований геймплея. Например, главу Ravenholm в итоге поставили после Black Mesa East, потому что геймплей Ravenholm удалось значительно улучшить с появлением гравитационной пушки.

Искусство изнутриНоша по созданию арта для Half-life 2 была на порядок тяжелее, чем при разработке ее предтечи. В HL2 более 3500 моделей, 10000 текстур и оригинальные карты по 20Мб весом каждая (в HL для сравнения 300 моделей, 4000 текстур и карты по 3Мб). Это колоссальный вклад в качество графики. И чтобы выполнить такой объем работ, имея небольшую команду художников, нам пришлось оптимизировать процесс по производству арта и максимально оградить его от изменений в геймплее.

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

Агент апельсин
Оранжевые карты уровня Prison, использовавшиеся в тестах

Финальная версия Prison после обкатки оранжевой картыИзначально геймплей каждой главы создавался на оранжевых картах, в буквальном смысле этого слова: они имели оранжевую разметку на стенах и серую – на полу и потолке. Их применение позволило нам решить ряд проблем еще на ранних этапах работы.

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

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

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

Символические связи
Автор этого арта с Гордоном Фрименом - член комьюнити Half-LifeНесколько команд должны были одновременно работать над одним уровнем, и мы приложили все усилия, чтобы выстроить среду разработки вокруг независимых файлов, объединенных символическими связями. Символические связи – это понятные человеку ссылки, создаваемые в процессе работы, которые используют код и контент и ссылаются на другой кодо- и контентосодержащий источник.

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

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

Здесь приведено всего лишь несколько примеров, на деле мы использовали символические связи везде, где это было возможно. Основная стратегия заключалась в увеличении числа итераций, проводимых специалистом, за счет снижения стоимости каждой итерации, поскольку мы считаем, что чем больше итераций претерпел продукт – тем выше его качество. Снижение стоимости итерации автоматически снижает стоимость тестирования, поскольку тестирование – это всего лишь одна из итераций. Также технология символических связей позволила нам модифицировать игру намного ближе к релизу, поскольку взаимозависимости были устранены.

Глобальная слаженность
В основу дизайна каждой главы HL2 был заложен ряд фундаментальных принципов. Многие из них перекочевали из HL, но были и новые. Команда хотела пойти дальше по пути Half-Life, не забывая, однако, пройденного – того, что, на наш взгляд, сделало проект популярным. Задачей-максимум было создать захватывающую игру от первого лица, поэтому мы взяли на вооружение вышеперечисленные принципы (см. правую колонку "Принципы Half-Life").

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

Во-первых, мы стремились к экономному дизайну. Каждую команду мы побуждали задаться вопросом: хорошо ли дополнит данный элемент дизайна все прочие элементы? – и руководствоваться ответом в своем выборе. Это естественным образом вело к большей слаженности конечного продукта, поскольку одни и те же элементы использовались в игре повсюду.

Мы привлекали к игровому тестированию всю команду, чтобы плоды трудов одной cabal-группы увидели другие и могли применить удачные решения у себя. Например, группа создателей Ravenholm изобрела особенности взаимодействия гравитационной пушки с некоторыми объектами (вроде циркулярных лезвий). Это вдохновило творцов Citadel на изобретение сверхгравитационной пушки. Энергетические шары, родившиеся из этой идеи, использовала впоследствии cabal-группа Follow Freeman для открытия врат Nexus. А еще позднее их применили в качестве альтернативного режима огня для автоматов Combine.

Общекомандное тестирование помогло нам выявить ряд нестыковок в других областях: в качестве картинки, в бою, в паззлах и так далее. Если одна группа видела, что их коллеги создали что-то стоящее, они немедля собирались и обсуждали, где это можно применить.

Концепт-зарисовка тюремных клеток Цитадели
Поскольку некоторые элементы дизайна, такие как монстры и оружие, не считались с рамками cabal-групп, порой было трудно изменить эти составляющие, не нарушив целостность работы одной из команд. Проблему с дизайном оружия решили, создав отдельную группу, в которую вошли представители трех основных групп, а также хардкорные фанаты FPS и менее опытные игроки – мы стремились учесть интересы и тех, и других. Задачей группы по разработке оружия было создание разнообразной и сбалансированной подборки стволов, каждому из которых найдется применение, но при этом ни один из них не будет лучшим (пока мы не сочтем это нужным). "Оружейники" определяли время появления того или иного вида оружия в сюжетной цепи, чтобы не было "то густо, то пусто", и новые смертоносные игрушки поступали к игроку равномерно по ходу развития истории. Группа также работала с другими командами, обеспечивая оружию хорошо обставленное появление в игре и обилие поводов для его использования.

Вообще, многие наши менеджерские решения были продиктованы соображениями глобальной связности. Cabal-группы еженедельно пересматривали готовый материал совместно со смежными группами (художниками, аниматорами, менеджерами) с целью популяризации своих дизайнерских решений. Целью этих встреч было помочь командам работать со схожими масштабами, с одинаковыми планами, целями и методами. Где это было возможно, мы использовали сравнительные подсчеты ("Какое количество карт за одну дизайнеро-неделю вы стремитесь сделать?") для оценки производительности групп. Код постоянно публиковался – раз одна команда с ним работала, он должен был быть доступен всем - и использовался как еще одно средство популяризации решений. Мы всеми силами старались синхронизировать цели групп, что повысило эффективность наших игровых тестов и прочих межгрупповых механизмов взаимодействия. Таким образом, группы должны были одновременно решать схожие задачи, что привносило соревновательный элемент в их работу. К очередному плейтесту каждая команда старалась подготовить уровень получше и не ударить в грязь лицом.

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

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

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

Задачей Cabal Cabal было доносить отзывы до других групп, чтобы те работали над повышением общего качества проекта. Окончательное решение о том, как отреагировать на каждое замечание, принимала ответственная за данный участок работы группа. И ресурсы на достижение лучших результатов группы перераспределяли сами.

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

Слабыми местами считались раздражающие, невнятные, неинтересные или грубо сработанные места. Участки игры, которые утомляли перенасыщенностью, нарочно прерывались паззлами или искусственными паузами, в то время как пустующие отрезки были обогащены действием. Исправление некоторых недоработок выходило слишком дорогим, так что данные фрагменты в итоге приходилось вырезать. Такие "ампутации" давались нам нелегко, поскольку на каждый вырезанный на столь позднем этапе фрагмент было затрачено много сил. Благодаря этому мы усвоили, что болезненнее раннего удаления фрагмента игры может быть только его позднее удаление, поэтому лучше проявить решительность с самого начала. Однако мы напоминали себе, что переживаем за удаляемое куда сильнее потребителя, поскольку тот увидит лишь конечный продукт. Также мы утешали себя тем, что, убирая из игры лишнее, мы сможем уделить больше внимания улучшению оставшегося.

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

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

Некоторые решения попросту нельзя было принять раньше, поскольку они банально требовали большей степени готовности продукта. Например, оценка «хорошо» (или ее пугающая противоположность "не пойдет") носила довольно иллюзорный характер на этапе разработки Ravenholm и Nova Prospekt (эти два эпизода создавались первыми), зато обрела вполне ясные очертания, когда игра была полностью собрана. Подгонка уровня сложности и настройка усредненного темпа – вот две основные задачи, которые невозможно было решить, не имея на руках игры целиком.

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

Просмотров: 1306 | Добавил: chitak | Рейтинг: 0.0 |
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа

Календарь новостей
«  Апрель 2007  »
Пн Вт Ср Чт Пт Сб Вс
      1
2345678
9101112131415
16171819202122
23242526272829
30

Поиск по новостям

Друзья сайта


Copyright MyCorp © 2006Сделать бесплатный сайт с uCoz