Гордон Фримен

Half-Life Inside: всё о вселенной Half-Life

Интервью с Риком Эллисом данное сайту HL2 Online Source

Hoaxer: Первый вопрос касается картостроения — вы уже упоминали, что этот процесс будет очень похож на создание карт для оригинального Half-Life, но, вкратце, не могли бы вы рассказать, в чем будет отличие от создания карт на старом движке?
Рик Эллис: Есть несколько принципиальных отличий в картостроении для Half-Life 2. Например, теперь в Hammer появилась система для построения открытых пространств — для создания или изменения любых ландшафтов на карте. Появилось большое количество новых объектов (entities) в купе с более ясной системой ввода/вывода для контроля связи между объектами.


Hoaxer: Можете вы объяснить нам разницу между наложениями (overlay) и деколями (decal)?
Рик Эллис: Наложения используются при создании материала, который может быть наложен на такую геометрию как дороги и т. д., которые могут изгибаться и скручиваться. Они не динамические (т. е. размещаются только в Hammer и не могут быть добавлены в течение игры).

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


Hoaxer: Какое назначение двух новых кнопок на верхней панели с двух сторон от кнопки «Run Map» (их можно увидеть на двух доступных скриншотах Hammer’a)? Одна из них обозначена буквой «D». Другая, как я могу полагать — включает / выключает отображение вспомогательных информации, например, радиус объекта.
Рик Эллис: Кнопки (теперь их четыре) слева от «Run Map» используются для отображения информации о ландшафте, помогающей с легкостью строить/отлаживать карты. Кнопка справа отображает месторасположение объектов и используется для предметов наподобие вращающихся дверей: дизайнеры уровней смогут увидеть точку вращения. Обычно эту информацию не включают до тех пор, пока не начинают работать с определенными объектами.


Hoaxer: Вкратце расскажите о том, что делает ваша новая система ввода/вывода? Это замена свойства target (цель) для объектов?
Рик Эллис: Система «inputs and outputs» используется для передачи информации или действий триггеров между разными объектами. Это дает дизайнерам уровней некоторую свободу в управлении AI без использования головоломного программирования.


Hoaxer: В роликах мы видели много интересных моментов, таких как разбивание деревянных объектов. Вопрос в следующем: как вы делаете такое реалистичное поведение? Это заранее заготовленные анимации или это реализовано физическим движком, например, какая-то иерархия объектов?
Рик Эллис: Каждый объект в мире создан из «материала», который и задает свойства объекта. Например: какие обломки появятся при разбивании объекта, сила и вес объекта, может ли он плавать и т. д. Каждый появившийся обломок становится физическим объектом, у которого симулируется падение (отскакивание и прочие свойства).

Чтобы сделать такие комплексные объекты как, например, дверь из деревянных планок, несколько «props» соединяются вместе, и им в качестве родителя выставляется что-то (в нашем случае это дверь), так что эти объекты будут вести себя как одно целое, когда дверь будет открыта или закрыта. Так как каждый кусок — отдельный объект, его уничтожение вызовет ожидаемый результат: вы увидите как планка разбивается на деревянные обломки и выпадет из двери, в то время как остальная часть двери останется нетронутой.


Hoaxer: Изменился ли процесс создания различных сцен? Они все еще скриптуются? Я спрашиваю потому, что в роликах мы видели как у персонажей менялись даже эмоции. Как это реализовано с точки зрения дизайнера уровней?
Рик Эллис: Вы все еще можете создавать старые скриптовые сцены, которые проигрываются каждый раз одинаково и линейно. Однако теперь у вас появилась возможность создавать более живые сцены, являющиеся комбинацией анимации, звука и действиями персонажа (посмотреть на игрока, посмотреть в окно, пойти к столу, последовать за игроком, ответить игроку, поворчать на игрока и т. д.). Такие сцены более реальные и живые чем традиционные скриптовые сцены.


