ゲームエンジン

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

ゲームエンジンとは、コンピュータゲームソフトウェアにおいて、共通して用いられる主要な処理を代行し効率化するソフトウェアの総称である。

ゲームエンジンは映像や音のリアルタイム処理などをしていることもあり、インタラクティブアートなどコンピュータゲーム以外の分野でも使われることもある[1][2]

概要[編集]

海外のフリーゲームソフト『Nexuiz』。開発者の美的感覚もあるが、エンジンが違えば雰囲気や表現方法も異なる。
球が壁や他の球に衝突するビリヤードのコンピューターゲームは物理シミュレーションの典型例である。

ゲームエンジンは、コンピュータゲームの動作において主要な処理を行うために用いられる共通のプログラムであるが、その定義は曖昧で、API(プログラムとオペレーティングシステムハードウェアとの仲介をする仕組み)やプログラムライブラリ(ソフトウェアの部品として提供されるプログラム群)など様々である。

一般にゲームエンジンと称されるものにも多様な形態が存在するが、ミドルウェアなどが集まりより総合化されたものをゲームエンジンと呼び、汎用性のあるプログラムライブラリ単体やその集積物とは区別する傾向も見出せる。主にOpenGLDirect3Dなど三次元コンピュータグラフィックス生成用のプログラムを「3Dエンジン」と呼んだ延長に位置する呼称や概念だといえる。

通常は、コンストラクションキットやオーサリングツールに近いレベルまで、開発作業が汎用化されたものをゲームエンジンと呼び、単にプログラマがプログラミング上のライブラリを共通化するのは、「フレームワーク」として区別する。

この場合のエンジンは、操作と燃料供給・潤滑などを受けて動力を発生させる内燃機関ないし外燃機関としての機械装置ではなく、何らかの操作により動作を発生させるという、より原義的概念に基づく表現である。プログラムとしての機能を他のソフトウェアに供給することを目的としており、ゲームを遊ぶユーザーには意識されずに利用されている。ただし共通化されたプログラムとして汎用性に富み、利用しようとすればコンピュータゲームに限定されない機能を持つソフトウェアもみられる。

マルチプラットフォーム[編集]

こういったゲームエンジンは、ゲームを製作する場合においてその各々でアルゴリズム(情報を処理するための計算式の総体)をすべて設計・開発していた手間を軽減させるとともに、このエンジンが主要な機能を提供することで、例えばプラットフォーム(この場合は「ゲームを動作させるコンピュータシステム」のこと)の各々に対応した共通した仕様を持つゲームエンジンを利用することで、ゲームソフト移植を行い易くなるなどの利点も存在する。

物理演算[編集]

3D表現を用いたゲームの発展に伴い、ゲーム内における物体の物理運動を極めてリアルに再現しようという動きが見受けられる。そのような話題の中ではゲームエンジンの中の物理シミュレーション機能を指して、しばしば物理エンジンと称することがある。

物理的シミュレーション以外にもほとんどのゲームエンジンでは音声に関する設定もおろそかではなく、ちゃんと近寄れば音が大きくなり、遠ざかれば小さくなる、右や左、上、下、壁の向こう側など、音声が発せられる場所を正確に処理し、出力する機能が備わっているのも珍しくは無い。

[編集]

これらゲームエンジンの機能をより具体的に述べると、例えば、ある人が野球ゲームを作った場合を考える。そのゲームには野球のボールが地面に落ちて反射する様子をシミュレーションデータを入力されると仮想的にどのような変化が起こるかを計算して示すもの)するプログラムが含まれていたとする。さらに、その野球ゲームを作り終えた人が次にサッカーゲームを作ることを計画したとする。その場合、サッカーボールが地面に落ちて反射するプログラムを一から記述することは少なからず無駄を含む可能性がある。

最初から「地球上で物体が地面に落下したとき、物体はどのように運動するか」という、ボールの種類を限定しないプログラムを作っておけば野球ゲームにもサッカーゲームにも応用が効いた可能性があった訳である。このような、対象を特定しない抽象的なゲーム用プログラムの集合体をゲームエンジンという。

名称[編集]

最初期の3Dゲーム「DOOM(1)エンジン」(現在はフリー化している)を用いてアマチュア団体が製作した「FREE DOOM」の画像。

当然ながらゲームエンジンも、広義で言えば単にプログラムであり、技術革新と共に新たな機能を盛り込んで日々バージョンアップが繰り返されている。また、一挙に多数の機能を盛り込まれたメジャーバージョンアップでは、前述されたように、そのゲームエンジンの機能をフルに活用してゲームソフトが製作される。この際、新しいゲームエンジンに命名されるのは、そのゲームエンジンを用いて作られた初めてのゲームソフトの名称になるのが一般的となっている。

