OpenGLES1.1のスプライトライブラリを作ってみたり

 twitterでは、ぼそぼそと呟いていますが、Astro Zillがほぼ終わり、自前のスプライトシステムを作り出して、なんとか運用できる所まできました。
 あ、Astro Zillというのは、リリース中のiPhoneパズルゲームです。
http://itunes.apple.com/jp/app/astro-zill/id384356532?mt=8

 cocos2Dというフレームワークを使っていたのですが、自前で作りたいという欲求があって、作り出しました。

 参考にした書籍はこちら。

  • OpneGLで作るiPhoneSDKゲームプログラミング

http://www.amazon.co.jp/s/ref=nb_sb_noss?__mk_ja_JP=%83J%83%5E%83J%83i&url=search-alias%3Daps&field-keywords=OpneGL%82%C5%8D%EC%82%E9iPhoneSDK%83Q%81%5B%83%80%83v%83%8D%83O%83%89%83%7E%83%93%83O&x=20&y=20

 こちらの書籍を参考に、ベースとなるスプライト表示を行いました。

http://www.amazon.co.jp/s/ref=nb_sb_noss?__mk_ja_JP=%83J%83%5E%83J%83i&url=search-alias%3Daps&field-keywords=%82%BB%82%CC%82%DC%82%DC%8Eg%82%A6%82%E9-iPhone%83A%83v%83%8A%83v%83%8D%83O%83%89%83%80&x=5&y=19
 こちらの書籍を参考に、作ったベースにブレンディング、ポイントスプライトなどの機能を追加していきました。

 途中、両方を行ったり来たりしましたけど。

 cocos2Dを使っていてcocosNodeが便利だったので、似たようなものを造ろうと、描画をノードで行うようにしたり、親ノードの座標変換、scale、flip、などの影響を子孫ノードが受けるようにしてみたりと。
 OpneGLの描画と元となるノードの座標計算の兼ね合いで、flipと回転座標系の整合性は少々面倒でしたけど。

 大昔の8bitコンピュータ頃から自分でゲームプログラミングをしてみたいとか、ライブラリみたいなものを作りたいとか思っていたのでした。

 OpenGLは、Astro Zillを作り始める前、少しかじったのですが、まったく歯が立たちませんでした。
 1つ作り上げて、少しは技能が上がった事もあるとは思うのですが、良い書籍が多数出版された影響が大きいです。
 なんとか作る事ができて、ちょっぴり満足しています。
 とかいうものの、昨日もバグを見つけて直したりしてますけれど。(汗)

 もし、OpneGLで自前スプライトを作ろうとか思う方がいらっしゃいましたら、上の書籍はとても参考になります。
 自前じゃなければ、cocos2Dがお奨めです。