Hoaxer: Ответьте на вопрос, который волнует меня с тех пор, как я посмотрел ролики с E3 — каким образом вы создаете такие супер-реалистичные провода? НЕ могли бы вы показать скриншот Hammer’а с этим процессом?
Рик Эллис: У нас есть такой объект, как «веревка». Используя Hammer, вы можете задать количество сегментов, из которых состоит веревка/провод, для указания того насколько гибким будет объект при приложении к нему различной силы и насколько он будет «натянут».


Hoaxer: Как вы решили проблему смены уровней в Half-Life 2? Главная игровая местность — город, и на горизонте мы можем видеть другие здания — неужели карта настолько велика?
Рик Эллис: Это реализовано двумя способами. Первый — игра на самом деле поддерживает довольно большие уровни. Второй — использование «трехмерного неба (3D skybox)». То, что вы видите в городе — на самом деле трёхмерное небо, которое используется для симуляции большого пространства. 3D skybox это другой уровень, с измененным размером (мы используем размеры 16:1), который отрисовывается на горизонте. В то время как игрок не может пройти всю карту сразу, 3D skybox симулирует реалистичный горизонт и заставляет уровень выглядеть намного больше, чем он есть.


Hoaxer: Какой контроль мы имеем над камерой? Сможем ли мы менять её фокус с дальних объектов на ближние, чтобы создать эффект реальной камеры?
Рик Эллис: Вы можете делать много интересный вещей с камерой — например вращать её, следовать за другими объектами, и т. д., но на данный момент вы не сможете поменять фокус.


Hoaxer: Давайте перейдем к вопросам не связанным с дизайном уровней. Поддерживает ли движок Source OpenGL или он использует только DirectX?
Рик Эллис: Только DirectX.


Hoaxer: Возможно ли будет запускать не родные для Counter-Strike’а боты (и для других модификаций) с движком HL2? Или для этого нужно будет сильно изменить код?
Рик Эллис: Да, это возможно, но нужно будет внести небольшие изменения, чтобы боты нормально работали в HL2.


Hoaxer: Есть ли у транспортных средств особенный код для проверки столкновений? Т. е.: на скриншотах HL2 мы видели модели, который проходили через другие модели — будут ли транспортные средства частично «заезжать» в стенки / другие модели, как это было в оригинальном Half-Life, или у вас есть какая-то инверсная кинематика?
Рик Эллис: Транспортные средства, как и другие объекты, имеют свои собственные ограничивающие рамки, которые используются для проверки столкновений. В зависимости от точности того, как расставлены эти рамки, транспортные средства не будут «заезжать» в стены или модели.


Hoaxer: Новый редактор Hammer будет выпущен перед релизом SDK, как это было с Half-Life? Или вы собираетесь выпустить всё одновременно?
Рик Эллис: Мы планируем выпустить SDK в два этапа. Первый включает в себя всё, чтобы люди могли начать создавать уровни и модели. Второй будет содержать части кода AI / оружия для разработчиков модификаций.


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


Hoaxer: Какие программы будут входить в состав SDK помимо Hammer’а для создания уровней в Half-Life 2? Есть ли какие-то программы, о которых вы нам не говорили?
Рик Эллис: Ничего кроме компиляторов для файлов уровней.


Hoaxer: Сколько примерно времени уйдет на то, чтобы создать мимику лица для готовой модели, сделанной под движок первой Half-Life?
Рик Эллис: Не могу скачать точно, но конвертация существующей модели из Half-Life в Half-Life 2 не должна занять много времени.


Hoaxer: Большое спасибо за интервью! Удачи вам и вашей команде с Half-Life 2 и будущими проектами!
Рик Эллис: Спасибо, и спасибо вам за продолжительный интерес к Half-Life 2 и SDK.

15 декабря 2003 г.

Голосование

Valve ведёт разработку трёх новых игр. Будет хотя бы одна из них связана с Half-Life?

Система Orphus