DIARY

ベンチマーク


Worlfardのエフェクトなどの見た目を改善している今日この頃です。

ちょこちょこやっているうちにWorlfard君結構重くなってきた気がしたので、
軽くベンチマークを採って確かめてみました。
するとまぁ、みごとに重くなってましたね。

現在WorlfardはFPS60でまわるように設定してあります。
このFPS60というのは1秒間に60回画面を更新しますよという意味で、
そうすると、1回画面を更新するのに掛けていい時間は16.6msで、
これを超えてしまうようになるとFPS60を維持するのが困難になってくるわけ。

んで、実際に1回画面を更新するのに掛かる時間を測定してみると、
画面にカードが増えてくると、1ループ16msを軽く超えてしまっていた(;´Д`)
これはつまり処理の上限を振り切っちゃっているということで、
画面がガクガクになって、所謂『重い』という状態。

但し、Worlfardはカードゲームでゲーム性からして、滑らかな描画が必要なわけではないので、
本当はFPS60にする必要はなかったりします。
実際試しにFPS30に下げてみても、レスポンスなどの操作性は、
まったく影響がなかったのでそれでも大丈夫でしょう。

しかし、もう少し工夫することで、処理を軽く出来る要素がまだまだあったりもする。
FPSを下げるのはそこらへんを改善してみて、それでもまだ重い場合の最終手段にしておきます。


てなわけで、次のバージョンは、エフェクトを追加して、処理の改善が出来たらアップします。
2010年09月26日(日) No.271 (プログラム)
Comment(0) Trackback(0)

DDBとDIB


Worlfardは現在、見た目の部分を改善中。



こんな感じの画像を用意して、カードが破壊された時とかのエフェクトを作ってます。
リアルタイムで計算してエフェクトを作ってもいいんでしょうけど、
とりあえず、今回はお手軽にあらかじめ用意した画像を合成するだけにしました。
速度とか負荷的にもリアルタイムに合成するのってどうなんだろうという疑問もあったので。

さすがにエフェクトを作るのに、アルファブレンドだけだとさすがにダサ過ぎるので、
光などの表現によく使う加算合成(アッドブレンド?)を実装して実現しました。



αブレンドはGDIにそのままのAPIがあるのでDDBのままで簡単に出来たけれど、
加算合成はDDBのままでは出来ない(やらない方がいい)ので、
DIBでピクセルデータを生で弄って合成しないといけない。

DIBを扱うのは初めてだったので、実装するのは大変かなと思っていたけど、案外簡単に出来た。
DIBSectionを使えばDDBとDIBの変換は面倒見てくれるので、
後は合成部分のコードを書けばいいだけ。
合成の処理自体も、合成する画像同士で各ピクセルのRGBを加算して255で上限をきればいいだけと簡単。

まぁ、飽和加算のビット演算の式についてははっきり言って理解できてないですけどね。

temp = ((src & dest) + (((src ^ dest) >> 1) & 0x7f7f7f7f)) & 0x80808080;
mask = (temp << 1) - (temp >> 7);
dest = ((src + dest) - mask) | mask;

いやぁ、やろうとしてることは分かるんですが、それがこの式で計算できるということが・・・
ぶっちゃけ、めんどくさいんで実際に計算してみて理解しようとかそういう作業もしてないんですが。
とりあえず、実装できてるのでそれでよしとしてますヾ(;´▽`A``

そういえば、DIBとかDDBについて私は間違った認識をしていたようで、
てっきり、DIBを使うとDDBより高速で描画出来るようになると思ってました。

しかし、DIBでピクセルの生データを高速で弄れるようになったとしても、
結局実際にディスプレイに表示するには、DDBに変換しなければいけないわけで、
描画速度はDDBだけの時と変らない、というか変換の分遅くなるんですね。
DIBはあくまでDDBのままやると遅くなる処理の一部を早くできますよってことだったんですねぇ(-ω-;)ウーン
2010年09月22日(水) No.270 (プログラム)
Comment(0) Trackback(0)

Worlfard 0.0.3αリリース


Worlfardの0.0.3αをリリースしました。





■ダウンロード
worlfard_v003.zip (2.08MB)

前バージョンからの変更点は主に、
・第1章全カードのイラストを実装。
・一部カードのパラメーター、スキル等を調整。
ぐらいになります。

まぁ、今回はイラストの追加がメインで、中身はあまり変っていません。
ひそかにカードの順番を弄ったりして、自分でデッキを作ってた人は困るかもしれませんが、
そんな奇特な人は皆無なので気にしませんw

やっとカードイラストが揃ったのでそろそろ新しく動画をとり直してもいいかなと思ったりしますが、
もうちょっとエフェクトを追加してからにした方がいいかなとか。

しかし、エフェクトとかも独りでやってるとツライ部分ですよねぇ・・・
2010年09月16日(木) No.269 (Worlfard)
Comment(0) Trackback(0)

怪音


※今回は顔文字多目でお送り致します。


ぱちっ、ぱちっ・・・


??(・・∂)


ばちっ、ばちっ・・・


スピーカーから?( ´Д`)σ))回ツンツン チガウ?


ぱちょん、ぱちょん・・・


ンンー、何の音だヽ(´Д`ヽ ミ ノ´Д`)ノキョロキョロ


びちゃん、びちゃん・・・


えぇぇぇぇぇー!!PCの後ろが水浸しっ!!ギィャァァー(゚ロ゚;)!!


はっ(;゚Д゚)


クーラーから水が滴ってるっ!(;゚;Å;゚; )


<(゚ロ゚;)>ノォオオオオオ!!クーラー逝きやがったぁぁぁぁ!!


ウゥ、残暑きびし過ぎヽ(*゚ω。)ノボテッ


暑さでなんも手につかん(; _▽_)ゲフゥ
2010年09月11日(土) No.268 (雑記)
Comment(0) Trackback(0)

やっと60枚


Worlfardのカードイラスト60枚がやっとこさ完了しました。








全カードを組み込んでちょっとテストプレイをしてみましたが、
やっぱり個別のカード絵がちゃんとあると違いますね!
なんてったってわざわざカーソル合わせてカード詳細を確認しなくても
なんのカードちゃんとわかるんですからw
やっとちゃんとしたゲームっぽくなってきました(蒔)


カードデータを弄って新しい能力を付けたりしたカードが結構あったりして、
カードイラストを全部組み込んだバージョンはそこらへんを調整してからになるので、
リリースにはもうちょっと時間が掛かると思います。



2010年09月02日(木) No.265 (グラフィック)
Comment(2) Trackback(0)