Updated at: 2014-03-02
krewFramework は何をするものなのか
概要
krewFramework はゲームの中身を心地よくコーディングするために作られた、 Actor 指向 の汎用フレームワークです。 どのゲームを作る場合にでも必要になるような処理の基盤を提供します。
複数のオブジェクトが様々なステートを伴って非同期に連携しあう ビデオゲームという複雑な概念を、枠組みにのっとってリーズナブルに記述できるようにすることが krewFramework のゴールとなります。
アーキテクチャ
krewFramework は Stage3D を用いる Adobe AIR / Flash 向けのゲームフレームワークです。 概ねワンソースで iOS / Android などのモバイル端末、 Mac / Windows などの PC ブラウザと、主要なプラットフォームに作品を展開できます。
krewFramework は内部で Starling を使用しています。Starling は Stage3D を使って 2D のゲームを作るためのゲームエンジンで、 Adobe が公式でサポートしているオープンソースのプロジェクトです。
Adobe AIR / Flash 向けということで、言語は ActionScript3.0 を使います。 krewFramework の利用者は Starling を知らなくてもゲームを書くことはできますが、 Starling の機能や拡張ライブラリは krewFramework 上でも利用可能です。
krewFramework を使うことで得られる恩恵
- Scene スコープのリソース管理の簡略化(生成と破棄の自動化)
- Actor 指向のメッセージングを用いた依存性の低い協調動作
- Layer 単位での表示順序の制御
- Layer 単位での、Actor の時間軸の制御
- コマ落ちと処理落ちを切り替える、ゲーム向けの時間軸の制御
- 手軽に書ける Tween やタスクのスケジューリング
- 手軽に書ける BGM / SE 再生
- 簡単な衝突判定
- ゲームでありがちな計算をするユーティリティ
- ゲームでありがちなコンポーネントを提供
- 階層型ステートマシン
- 非同期処理を書きやすくするライブラリ