Android描画実験 |
本日より、Android版の「Army & Maiden」の開発を始めました。
今日行った内容は下記の通りです。
・Android版「Army & Maiden」用のプロジェクトの作成。
・Hellow Woldの起動テスト。
・初期化から終了までの各種メソッドと、タッチパネルのメソッドの実装。
・ゲーム進行管理と描画を行うための、スレッドによるループ処理の実装。
取りあえずこんな感じです。まだスケルトンを作っただけという状態です。
さて、来週ぐらいから、ラップ・クラスを作成して実装していくことになります。
「Army & Maiden」は、PCとAndroidの環境依存を吸収するために、以下のラップ・クラスを用意しています。
・WrpDw(描画処理をラップするクラス)
・WrpEnv(各種環境依存をラップするクラス)
・WrpFile(ファイルのデフォルト入出力先やリソース取得をラップするクラス)
・WrpNet(通信処理をラップするクラス)
・WrpSnd(音声処理をラップするクラス)
ゲーム内では、これらのラップ・クラスを通して、環境依存の処理に触れるようにしています。
PC版の「Army & Maiden」では、これらのラップ・クラスを継承した以下のクラスを用意しています。これらを起動時に初期化して、「AppLoop」クラス(アプリ本体)に登録しています。
・WrpDwPc
・WrpEnvPc
・WrpFilePc
・WrpNetPc
・WrpSndPc
来週から行うのは、これらのラップ・クラスのAndroid版の作成です。
・WrpDwAndroid
・WrpEnvAndroid
・WrpFileAndroid
・WrpNetAndroid
・WrpSndAndroid
これで、理論的にはゲームのプログラムを一切弄ることなく、移植が完成する予定です。
処理のメソッド自体は、既に「Ex Reversi」で開発したメソッドが流用できるので、かなりの部分コピペでいけるはずです。
とはいえ、これだけでは解決しない環境依存も存在します。
その一番の山場は、Androidの特殊な起動終了処理です。
これに対するメソッドも「AppLoop」クラスには用意しているのですが、PC版では未実装です。予約だけしてあるメソッドというわけです。
この部分を実装すれば、全ての動作が完成するはずです。
……とはいえ、実はこれで終わりではありません。
最後の仕上げというか、手こずる可能性があるのは、CPUとメモリーのスペック対策です。
メモリーに関しては、一応、PC版で16MB以内で全て動作するようにしてあるので大丈夫なはずです。PC版よりも画面サイズが小さいので、メモリー使用量は減るはずですし。
あとは、CPUの速度が追いつくかどうかです。
ここらへんは、実際の動作を見ての判断になります。
目標は2週間なのですが、色々と他の仕事もあるので、もう少しかかるだろうなという感じです。
上手くサクッといってくれればよいのですが。