빌드(게임 엔진)

Build (game engine)
빌드 엔진
Build engine logo.png
Build engine screenshot.png
2D 모드의 빌드가 표시된 스크린샷
개발자켄 실버맨
초기 릴리즈1995년 9월 30일, 26년 전(1995-09-30)
저장소advsys.net/ken/buildsrc/
후계자빌드 2
면허증.소스 사용 가능[1]
웹 사이트advsys.net/ken/build.htm

빌드 엔진은 의 미로 작가 실버만3D 레름을 위해 만든 1인칭 슈팅 엔진입니다.Doom 엔진과 마찬가지로 Build Engine은 섹터라고 불리는 닫힌 2D 형상을 사용하여 2차원 그리드에 세계를 표현하고, 스프라이트라고 하는 단순한 평면 객체를 사용하여 월드 지오메트리를 물체로 채웁니다.

빌드 엔진은 일반적으로 2.5D 엔진으로 간주됩니다. 기본 월드 지오메트리가 2차원이고 높이 구성요소가 추가되어 각 섹터마다 천장 높이와 바닥 높이가 다르기 때문입니다.게임을 하는 것은 어떤 층은 더 낮을 수 있고 어떤 층은 더 높을 수 있다는 것을 보여준다; 천장에서도 마찬가지다(서로 관련).바닥과 천장은 섹터의 벽 중 하나를 따라 경사가 발생할 수 있습니다.이 정보를 통해 빌드 엔진은 실제 3D 환경을 만드는 현대의 게임 엔진과는 달리 3차원적인 방식으로 세상을 표현합니다.

빌드 엔진은 1996년 1인칭 슈팅 게임 Duke Nukem 3D에 힘을 실어줌으로써 대부분의 명성을 얻었지만, 다른 많은 게임에도 사용되었다.

기술적 특징

섹터

섹터는 레벨 레이아웃의 구성 요소로 위에서 보았을 때 2차원 폴리곤 아웃라인으로 구성되며 섹터의 윗면과 아랫면별도의 고도가 주어져 3차원 [2]공간을 만듭니다.따라서 모든 벽은 완벽하게 수직이며, 달리 보이는 것은 기술적으로 경사진 바닥 또는 천장입니다.게임 세계의 한 방은 여러 섹터로 구성될 수 있지만, 방이라는 단어는 이해를 돕기 위한 느슨한 대체물로 사용될 수 있고, 시차 보정된 하늘은 야외에 있는 듯한 착각을 줄 수 있다.섹터는 실시간으로 조작할 수 있으며, 이전Doom 엔진과는 달리 모양, 높이, 기울기와 같은 모든 속성을 게임에 의해 즉시 변경할 수 있습니다.이를 통해 게임들은 [2]Blood에서 볼 수 있는 것과 같은 파괴 가능한 환경을 가질 수 있었다.이 기술은 유사한 동적 환경을 특징으로 하는 초기 Apogee 소프트웨어 제목 Rise of the Triad의 푸시월 사용과 유사합니다.

엔진을 기반으로 한 게임 개발자는 종종 "섹터 이펙터(sic)"라고 불리는 특별한 예약된 "스프라이트"(게임 객체)를 사용했는데, 이는 레벨 디자이너가 특별한 태그(정의된 의미를 가진 숫자)를 지정하면 역동적인 세계를 구성할 수 있게 한다. 섹터 벽과 바닥 영역에 유사한 태그 정보가 주어져 섹터에 특별함을 줄 수 있다.특성.예를 들어, 특정 섹터 이펙터는 플레이어가 플로어 위를 걸어 다른 섹터로 순간이동할 경우 플로어를 통해 떨어지도록 할 수 있습니다.실제로, 이것은 구멍을 통해 더 큰 방으로 떨어지거나 물 속을 탐색하기 위해 뛰어들 수 있는 수역을 만드는 데 사용될 수 있습니다.섹터에는 엘리베이터나 리프트처럼 동작하는 태그를 붙일 수 있습니다.

섹터가 동시에 표시되지 않는 한 섹터가 서로 겹칠 수 있다(두 개의 겹치는 섹터가 동시에 보이면 거울의 홀([3]hall of mirror) 효과가 발생한다).이를 통해 설계자는 다른 방의 상부에 걸쳐 확장되어 있는 것처럼 보이는 공기 덕트를 만들 수 있었습니다(다만, 편집 공정의 대부분에 사용되는 2D 관점 때문에 설계자가 그렇게 하는 것은 까다로울 수 있습니다).이를 통해 설계자는 물리적으로 불가능한 세계를 만들 수 있었습니다(예: 작은 건물의 출입구는 건물 자체보다 더 큰 방의 네트워크로 연결될 수 있습니다).이 모든 것이 엔진을 사용한 게임을 3D로 보이게 만들었지만 퀘이크 엔진을 사용한 퀘이크 같은 1인칭 슈터가 되어서야 엔진이 실제로 세계 기하학적 형상을 3D 정보로 저장하여 하나의 지도에서 다른 영역 위에 쌓아올리는 것이 매우 실현 가능하게 되었습니다.

