自作ゲームエンジン(VGE)に、αブレンド機能を入れようかどうか、迷い中。
とりあえず、
(1)スプライトを特定の色でマスクする機能
(2)スプライトを1/2に縮小表示する機能
を追加で実装。
これらを準備することで、例えば、敵に弾が当たった時の点滅は(1)、空中の機体の影の表示は(1)+(2)という感じで機械的に作成することができます。(当初、ダメージパターンと影パターンをパーツ別に準備していました...)
影の表示は、2フレームの1回の間隔で影パターンを表示して半透明表示を実現しています。
つまり、錯覚を利用してます。
αブレンド(要するに透過表示機能ですね)を実装すれば、毎フレーム描画が可能。
ただ、毎フレーム描画するメリットといえば、画面のスナップショットを撮るのに失敗するのが無くなる以外にどんなメリットがあるのかと、考えると微妙過ぎて実装する気が起きない・・・という訳です。
決定的なメリットがあれば、頑張って実装すれば良いのですが。
逆に、αブレンドを実装しないメリットとしては、処理性能が良いということ。
αブレンドは色素(RGB)毎に平均値を取得する必要があるので若干重い。
ただし、平均値算出に要する演算処理は、αブレンドの方式にもよりけりですが、最もシンプルな方式であればAND演算、ADD演算、SHIFT演算だけ(=一般的なCPUで処理コストが軽い部類の命令だけ)だし、αブレンド対応に伴う追加の分岐も発生しないから、パイプラインとの相性も良いです。なので、必要最小限に絞って使うようにすれば、性能面でのデメリットはほぼ生じない気もしますが。
使う or 使わないは別にして、とりあえず実装してみるのが吉な気がします。
ただ、Android用のエンジンにも手を入れなければ作れない(Android用のエンジンは16bitカラー、Windows用のエンジンは24bitカラーという違いがある)から、面倒なので、とりあえず後回しで。
2012年5月2日水曜日
登録:
コメントの投稿 (Atom)
合理的ではないものを作りたい
ここ最近、実機版の東方VGSの開発が忙しくて、東方VGSの曲追加が滞っています。 東方VGS(実機版)のデザインを作りながら検討中。基本レトロUIベースですがシークバーはモダンに倣おうかな…とか pic.twitter.com/YOYprlDsYD — SUZUKI PLAN (...
-
家電量販店のPCゲームパッドコーナーに行くと、軒並みWindows用のゲームパッドしか売っていません。稀に「Mac OS X対応」を謳っているゲームパッドも置いてありますが、実際に動かしてみると妙に誤動作をして更にガッカリしたりとか(経験済み)。 色々と試してみたのですが、最...
-
MSX版「覇邪の封印」の攻略情報を書きます。 MSX版には、パッケージに布製の地図とフィギュアが同梱されていますが、これらは単なるオマケではなく、ゲームをプレイするために必要なツールでして、説明書でもフィギュアの左足部分を現在位置に置いてプレイする旨が指示されています。実際に地図...
-
ゲームボーイのCPUについて、誤った技術情報が検索トップの方に表示されるので、私が把握する限りでZ80との仕様差を書いておきます。 ゲームボーイのCPUとは? ☓ 8080 ☓ Z80 ○ 8080カスタム or Z80カスタム(正確にはSHARPのLR35902) ...
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。