New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Build engine — Википедия

Build engine

Материал из Википедии — свободной энциклопедии

Build Engine
Тип Игровой движок
Разработчик Ken Silverman
ОС DOS
Лицензия
Сайт http://advsys.net/ken/build.htm

Build engine это игровой движок шутера от первого лица созданный Кеном Сильверамном для 3D Realms. для таких игр как Doom, Build engine проецирует игровой мир на двухмерную сетку из замкнутых фигур на плоскости, названых сектора, и использует простейшие плоские объекты, называемые спрайты для население геометрического мира объектами. Такой движок принято называть 2.5-мерным движком, в основе мира которого лежит плоскость с добавленой компонентой выстоы. Кажый сектор может иметь разную высоту пола и потолка а также разный наклон пола и потолка. В результате рендеринга мир выглядит трехмерным. Также обсчет перспективы основывается только на горизонтальном расстоянии (примечательный факт, что все вершины строго вертикальны вне зависимости от угла зрения). Это вызывает значительное размазываение изображени при взгляде вверх или вниз на большие углы в большинстве игр на движке Build.

Содержание

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

[править] Сектора

Сектора - основная составляющая геометрии уровня. С секторами можно работать в реальном времени. Их параметры (высоты, форма, углы наклона) не требуют пересчета при изменении. Это позволяет делать окружение в игре более интерактивным, например разрушаемым (как в Blood). Разработчики использовали зарезервированные спрайты (секторэффекторы), которым присваивались специальные верхние (hi-tags) и нижние (lo-tags) теги (числа с определенным смыслом), которые позволяли делать мир более динамичным (например двери, взрывающиеся бочки и т.п.). Такие же теги могут быть заданы полу и потолку сектора для придания особых своиств. Например игрок, проходящий по полу со специальными тегами, проваливался вниз и выпадал из другого потолка со спецаильными тегами. На практике это применялось для создания водоемов. Сектору могут быть присвоены теги, которые превращают его в дверь или лифт. Сеткора могут перекрывать друг друга так, чтобы один не был виден из-за другого (если в такой ситуации видно сразу два сектора, то с сильнейшими искажениями). Это позволяло создавать, например, вентеляционные шахты, находящиеся над помещениями (правда это значительно затрудняло дальнейшую работу с этой частью уровня, т.к. почти все время разработчик проводит в двухмерном режиме). Также это позволялет создавать невозможные с точки зрения физики, миры (напр. система помещений в здании, которая больше самого здания). Все эти эффекты делали мир похожим на трехмерный, пока не полявился движок Quake.

[править] Воксели

Поздние версии движка позволяли заменять изображения в игре на терхмерные объекты, сделанные из вокселей. Эта возможность появилась слишком поздно для того, чтобы использовать ее в Duke Nukem 3D, но была использована в других играх. Blood использует воксели для оружия, патронов, улучшений, и различных украшений (таких как надгробия на уровне Cradle to Grave). В Shadow Warrior эти технологии используются еще более умело, теперь воксели можно поместить на стены (все кнопки в игре это трехмерные объекты) и даже рудиментарный режим трехмерности врагов, который можно включить или вылючить клавишей F5, заменяющий спрайты врагов на трехмерные объекты. Правда в Shadow Warrior этот режим не был отлажен и имеет много багов. Несколько лет Кен работал над движком Voxlap, берущим за основу воксельную технологию.

[править] Комната над комнатой

Некоторые игры на движке Build engine использовали трюк с объединением пола и потолка у двух секторов. Создание таких конструкций во время редактирования уровня было затруднено, поэтому часто сектора перемещались во время загрузки уровня (что упрощало расчеты, выполняемые движком для отрисовки). Технология комната-над-комнатой применялась в Shadow Warrior (смещение секторов во время загрузки карты) и Blood (без смещения). Сама технология не была заложена в движок, до нее додумались разработчики.

[править] Игры на движке Build engine

  • Игры, написанные на первичном Build engine.
    • Blood (1997)
    • Duke Nukem 3D (1996)
    • PowerSlave (Exhumed в Европе) (1996)
    • Shadow Warrior (1997)
    • William Shatner's TekWar (1995)
    • Witchaven (1995)
    • Witchaven II: Blood Vengeance (1996)
  • Игры, написанные на кодах Duke Nukem 3D
    • Extreme Paintbrawl (1998)
    • NAM (1998)
    • Redneck Deer Huntin' (1997)
    • Redneck Rampage (1997)
    • Redneck Rampage Rides Again (1998)
    • WW2 GI (1999)
  • Игры, которые не были выпущены
    • Legend of the Seven Paladins (закончена, но никогда не издавалась, т.к. использовала движок Build engine не легально)
    • Fate (существует только демо)
    • Corridor 8: Galactic Wars (доступны исходные коды)

[править] Открытие исходных кодов для дальнейшей разработки

20 Июня 2000 г. (если верить сайту движка) Кен открыл исходные коды движка.

[править] Дальнейшее развитие

Версия 2.0 (первый и единственный официальный релиз) EDuke от Мэт Саетлера (проект для улучшения Duke Nukem 3D) был отослан в 3D Realms (исходники Duke Nukem 3D и EDuke были по прежнему в закрытом доступе). Работая с бета-версией 2.1, Мэт пытался встроить исходники Build в исходники duke, но проект был закрыт прежде чем появились отлаженные публичные версии. Несколько команд, занимавшихся тотальной конверсией игр на Build, решили работать прямо с исходниками Build engine Кена, а не исходниками Duke. Позже, в результате работы появился редактор mapster. Долгое время портирование движка Build на многозадачные операционные системы из-за необходимости очень больших участков памяти компьютера, которых не было в многозадачных ОС. Проблема решалась подключением виртуальной памяти.

[править] Исходные коды Duke Nukem 3D

Первого апреля 2003 года 3D Realms опубликовали исходные коды Duke Nukem 3D несмотря на то, что на протяжении длительного времени утверждали что этого никогда не случится. После этого очень скоро появились порты Icculus и JonoF. На сегодняшний день возможно без проблем играть в Duke Nukem 3D на NT семействе Windows (включая Windows 2000/XP) и интерес к портам угас.

[править] Порт icculus.org

Райн Горден (icculus) с посторонней помощью создал первый порт движка с использованием SDL. Изначально это был порт для Linux, после для Cygwin и еще позднее для чистой Windows (при сборке использовался компилятор Watcom C++, который использовался и для оригинальной DOS сборки (с точностью до того, что для Windows использовался Watcom C++, а Build написан на обычном C). Шли слухи о портирования EDuke на Windows, но ничего не произошло.

[править] Порт JonoF

Второй порт на Windows и позднее, на Linux от Джонатана Фоулера (JonoF). В отличии от icculus порта, этот порт использует DirectDraw вместо SDL на Windows и работает значительно быстрее. Долгое время движок не поддерживал мультиплеер, потом появилась поддержка мультиплеера только для двух игроков.

[править] Система Polymost (Полимост)

Автор движка взялся за задачку обновления Build engine до полноценного трехмерного движка. В примечаниях к релизу JFDuke3D, Сильверман пишет:

When 3D Realms released the Duke Nukem 3D source code, I thought somebody would do a OpenGL or Direct3D port. Well, after a few months passed, I saw no sign of somebody working on a true hardware-accelerated port of Build, just people saying it wasn't possible. Eventually, I realized the only way this was going to happen was for me to do it myself.

Когда 3D Realms опубликовали исходные коды Duke Nukem 3D, я думал кто-нибудь сделает OpenGL или Direct3D порт. Через несколько месяцев я понял, что никто не работает над использованием настоящего аппаратного ускорения в Build, люди просто говорят что это невозможно. Позже я осознал, что единственный способ чего-либо добиться, это сделать все самому.

Система отрисовки полимост использует OpenGL для аппаратного 3D ускорения. Также введена технология хайтайл (hightile), позволяющая заменять стандартные игровые ресурсы более качественными в различных форматах.

Полимост был использован в JFBuild от Джонатана Флауера, JFDuke3D, JFSW, и других портов основанных на этой кодовой базе.

[править] Другие порты

Исходные коды EDuke 2.0 были опубликованы. Это позволило добавить к EDuke возможности порта JonoF и движка Build engine 2.1, вскоре появился EDuke32, но на сегодняшний день в разработке находится только EDuke. Исходник последней личной бета-версии Eduke 2.1 (которая никогда не была доведена до релиза) был также опубликован после исходных кодов EDuke 2.0. Также появился порт, основанный на ICCULUS, имеющий кодовое название wineduke, разработка которого на сегодняшний день не ведется. Eduke содержал элементы исходных кодов Nam и WW2 GI что возможно упростило разработку. Также был была попытка воссоздать Blood на движке DarkPlaces и назвать Transfusion, но на 2006 этот порт находится еще на стадии ранней разработки. Исходные коды Shadow Warrior были опубликованы первого апреля 2005 года и JonoF опубликовал порт на игру второго апреля 2005 года. Правда, он утверждает что имел доступ к исходным кодам Shadow Warrior за неделю до их публикации. Ихсодные коды Witchaven, Witchaven II, Tekwar и Corridor 8 были также опубликованы. Правда под вопросом находится легальность их публикации.

[править] Ссылки

[править] Русскоязычные ресурсы

[править] Англоязычные ресурсы

 
На других языках

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu