読了 ngCoreサンプルソース

動かしてないので、理解が怪しいのですが、ざくっと全サンプルを読みました。

AndroidとiPhoneのNativeAPIに脳内で対応付けながら読むと・・・むむむ、どちらかというと高レベルAPIが多いというよりは、各Nativeの低レベルAPIに対応したJavaScriptの低レベルAPIがあるだけではないか?という疑問もありますが・・・ゲームエンジンってこんなものなのか?シナリオエンジンとか、状態遷移モデル作成DSLとか、当たり判定アルゴリズムとか、AIアルゴリズムとかいろいろあるもんかと思っていたのですが。

特に、OpenGL系の2DのAPIと抽象化されたコンポーネント(TextAreaやButton)のAPIの体系の違いが分かりにくくて、混在しているソースを見ると、どのタイミングでレイアウトの位置決めをしてどのタイミングで描画しているのだろうというのがわからなかったり。Windows PhoneのようにゲームのプラットフォームはXNAで、一般アプリケーションのコンポーネント用のプラットフォームはSilverlightというようにプログラミングモデルレベルでわかれているほうが理解しやすいかなーと。

今のところ、そこら辺のドキュメントがないために結局コンポーネントの抽象クラスのコードを読まないとよくわからんかもしれないです。

まあ、動かしてみながら、APIを理解することのほうが重要な気がするので、会社に入って環境構築しやすいMacが手に入ったら、すぐに動かしてみようと思います。

テストの観点からはSingletonを多用しているので、Mockを使った単体テストが非常に難しそうな感じです。ゲームはやはりViewに関するロジックが圧倒的に多く、それがAPIに依存してるために結構ビジネスロジックの分離といっても難しいかなーと。ここら辺は、ゲームプログラミングにある程度慣れてから深く考えていきたいと思います。まずはJSLint使えとかマニュアルには書いてありましたw

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中