ビルドエンジン(Build Engine)は、ケン・シルバーマンが3D Realmsのために開発したファーストパーソン・シューティングゲーム(FPS)向けのゲームエンジン。『Duke Nukem 3D』のゲームエンジンとして知られる。

概要 レベルデザイン的には『DOOM』で使われたDOOMエンジンと同様で、ビルドエンジンは「セクター」と呼ばれる閉じた2D形状を2次元グリッド上に配置することでワールドを表現し、そのワールドのジオメトリに「スプライト」と呼ばれるシンプルな平面オブジェクトを配置する。

ビルドエンジンは一般的に2.5Dエンジンとみなされている。というのも、基本的なワールドのジオメトリは2次元で、そこに単純に高さ要素を追加しただけだからである。ただし、各セクターごとに天井の高さと床の高さを別々に設定できる。ある床は低く、また別の床は高く設定することができ、天井も同様に設定できる。床と天井の高さはセクターの壁面ごとに決定することができるため、DOOMエンジンと違って傾斜をつけることができる。ビルドエンジンはこの高さ情報に基づいて、あたかも3Dに見えるようにワールドをレンダリングするだけの2.5Dエンジンなので、同時期の「モダン」な3Dのゲームエンジン(例えば『Duke Nukem 3D』と同じ1996年にリリースされた、『Quake』で使用されたQuakeエンジンなど)が真の3D環境を構築するのと比べると異なった趣きがある。

ビルドエンジンは、1996年にリリースされたFPS『Duke Nukem 3D』のゲームエンジンとして最も有名だが、他にも多くのゲームで使用されている。『西暦1999 ファラオの復活』や『Witchaven』など、癖の強い作品が多い。『Duke Nukem 3D』とともに「ビルドエンジン四天王」と称されるヒット作『Redneck Rampage』『Shadow Warrior』『BLOOD: One Unit Whole Blood』は、特に癖が強い。『Duke Nukem 3D』の大ヒットの後、既にリアル3DのQuakeエンジンが存在するのに敢えて『Duke Nukem 3D』と同じ2.5Dエンジンで制作されたゲームであるため、だいたい同じ趣向で、派手で、バカゲー要素が強い。ゲームライターのミル☆吉村は『ファミ通.com』に寄せた記事の中で、ビルドエンジンを用いて制作された作品群を「裏街道のカルト」と呼び、『Blood』や『Redneck Rampage』を例に挙げ、「ドロドロに暗いイッちゃってる」世界観の作品が多かったと述べている。

技術的特徴 セクター 「セクター」は各レベルのレイアウトの構成要素であり、上から見たときに2Dの多角形の輪郭で構成され、セクターの上面(天井)と下面(床)にそれぞれ異なる高さが与えられて3次元空間が作られる。従って、すべての壁面は完全に垂直であり、そうでないように見えるものは技術的に言うと傾斜した床または天井である。本項では分かりやすいように「部屋(room)」という用語を使って説明するが、実際はゲーム世界における1つの「部屋」は複数の「セクター」で構成され、部屋の外では視差のある「空(スカイ)」が表示されて本当に屋外にいるかのような錯覚を与えることができる。セクターはリアルタイムで操作できる。従来のDOOMエンジンとは異なり、形状、高さ、傾斜などのすべての属性は、ゲームの状況に合わせて臨機応変に変更できる。これにより、『Blood』で見られるような破壊可能な環境をゲームに持つことができるようになった。この技術は、3D RealmsがApogee Software(旧社名)時代にリリースした『Rise of the Triad』の「プッシュウォール(押すと動く壁)」とよく似た動的環境を提供する。

