君の瞳は1万ボルト~
いよいよ、おも~い腰を上げて、自前のゲーム開発ライブラリの制作に着手しました。 とはいえ、フレームワークやグラフィックなど、肝心な部分のクラス構成設計がいまだ中途半端。 とりあえず、現在はDirectX9.0を調査中。 そうです。 次期版フレームワーク「ClockRoom Extreme」(CRex)の対象環境はDirectX9.0に決定しました。 決定しちゃいました。
旧来版フレームワーク「AFL」では6.1を対象として、描画は2Dで行なっていました。 CRexではこれらすべてを一新。 9.0を対象として、描画は3Dで行ないます。 大きな変更点はこのあたりでしょうか。 ほかには、MIDIの排除、MP3の導入、ゲームパッドへの対応などが挙げられます。 とにかく、へっぽこなグラボではもう動きません。 あらかじめ宣言しておきます。
で、サクっと描画処理を書いて速度実験。 遅ければDirectDrawに逆戻りなわけで。 しかし、心配無用。 実験の結果、なんと、32×32のスプライトを1秒間に625,000個も描画できてしまいました。 う~ん、これだけ数字が大きいと実感が湧きませんね。
例えば、某3億円プロジェクト『エンメモ』の場合。 画面サイズは640×480、スプライトの大きさは32×32。 1画面分のマップを描画するために必要なスプライトの数は300個。 さらに、エンメモでは壁の裏や立体交差を実現するために5層構造のマップを採用している。 全面全層を使用した場合のスプライトの数は1,500個。 ただし、エンメモでは25fpsを維持する必要があり、1フレームで1,500個も描画すれば確実に25fpsを割ってしまう。 25fpsのボーダーラインは多めに見ても900個ほどでしょうか。 実際のところ、1画面あたり400個もあればマップの構成には十分でした。
1フレームで900個ということは、25フレームでは22,500個。 旧来の技術では1秒間に22,500個しか描画できませんでした。 ところが、新しい技術を用いれば、雑な話、エンメモを同時に27本も動かすことができるのです。 しかも、アルファブレンドを行なっても負荷が全く変わらないときたもんだ。
姉さん、これは事件です。 新しい技術を用いれば、「ハードウェアの制約で雨は無理」とか、「雨が降らないとシナリオが書けない」など、旧来のふざけた言いあいから解放されます。 どうです? 今なら憧れの「雨」に「後光がまぶしい千手観音」もお付けして、なんと!・・・