neptune_explorer_0x9 (v0.000000001(β1)) | 2009-11-02 23:23 |
Neptune-UI (0.01.40.20) | 2008-07-12 20:15 |
何もせず、ただぐーたらしていた訳ではありませんよ・・・?(本当に
ちなみに、仕事で忙しくて何もしていないと言うオチでもありません。・・・まぁ、仕事はそれなりに忙しくもありますが。(何
と言うか実は、コミット履歴自体は1/15くらいまであるものの、実は本当のMGL・・・って言うか何て言うか、August Frameworkやら、 直接ゲーム開発に関わる部分は、実は11/20辺りのが最後だったり・・・。
つまりは、前回の日記、及び前回の最終リリースより半月後以降は、全然違う事をやっていたと言う事です。
で、何をやっていたかと言いますと。
Roast+の方をずーーーっと、弄ってました。
2009/10/10の日記で書いた、SIMDの件の続きに始まり、ファイルアクセスの共通クラスやら、WaveファイルやらLFSRやら・・・。
まぁ、本プロジェクト(Open-MGL/Neptune)とは全く関係ない、別プログラムのための作業なんですけど。(←
でも折角なので、その過程で出てきた、共通関数/クラスとして出来そうな部分を、Roast+の方にも蓄積・・・と言う訳です。
と言うか、こう言ったライブラリ的な物って言うのは、実際に使っていく中で作って行かないと、いざ使ってみた時に、
なかなか実用的でなかったりしますしね。目的無しで作っても、使われるに値しないものが出来てしまう事がよく有ります。
なのでまぁ、丁度いい機会と言うか、そんな感じです。
で、今ふと気がつけば、何故か「テンプレートプログラミング」にまで手を出してたりします。(何
C++歴かれこれ7年くらい・・・。ようやく重い腰を上げてレンプレートプログラミングに着手した感じです。
あ、ちなみに、ジェネリクス的なテンプレートの使い方だけであれば、勿論以前から使ってましたけどね。
ただしこういうのは「テンプレートプログラミング」とは言わない・・・。本当の意味での
「テンプレートプログラミング」に手を出し始めたのは、ついぞ年が開けてからの事です。
定番書「Modern C++ Design」
も買ったりしました。ま、基本的には出来る限り本には頼らず、自力で解決して行く方針にはしておりますが。(まぁ本を買ったのは、困った時用、バイブル的な感じです)
んでまぁRoast+の方に、そういったテンプレートプログラミング的な要素もバンバン追加していってる訳なのですが・・・
これについて書き始めるとまた長くなるのでまたの機械に・・・。
ちなみにRoast+なのですが、そう言った本格的なテンプレートプログラミングを始めた頃、1月中頃。別Projectとして分離しました。
理由としては、かねてから「ライセンス・・・Open-MGLとは違うものにしようと思ってるんだけれど・・・これって大丈夫・・・?」
って言うのもあり、また、そもそも毛並みがかなり違い、また、規模としてもだいぶデカくなってきちゃっていたので、分離した訳です。
・・・今はソースコードリポジトリの移行となっていますが・・・。まぁ最終的にはWikiとかも移行ですね。
・・・って言うかRoast+もだいぶ方向性が、元のWikiに書いてある奴から変わって来ちゃったなぁ・・・。あ、まぁここらへんも今度の機会に話すか。(何
最後に、肝心のビッグニュースをお伝えしなければなりません・・・。
Open-MGLの方は暫く更新しないつもりで居ます。
「なんや?正々堂々サボり宣言か?」と思うかも知れません。んまぁ、20%くらい間違ってない事も無いとは思いますが・・・。(何
暫くの間、Roast+の方に集中しようかと思っています。理由としては大きく二つです。
まず、一つ目としては、ゲームを作るにあたって、取り敢えず最低限、ほんっと最低限の機能に関しては実装したと言う事。
まぁ、これでゲームを作れない事も無いと言うか、簡単なゲームであればとりあえず十分に作れるでしょう、と言うレベル。
二つ目の理由は、一つ目の理由にもちょっと繋がるところがあるのですが・・・
今後これ以上の拡張機能を実装して行くに辺り、基本ライブラリ(Roast+)の方を作りこんで行く必要があるでしょう、と言う事。
今のままでは、どっちみちOpen-MGLの拡張機能を実装して行っても、所々で基本ライブラリを作るために手が止まることがあるでしょう、と言う。
そういった基本ライブラリと、Open-MGLのDirectX的な部分やらを行き来(頭を切り替え)して行くのは、結構な労力ですので・・・。
そんならば、いっそまずは基本ライブラリの方を、ある程度片してしまってから、Open-MGL本体の方に集中した方が良いでしょう、と言うことです。
また、2.5個目的な理由として、テンプレートプログラミングをある程度覚えることによって、きっと
「ここはこういう実装にした方が良いな」と言うのが出てくるであろう、と言うのもあります。
と言うか、今のAugust Frameworkやらの設計を、根本的に覆してしまうかも知れません・・・。
それを後からと言うのは非常に無駄な労力ですから。出来るんであれば、可能な限り早めに・・・と言う事です。
さて、どれくらいそのRoast+に対し時間を注ぎ込むつもりで居るのか・・・と言う話ですが・・・。
個人的には、半年から長ければ最大で1年くらい、と見ています。
ま、主にこれ、その大半が「テンプレートプログラミング」の旅に費やされると見込んでいる訳ですが・・・。
ある程度テンプレートプログラミングについて学び、Roast+にもその成果がある程度蓄積された段階で、 Open-MGLの方に戻って来る考えでいます。テンプレートプログラミングの旅は・・・まぁ確実に、長く、険しい旅になるかと思いますので・・・(苦笑
・・・暫く日誌の方も更新しないかもねぇ・・・。ま、Roast+に関するちょっと今回の日記では書けなかった報告に関してだけは、
機会があればしたいとは思っていますが・・・。それ以外の事に関しては、暫く、”まったくもって活動してない”的な状態に見えるかと思います。
んま。そんな感じの近況です。