現代ゲームプログラマが、FF13のフレームレートから業界事情をマジ語りするゲームプログラマの恋愛工学と金儲け某外資系大手ゲームメーカーチーフプログラマが、主に「恋愛工学」と、金を産む最先端技術を暴露する。>2009年12月20日22:26カテゴリゲームプログラムゲーム現代ゲームプログラマが、FF13のフレームレートから業界事情をマジ語りするここ2週間の埋め合わせとはいえこう毎日代わる代わるイタリアンデートに付き合わされていては幾ら何でも忙しない。前回からあんまりFFが進まないつかプレイする時間が無い。ストーリーを忘れてしまうよ!コツコツなんとか4章までいきました。ライトニングが彼女DLL:Bに似ていて本人にしか見えなくなってきた。なんか性格もちょっと似てるし。ヤツはPS3持っていないのでこの事は知らない。一度言うが俺はMじゃない。その上、これだけ呑み食いしていては太ってしまう。俺は結構太り易い体質なのだ。運動や筋トレは大好きなので色々と頑張りながら常にベスト体重から1~2段下の体脂肪率を20年保っているが、それでも油断するとすぐに2kgくらい増える。忘年会シーズンなんて大嫌いだ。前回のFFネタエントリー「外資系現代ゲームプログラマが、国産代表作FF13でお茶吹いた」において、興味深いコメントを頂いたので一件エントリーを組んでみた。無記名の方からのコメントでしたが、エントリー作りのヒントになりました。前回、まだ序盤ではあるがその時点までに判断できる事に限って言えば、FF13は総合的に大変な傑作であるという褒め褒めエントリーに対し、以下の様なコメントを頂いた。13:31>リアルタイムシーンの>フレームレートの低さは気にならなかったんですか?なるほど。これは確かに提供者としての意識をお伝えしておくべき内容だ。フレームレートという表現だけが先行している感があるが、通常、あくまでも「良質なゲームにおいての通常」は、フレームレートと引き替えに画像クオリティが高まっているという事を認識しなければならない。技術不足なメーカーが処理落ちしまくっているゲームを作っている事とは異なり、ここはトレードオフの問題なのだ。我々プログラマは、開発の早い段階においてチーム全体にある決定を迫る。「フレームレート維持」か、「雑誌掲載受けを重視するか」。タイトルにより千差万別であるが、まあ大まかに言えばこの様な内容だ。レースゲームを担当しているチームなのであれば、答えは自ずから前者になるであろう。チーム全体がそう思う筈だ。我々プログラマ側からの設問はあくまでも形式的な物になるであろう。フレームレートガタガタのレースゲームなんざプレイ出来たモンではない。アクションゲームならば事情はやや微妙だ。競合作品との瞬間静止画での競争力の為に常時30フレを選択するタイトルが大半を占めるであろう。FPS等はこれを許さないユーザーも多い。フレームレートを落した方がより多くのリソースをレンダリング出来る点は言わずもがなであるが、ともあれ低フレームレートは雑誌向けの静止画などにおいて大変に有利だ。広報スキルが激しく売り上げを左右する現代ゲームにおいて、高フレームレート維持をプログラマの意地だけで選択出来る時代ではない。大半はまず政治であり、そのゲームジャンルの方向性であり、最後にプログラマのマンパワーが発揮される。どの選択枝においても我々プログラマの仕事は変わりはない。最善のパフォーマンスを目指すのみだ。ジャンルによってチューニングの方法は異なる。ここは少し、プログラマのパフォーマンスチューニング事情にも触れてみよう。所謂無双系であるのならば、まずはデザイナ陣へ高度にマテリアル最適化を促した上で、姿勢行列パレットの更新のみで次々と何百体ものスキンモデルを描画出来る様にエンジンをカスタマイズするであろう。各個体の姿勢行列は当然ダブルバッファだ。100本以上にもなるボーン行列の更新は別のコアの仕事となり、描画パケットとしてキックしていく仕事とは分ける事になる。ここに物理系のエンジンが介入するならばトリプルバッファも視野に入れる。レースゲームであればスキン系のシェーダー起動を最小の優先に落とし、まずは地形情報に特化した設計となるわけだ。動的ロード及びマテリアルソートは当然。かなりの遠方までレンダリングしなければならない以上、手前から不透明物を描画。全体描画フェイズのかなり早い段階でシーンZ値を確定し、ピクセルシェーダーの起動回数を大幅に制限する事になるであろう。この様に、フレームレートの決定にはまずはジャンルによって様々な実装方法があり、デザイナの求めるリソース量が有り、何よりも政治的広報的な理由があるのだ。FF13を見てみよう。確かにプリレンダのムービーは腰を抜かす程に美しい。リアルタイムのシーンへの移行後はフレームレートが落ちている。何だというのだ?いいか?良く聞くんだ。RPGなのにここでFF13が強引にフレームレート維持方針を採っていたならばどうなっていたのか、それを超リアルかつ超マメにシミュレートして差し上げよう。制作されたムービーがあり、リアルタイムシーン班が動く。現状のFF13ではプリレンダと相違無い程にモデルが素晴らしい。これはFF12辺りでもかなりの職人技であったが、更に昇華されている。一般の人には見分けがつかないのでは無いかという完成度だ。フレームレート絶対維持であるのならば、まずはここへ大幅な手が入る。ポリゴン数は3分の1。背景シーンは4分の1だ。PS3ではバーテックスシェーダーが使い物にならずSPUが代行している。SPUには他にも沢山の仕事があるため、まずはポリ数が削られていくのだ。各種ポストエフェクトも大幅カット。平均輝度を求める為の全スクリーンピクセルシェーダー->半スクリーン->8分の1スクリーン->etc.平均輝度算出後の再度のフルスクリーンピクセルシェーダー。だいたいこれで合算3ミリ秒かかる。これにより色味に味も何もないPS2の様なクオリティへ落ちかける。シャドウ系も投影のみだ。キャスターは主人公達のみになり、レシーバーは背景のみになる。足や腕には影がおちない」という事態だ。被写界深度系は単純な処理ではあるが、やはりフルスクリーンQuad走査だ。