복셀

Ken Silverman's Build Engine의 이후 버전에서는 선택한 아트 타일을 복셀로 만든 3D 객체로 대체할 수 있었습니다.이 기능은 Duke Nukem 3D에서 사용하기에는 너무 늦은 것처럼 보였지만, 이후 빌드 엔진 게임에서는 일부 볼 수 있었습니다.혈액은 복셀을 무기, 탄약 픽업, 파워업, 아이캔디(예: "요람에서 무덤까지" 수준의 묘비, "다크 카니발"의 일부 의자, 수정 구슬)로 사용한다.Shadow Warrior는 벽면에 설치할 수 있는 복셀(게임의 모든 스위치와 버튼은 복셀)을 통해 이 기술을 더욱 발전시켰습니다.

몇 년 동안 켄은 복셀을 기반으로 한 현대식 엔진을 개발했는데, 복셀이라고 알려져 있다.

방보다 방

빌드 엔진의 한 가지 제한 사항은 레벨 지오메트리가 지정된 벽에 대해 섹터 간에 하나의 연결만 나타낼 수 있다는 것입니다.따라서 위아래 공간이 있는 선반처럼 단순한 구조는 불가능하지만 스프라이트나 복셀을 대체할 수도 있다.여러 층의 건물은 기술적으로 가능하지만, 그러한 건물에 다른 창문 바로 위 또는 아래에 외부 창문을 포함하는 것은 불가능합니다.또한 각 층의 계단, 엘리베이터 및 기타 접근 방법에 대해 일부 자유를 취해야 합니다.

여러 빌드 엔진 게임(Shadow Warrior, Blood, Redneck Rampage)은 추가 렌더링 패스를 통해 다른 섹터에 "뷰포트"를 표시함으로써 이 문제를 해결했습니다.Room-over-Room(ROR)이라고 불리는 이 기술은 플레이어에게 매끄럽게 보입니다.ROR는 수직구조의 범위가 넓어진 것 외에 반투명 표면을 수면에 제공하기 위해 자주 사용되었습니다.ROR는 빌드 엔진 자체의 기능이 아니라 게임 개발자가 만든 "꼼수"였습니다.Duke Nukem 3D에서 사용된 속임수는 불투명한 수중 구역의 경우처럼 플레이어를 단순히 Rise of the Triad의 엘리베이터와 비슷하게 맵의 다른 지역으로 빠르게 이송하는 것이었습니다.

2011년에는 EDuke32에 True Room over Room(TROR)이라는 기능이 추가되어 여러 섹터를 수직으로 쌓을 수 있게 되어 각 섹터의 벽면이 서로 연결되어 수직 제한 없이 구조물이 가능해졌습니다.ROR과 TROR의 차이점은 TROR 섹터가 뷰 포털을 사용하여 별도의 위치에서 그리는 것이 아니라 지도 데이터와 편집기에서 물리적으로 겹친다는 것이다(쉽게 생성 및 시각화할 수 있음). 따라서 진정한 공간 초과가 가능하다.TROR은 EDuke32 소스 포트의 기능으로 게임 기능이나 트릭이 아닙니다.

빌드 엔진 게임 목록

빌드 엔진에 직접 구축된 게임
  • 록앤샤올린: Legend of the Seven Paladins 3D (1994년) (현지에서만 출시되어 빌드 엔진의 [4]초기 버전을 불법으로 사용)
  • Witchaven (1995)[2]
  • 윌리엄 샤트너의 테크워(1995년)[2]
  • 듀크 뉴켐 3D[5] (1996년)
    • 듀크 뉴켐 3D: 플루토늄 PAK (1996년)
    • 듀크 뉴켐 3D: 아토믹 에디션(1996년)
    • 듀크! ZONE II (1997년)
    • 듀크 엑스트레임 (1997년)
    • Duke it Out in D.C. (1997년)
    • 듀크 캐리비안: 인생은 해변이다(1997년)
    • 듀크: 핵겨울(1997년)
  • 파워슬레이브(유럽·세이레키 1999년 등장: 파라오의 후쿠카츠)(1996년)
  • 위카벤 II:의 복수 (1996년)
  • 혈액[5] (1997년)
    • 혈액: Plasma Pak (1997)
    • 블러드: Cryptic Passage (1997년)
  • 그림자[5] 전사 (1997년)
    • 그림자 전사: 트윈 드래곤 (1998년)
    • 그림자 전사: Wanton 파괴 (2005)
