Икона компьютерных игр – Half-Life 2 – недавно отметила свое 20-летие, и Valve сделала все возможное. , выпустив новое крупное обновление, объединяющее игру с ее эпизодами и добавляющее трек с комментариями. Студия также выпустила двухчасовой документальный фильм о создании игры и о том, что происходило в Valve во время ее разработки, который просто переполнен увлекательными отступлениями о задачах, которые она ставила перед собой. И одной из них было освещение.
Разработка Half-Life 2 была основана на том, что многие сотрудники описывают как “технический список пожеланий”, на полную реализацию которого ушло шесть лет и который был абсолютно фундаментальным для того, чего Valve хотела добиться от игры.
“[It] Главной особенностью было то, что освещение было очень, очень реалистичным и интуитивно понятным благодаря движку Source и работе, сотрудничеству между художниками и инженерами”, – говорит ведущий художник Half-Life 2 Виктор Антонов, прежде чем представить нашего героя. “Кен Бердвелл, он был фанатом фотографии и правильного освещения”.
Кен Бердвелл был одним из самых первых сотрудников Valve (он покинул компанию в 2016 году) и, как почти каждый сотрудник Valve, за время работы носил множество шляп: Но его с полным правом можно назвать необычайно талантливым компьютерным инженером. На ныне несуществующем сайте Half-Life была опубликована биография Бердвелла, в которой перечислялись некоторые из его проектов: “внутрисхемные эмуляторы (CodeTap), 3D реконструкция поверхностей (Surfgen), инструменты для проектирования 3D протезов (Shapemaker) и спутниковые сети (Microsoft’s Broadcast PC). Он также написал одну из первых графических оболочек для многопользовательских онлайн-игр для Compuserve’s Sniper”.
Антонов действительно преуменьшает значение фотографии. В 1980-х годах Бердвелл работал в TeleCalc (компания по разработке программного обеспечения для B2B) и, очевидно, накопил достаточно денег, чтобы после ухода заняться своими увлечениями: В 1990-94 гг. он изучал живопись, фотографию и анимацию в Evergreen State University и получил степень бакалавра изящных искусств. Возвращаясь к Valve и Half-Life, следует отметить, что в первую очередь он работал над анимацией и искусственным интеллектом первой игры (а также придумал идею Человека-Г). Когда наступил момент выхода Half-Life 2, в мире, вероятно, не было никого более подходящего для того, чтобы заняться передовым освещением, которое требовалось Valve. Конечно, он сразу же заметил проблему.
“Математика, которую мы использовали, была неправильной”, – говорит Бердвелл. “И не только это, математика, которую использовали все, была неправильной. И когда я начал исправлять ее, я понял, насколько она была плоха… а потом я исправил ее, и внезапно все стало выглядеть великолепно!
“Мне пришлось рассказать ребятам из отдела аппаратного обеспечения, людям, которые делали аппаратные ускорители, что математика на их картах в корне неверна. Это заняло около двух с половиной лет. Я не мог убедить ребят, и в конце концов мы наняли Гэри МакТаггарта. [from 3DFX] и Чарли Брауна, и у этих парней было достаточно влияния и достаточно… У меня специальность “изобразительное искусство”, никто не будет меня слушать”.

Watch На
Давайте остановимся на этом моменте. Бердвелл улыбается, произнося последнюю фразу, которую мы допустим, потому что этот парень исправил математику, используемую для освещения так сложно , что производителям видеокарт пришлось изменить свою математику. Эта мысль показалась мне слишком увлекательной, чтобы оставить ее без внимания, и я обратился к Бердвеллу с просьбой немного расширить ее.
“Это немного технический вопрос, – начинает Бердвелл, – но простая версия заключается в том, что видеокарты того времени всегда хранили RGB-текстуры и даже отображали все как нелинейные интенсивности, то есть 8-битное RGB-значение 128 кодирует пиксель, который примерно на 22% ярче, чем значение 255, но графическое оборудование выполняло расчеты освещения так, как будто все было линейным.
“В результате освещение всегда выглядело неправильно. Если Вы пытались затенять что-то изогнутое, то затемнение из-за угла поверхности, направленного в сторону от источника света, слишком быстро становилось темнее. Как и в приведенном выше примере, то, что должно было выглядеть на 50% ярче, чем при полной интенсивности, на дисплее выглядело лишь на 22% ярче. Это выглядело очень неестественно, вместо красивой кривой все было затенено слишком экстремально, округлые формы выглядели странно преувеличенными, и не было никакого способа заставить все работать в общем случае.”
Бердвелл говорит, что это остается “очень распространенной графической ошибкой”, и даже сегодня некоторые области программирования требуют от кодера “помнить о том, что все значения растровых изображений, вероятно, нелинейны, Вы не можете просто сложить их вместе или смешать их или смешать их с линейными вычислениями без учета того, что ‘гамма-пространство‘, в котором вы работаете”.
Хорошая новость заключается в том, что “современные видеокарты теперь знают все это” и во время выполнения автоматически преобразуют любые нелинейные форматы “в линейные значения с плавающей запятой внутри видеокарты до того, как произойдет математическая обработка, так что это намного проще. Но это сейчас”.
Причина, по которой это происходит сейчас, вероятно, кроется в специализации по изобразительному искусству.
“На протяжении 90-х годов и, возможно, до начала 2010-х это было не так”, – говорит Бердвелл. “Вы должны были очень хорошо понимать, в каком “гамма-пространстве” Вы находитесь на каждом этапе процесса, иначе все выглядело бы очень странно”.
“Проблема заключалась в том, что когда я указал на это производителям графического оборудования в 99-м и начале 2000-х годов, я получил реакцию “Вы только что указали на то, что мои чипы в корне неполноценны, пока мы не разработаем совершенно новый кремний, я Вас ненавижу”. Это был не самый веселый разговор. Он проходил через стадии отрицания, гнева, торга и т.д., и все это в быстрой последовательности с каждым новым производителем.
“Я был очень рад передать эти разговоры недавно нанятым программистам графики HL2 Гэри МакТаггерту и Чарли Брауну, которые прорабатывали все это шаг за шагом на протяжении многих лет”.
Пытаясь связаться с Бердвеллом, я обнаружил не связанный с ним патент, выданный Valve в 2007 году, в котором он указан в качестве изобретателя. Патент #20070195090 относится к “Определению освещенности моделей с помощью абстракций окружающего пространства” и вкратце описывает “систему и метод определения освещенности модели в виртуальной среде”. Здесь очень подробно описывается точное нововведение Бердвелла, и, даже если это не имеет ничего общего с тем, что он описывает выше, становится ясно, что этот человек – своего рода бог освещения видеоигр.
Продюсер Билл Ван Бюрен говорит в другом месте документального фильма, что у Half-Life 2 было три ключевых принципа, и освещение было частью первого. “Сделать что-то захватывающее, – говорит Ван Бюрен, – визуально очень богатое и привлекательное, что-то больше похожее на то, что Вы увидите в фильме, а также художественное направление и технологии, чтобы сделать это”.
Valve, безусловно, добилась этого: Half-Life 2 и сегодня выглядит потрясающе. И есть много, много людей, ответственных за это достижение. Но Кен Бердвелл – это тот человек, благодаря которому освещение выглядит так хорошо, и он проделал настолько выдающуюся работу, что Вы, вероятно, можете утверждать, что каждая игра с тех пор выиграла от этого: Или, говоря по-другому, наши видеокарты, безусловно, выиграли от этого.