Build

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

Build — видеоигровой графический движок, используемый в играх жанра «Шутер с видом от первого лица». Является так называемым псевдотрехмерным, или 2,5D-движком, то есть обеспечивает визуализацию картинки путём развёртывания двухмерной карты в двухточечной проекции графики. Build является самым технически совершенным 2,5D-движком: его возможности превосходят более старые графические движки от id Software (Wolf3D и Doom).

(линк)

Краткая история версий Build

История[править]

Build появился на свет как результат трудов юного (на момент создания прототипа ему было всего 17 лет) американского программиста по имени Кен Сильверман. В 1992 году под впечатлением от Wolfenstein 3D он решил попробовать создать свою игру и написать для неё собственный графический движок. В июне того же года он закончил работу над прототипом, названным Walken (Walk+Ken). Осенью 1992 он значительно переработал игру, получившую новое название Ken's Labyrinth, и по совету отца предложил эту игру всем фирмам-издателям программного обеспечения в Соединённых Штатах. Распространял он её сперва сам, затем «Лабиринтом Кена» заинтересовалась компания Epic MegaGames, которая и стала её издателем. Уже в этом продукте видны черты будущего Build: на обширных игровых уровнях встречается много анимированных и интерактивных объектов —— в частности, игровые автоматы, из которых можно выбивать случайные полезные предметы в обмен на собранные монеты и питьевые фонтанчики для восстановления здоровья.

Спустя несколько месяцев Сильверман подписал контракт с фирмой Apogee Software на разработку нового графического движка для видеоигры-шутера с видом от первого лица. Новейшее на тот момент детище Джона Кармака, Doom engine, компания id Software не планировала продавать для использования сторонними разработчиками, а потому свой графический движок Apogee был очень нужен. Впрочем, без участия автора Wolf3D всё равно не обошлось — по воспоминаниям самого Кена, именно телефонный разговор с Кармаком помог ему придти к идее визуализации по секторам, после чего движок был переписан почти полностью.

Название движка появилось почти случайно: во время демонстрации в июне 1993 года прототипа движка Сильвермана спросили, как называется его движок. Кен до того никакого особенного названия не придумал, а потому предложил название исполняемого файла, который и запускал прототип движка — build.exe. Так и порешили.

Разработка Build шла с середины 1993 по декабрь 1995 года: ключевую часть работы по написанию движка выполнил именно Кен Сильверман, но ему также помогали программисты Apogee Тодд Реплогл, Аллен Блум, Джим Доуз и Марк Доктерманн.

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

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

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

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

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

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

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

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

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

Первой игрой на графическом движке Build, если не считать прото-Build в «Валкене» и «Лабиринте Кена», стала выпущенная осенью 1994 года тайваньской конторой Accord Legend of the Seven Paladins 3D. Игра использовала нелицензированную и пожалуй, самую раннюю из доступных версий движка, отличалась запредельной сложностью и множеством багов.

Первыми официальными играми на Build стали две малоизвестные игры от Capstone Software — Witchhaven и William Shatner’s TekWar, выпущенные в 1995 году. Capstone, в отличие от тайваньцев, честно купили лицензию на движок у Apogee. Эти программные продукты использовали ранние версии движка Build, не способные, к примеру, отображать наклон горизонтальных поверхностей (пола или потолка).

Сама же Apogee (в 1996 году переименованная в 3D Realms) использовала Build в играх Duke Nukem 3D и Shadow Warrior, а также достаточно щедро продавала лицензию на его использование другими студиями: помимо вышеупомянутых Capstone Software, движок использовала Monolith Production, выпустившая игру Blood. Следует отметить, что все последующие игры, как правило, использовали не исходный игровой движок, а его модифицированную для Duke Nukem 3D версию. Такой вариант Build использовался в развесёлом стрелялове Redneck Rampage, в пращурах микрожанра «военный шутер» NAM и WWII GI и в меметично ужасном многопользовательском FPS Extreme Paintbrawl.

Всего за пять лет коммерческой эксплуатации на графическом движке Build было выпущено 11 игр, что очень много: прямой его конкурент, полноценный трёхмерный движок id Tech 2 за тот же период времени был использован всего в пяти играх. Традиционно из игр на «Билде» этого времени выделяют «Великую Тройку» — три игры, в разработке которых принимал участие сам Кен Сильверман: Duke Nukem 3D, Shadow Warrior и Blood. Эти игры отличаются высоким качеством изготовления и потому лучше всех сохранились в народной памяти. Впрочем, иногда «тройка» расширяется до «четвёрки», с включением в её состав Redneck Rampage, также очень хорошей игры на Build. Остальное было или малоизвестно, или просто ужасно.

Дальнейшая судьба Build[править]

Некоторое время спустя, в начале 2000-х, и Сильверман, и компании-разработчики выложили исходный код игрового движка в открытый доступ, что позволило многочисленному моддерскому сообществу начать деятельность по адаптации устаревшего уже Build к современным операционным системам. Из таких работ следует отметить самый первый порт движка Duke Nukem 3D, EDuke, а также JFDuke3D, в работе над которым принимал участие сам Кен Сильверман, сочинив рендерер Polymost для работы с w:OpenGL. В дальнейшем оба этих порта получили развитие в форме EDuke32, наиболее совершенного варианта движка Build на настоящий момент: именно этот порт использует самая последняя коммерческая игра на Build, Ion Fury.

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

  • Кен Сильверман — американский программист, автор движка.
  • Ричард «Levelord» Грей — известный дизайнер игровых уровней. Начал свою карьеру и прославился именно как мастер выжимания всего возможного из дубовой геометрии Build.
  • Мэтт «Matteus» Сеттлер — автор EDuke. До того работал в Microsoft, а затем в Monolith Production. Был продакт-менеджером Blood и Blood 2; к слову, также занимался локализацией первых «Аллодов» на английский, французский и немецкий языки.
  • Джонотон(sic!) «JonoF» Фоулер — автор JFDuke3D. Также сделал Win-XP порт для Shadow Warrior.
  • Ричард «TerminX» Гобейлль — автор EDuke32. Работал над портом Duke Nukem 3D: Megaton Edition для 3D Realms и Gearbox, на настоящий момент руководит небольшой компанией-разработчиком Voidpoint, выпустившей Ion Fury.

Примечания[править]

  1. Аббревиатура от «What You See Is What You Get» (англ. «Что видишь, то и получишь»). Это значит, что интерфейс программы, в данном случае редактора, позволяет увидеть и оценить итоговый результат.
Видеоигры.png

Build входит в серию статей

Видеоигры

Посетите портал «Видеоигры», чтобы узнать больше.