Quake Engine

Article on other languages:

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire

Quake Engine(くえいくえんじん)とはファーストパーソン・シューティングゲームの代表格であるQuakeの為に、id Softwareによって開発されたグラフィックエンジンである。ここでは次世代エンジンであるQuakeIIエンジン、QuakeIIIエンジン。DOOMの名を冠しているが、存在自体はQuakeエンジン系の後継となるDOOM3エンジンまでを紹介する。

どのエンジンにも共通であるがconfig.cfgという.cfgファイル(物によってq3config.cfgなど名前が変わるが)にゲームの画質設定からキーコンフィグ、さらにはサーバーの設定までもすべて記録され、知識さえあればゲーム内オプションでは設定しきれない項目までアクセス出来るのが特徴の一つである。またこのコンフィグファイルは.txtファイルの拡張子を変えた物であり、誰でもアクセス可能である。そしてコンソールコマンドで「exec ***.cfg」と打ち込むだけで、即座にキーマップなどの設定を変更出来る柔軟性を誇っている。しかもこのコマンドすらキーに設定可能なので、ゲーム内で用意されているラジオチャットを1ボタンで発言出来るようにしたり、その発言ボタン自体の位置を変更するなども1ボタンで可能となっている。

もう一つのエンジン共通の特性は「内部フォントを.bmp形式で持つ」という物である。そのためフォントを自在に設定出来るという柔軟性があるが(そのためQuakeではSeqence Complete!という仕掛けを動かした時のメッセージの「q」が、Quakeのマークとなっていた)、それが逆に2バイト文字の導入を困難な物としているため(2バイト文字を使えるようにするには、すべての漢字を.bmpファイルで作らないといけないため、それだけでも膨大なファイル容量となってしまう)、Quakeエンジン採用ゲームには、一部の日本語表記対応ゲーム(Soldier Of Fortune2、XBOX360版&パッチディスク適応後のCALL OF DUTY4)などはあるが、名前まで含めた完全日本語表記可能になっているゲームが存在しない。

目次

Quake Engine 概要

今までのFPSはDOOMのように「マップは3D、アイテムや敵キャラクターは2D」という疑似3Dエンジンを用いて開発されてきたが、このQuakeエンジンは「敵やアイテムを含めたフル3D」での描写を家庭用PCで始めて実現させたエンジンである。

他の恩恵として、縦方向への視点移動と、その立体感を生かしたグレネードランチャーのような武器、マップ構成を可能にしたというのも特徴である。

グラフィックスの特色としては、レイトレーシングによって事前に作成されたディフューズ(拡散)ライトマップを、マップ描画時にディフューズ(拡散)テクスチャとブレンド(モジュレート)する事によって、静的ではあるものの、リアルな照明表現を可能にしている。

描写方法として今までワークステーション専用と化していたOpenGLを使うという点でも異色であり、このゲームを快適にプレイするために3dfx社のVooDooを一躍3Dグラフィックカードのトップへ押し上げた原因でもある。というのも当時3Dグラフィックカードが出回った頃であり、その切り札として3dfxがQuakeをプッシュしたという物もある。

しかし大部分のユーザーはOpenGL対応のグラフィックカードを持っていなかったという事もあり、ソフトウェアレンダリングにも対応している。その代わり画質は圧倒的に落ちる。

また、このエンジンはDOOMエンジン以上に柔軟にできており、シングル/マルチプレイ用のトータルコンバージョンMODに限らず、Team Fortressのようにゲームシステム自体を変更してしまうMODにも対応していた事や、現在ではスタンダードになるTCP/IPプロトコルによるマルチプレイにも対応し、外部ソフトの助けや有料マッチングサービス無しに「電話代と電気代」だけでLAN対戦だけでなくオンライン対戦を可能にしたエンジンでもある。さらにネットコードを進化させたエンジンとして「Quake World」というMODも存在する。ただしサーバーブラウザは内蔵されていない。

現在GPLライセンスの元オープンソース化されており、マップやモデルさえ作ればいわゆる「Quakeクローン」のゲームを作成可能である。