このエンジンをベースにしたゲームでは、特別に定義した「予約済みスプライト」(ゲームオブジェクト)を使用することができる。これらはしばしば「セクターエフェクター」とも呼ばれ、これに特別な「タグ」(意味が定義された番号)を付けることで、レベルデザイナーが動的なワールドを構築できるようになった。同様のタグ情報は、セクターの壁面や床エリアにも付けることができ、セクターにスペシャルな特性を持たせることができる。たとえば、特定のセクターエフェクターでは、プレイヤーがその上を歩くと床をすり抜けて別のセクターにテレポートするように設定できる。実際のゲーム内での使用例としては、これを利用して、穴に落ちてより大きな部屋に行ったりする効果や、飛び込んで水中を探索できる水域を作成することができた。タグ付けしたセクターを使って、エレベーターやリフトのような動作をさせることもできた。

セクターは、同時に表示されない限り、互いに重ねあわせることができた(2つの重なり合うセクターのスプライトが同時に表示されると、「hall of mirrors effect」と呼ばれる特徴的なちらつきバグが生じた)。これにより、デザイナーは、たとえば、あたかも別の部屋の上にまで伸びているかのように思わせるエアダクトを作成することができた(ただし、レベルデザインの編集プロセスでは基本的に2D視点が使用されるため、デザイナーが実際こういう凝ったデザインを行うのはいささか面倒だった)。これにより、デザイナーは物理的に不可能な世界を作成することができた(たとえば、小さな建物の出入り口が、建物自体よりも大きな部屋のネットワークにつながるなど)。これらの特徴をうまく使って、ビルドエンジンを使用したゲームは2Dワールドとスプライトがベースの2.5Dエンジンでありながら、あたかもリアルな3Dのように見えた。ゲームエンジンが実際にワールドのジオメトリを真の3D情報として保存し、単一のマップで1つのエリアを別のエリアの上に積み重ねるようなことが実現可能になるのは、FPSにおいては『Quake』(Quake Engineを使用)あたりの世代以降になる。

ボクセル ケン・シルバーマンが開発したビルドエンジンの後期のバージョンでは、ゲームの特定のアートタイルをボクセルで作られた3Dオブジェクトに置き換えることが可能になった。この機能は『Duke Nukem 3D』で使用するには遅すぎたが、後のビルドエンジンのゲームの一部で見られた。『Blood』では、武器や弾薬、パワーアップ、装飾的要素(「Cradle to Grave」レベルの墓石、「Dark Carnival」レベルの椅子や水晶玉など)にボクセルが使用されている。『Shadow Warrior』では、この技術がさらに高度に活用されており、壁に配置できるボクセルが使用されている(ゲーム内のすべてのスイッチとボタンはボクセルである)。

ケンは数年間、完全なボクセルベースのモダンなゲームエンジンである「Voxlap」の開発に取り組んでいた。

ルーム・オーバー・ルーム ビルドエンジンの制約の一つとして、レベルデザインの際はジオメトリにおいて、セクター同士の接続について任意の壁面ごとに1つしか設定できないという点が挙げられる。そのため、上下に空間のある棚のような単純な構造物ですら作成は不可能であるが、この程度のオブジェクトならスプライトやボクセルで代用できる場合もある。複数階建ての建物も技術的には作成可能であるが、そのような建物では、別の窓の真上または真下に外部窓を設けることはできない。加えて、各階への階段、エレベーター、その他のアクセス方法についても、いくつかの工夫が必要になる。

ビルドエンジンを使用したゲームのいくつか (『Shadow Warrior』、『Blood』、『Redneck Rampage』など) は、追加のレンダリング・パスで別のセクターの「ビューポート」を表示することでこの制約を回避した。このテクニックは、「ルーム・オーバー・ルーム(Room over room、ROR)」と呼ばれ、プレイヤーにはシームレスに見える。「ROR」は、建造物の範囲を垂直方向へと拡張する用途に加えて、水面の半透明を表現するためによく使用された。「ROR」はビルドエンジン自体の本来の機能ではなく、ゲーム開発者によって編み出された「トリック(小手先)」であった。この「ROR」が編み出される前、『Duke Nukem 3D』の不透明な水に潜るセクションにおいて、この制約を回避するために使用された「トリック」は、単に元のマップとそっくりのマップを別に作って、プレイヤーをそこの領域に素早く転送するというもので、『Rise of the Triad』のエレベーターとよく似たやり方だった。

