DirectXを利用した2Dゲーム開発向けのライブラリです。
VC++用です。関数形式ではなくクラス形式で提供しているのでVBとかじゃ使えないかも・・・。
元々は自分のサイトにて公開していたものですが、一人で開発し続けるには余りに規模がデカく、
また自分の環境では起きないバグ等もあると思い、2007年02月09日 にSourceForge.jp上にオープンソース化しました。
現在、Open-MGLを利用した上位アプリケーションとして「Neptune」と言うソフトを(別の SourceForge.jp プロジェクトとして)開発中です。
Neptuneは2Dゲームの統合開発環境(IDE)──というよりも「オーサリング・ツール」です。
単なる言語ライブラリでは限界があると判断し、2008年初めに開発を開始しました。
なお、これに伴いOpen-MGLの開発がとまったわけではなく、むしろNeptune開発中に
「こんな機能があるといいな」と言うのをどんどんフィードバックし、こちらも依然として開発を続けています。
(むしろこのフィードバックにより、以前にも増して開発が活発化しているとも言えます。)
8月フレームワーク───
JavaのSpring Frameworkをもじってと言うか、何と言うか、まぁぶっちゃけ適当な名前付けなんですけど。(何
MFCのように、メソッドをどんどんオーバーライドしていくことにより、機能を実装していくタイプのフレームワークです。
前処理や後処理が複雑大量であるDirectX開発では、やっぱりこの形がベストなのかなぁ、とつい最近気付きました。
このタイプのプログラミング手法は嫌う人も居ますが、開発者の負担を考えると、やっぱりこの形が最善です。
詳細は別ページに記載します。
実はドキュメントが全然メンテナンスされていません。
なのでまぁ、ドキュメント書かれてないクラスとかは、自分でヘッダファイルとか見て解析してください・・・。
まぁ基本的にクラス名、メソッド名、変数名とはそのまんま分かり安めに書いてある筈なので、頑張って解析してちょ・・・!
DirectXとは関係ない、且つ特にゲーム用途と言う訳でもないユーティリティ関数、クラス等を別に分離しています。
・・・んまぁパッケージ内のincludeとかでは一緒くたになってますけどネ・・・。
ちなみにそれぞれMSL=Myu Standard Library、MWL=Myu Windows Library、MWLmfcはそれのMFC部分、って感じです。
あ、そうそう。MGLはMyu Game Libraryの略です。
近々BSD 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. (日本語訳: 特別の許可が無くては、このソフトウェアから派生した製品の推奨や宣伝に、<組織>の名前やその貢献者の名前を使用してはいけない。)
と言う項目がある点で異なります。多分「このソフトから派生したソフトを宣伝するために、その謳い文句として組織名とか作者名を利用するのはやめてね。」という事を言いたいのだと思うのですが、それを制限する理由は特にないと思いますし、組織名(即ちプロジェクト名)を公表───「このソフトはNeptuneを使って作っています!!」みたいな風にして宣伝するのはむしろ、このプロジェクトの存在を世の中により広く知ってもらうために良い事だと思うのです。なので、この第三条項のない、MIT Licenseへと移行しようかと思っています。(と言うかこの第三条項の存在意義がそもそも良く分かりません。「俺たちの名前を宣伝の引き合いに出すんじゃねー。自分のネームバリューの力のみで宣伝しろ。」ってこと・・・?詳しい人教えて!!)