ケータイゲームはたいへんね

  • 続・携帯ゲームプログラミングHells(id:yaneurao:20040326#p1)

しかし、この15FPSという数字は、ゲーム中(ゲームの初期化終了後)にnewを一切呼び出さず、Cのようにプログラムを書いて、かりかりにインライン展開したりチューンしたりしてやっと到達できる数値である。それと同じスタイルのプログラムを要求されるということだ。とてもJavaのプログラムとは思えないし、こんなプログラムを書かされるぐらいならCのほうがよっぽどマシとも言える。

Javaが出た当初、「ゲーム中newを呼び出さない」はアプレットでゲームを作るうえでも重要だった。昔のVMGCは非常に性能が悪く、ゲーム中にちょっとでもインスタンスを生成しようものなら、いつなんどきあのくそ遅いGCが動き出すか分からず、絶対にやってはいけないとかたくなに信じていた。

このころのくせが抜けきらないので、私はいまだにゲーム中に動的にインスタンスを生成するのに躊躇してしまう。Dでもたぶん必要以上にプールしているんだろうなー。そろそろ考えを改めないと。

先日(id:ABA:20040324#p1)久しぶりにKVM Mark見たけど、iアプリが動くケータイ、本当に増えたねー。

ここの「DoJa-3.0各機種オプションAPI・拡張API実装状況」っていうPDFを見ると、505系の各機種においてどういった機能がどれに実装されているかという一覧が載っている。

にしてもこの表でかすぎ。ケータイアプリを作る人はこの表をにらみながらどの機種だとどれがオッケーでとか考えないといけない。しかもこれは明示されている機種間の差分であって、この何倍もの暗示的な差分があるんだろう。たいへんすぎ。Java出た当初のキャッチコピー'Write once, Run anywhere'を反対陣営がもじった'Write once, Test anywhere'の悪夢が具現化したものといえよう。

なのでこの辺の問題をもうちょっとなんとかしていただけると助かるんだが。Dojaを捨てて、MIDP2.0に移行する、だけじゃ多分解決できないんだろうなあ。