Duke Nukem 3D 코드를 기반으로 한 게임
미공개 빌드 엔진 게임
  • Fate (완성되지 않은, 데모만 존재)
  • Corridor 8: Galactic Wars (미완성, 소스 코드 사용 가능)
  • 그림자 전사: 치명적인 키스(1998년 1월 미공개, 스크린샷 공개)

발전

빌드 엔진은 Ken Silverman이 프로젝트 [3]초기에 John Carmack에게 조언을 구하기는 했지만 기본적으로 1인용 프로젝트였습니다.Silverman은 Build 데모를 바탕으로 3D Realms에 고용되었습니다.Silverman에 따르면, 그는 3D Realms에 입사한 후에도 엔진을 계속 개선했지만, 다른 3D Realms 직원들과 함께 프로젝트를 진행하지도 않았고 특정 [2]게임에 맞춰 엔진을 조정하라는 지시를 받은 적도 없었습니다.

소스 릴리즈 및 추가 개발

2000년 6월 20일(자신의 웹사이트에 따르면) Ken Silverman은 독점적인 비상업 라이선스[6][1]빌드 엔진 소스 코드를 출시했습니다.Silverman은 Id Software가 Doom 엔진의 소스 코드를 공개하는 선례를 남긴 후 팬들은 빌드 [2]엔진의 소스 코드를 공개하라고 그에게 압력을 가하고 있다고 설명했다.

초창기

Matt Saettler의 EDuke 버전 2.0은 Duke Nukem 3D를 수정하는 프로젝트로 빌드 소스 출시 직후 패키징을 위해 3D Realms로 전송되었으며, Duke Nukem 3D는 원래 Duke(Duke 3DDuke 3D 모두)와 함께 사용되었던 사전 빌드된 라이브러리입니다.

Saettler는 2.1 프라이빗 베타와 함께 Silverman의 빌드 소스를 Duke 소스 코드에 통합하기 위해 노력했지만, 이 프로젝트는 매우 복잡한 프라이빗 베타보다 더 많은 것을 생산하기 전에 무산되었다.빌드 게임의 일부 총 변환 팀은 Silverman's Build 코드에서 직접 작업하기로 결정했으며, Mapster로 알려진 빌드 편집기의 향상된 버전도 개발되었습니다.

당시 3D Realms 포럼에서는 멀티태스킹 환경에서는 사용할 수 없는 대용량 연속 메모리 블록이 필요했기 때문에 빌드를 멀티태스킹 OS에 이식하는 것은 불가능하다고 주장했습니다.현대의 모든 운영체제는 연속적인 물리 메모리를 사용하지 않고 연속적인 논리 메모리를 취득할 수 있는 가상 메모리를 사용하고 있기 때문에, 이러한 OS에 빌드를 이식하는 것은 불가능하다는 것이 당시의 통념이었습니다.

Duke Nukem 3D 소스 릴리즈

2003년 4월 1일, 수년간의 반대 주장 끝에 3D Realms는 GPL-2.0 이상의 라이선스로 Duke Nukem 3D에 소스 코드를 공개했습니다.얼마 지나지 않아, 라이언 C 둘 다. Gordon과 Jonathon Fowler는 빌드 엔진을 포함한 게임의 소스 포트를 만들고 출시했습니다.Windows(Windows 2000/XP 포함)의 NT 라인과 Linux 및 기타 Unix 운영 체제에서 Duke Nukem 3D를 잘 재생할 수 있었고 소스 포트에 대한 관심이 급증했습니다.

icculus.org 포트

라이언 C. 고든(icculus)은 다른 사람의 도움을 받아 SDL을 사용하여 엔진의 첫 번째 포트를 만들었습니다.포트는 처음에 Linux로, 그 다음에 Cygwin으로, 마지막으로 Watcom C++ 컴파일러를 사용하여 네이티브 Windows 빌드로 구성되었습니다(Watcom C++로 컴파일된 경우에도 빌드는 플레인 C).Matt Saettler가 이 기능을 사용하여 EDuke를 Windows로 이식한다는 이야기도 있었지만 아무 것도 나오지 않았습니다.

JonoF 포트

두 번째 소스 포트는 Jonathon Fowler(JonoF)에 의해 Windows로, 나중에 Linux 및 Mac OS X로 만들어졌습니다.이 포트인 JFDuke3D는 처음에는 네트워크 게임을 지원하지 않았지만 나중에 개발 중에 추가되었다.

폴리모스트

빌드 엔진을 진정한 3D 렌더러로 업데이트하는 작업은 Silverman이 직접 수행했습니다.Polymost의 릴리즈 노트에서 그는 다음과 같이 말했습니다. "Duke Nukem 3D 소스 코드를 출시했을 때, 저는 누군가가 OpenGL 또는 Direct3D 포트를 할 것이라고 생각했습니다.음, 몇 달이 지났지만, 진정한 하드웨어 가속 빌드 항구에서 일하는 사람의 흔적은 보이지 않았습니다. 단지 사람들이 불가능하다고 했을 뿐입니다.결국, 나는 이 일이 일어날 유일한 방법은 내가 직접 하는 것이라는 것을 깨달았다."[7]

Polymost 렌더러는 OpenGL을 사용하여 3D 하드웨어 가속 그래픽을 사용할 수 있습니다.또한 게임 본래의 텍스처를 다양한 포맷의 고해상도 대체로 대체할 수 있는 기능인 "하이타일"을 도입했다.Polymost는 Jonathon Fowler의 JFBuild, JFDuke3D, JFShadowWarrior 및 코드 베이스에서 파생된 소스 포트에서 사용되고 있습니다.

EDuke32

EDuke 2.0의 소스는 나중에 공개되었고[when?], EDuke 2.1의 마지막 비공개 베타 소스가 그 뒤를 이었다.Richard Gobeille(TermX)은 EDuke 2.0 소스를 JFDuke3D와 병합하여 EDuke32를 만들었습니다.icculus 코드를 기반으로 또 다른 포트인 Wineduke는 그 후 소멸되어 EDuke32는 아직 개발 중인 유일한 EDuke 포트입니다.

EDuke32는 NAM과 제2차 세계 대전 GI의 게임도 지원하며, 이는 EDuke가 이 게임들의 코드를 기반으로 했기 때문입니다.

고분자

2009년 4월 1일, OpenGL 셰이더 모델 3.0 렌더러가 EDuke32용으로 개발되었으며, Ken Silverman의 Polymost와 구별하기 위해 Polymer라는 이름이 붙여졌습니다.처음에는 만우절 장난인 줄 알았지만, 나중에 대여자가 공개되었다.실시간 다이내믹 컬러 조명 및 섀도 매핑, 스펙컬러노멀 매핑, 기타 셰이더 기반 기능 등 최신 효과를 얻을 수 있으며, Polymost에 수년간 추가된 대부분의 기능을 사용할 수 있습니다.폴리머는 완전히 사용 가능하지만 기술적으로 불완전하고 최적화되지 않았으며 아직 개발 중입니다.EDuke32의 개발자들은 폴리머가 속도를 위해 다시 작성되면 우수한 렌더러이기 때문에 폴리머를 완전히 대체할 수 있으며 폴리머와 동일하게 보이게 할 수 있다고 밝혔습니다.

기타 게임 포트

빌드 GDX
개발자알렉산더 [M210]" 마카로프
초기 릴리즈2018년 1월 12일, 4년 전(2018-01-12)
안정된 릴리스
1.04 / 2019년 9월 13일, 2년 전(2019-09-13)
저장소gitlab.com/m210/BuildEngine
플랫폼자바
유형게임 엔진
면허증.소스 사용 가능
웹 사이트m210.duke4.net

섀도 워리어 소스 코드는 2005년 4월 1일 GPL-2.0 이후 라이선스로 출시되었으며 JonoF는 2005년 4월 2일 소스 포트인 JFShadowWarrior를 출시하였다.그러나 그는 섀도우 워리어 소스코드[8]공개되기 약 1주일 전에 접근할 수 있었다고 시인했다.이 포트는 나중에 ProASM에 의해 SWP [9]포트로 포킹되었습니다.

수혈 프로젝트는 블러드 인 더 다크 플레이스 엔진을 재현하는 것을 목표로 했지만 2006년 현재 이 프로젝트는 완전한 데스매치 멀티 플레이어를 가지고 있지만 아직 완성되지 않았습니다. 비슷한 프로젝트는 블러드입니다.모든 모노리스를 재생성하는 CM은 EDuke32 위에 Blood를 위한 싱글 플레이어 레벨과 일부 Blood 자산과 레벨을 ZDoom에 이식하는 ZBlood를 만들었습니다.