斜め移動と視点移動の組み合わせで速度が上がり、それをジャンプで結びつけて高速移動するストレイフジャンプや空中でカーブするバニーホップ。ロケットランチャーの吹き飛びが自分に、さらに空中方向にも作用する為に起こるロケットジャンプをバグとして抱えていたのは有名な話。

採用作品

など。またdaikatanaは元々Quakeエンジンで作成されていたのは有名な話。

改造エンジン

  • Goldsource
    日本ではHalf-Life Engineとして有名である。Quakeエンジン同様の柔軟性でCounter-Strikeのような優秀なMODを作り上げた。
    さらに改造が加えられたGoldsourceはSource Engineとなる。コンフィグファイルの構造にQuakeエンジン系の名残が見られる。

QuakeII Engine

Quake主要スタッフのジョン・ロメロの退社後、QuakeエンジンをベースにQuake Worldのネットコードを取り入れるなど、大幅に改良を図った新エンジンである。Quakeエンジンで導入されたレイトレーシングによる事前計算ライトマップ・システムを更に進化させ、レイトレーシングの他にラジオシティによる間接照明計算を加え、柔らかい照明や影の表現を可能とした。それと視界角度の調整(fov)を取り入れるようになった。Quakeエンジンでは取り入れられていたMS-DOSへのサポートはQuakeIIエンジンから無くなっている。ソフトウェアレンダリングモードは継続してサポート。

Quakeエンジンではライトマップはモノクロに限られていたが、QuakeIIエンジンへの進化としてカラー光源が扱えるようになった。そして、キャラクターモデル等のアニメーションに頂点モーフィングが導入され、Quakeエンジンと比べて滑らかなアニメーションが可能となった。そのため「キャラがしゃがむ」などの新しいモーションを取り入れられるようになっている。

その代償ではあるが1998年発売のUnrealほどでは無いのだが、ソフトウェアモード、OpenGLモード共に異常とも言える重さであり、当時はベンチマークとして使われるほどのゲームである。

Quakeエンジンでのバグであったロケットジャンプ、ストレイフジャンプをQuakeIIエンジンでは仕様として取り入れるようになった。

QuakeIIエンジンもGPLライセンスの元オープンソース化されている。

採用作品

など。3Dゲームが一般的となってきたために採用作品は多い。

改造エンジン

  • Qfusion
    Warsowのために開発されたQuakeII改造エンジン。QuakeIIIエンジン用のマップを読み込めるようになるなど、さらに柔軟性が増している。

QuakeIII Engine

QuakeIIからさらに進化を遂げたエンジン。ゲーム自体が1対1、もしくは少数対少数に特化した物となったため、それに合わせたチューニングがされている。Quake Engine初のサーバーブラウザー内蔵となったが、外部ソフトを使った方が検索が早く、他にも便利な点があるためにさほど使われない。

QuakeIIエンジンで導入されたライトマップ作成時のラジオシティ計算を今作では敢えてせずにレイトレーシングのみにする事で、シャープな照明と影が表現されるようになった。また、ソフトウェア処理によるごく限定的な頂点シェーダーが導入された事や、テクスチャのブレンドモードやクランプモード、スクロールなどを容易にコントロール出来る簡易シェーダーシステムが導入された事により、アーティストの自由度が大幅に向上した。また、起動時にガンマテーブルを1-bitぶんオーバーブライトする事により、下位1-bitを犠牲にしつつも擬似的に0.0-2.0の輝度の高ダイナミックレンジ表現が可能となった。

マップやオブジェクトの描画に関しては、Quake&QuakeIIエンジンではイミディエートモードによる描画だったが、QuakeIIIエンジンからはCompiled Vertex Arrayが利用されるようになり(ハードウェアT&Lサポート)、マップやキャラクター等の殆どの頂点情報はビデオカードのメモリ上に静的に配置され効率的に描画されるようになった反面、CPUによるキャラクターの頂点モーフィング計算が出来なくなったため、キャラクターのアニメーションは僅かに滑らかさが劣る物となった。しかしQuakeIII:Team Arenaでは頂点スキニングがサポートされたため(MD4モデル)、前作と比べてもアニメーションの質は格段に向上した。

