2008年8月21日木曜日

ape 0.45 for midp2.0 (5)

  • とりあえず完成
  • 200mhzのcpuを搭載したauw51caでape0.45に付属のデモ(640x320の画面)がちょっと省略した形ではあるが12frame/persecでフレームごとに7/8くらいの処理負荷で動く。スクロールもしますみたいな。
  • 同時期のソニエリの端末では6/8程度の処理負荷。gcでは少しコマ落ちするが気にはならんだろう。
  • でも携帯のcpuの200mhzってよくわからんのよね。いろいろ癖があるみたいで。
  • ape0.45どころか、一部svnリポジトリの内容見て直したりとかもしてる
  • 矩形判定を事前にいれて処理負荷を減らそうとかやってたら、円で判定してるので時間を無駄にしてあうあ。
  • やっぱりどうしても画像に対する処理とかは弱いのでどうすっかなあと。pngの回転とか多分実機だと無理。マスクビットマップ処理・・・できんのは固定物くらいかなあ(´Д`)で画面も動かさなければなんとか。アルファチャネルつき32bitの画像が640*320でー800kbでー無理。メモリなんざ1.5mbしかないですよ。
  • 固定画面として240*240でそういったことをやるのはありかもしれない。というか実用的だな。

2008年8月17日日曜日

ape 0.45 for midp2.0 (4)

  • 今日はオフでしたが、家に帰ってからも続行。
  • 実機でフリーズしている原因をさぐる。どうやら画面外のオブジェクトを描画しているところで固まっていることがいろいろ試して判明。
  • でさらに調べると画面上にひとつ大きな円があり、これが原因になっている。円を小さくしてとりあえず解決はした。うーん。なんだろう。かきこんじゃいけないvramにとか、そんなjavaらしくない理由かなあと悩む。
  • pcで動いているものの移植だが、最終的に12fpsを割った。これはいかんねと思いプロファイラを動かす。
  • 今までは物理計算八割で、描画コストが二割という関係で物理計算のループとかアクセッサの省略とかそんなことをしていだのだが。今回のプロファイルは描画5:演算5と出た。
  • で見て見ると円を書くために利用していた、drawArcが14.59%という数値を出してくれている。えー。
  • ここで謎がとけた気がする(;´Д`)
  • drawArcは内部的に猛烈な勢いで点を打つか線をひくかする関数なわけだが、いままでは円の半径がせいぜい10pxとかそんなので問題なかったのが300pxとかになってそこで描画できなくなったものなのではなかろうか。おそらく点をうっていて半径300pxの円を描画するには600πの点を→ファブリーズ?
  • つまりvramとか関係ありませんね。たんに半径300pxの円は関数の性能的に無理なわけだ。
  • midp2.0だとdibみたいなものが使えるので描画関数全部用意したうえで、それ経由で画面作った方がいいのかなあ(;´Д`)でもそれで早くなっても他の携帯ではやくなる補償もないよねえ

2008年8月16日土曜日

ape 0.45 for midp2.0 (3)

  • スクロールできるようにカメラ座標系を簡単に実装
  • 640x320の元のデモを実装してみた
  • エミュレーターでは問題なく動く。ただし実機ではフリーズ
  • 多分、表示されるされないを考え無しにグラフイックオブジェクトに書き込んでるせいだと思う
  • オフスクリーンイメージ (Canvas.setFullScreenMode()) の最大サイズは272×328 (描画可能サイズ + 32ドット) ですだそーだ(;´Д`)
  • あと240x268,240x298(フルスクリーン)の画面サイズを考慮に。下でやるほうがいいが

2008年8月15日金曜日

ape 0.45 for midp2.0 (2)

  • とりあえず、デモを移植しながらバグ取りしてみる
  • スクロールするようにしてそのままデモ動かしてもいいんじゃないかと思ったが、とりあえず小さなウィンドウ用にデモを直してということをやる。次それやればいいかなと。
  • いくつかバグが見つかる。デモがとおりいっぺんの動きするようになったら、潰れていた。
  • つり橋みたいなのと、バネのついた扉と、車輪の2つついた車、キーで動くようにする。
  • オブジェクトの配置がどうしようもなくめんどくさいね。定義から生成できるようにしよう。イニシャルコストしかかからないし。この場合はそれでもいい。
  • 壁の厚さとか気にしないと壁抜けが生じてしまうのはしようがないなーという感じ。実装されてないが、速度制限をベクトルにかけないと駄目だろうと。

2008年8月14日木曜日

ape 0.45 for midp2.0

  • flash界隈で有名なape物理エンジンを携帯javaで動かすためにごにょ
  • 0.2のポートがあったのだが古くてあまり使い物にならなかったためSDL用のポート眺めながらJavaにちまちま書き直してたよ。ArrayListとかmidpで使えないのをvectorにしたり。
  • プロファイラーとか見ながら直して、バージョンあげたりして、全体として元のjavaポートの倍速くらいになっていると思うが携帯上でのことで、厳密にはしらべてない。
  • flash版の四倍速ということにしておく
  • softbankとか、Auではそのまま動くし、密着してるのはどちらかというとcldc1.1なのでdocomoでも多少の手直しで問題ないと思います。GrpahicsをGraphics2dとかにすればアプレットにもなるし、使える範囲は広い。
  • そのうち配布しますが、ここを見に来る人で必要な人がいるかは謎ですね

2008年8月4日月曜日

日記滞り。近況

  • なんか暑くてやる気がでません。 まったく!!
  • ゲームがらみの近況は下記のような感じ。
  • BULLY日本語版(XBOX360)を購入。ちまちますすめてる。
  • 学園GTAですが、PS2ベースなのでやっぱりグラフイックとかいまひとつですね。
  • マップ内のイベント密度とミニゲームの充実度、アクション的な楽しさという点ではGTA:SA並。
  • 同級生とかあそこらへんのギャルゲがもし正統に進化したらたぶんこんな感じだろうなと思うのですが所詮洋ゲーなので萌えません。
  • 金をかけるのは大作のみ、恋愛学園ものは紙芝居で平気みたいな考えで、日本人はいろんな意味で置いていかれてしまった感。
  • BF:BCは50000ポイントくらいまで。もうじきあれですねコンクエモードですね。
  • リトルバスターズ!! EXやってます。一般⇒エロゲーの作品。前作はとりあえず最後まで見てるのでややたるいですが。まあスキップしながらぼちぼち。なんか話では追加の結果、クラナドよりもテキスト量増えてるとかいう話ですね。