「ゲーム」の「エンジン」? なにそれ?
「エンジン」といえば多くの人が連想するのは自動車に搭載されているあのメカとしてのエンジンでしょう。今さら説明はいらないでしょうが、エンジンは車を走らせるための動力を生み出す動力発生装置です。
「ゲーム」が頭についてできた「ゲームエンジン」というキーワードを、あえて一言で解説するならば、ゲームを開発したり、動作させたりするための基盤システムのことです。「ゲームを動かすための根幹駆動システム」ということで「エンジン」というワードが組み合わされたのでしょう。
ゲームエンジンとよく似た言葉に、「(ゲーム開発)フレームワーク」というものもあります。「フレーム」は「骨組」や「骨格」を意味し、「フレームワーク」は「体制」「構成」を表す用語になります。
なので「ゲーム開発フレームワーク」は、ゲーム開発のパイプライン(流れ、工程)までを面倒見るシステムのような意味になります。より概念的なものまでも含まれるイメージでしょうか。ただ、広義には「ゲーム開発フレームワーク」をゲームエンジンと呼ぶこともあります。まぁ、最近ではゲームエンジンというと、自らゲームエンジンという呼び名を謳っているモノをゲームエンジンと呼べばいいと思います。それとゲーム開発スタジオが既存のゲームエンジンを使っている場合でも、自社独自のプラグインソフトやツール群を利用している場合、その仕組みのことを「われわれのゲーム開発フレームワークは……」なんていうことがあります。
ゲームエンジンの成り立ち
ゲームエンジンは昔からあったわけではありません。ここではゲームエンジンの成り立ちについてお話ししましょう。
昔のゲーム開発は、ゲーム機メーカーから提供されたのはゲーム機のハードウェア仕様書と、基本的なサンプルプログラムや基礎ライブラリ程度のものでしたので、ゲーム開発チーム側で、ゲームに必要な処理系のほぼすべてを自前で開発していました。だいたい、16ビットゲーム機時代までは、この開発スタイルが主流だったといえます。
しかし、ゲーム機のスペックが上がり、ゲームプログラムの規模が大きくなってくるに従い、すべてのゲーム処理系をその都度開発していたのでは非効率であることがわかってきました。
ところで、ゲームには「定番の処理系」が存在します。具体例を挙げると、グラフィックス処理とか、サウンド処理、ネットワーク処理、ゲームコントローラーからの各種入力処理、ストレージデバイスへの入出力処理……などですね。
実力があり、経験が豊富なゲームスタジオは、そうしたゲームにおける定番の処理系を独自にライブラリ化して効率よく使えるような環境整備に乗り出すようになります。これはだいたい、2000年前後、プレイステーション2や初代Xbox時代前後のことです。
このライブラリ化された「ゲームの定番処理系」は、異なる機種のゲーム機向けのゲーム開発で広く使えるような「透過性」「移植性」を持つように進化させられ、これらを社外に商用提供する事例も出てくるようになりました。これが「ゲーム開発ミドルウェア」の始まりです。
ゲーム開発ミドルウェアはグラフィックス、サウンド、物理シミュレーションなど、ゲーム開発において専門性が求められる特定ジャンルの処理系をカバーするものが中心でした。時代が進み、さらにゲーム機のスペックが上がってゲームの開発規模が大きくなると、特定ジャンルの処理系だけでなく、ゲーム開発全般の面倒見てくれるゲーム開発ミドルウェアも出てくるようになります。
これが、現在一般的にいわれているゲームエンジンのスタイルです。広義的にはゲーム開発ミドルウェアもゲームエンジンと呼ばなくはないのですが、冒頭で少し触れたように最近では「ゲーム開発のトータルソリューション」を指す場合が多いようです。
なお、今でも特定分野においては、ゲーム開発トータルソリューションとしてのゲームエンジンとはならずに、あえて専門性の追求を継続しているミドルウェアも多いです。
広がるゲームエンジンの活用
実力派や大手のゲームスタジオは、ゲームエンジンを自社開発して、社内プロジェクトを中心に活用する事例が多く、こうしたゲームエンジンの具体例としては、バンダイナムコエンターテインメントの『NUライブラリ』、コナミの『FOX ENGINE』、カプコンの『MTフレームワーク』や『Panta Rhei』(現在は開発休止中の噂あり)、スクウェア・エニックスの『Luminous Studio』などがあります。こうした社内ゲームエンジンは外部に提供される事は基本的にはありませんが、外注スタジオを巻き込んだプロジェクトでは一部例外もあるようです。
一方で、もともと社外ゲームスタジオに商業利用してもらうために開発されたゲームエンジンも存在します。その代表例にはEpic Gamesの『Unreal Engine』、CRYTEKの『CRY ENGINE』、UNITYテクノロジーズの『UNITY』、シリコンスタジオ『OROCHI』などがあります。
このタイプのゲームエンジンは、もともと自社でゲーム開発をするために開発したゲームエンジンを、外向けにも提供するようになったものが多いです。ゲームエンジンを用いたゲーム開発はPS3、Xbox360時代には当たり前のように浸透し、現在のPS4、Xbox One時代でも同様です。
携帯電話向けのゲーム開発に採用例が多いのは『Unity』です。ちなみに、ここでUnityの採用ゲーム一覧が確認できますが、驚くほどの数の人気タイトル、著名タイトルが名を連ねています。
興味深いのは、最近ではこのゲームエンジンを、ゲーム開発以外に利用していこうとする動きまでもが見られる点です。ゲームエンジンを用いると、リアルタイム動作するインタラクティブ映像やデモソフトを比較的容易に開発できることから、都市計画、建築、映像制作、学術シミュレーション、教育訓練システム開発などの業務に採用される事例も出てきているのです。
今後、ゲームをプレイしない人でも、ゲームエンジンベースのコンテンツに触れる機会が多くなるかも知れません。