2011年にEDuke32に「トゥルー・ルーム・オーバー・ルーム(TROR)」と呼ばれる機能が追加された。これは、複数のセクターを垂直方向に積み重ねることができ、各セクターの壁面がそれぞれ独立した接続を持つため、垂直方向に制限のない構造物を作成できる機能である。RORとTRORの違いは、TRORセクターはビューポータルを使用して別々の場所から描画されるのではなく、マップデータとエディタ上で物理的に重なり合うため(作成と視覚化が容易)、真のルーム・オーバー・ルームと呼ばれる所以である。TRORはEDuke32ソースポートの機能であり、ゲーム自体の機能やトリックではない。

ビルドエンジンを使用して制作されたゲーム

ビルドエンジン上で直接ビルドされたゲーム 発売年タイトル開発元備考1994Rock'n Shaolin: Legend of Seven Paladins 3DAccend Inc.ビルドエンジンの初期バージョンをライセンス違反の状態で用いており、台湾と韓国で発売された1995WitchavenCapstone SoftwareWilliam Shatner's TekWar1996Duke Nukem 3D3D Realms拡張パックとして Plutonium PAK, Atomic Edition, Duke!ZONE II, Xtreme, Duke it Out in D.C., Life's a Beach ,Nuclear Winterがある。PowerSlaveLobotomy SoftwareWitchaven II: Blood VengeanceCapstone Software1997BloodMonolith Productions拡張パックとしてPlasma Pak とCryptic Passageがある。Shadow Warrior3D Realms拡張パックとして Twin Dragonと Wanton Destruction がある。2024SkilanderHackers and Hiihtoliittoデモコンテスト・Revision 2024で作られた作品

『Duke Nukem 3D』のコードをベースとしたゲーム 発売年タイトル開発元備考1997Redneck RampageXatrix Entertainment拡張パックとしてRampage: Suckin' Grits on Route 66がある。1998Redneck Rampage Rides AgainRedneck Deer Huntin'Extreme PaintBrawlCreative CarnageNAMTNT TeamLiquidatorAkellaライセンス違反の状態で用いられており、ロシアで発売された。1999WWII GITNT Team拡張パックとしてWWII GI: Platoon Leader がある。Duke Nukem: Zero HourEurocom2002Plunder and Pillage Grins of DivinityPetrilla Enterprises BIG Productions2003Age of EvilBenjamin Richard "Yahtzee" Croshaw2005Borg NukemAngelloproduct2008Zombie CrisisPlush Digital2009Imagination WorldJS Games2010Imagination World 2JS Games2018Mr The KillerSeb_Luca2019Ion FuryVoidpointvia EDuke32.2022A.W.O.L.Shotspark Studios

未発売のゲーム Fate (未完成、デモ版のみ存在) Corridor 8: Galactic Wars (未完成、ソースコードのみ現存)

開発 Build Engineは基本的にケン・シルバーマンによる一人プロジェクトだったが、プロジェクトの初期段階では「セクター」というアイデアの実装に関して(「Wolfensteinエンジン」および「DOOMエンジン」の開発者であり、当時はQuakeエンジンを開発中の)ジョン・カーマックに助言を求めた。シルバーマンはビルドエンジンのデモ版に基づいて3D Realmsに採用された。3D Realmsに入社後もエンジンの改良を続けたが、シルバーマンによれば、プロジェクトで他の3D Realms社員とチームを組んだことはなく、特定のゲームに合わせてエンジンを調整するよう指示されたこともなかったという。

参照

外部リンク Ken Silverman's Build Engine Page BUILD2 Demo and Tools