2009年12月12日

ゲームエンジン・ライブラリ編

今日は、ゲームエンジンに組み込まれる定番のライブラリをご紹介します。


DirectX
http://msdn.microsoft.com/ja-jp/directx/
WIKI JP EN

AMD's Tradition of DirectX Hardware Innovation: Are you ready for what's next?


まずは、定番のDirectXです。グラフィック、サウンド、ゲームインターフェイスを統合したWindows専用APIです。
Xbox,Xbox360にも搭載されています。


*** グラフィックライブラリ(or API) ***

OpenGL
http://www.opengl.org/
WIKI JP EN

Real Time 3D Demo C++/OpenGL/GLSL Engine


OpenGLは、マルチプラットフォームの3DグラフィックAPIです。
ゲーム機のAPIとしても使用されています。



Cg
http://developer.nvidia.com/page/cg_main.html
WIKI JP EN

Water in our game engine (Водичка)


CgはnVidaが提供するシェーダープログラム環境です。



*** サウンドライブラリ ***
OpenAL
http://www.openal.org/
WIKI JP EN

OpenALは、マルチプラットフォームのサウンドAPIです。
3Dサウンドも可能です。



*** 演算ライブラリ ***
OpenCV
http://opencv.jp/
WIKI JP EN

顔動き特徴抽出 by OpenCV


OpenCVは、インテルが開発した画像処理や解析などに使えるアルゴリズムをまとめたライブラリです。



OpenCL
http://www.khronos.org/opencl/
WIKI JP EN

First OpenCL demo on a GPU


OpenCLは、マルチコアCPUやGPUなど、演算リソースを並列コンピューティングのためのフレームワークです。



CUDA
http://www.khronos.org/opencl/
WIKI JP EN

CUDA NVidia - Low Viscosity Flow Simulations


CUDAは、nVidiaが開発したGPU向け統合開発環境です。
Cgがグラフィック専用なのに対して、CUDAは物理演算など汎用性の高い使い方ができます。



*** ARライブラリ ***
ARToolKit
http://imd.naist.jp/
http://www.hitl.washington.edu/artoolkit/
WIKI JP EN

ARToolKitで距離を表示してみた


ARToolKitは、拡張現実:AR(Augmented Reality Toolkit)を実現するためのライブラリです。
なんと、このライブラリは日本の奈良先端科学技術大学院大学の加藤博一教授が開発しました。



Handy AR
http://ilab.cs.ucsb.edu/projects/taehee/HandyAR/HandyAR.html
WIKI JP EN

HandyAR (Markerless Augmented Reality from UCSB)


Handy ARは、「手」をARマーカーとして認識することができるライブラリです。



*** ウィンドウライブラリ ***
Qt
http://qt.nokia.com/
WIKI JP EN

Qt Designer


Qtは、マルチプラットフォームに対応したGUIツールキットです。
ライセンスもオープンライセンス(LGPL)から、商用ライセンスまで利用にあわせたライセンスを選べます。



*** データベース ***
SQLite
http://www.sqlite.org/
WIKI JP EN

SQLiteは、組み込みを前提とした軽量なデータベースエンジンです。
使いやすく、軽量なことからゲーム用ツールなどに組み込まれています。



*** 弾幕ライブラリ ***
Bullet ML
http://www.sqlite.org/
WIKI JP EN

BulletGBA Stage 4 No Miss No Slow



Bullet MLは、ABA Gamesが開発した弾幕記述言語です。
上記の動画のゲームは、そのBullet MLを利用したGBAゲームです。

pqrs.org : BulletGBA
http://pqrs.org/gba/bulletgba/index.html.ja

このBulletGBAには、遺伝的アルゴリズムを利用した自動弾幕生成プログラムBulletsmorphも利用しています。

Bulletsmorph
http://www.asahi-net.or.jp/~cs8k-cyu/bulletml/bulletsmorph/index.html



*** データ圧縮・解凍 ***
zlib
http://www.zlib.net/
WIKI JP EN

zlibは、データの圧縮解凍を行うためのライブラリです。
最近では、ゲーム機にも標準ライブラリとして組み込まれることが多くなりました。



*** スクリプト ***
Lua
http://www.lua.org/
WIKI JP EN

Luaは、高速で軽量な組み込みスクリプト言語として作られました。
ゲームエンジンとの相性が良く、国内外を通じて多くのゲームで使用されています。



Squirrel
http://squirrel-lang.org/
WIKI JP EN

Squirrelも、Lua同様に高速で軽量な組み込みスクリプト言語として作られました。
Luaよりも使いやすくなるように様々な機能が実装されています。
また「小さな王様と約束の国 ファイナルファンタジー・クリスタルクロニクル」でも使用されました。



Python
http://www.python.org/
http://www.python.jp/
WIKI JP EN

Pythonは、高機能なインタプリタ言語です。
Panda3Dをはじめ、多くのゲームエンジンに組み込まれています。
また、ライブラリが充実しているのも特徴です。



Ruby
http://www.ruby-lang.org/
WIKI JP EN

Rubyは、まつもとゆきひろ氏により開発されたオブジェクト指向スクリプト言語です。
まだまだゲーム用スクリプトとしては、実験的な使われ方に限定されています。



Lisp
WIKI JP EN

Lispは、関数型言語です。
非常に歴史の古い言語で、AI研究などにも多用されました。
また、一部の市販ゲームのAI言語としても使われた実績があります。



haskell
http://haskell.org/
WIKI JP EN

haskelは、純粋関数型プログラミング言語です。
現在、マルチコアCPU、GPUなどにおいて、並列処理を記述するには関数型プログラミング言語が最適ではないかとされ、haskelにも注目が集まっています。
ゲームでの実例はほとんどありませんが、今後の動向が気になる言語です。





ゲームエンジン・目次
http://o-planning.sblo.jp/article/33857001.html

posted by 企画屋一号 at 17:44| Comment(0) | TrackBack(0) | ゲームエンジン
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/34164651

この記事へのトラックバック