QuakeIIIエンジンから完全なハードウェアT&Lとなり、ソフトウェアレンダリングが不能となっている。そのためにOpenGLモードでの描写が出来ないグラフィックボードでは起動しなくなっている。

元のゲーム性から生まれた仕様により、大規模マップでの描写が苦手であり、QuakeIII用マップでも大規模マップになるとPCのパフォーマンスが優れていてもフレームレートが低下し始めるのに加え、フレームレートが125と333になるとなぜかジャンプ力が上がるというバグを抱えている。このバグはid software側や大会オフィシャル側でも公認となっており、ほとんどのプロゲーマーが最大fpsを125に設定していた。

3作連続でオープンソース化されており、現在Open ArenaUrban Terrorといったゲームが利用中。


採用作品

改造エンジン

  • Return to Castle Wolfenstein用エンジン
    正式な名前は無いのだが、元のQuakeIIIエンジンでは無く、大規模マップ用にチューニングがされている。

さらにこれを改造したものが

などである。

DOOM3 Engine

このエンジンを最初に採用したのがDOOM3となるため、DOOMエンジンと名付けられているが、実際にはフル3Dエンジンであるため初代のDOOMエンジンとは関係なく、Quakeエンジンの直系である。しかし大きな仕様変化があったため、QuakeIIIエンジンとはほぼ別物となっている。Unreal Tournament 2003搭載のUnreal Engine2や同年発売のHarf-Life 2搭載のSource Engineと共に、3Dグラフィックの基準を大幅に引き上げたエンジンでもある。

グラフィックスの特色としては、先ずピクセル単位のリアルタイム・ライティングの導入が挙げられる。光源としては、点光源、平行光源、投影光源が利用でき、反射モデルとしては拡散(Diffuse)と鏡面反射(Specular)がサポートされた。また、バンプマップが導入された事により、少ない頂点数でより迫力のある凹凸が表現出来るようになった。そして、もう一つ大きな特色として、ステンシル・シャドウ・ボリューム法によるリアルタイム・シャドウの導入が挙げられる。ステンシル・シャドウには多様なアルゴリズムが存在するが、Doom3エンジンでは、John Carmack氏が考案したものの米Creative社が特許を先行取得した「カーマック・リバース」というアルゴリズムが利用されている。その他の特色としては、高度な頂点スキニングの導入、逆運動学(Inverse Kinematics)による足運び計算などが挙げられる。

これらのグラフィックスを実現するためのテクスチャー量は1マップにつき500MB近くになり、当時VRAM512MBを実現していたグラフィックボードが無かったため「最高画質モードはどんなPCでも使えない」とまで言われた。2008年に入ってもVRAM512MB以上を搭載しているグラフィックボードは2万円近くするため、相当敷居の高いエンジンではある。

そのためにQuake4のPoint Release 1.3以降にはこれらのダイナミックライティングを使わずに、アンビエントライティングという単一光源を使うという設定が付け加えられた。これによって陰に関する計算を短縮出来るために大幅な画質低下を代償とするが、大幅なパフォーマンス改善が出来るようになっている。

ゲームプレイ上の特徴として、ヒットボックスを採用せず、ポリゴン毎に当たり判定を設定するという物を採用し、よりリアルな戦闘を楽しめるようになっている(ただしマルチプレーでは当たり判定の処理が複雑になるのを防ぐため、今まで通りヒットボックスを採用)。

ネットコードが1フレーム1送信となり、サーバーとクライアント側で完全同期を計る(Source EngineならTick Rate100、QuakeIIIエンジンならsv_fps "125"設定)という形になったが、これがパケットロスやクライアントPCの処理落ち、サーバーPCの処理落ちなどに非常に弱いという弱点を持ってしまった(逆にそれらのないLAN対戦では完全な形で移動を可能にしている)。またトラフィックの影響とこのシステムの関係で、Quake4のポイントリリース1.4βまで最大フレームレートを60に制限せざるを得なかった。

採用ゲーム

関連項目

外部リンク

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net