Интервью с Риком Эллисом данное сайту HL2 Online Source
Рик Эллис: Есть несколько принципиальных отличий в картостроении для Half-Life 2. Например, теперь в Hammer появилась система для построения открытых пространств для создания или изменения любых ландшафтов на карте. Появилось большое количество новых объектов (entities) в купе с более ясной системой ввода/вывода для контроля связи между объектами.
Hoaxer: Можете вы объяснить нам разницу между наложениями (overlay) и деколями (decal)?
Рик Эллис: Наложения используются при создании материала, который может быть наложен на такую геометрию как дороги и т. д., которые могут изгибаться и скручиваться. Они не динамические (т. е. размещаются только в Hammer и не могут быть добавлены в течение игры).
В свою очередь деколи динамичны и используются для таких вещей как следы от пуль. Также их используют для надписей в игре, потому что они могут быть гораздо большего разрешения, чем окружающие текстуры и на их отображение тратится меньше ресурсов.
Hoaxer: Какое назначение двух новых кнопок на верхней панели с двух сторон от кнопки «Run Map» (их можно увидеть на двух доступных скриншотах Hammera)? Одна из них обозначена буквой «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 г.