例えば『Half-life』ならば「Half-life Engine」、『DOOM』ならば「DOOM Engine」という具合である。また、システムを根底から変えてしまうような大掛かりなエンジンのバージョンアップがされた場合、ナンバリングが変更される事もある。このナンバリング変更は単に「DOOM2 Engine」など、タイトル名称末尾の数字が大きくなるパターンの他に、まったく無関係の名称が付けられるパターンもあり、『Half-life2』で初導入された「Source Engine」などもある。

ゲームエンジンの扱い[編集]

家庭用ゲーム業界においては、ハードウェアメーカーからC言語C++言語を利用したゲーム開発環境が提供されることが多い。だが、ゲームメーカーでさえこれらの言語を直接操ってゲームを製作することは避けたいと考えることが珍しくない。前述したような、重複による無駄(いわゆる車輪の再発明)が発生するためである。よって、多くのゲームメーカーが自社製のゲームエンジンを所有し、ゲーム製作の省力化を図っていると考えられている。

家庭用ゲーム業界においては別の側面も存在する。家庭用ゲームではゲームエンジンの持つポテンシャルが、操作のしやすさや画面描画能力、ひいてはゲームそのものの評価と直結することは日常茶飯事である。そのため、多くのメーカーにとってゲームエンジンの技術的な仔細は企業秘密に値し、それが会社ごとの特色(=癖)としてユーザーに認知される事になる。

一方、ノベルゲームなど3Dの能力を要求されないゲームにおいては事情が異なり、少数のプログラマが製作したゲームエンジン(スクリプトエンジン)が、メーカーやサークルの垣根を越えて広く利用されるケースが珍しくない。これらのゲームはゲームエンジンを含むプログラムよりもシナリオやグラフィック(キャラクター)が重視される傾向があるため、ゲームエンジンの独自性をセールスポイントにする必要性が低いからであろう。とはいえ、ゲームエンジンの完成度が低い、即ち操作のレスポンスが悪かったり、無意味に高性能のコンピュータを必要とさせるといった場合、ゲームとしての評価を落とすことに変わりはない。

こうした、言うならば「ゲームエンジンの貸し借り」的な行動について、日本ではアダルトゲーム業界で一般的だが、前述したように極普通の全年齢層向けのゲームを発売している会社では滅多に見受けられない(ただし、後にマルチプラットフォーム化が進みUnityなどの採用例はある)。

アメリカをはじめとした海外ではまったく縁もゆかりも無い他社がゲームエンジンの利用ライセンスを買い、それを用いて作品を制作・発売するというケースは珍しくは無く、ゲームエンジンを売るためのプロモーションとしてそのエンジンを用いたゲームソフトを製作、販売するビジネススタイルが各大手ゲームメーカーで浸透しつつある。

その場合、ゲームエンジンの利用権利を買うのは大抵、中堅のゲーム制作会社である。大手と違い開発力に限界がある中小の企業にしてみれば、元から安定して動作するゲームエンジンがあれば開発期間の短期化も可能であり、それはすなわち大幅なコスト削減にも繋がるからである(場合によっては逆に高くつく可能性もあるが)。

一方では、そのような商品として販売する価値を持つゲームエンジンの制作では、必然的に大きなプロジェクトチームが必要な場合が多く、その時点でも多数の経費がかかるのが現状である。一方で実質たった3人で製作された「Offset Engine」という物があり、その完成度の高さから業界でも注目を浴びているようである[3]

ゲームエンジンを構成する要素[編集]

ゲームエンジンはグラフィック描写以外にも、ゲーム開発者の要求に応じて数多くの機能が組み込まれている。以下はその一例である。

