金曜日, 2月 05, 2010

開発:Tokyo Railways 2

 「Tokyo Railways 2」の開発状況ですが、ソースの大幅見直しによるメモリ使用と処理速度の改善をやりつつ、次のv1.90で公開できる機能を優先して片付けています。

 先日のマップの読み込み速度の改善の時には、細かい計測をかけて時間のかかるところを調べ、これを改善する方法で大幅な改善に成功しましたので、メモリ使用の方も同じ手法を使ってみました。そうしたら、ダイアログのイメージバッファーがかなりの量になっていることを発見。性能を調べたところ、バッファを表示時の一時的になものに変えて、ダイアログ表示の度にイメージを作成し、表示後に廃棄しても速度的な影響はほぼないことがわかり、ダイアログごとにバッファーを確保するのやめたら、かなりメモリの使用量が減りました。それ以前の修正を合わせると、メモリ使用量はほぼ半減しています。
 この分の一部をネットワーク対応の副産物として作った、リプレイ機能というのに使用してみました。
 こんな感じのビデオのリモコンみたいな画面で、終了したゲームを再生する事が出来る機能です。

 この機能はゲームの途中の動きを再度見ることができるだけでなく、その時点のデータを保存して、そこから再度プレイすることもできます。これは開発者の私にとってはかなりの武器で、さっそく思考ルーチンの挙動不審なところを見つけて、それを再生した上で、直前の状況で保存し直し、問題の原因を取り除くことができました。
 この問題は性格パラメータの中の「仕事駒積載量」がCのもので発生する不具合だったので、これで少しは「仕事駒積載量」がCの性格の思考ルーチンも強くなると思います。

 あと、もう一つ。次のv1.90で全ての追加マップのアップデートを予定していますが、ひとつずつダウンロードしてインストールしてたら面倒なので、複数のマップファイルを圧縮して、一回でインストールできる新しいマップファイル形式に対応しました。これはBGMやイメージなども一緒に入れられるので、今拡張セットで配っている「Merchant of Orion」も追加マップと同じ手順でインストールできるようになります。

 そういえば、もう一つ大きな改善点がありました。v1.85以前はJAVAでメモリーを256MBほど確保していましたが、大幅なメモリ使用量削減の目処がついたので、v1.90では80MBほど確保する量を削減し、176MBに変更する予定です。これで今までよりもメモリの少ない環境でも快適に動作するようになります。たぶん、メモリが1GB以下の環境では結構快適になるはずです。

 さて、これで、ほぼv1.90向けの機能の開発は終りました。ただ、修正量が多いのでかなり入念なテストが必要です。それに全マップアップデートが必要なのでこっちも結構大変。機能の追加はこの辺で一旦終りにして、リリースに向けての次のステップに進みたいと思います。

0 件のコメント: