Show page source of FrontPage #44970

= Open-MGL Wiki!

[[BR]]

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

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

{{{ comment
[[BR]]
== 単なる”ライブラリ”からその先へ・・・ ==

非常に長文になってしまったので別ページに分けました。

>[Next 単なる”ライブラリ”からその先へ・・・]
}}}

[[BR]]
== August Framework

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

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

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

>[August_Framework August Framework]


[[BR]]
== for Next Generation is "Neptune" ....

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

>[http://sourceforge.jp/projects/neptune Neptune]

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

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


{{{ comment


[[BR]]
== あ、そうそう。

実は'''ドキュメントが全然メンテナンスされていません。'''[[BR]]

なのでまぁ、ドキュメント書かれてないクラスとかは、自分でヘッダファイルとか見て解析してください・・・。[[BR]]
まぁ基本的にクラス名、メソッド名、変数名とはそのまんま分かり安めに書いてある筈なので、頑張って解析してちょ・・・!


[[BR]]
== MSL/MWL/MWLmfc

DirectXとは関係ない、且つ特にゲーム用途と言う訳でもないユーティリティ関数、クラス等を別に分離しています。[[BR]]
・・・んまぁパッケージ内のincludeとかでは一緒くたになってますけどネ・・・。

ちなみにそれぞれMSL=Myu Standard Library、MWL=Myu Windows Library、MWLmfcはそれのMFC部分、って感じです。[[BR]]
あ、そうそう。MGLは'''Myu Game Library'''の略です。


[[BR]]
== 3Dのサポートは・・・?
~~~ちょっと最近視野に入れ始めました。最終的にはサポートするかもです。~~~

本格的にTryし始めてみています。(ぉ


[[BR]]
== ライセンス
近々[http://sourceforge.jp/projects/opensource/wiki/licenses%2Fnew_BSD_license BSD License]から[http://sourceforge.jp/projects/opensource/wiki/licenses%2FMIT_license MIT License]へと変更する予定です。

BSD LicenseとMIT Licenseとでは、基本的に'''「著作権表示さえしていれば後は何をやってもOK」'''と言うスタンスは同じですが、
BSD Licenseの場合、三番目の条項として、

{{{
Neither the name of the nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
(日本語訳: 特別の許可が無くては、このソフトウェアから派生した製品の推奨や宣伝に、<組織>の名前やその貢献者の名前を使用してはいけない。) 
}}

と言う項目がある点で異なります。多分'''「このソフトから派生したソフトを宣伝するために、その謳い文句として組織名とか作者名を利用するのはやめてね。」'''という事を言いたいのだと思うのですが、それを制限する理由は特にないと思いますし、組織名(即ちプロジェクト名)を公表───'''「このソフトはOpen-MGLを使って作っています!!」'''みたいな風にして宣伝してもらうのはむしろ、このプロジェクトの存在を世の中により広く知ってもらうために良い事だと思うのです。なので、この第三条項のない、MIT Licenseへと移行しようかと思っています。(と言うかこの第三条項の存在意義がそもそも良く分かりません。「俺たちの名前を宣伝の引き合いに出すんじゃねー。自分の[http://d.hatena.ne.jp/keyword/%A5%CD%A1%BC%A5%E0%A5%D0%A5%EA%A5%E5%A1%BC ネームバリュー]の力のみで宣伝しろ!」ってこと・・・?詳しい人教えて!!)



[[BR]]
== ロードマップ

 * [ロードマップ]

[[BR]]
[[BR]]
[[BR]]
[[BR]]
}}}

[[BR]]

== サブプロジェクト

 * [Roast+]
   * [MSL]
   * [MWL]
   * [MWLmfc]
 * [MXP MXP++]
   * [Ageha AGH 2.0/Ageha]
   * [AGH]
 * [August_Framework August Framework]
 * [August_Framework_2.0 August Framework 2.0]
 * [http://sourceforge.jp/projects/neptune Neptune Project] - 別 sf.jp プロジェクト

== メニュー
 * 開発者募集要項 (準備中...)
   * [IRCチャンネル]
 * [http://sourceforge.jp/projects/neptune/wiki/%E9%96%8B%E7%99%BA%E6%97%A5%E8%AA%8C 開発日誌(Neptuneと共有)]

 * [開発環境の構築 ソースコードをコンパイルするには]
 * [コーディング規約]

 * [ロードマップ]
 * [Memo]