グラフィック描画
2D・3Dオブジェクトおよび、その質感(反射や透過など)の描画、ライト(照明)の配置などが容易になる。これらをMicrosoft DirectXなどで一から実装する際には、配列関数やその計算を行わなければならないが、ゲームエンジンによってはドラッグ&ドロップで簡単に配置することができる。
スクリプト処理
多くのゲームエンジンには、ゲームエンジンの設定、イベントやAIを処理するための独自言語スクリプトエンジンが実装されている。各々の処理をゲームエンジンに組み込むのではなく、外部スクリプトによって実装することで、ゲームエンジン本体を小さくすることができ、また、カスタマイズが容易になる。
モーション処理
少ないパターンのモーションデータを用意し、それらを合成することで状況に応じたモーションを生成する。さらに、逆運動学や他の物体との接触を考慮してモーションを加工することで、さらにリアルなモーションを生成する機能を有する場合がある。また、リアルな表情の生成に力を入れているゲームエンジンも存在する。
サウンド処理
3Dサウンドやボイスチャット機能等。
物理演算
サードパーティーによって開発された物理エンジンが組み込まれている場合が多いが、中には独自の物理エンジンが組み込まれている場合もある。
通信
アンチラグ、オンラインアップデート、ゲームサーバツール等。
インタフェース
入力の処理、多様な入力機器への対応。

パソコンゲームでは特にユーザー側が操作できる映像処理系のカスタマイズオプションが豊富である。

開発ツール[編集]

ゲームエンジンの開発元はゲーム開発ツールキット(SDK)を併せて提供する場合がほとんどである。

  • テストプレイ
  • スクリプト構文チェック
  • イベントの配置
  • レベル生成

海外のゲームエンジン開発元は、商用利用不可といった条件の付与や機能の制限を行った上で、ユーザに無償でゲーム開発ツールを提供している場合が多く、ユーザが商用タイトルに対して独自の調整を加えることが可能になっている。

こうしてユーザの手によって作成されたデータやデータ群はMODと呼ばれ、ゲーム中のサウンドやテクスチャ、キャラクターデータを置き換えるものや、ゲームバランスを調整するためのもの、ゲームの機能を拡張するもの等、その形態や規模は様々である。

MOD開発者のコミュニティではMOD開発者同士の交流が盛んに行われている。MODの中にはそれ自体がゲームとして完結している物もあり、そのような完成度の高いMODの権利をゲーム開発元が買い取り、単体の製品として発売するケースや、MODの開発者を社員として登用する場合も存在する。最も有名なケースがValve Software社の『カウンターストライク』である。

ゲームエンジンの開発元にとって、ゲーム開発ツールをユーザに提供することによって、ゲームエンジンの新たな可能性を見いだせたり、一つのタイトルを長くプレイしてもらえるメリットがある一方、プレイヤーが新たなタイトルに移行するペースが遅くなったり、売り上げが減少するといったリスクが生じる。

受賞[編集]

米ゲームデベロッパー誌が毎年開催する "第一線賞" において、 2008年度のゲームエンジン部門において以下を最終選考に選出した[4]

  • Unity Technologies 社の Unity 2.1
  • Crytek 社の CryEngine 2
  • Emergent Game Technologies 社の Gamebryo 2.5
  • GarageGames 社の Torque Game Engine 1.7.1
  • Valve 社の Source Protocol 14, Build 3531

結果として、2008年度のゲームエンジン部門は GarageGames 社の "Torque Game Engine Advanced 1.7.1" が受賞、Epic Games 社の Unreal Engine が殿堂入りを果した[5]

主なゲームエンジン[編集]

3D/2D[編集]

一部無償利用可能

無償のソフトウェア・オープンソース

2D[編集]

無償のソフトウェア・オープンソース

  • Playground(KLab)
    • 『ラブライブ!スクールアイドルフェスティバル』『Rise to the Throne』など。後にオープンソース化。
  • cocos2d
  • Star Ruby
  • YU-RIS
  • WOLF RPGエディター
  • Super Shooting Creator
    • Androidアプリ。Android上で動作するシューティングゲームエンジン。個人開発をしており、開発を始めてから間もないため、機能などは少なく、バグも多い。完全にテスト段階で、2014年内に完成し、本配信の予定。プログラミング不要。

ADV・ノベル向き(無償のソフトウェア・オープンソース)

脚注[編集]

[ヘルプ]
  1. ^ プログラミング知識不要! ゲームエンジンUnityを応用したVJ映像作成ツール“vjkit”でキミもヤバい映像を出せちゃうぜ”. ファミ通 (2013年4月17日). 2013年4月19日閲覧。
  2. ^ Unity開発者のための総合イベント「Unite Japan」,その見どころを聞く”. 4Gamer.net (2013年4月11日). 2013年4月19日閲覧。
  3. ^ 独立系デベロッパによる驚愕のFPS「Project Offset」開発者インタビュー (2006/05/17)
  4. ^ Game Developer's 2008 Front Line Award Finalists Announced
  5. ^ Game Developer Reveals Front Line Award Winners, Unreal Engine To Hall Of Fame

参考文献[編集]

関連項目[編集]

外部リンク[編集]