DirectXを利用した2D、3Dグラフィクスゲーム開発向けのC++ライブラリ、及びその上位フレームワークを作成しています。

最も短いステップ数で、ゲーム開発が行える事を目指しています。

初心者でも簡単に扱え、且つ、上級者の使用にも耐えられるライブラリを目指します。


Open-MGL Wiki


Open-MGLとは?

DirectXを利用した2D、3Dグラフィクスゲーム開発向けのC++ライブラリ、及びその上位フレームワークです。

初心者でも簡単に扱え、且つ、上級者の使用にも耐えられるライブラリを目指します。

比較的オブジェクト指向の強いライブラリでもあります。


August Framework

August Frameworkでは更にオブジェクト指向の色を強め、コントロールベースによる開発を行います。

全ての機能クラスはコントロールとして扱われ、基底クラスとして agh::CControlBase を持ちます。

共通の基底クラスを持つ事により各クラス間のインターフェースが統一され、複雑な連携を取る事も可能になりました。


それぞれの各機能クラスは、必ず”デフォルトの処理”を持ちます。

これにより、ユーザが入力すべきコードは必要最低限になります。

これまでのDirectXによるゲーム開発では、莫大な初期化処理を記述する必要がありましたが、
August Framework ではフレームワークが勝手にやってくれます。

言語上の制限により、コントロールの登録処理を1行記述する、程度の手間は多少残りますが、
それ以外には、特に何かする必要がなければ、何もする必要はありません。

最も短いコードでは3行で済みます。あなたは指定された一つのヘッダファイルをincludeし、
使いたいクラスを宣言し、実行すべきメソッドを呼び出せばいいだけなのです。
WinMainの宣言や、windows.hのinclude等については除いたステップ数です)

これは、まっさらなウインドウを表示するだけの場合ですが、
しかし、これに加えて、画面上に一つの画像を表示しようとした場合でも、+10ステップ程度の追加で済みます。
初めてDirectXによるゲーム開発を行う人にとっては”これが当然”と思うかも知れませんが、
そうでない人にとってはそうではないのです。そういう人々にとって August Framework は
かつてない程の高速なゲーム開発を実現する手段になるでしょう。

(言語上可能な限り基本的に)ユーザは ユーザは、特に何か特別な処理を行う必要がなければ、クラスを宣言するだけで良いのです。

August Frameworkは、Open-MGLによる

これによりある程度の処理は、

コアライブラリ

実装状況

[[実装状況]]


残りの3行ですか?windows.hのincludeと、WinMain関数の開始と終了、その3行です。

特徴

DirectXの知識必要なし

他のライブラリとの違い 純オブジェクト指向 若干エージェント指向

Open-MGL Wiki!


Open-MGLとは?

DirectXを利用した2D、3Dゲーム開発向けのライブラリです。
VC++用です。関数形式ではなくクラス形式で提供しているのでVBとかじゃ使えないかも・・・。

元々は自分のサイトにて公開していたものですが、一人で開発し続けるには余りに規模がデカく、
また自分の環境では起きないバグ等もあると思い、2007年02月09日 にSourceForge.jp上にオープンソース化しました。


August Framework

8月フレームワーク───
JavaのSpring Frameworkをもじってと言うか、何と言うか、まぁぶっちゃけ適当な名前付けなんですけど。(何

MFCのように、メソッドをどんどんオーバーライドしていくことにより、機能を実装していくタイプのフレームワークです。
前処理や後処理が複雑大量であるDirectX開発では、やっぱりこの形がベストなのかなぁ、とつい最近気付きました。
このタイプのプログラミング手法は嫌う人も居ますが、開発者の負担を考えると、やっぱりこの形が最善です。

詳細は別ページに記載します。

August Framework


for Next Generation is "Neptune" ....

現在、Open-MGLを利用した上位アプリケーションとして「Neptune」と言うソフトを(別の SourceForge.jp プロジェクトとして)開発中です。

Neptune

Neptuneは2D、3Dゲームの統合開発環境(IDE)──というよりも「オーサリング・ツール」です。
単なる言語ライブラリでは限界があると判断し、2008年初めに開発を開始しました。

なお、これに伴いOpen-MGLの開発がとまったわけではなく、むしろNeptune開発中に
「こんな機能があるといいな」
と言うのをどんどんフィードバックし、こちらも依然として開発を続けています。
(むしろこのフィードバックにより、以前にも増して開発が活発化しているとも言えます。)


サブプロジェクト


開発者向けメニュー