Top > C++ > オープンソースライブラリゲームプログラミング

オープンソースライブラリゲームプログラミング Edit

オープンソースライブラリゲームプログラミングとは Edit

遊びで作っているゲームプログラミングフレームワーク。
SDL+OpenGL+OpenALWithOggVorbisで
WinでもMacでも動くものを作ろうというもの。

ソース Edit

http://www.10106.net/~hoboaki/view/gamesln
(毎朝、最新のものに更新されます)

使用ライブラリ Edit

  • 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
liboggOggデータデコーダBGM・SEの再生1.2.2
libvorbisOggデータデコーダBGM・SEの再生1.3.2
GLEWOpenGL Extension Wrangler,OpenGLの拡張機能のラッパーWindowsでのみ使用1.5.8
pthreadszthreadがバグバグだったのでこっちを試しに使ってみることにスレッド
boostC++拡張ライブラリ色々1.45
angelscriptゲームの挙動実装スクリプト2.18.1

コンパイルマクロ Edit

自分で設定したもの

名前説明
USE_DEBUG_UTIL1のとき,開発補助コード(ex.printf)が有効になる
USE_ASSERT1のとき,アサートが有効になる
USE_OPENGL_ERROR_CHECK1のときかつUSE_ASSERT=1のとき、OpenGLのエラーチェックが有効になる

システムから要求されるもの

名前説明
GLEW_STATICGLEWを使用するのに使用
_DEBUGVC8.0,デバッグビルドするのに定義
NDEBUGVC8.0,デバッグビルドしないときに定義

Winのみ

名前説明
PTW32_STATIC_LIBpthreads win32

無視する警告 Edit

VC8.0

番号説明
4127条件式に定数を使用している。
4351配列のメンバ初期化
4355コンストラクタのメンバ初期化でthisポインタを使用している。
4481言語拡張使用を使用している。

ビルド方法 Edit

WindowsXP Edit

  1. GameProject.vcxprojを開いてビルド。

MacOSX Edit

  1. チェックアウトしたディレクトリ/GameProject/MacOSXのディレクトリでMake

その他コンテンツ Edit

todo Edit

  • [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のバージョンをそろえる。
  • ディレクトリ構成メモ
    • ファイルはキャメル方式。
    • ディレクトリは原則小文字アンダーバー方式。ただしプロジェクトフォルダや名前空間フォルダなどは例外。
    • ただし,framework直下のディレクトリはキャメル方式。
      crossframework
      + file
      + svn
        + framework/trunk
          + ParamEditor
            + ParamEditor.exe
            + Readme.html
          + CommandLineTool
            + doc
              + XDataConverter.html
            + bin
              + XDataConverter.exe
          + Tool
            + XTool.sln
            + ParamEditor/ParamEditor.vsxproj
            + XDataConverter/XDataConverter.vsxproj
          + Library
            + man
              + index.html // ここも大文字にしたい。Readme.htmlにする?
            + include
              + XBase
                + Vec3.hpp
              + XData
              + XG3D
            + src
              + XBase
                + Vec3.cpp
              + XG3d
            + build
              + win
                + XLibrary.sln
                + XBase.vcxproj
                + XG3d.vcxproj
              + macosx
                + XBase.xcodeproj
              + doxygen
                + Doxyfile
            + lib
              + win_sdk70a_vc100
                + debug
                + release
                + final
                  + LibXBase_x86.lib
                  + XBase_x86.dll
                  + XBase_x86.lib
              + macosx_sdk106_llvm20

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes
Last-modified: (4304d)