オープンソースライブラリゲームプログラミング
オープンソースライブラリゲームプログラミングとは
遊びで作っているゲーム。というより,ゲームプログラミングフレームワーク。
遊びで作っているゲームプログラミングフレームワーク。
SDL+OpenGL+OpenALWithOggVorbisで
WinでもMacでも動くものを作ろうというもの。
メモ
ソース
http://www.10106.net/~hoboaki/view/gamesln
(毎朝、最新のものに更新されます)
オーディオデコードルーチン
コンストラクタ
使用ライブラリ
- Windowsはvc10-x86。
- MacOSXはgcc4.0-SDK10.4u(i386,ppc)。
プロセス(毎フレーム処理)
- 再生しきったバッファを埋める
OpenGL | グラフィックスライブラリ | 2D,3D描画 | Win(付属) Mac(付属) |
OpenAL | オーディオライブラリ | 2D,3Dサウンド | Win(1.1) Mac(付属) |
SDL | マルチプラットフォームなものを色々を提供 | スレッド・イベント・入力インターフェース・ウインドウ作成 | 1.2.11 |
libogg | Oggデータデコーダ | BGM・SEの再生 | 1.2.2 |
libvorbis | Oggデータデコーダ | BGM・SEの再生 | 1.3.2 |
GLEW | OpenGL Extension Wrangler,OpenGLの拡張機能のラッパー | Windowsでのみ使用 | 1.5.8 |
pthreads | zthreadがバグバグだったのでこっちを試しに使ってみることに | スレッド | |
angelscript | ゲームの挙動実装 | スクリプト | 2.18.1 |
コンパイルマクロ
自分で設定したもの
USE_DEBUG_UTIL | 1のとき,開発補助コード(ex.printf)が有効になる |
USE_ASSERT | 1のとき,アサートが有効になる |
USE_OPENGL_ERROR_CHECK | 1のときかつUSE_ASSERT=1のとき、OpenGLのエラーチェックが有効になる |
システムから要求されるもの
GLEW_STATIC | 空 | GLEWを使用するのに使用 |
_DEBUG | 空 | VC8.0,デバッグビルドするのに定義 |
NDEBUG | 空 | VC8.0,デバッグビルドしないときに定義 |
Winのみ
PTW32_STATIC_LIB | 空 | pthreads win32 |
無視する警告
VC8.0
4355 | コンストラクタのメンバ初期化でthisポインタを使用している。 |
ビルド方法
WindowsXP
- GameProject.vcxprojを開いてビルド。
MacOSX
- チェックアウトしたディレクトリ/GameProject/MacOSXのディレクトリでMake
その他コンテンツ
todo
- [Done] Win版をビルド&実行できるようにする。
-
Pathでコンパイルエラー発生中。
-
毎回ビルドしてしまう問題の調査。
-
謎の.libリンクコマンドの調査。
- コードの整理
- コード規約そろえる。
-
メンバ変数をm始まりに。
-
static変数をs始まりに。
-
static関数を大文字始まりに。
- PodF32 -> F32POD。
- using namespace撲滅。hppのusing撲滅。
- Vector3類をvector3と分離。xyzは変数直接アクセス形式に。
- UTF8(BOMなし)/CRLFにそろえる。
- リポジトリ・ディレクトリの整理。
- Mac版をビルド&実行できるようにする。
- コンパイラとSDKを決める。(10.4u-gcc4.0 or 10.6-LLVMgcc?)
- 各ライブラリ・フレームワークのコンパイラ・SDKのバージョンをそろえる。
|