Build

Материал из Posmotreli
Перейти к навигации Перейти к поиску

Build — старинный движок для игр в жанре FPS. Принадлежал к так называемым псевдотрехмерным, или 2,5D-движкам — то есть, отрисовывал картинку путём развёртывания двухмерной карты в двухточечной проекции. Build являлся самым технически совершенным 2,5D-движком, с намного большим количеством возможностей, чем движки Wolf3D и Doom.

(link)

Возможности

Возможности[править]

Исходный файл, который Build развёртывал в картинку — это двухмерная карта, состоящая из многоугольников — секторов. У каждого сектора была базовая форма в виде двухмерной фигуры, и заданные для него трёхмерные свойства (высота потолка, наклон пола, и т. д.). С помощью секторов реализовывалась базовая геометрия уровня: полы, потолки, стены, колонны, и т. д.

Что можно было так сделать, а что нельзя? Во-первых, у одного сектора мог быть только один пол и только один потолок. Соответственно, никаких многоэтажных конструкций, в которых два или более этажа видны сбоку, сделать на Build было нельзя. Была возможность поставить один сектор поверх другого, над другим, но только так, чтобы видно было зараз только один. То есть, можно было сделать две совершенно изолированные комнаты одна над другой, переход между которыми осуществлялся по коридору, но нельзя было сделать «этажерку» с видом сбоку. Впоследствии в некоторых версиях Build добавили так называемую прозрачно-портальную геометрию, через которую можно было связать эти две комнаты прозрачным порталом и создать иллюзию двух полов и двух потолков. Непрозрачно-портальная геометрия присутствовала в Build изначально, с её помощью реализовывались, например, вода, некоторые колодцы и лифты. Во-вторых, таким образом нельзя было сделать наклонный столб или стержень, торчащий из земли: любая поверхность, отличная от вертикальной, в Build реализовывалась с помощью наклонных полов и потолков.

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

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

Ещё одна важная фишка Build — переменный масштаб текстур. Например, дырки от пуль были детальнее, чем стены, на которых они торчали. В отличие от Doom, где один тексель равен трём сантиметрам, и точка.

Технические подробности[править]

Движок получился таким удачным из-за хорошей технологии рендеринга. Движок Doom разбивал секторы на «подсекторы», а стены на части (т. н. «отрезки», SEGS); Build действовал по-другому: он просто рисовал секторы, отмечая: видна граница или нет? Если видна, рисуем соседний сектор. И самое интересное: чтобы увидеть уровень в 3D, не нужно никакой предобработки! Так что часть работ выполняется в 3D, в самом настоящем WYSIWYG (то, что интерфейс редактора дрянной — это уже другой вопрос). На словах просто, но есть несколько алгоритмических уловок, с которыми, видимо, Кармак (автор Doom) и не справился.

Зеркала были просто копией комнаты. По этой комнате ходила копия Дюка, повторявшая за ним все движения.

Экономия памяти в Doom достигалась за счёт сборных текстур; в Build это убрали, но разрешили объекты, прилепленные к стенам. Так, например, устроены все кнопки.

Гениальному программисту Сильвермену тогда было всего 19 лет, да и код писался в одиночку, без ревизора (разработчику игры давали откомпилированные obj-файлы). Потому код движка страшен, как пекло — в отличие от красивого и структурированного кода Кармака.

    • Но он работает. А работает - не трогай. Прыжки и вращение камеры в DOOM появились только с портом движка на Windows и появлением zDoom.

Что на нём было[править]

После нескольких демонстраций (Ken’s Labyrinth, TekWar) движок попал в руки компании Capstone Software, и та выпустила неплохую игру Witchaven.

В 1996—1997 году на движке была сделана Великолепная Четвёрка Старых Шутеров:

А также ещё несколько ныне совсем малоизвестных игр:

  • The Legend of the Seven Paladins 3D — тайваньский шутер в азиатской стилистике, выпущенный за три года до Воина Тени. Сюжет основывается на романе «Трое храбрых, пятеро справедливых» (1883), широко известном в Китае, но не слишком — за его пределами, но несмотря на это, развесистой сакуры тут ничуть не меньше, чем у его великого последователя. А вот дизайн карт весьма победнее.
  • NAM и WWII GI — первообразцы жанра шутер про войну.
  • Exumed (он же Powerslave) — жуткий гибрид между аркадой-платформером (ограниченный запас патронов, невозможность сохраниться среди уровня, ограниченное число «жизней») и шутером в древнееегипетском антураже.
  • Ликвидатор — отечественная разработка 1998 года, изданная аж Акеллой. Сюжет невнятен, переход между уровнями неприятно удивляет отсутствием анимированной заставки, зато отражены реалии тех времён, да и карты хоть и победнее, но сделаны с любовью, чему не мешает даже явное подражание классике.
  • Plunder & Pillage — сделанный энтузиастом Джесси Петриллой шутер про пиратов. Как и другие поделия оного, получило ярлык «треш-шутера» (и ведь не сказать чтобы незаслуженно — сказалось отсутствие внятного бета-теста и своеобразное понимание баланса разработчиком), поэтому упоминания заслуживает исключительно ради истории.
  • Quest for Al-Qa’eda: The Hunt for Bin Laden и Quest for Hussein — изданные в 2002 году всё тем же Петриллой шутеры на актуальную тогда тематику. Именно то, что написано на упаковке.

Известные личности, связанные с движком Build[править]

  • Кен Сильверман — автор Build. Помимо программирования, увлекается трекерной музыкой.
  • Ричард Грей «Levelord» — известный левел-дизайнер, начавший свою карьеру и прославившийся именно как виртуоз выжимания всего возможного из дубовой геометрии Build. Оставил пасхальное яйцо со своим прозвищем в труднодоступном месте Duke Nukem 3D.
    • В Blood есть второе - "Levelord was here".