Witchaven, Witchaven II: 복수, William Shatner의 TekWar, 그리고 Corridor 8: Galactic Wars의 소스 코드도 또한 표면화되었다.그러나 이들의 법적 지위는 불분명하다.Blood의 알파 버전에 대한 전체 소스 코드도 유출되었으며, Blood라고 불리는 LibGDX를 사용하여 Java에 대한 다른 역설계된 포트의 참조로 사용되었습니다.2017년 [10]5월 GDX.

2016년 1월에 발매된 저자의 이전 항구인 TekWar에 이어 Witchaven, Redneck Rampage, Duke Nukem 3D, Powerslave, Legends of the Seven Paladins Shadow Warrior에 이어 현재는 모두 BuildGDX로 불리고 있습니다.

EDuke32와 크리에이터의 이전 Rednukem 포트인 Redneck [11]Rampage를 기반으로 2019년 1월에 NBlood라고 불리는 또 다른 Blood 포트가 출시되었습니다.PCExhumed라고 불리는 파워슬레이브용 EDuke32 포트는 2019년 [12]11월 21일에 출시되었습니다.

소스 포트 Raze는 JFDuke3D, SWP, NBlud, Rednukem, PCExhum 등의 다양한 빌드엔진 포트를 포크로 하여 GZDoom[13]기반한 새로운 기본 백엔드에 연결합니다.

후계자

Silverman은 Build의 후속 제품 설계를 여러 차례 시도한 후 2006년에 다시 이러한 아이디어를 실험하기 시작했습니다.그는 2007년부터 2009년까지 여름 캠프에서 아이들에게 3D 게임 프로그래밍을 가르치는 동안 현재 빌드 2라고 불리는 이 작품을 사용했고, 이 프로젝트에 흥미를 잃은 2011년까지 작업을 계속했습니다.한층 더 진보된 조명 시스템, 실체를 위한 복셀 렌더링 및 Room-over-Room 3D 공간을 갖추고 있으며, 적어도 부분적으로는 원래의 Build와 역호환성을 유지합니다.실버맨은 2018년 [14][15]3월 7일 그의 초안을 대중에게 공개했다.소스 코드는 2019년 [16]6월 8일 독점 비상업 라이선스에 따라 게시되었습니다.

레퍼런스

  1. ^ a b "buildlic.txt". 2000-06-20. Archived from the original on 2017-05-12.
  2. ^ a b c d e f Rule, Duncan (Summer 2009). "Building Classics". Retroaction. No. 2. pp. 8–15. Retrieved 26 December 2021.
  3. ^ a b Zak, Robert (13 April 2016). "The Beauty of the Build Engine". RockPaperShotgun.
  4. ^ "TWIM". A History of Korean Gaming. Hardcore Gaming 101. Retrieved 2017-07-01.
  5. ^ a b c "3D Realms". Next Generation. No. 10. Imagine Media. October 1995. pp. 99–102.
  6. ^ "Ken Silverman's Build Engine Source Code Page". Retrieved July 7, 2008.
  7. ^ Fowler, Jonathon (October 9, 2005). "Release Notes for JFDuke3D". JonoF's Games and Stuff. Archived from the original on June 17, 2014.
  8. ^ Fowler, Jonathon (3 April 2005). "JFShadowWarrior". JonoF's. p. 1. Retrieved 3 August 2011. …I [JonoF] did have a week head start…
  9. ^ ProASM의 SWP 포트
  10. ^ Alex Walker. "You Can Play The Original Blood Using Java Now". Kotaku. Retrieved 2020-08-15.
  11. ^ Liam Dawe. "NBlood, an open source port of the classic FPS 'Blood' using EDuke32". GamingOnLinux. Retrieved 2020-08-15.
  12. ^ Liam Dawe. "Exhumed/PowerSlave can now be played easily with a cross-platform game engine". GamingOnLinux. Retrieved 2022-03-19.
  13. ^ Liam Dawe. "Raze - a new open source fork of EDuke32 backed by GZDoom tech". GamingOnLinux. Retrieved 2020-08-15.
  14. ^ Tarason, Domonic (9 March 2018). ""Ken Silverman's long-lost BUILD2 engine released"". Rock, Paper, Shotgun. p. 1. Retrieved 23 June 2018.
  15. ^ Wawro, Alex (9 March 2018). ""Now you can muck around with the Build Engine successor: Build"". Gamasutra. p. 1. Retrieved 23 June 2018.
  16. ^ "BUILD2 Demo and Tools". advsys.net. Retrieved 2019-08-22.

외부 링크