パッケージ
パワースマッシュ4公式サイトへ
  • セガ
  • 発売日:2011/12/17
  • 価格:PS Vitaカード版:5229円 / オンライン配信版:4700円(すべて税込)
  • Amazonで買う
  • Yahoo!で買う
読者の評価
85
投稿数:1
レビューを投稿する
準備中
お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
PS Vitaのローンチタイトル「パワースマッシュ 4」が60fpsを達成できたワケ
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2012/04/03 16:54

イベント

PS Vitaのローンチタイトル「パワースマッシュ 4」が60fpsを達成できたワケ

 2012年3月28日,ソニー・コンピュータエンタテインメントは,都内の同社オフィスでPS Vita開発者向けカンファレンス「PlayStation Vita Game Conference 2012」を開催した。ここでは,セガによる「フル解像度60FPSで動くPowerSmash 4を作る」と題されたセッションをレポートしてみたい。「パワースマッシュ 4」は,PS Vitaのローンチタイトルの一つであり,開発陣は経験がないハードウェアに取り組む必要があったわけだが,据え置き機版のグラフィックスとさほど変わらない内容で,目標としていたフル解像度の60fps動作をほぼ実現できたという。その秘密は何だったのだろうか。開発スタッフによる開発事例解説を紹介しよう。

画像集#024のサムネイル/PS Vitaのローンチタイトル「パワースマッシュ 4」が60fpsを達成できたワケ


グラフィックスの品質を重視しフル解像度60fpsにこだわったパワースマッシュ 4


 ご存じの方も多いだろうが,セガの「パワースマッシュ」シリーズはドリームキャストでスタートし,PlayStation 3など数多くのゲーム機向けにリリースされてきた人気のテニスゲームである。その最新版となる「パワースマッシュ 4」は,PlayStation 3Xbox 360版が先行してリリースされており,PS Vita版は同機のローンチタイトルの一つとなった。

セガ 第二研究開発本部 平山 尚氏
画像集#001のサムネイル/PS Vitaのローンチタイトル「パワースマッシュ 4」が60fpsを達成できたワケ
 一般に,ローンチタイトルの開発には,ノウハウのない目新しいハードウェアに対応しなければならないという困難さがある。にもかかわらず,PS Vita版パワースマッシュ 4はフル解像度(960×544ドット)で4×MSAAという,高解像度対応かつ高品質だが重いアンチエイリアシングを使用しつつ,プレイ中のほとんどのシーンで60fpsを達成しているという。それをどうやって成しえたかというのが,このセッションのテーマである。

 セッションは,CPUの最適化部分をセガ第二研究開発本部の平山 尚氏が,GPUの最適化部分を同じく第二研究開発本部の鈴木 宏氏が説明するという順で行われた。

 通常,ローンチタイトルは開発期間も短いことが多いのだが,平山氏によるとパワースマッシュ 4のPS Vita版の開発については,比較的,時間に余裕があったそうだ。開発はPS3版のベタ移植からスタートし,中断を挟みつつ,わずか5か月でゲームをPS Vita上で動作させることができたという。しかし,その時点では「フレームレートは一桁しかなかった」(平山氏)ほか,ゲームを少し動かすとメモリが溢れてゲームが停止する状態。そのため,ここからの作業に,さらに数か月を要することになる。

 というように,移植直後は,厳しい状態ではあるものの,PS Vitaで「据え置きと同じシェーダが動く,そしてメモリは十分に多い」ということが分かったと平山氏は言う。メモリ溢れで停止していたのは,テクスチャ圧縮に対応していないベタ移植だったためで,想定内の事態だったようだ。「テクスチャ周りを書き直し,メモリアロケーションを見直したら問題なく動くようになった」とのこと。

 この時点では,解像度を落としてもフレームレートがあまり上がらなかったため,足を引っ張っているのはCPUだと判断。GPUに余力がありそうなことと,PS Vitaの魅力は,有機ELディスプレイによる画像の美しさにあるという理由で,フル解像度かつ4×MSAAによる高品質なグラフィックスを堅持するという目標を設定したという。
 一方,フレームレートに関しては,当初から60fpsを目指していたわけではなかったそうだ。携帯機ということもあって,どこまでいけるか不明だったため可変フレームレート制を導入したという。

画像集#018のサムネイル/PS Vitaのローンチタイトル「パワースマッシュ 4」が60fpsを達成できたワケ 画像集#016のサムネイル/PS Vitaのローンチタイトル「パワースマッシュ 4」が60fpsを達成できたワケ

 平山氏が説明したCPU側の最適化の道筋は,「重くなっているところに手を加えていく」という,どちらかというとad-hoc(場当たり的)な対応という印象だった。例えば,据え置き機ではCPUでスキニングを行っていたものを,GPU側に移す。また,布や髪など動くものは減らして対応,という具合。さらに,スタジアムなど大きなオブジェクトを複数に分割し,カリング(表示されない部分を事前に処理から外すこと)してDrawコールを減らすといった,やや力技的な最適化を行っていったようだ。ゲームの高速化では,まずDrawコール数を減らすというのが,いつの時代でも基本的な手法となっている。

 PS3からの移植ということで,コードの書き方にも問題はあったようだ。平山氏が挙げたのは,新たなオブジェクト(メモリ領域)を確保する「new」の問題。これはC++とSTL(標準テンプレートライブラリ)を知っている方ならおおよそ承知しているだろうが,例えば,STLの文字列クラスでは裏でnewとdeleteが大量にコールされている。また,オブジェクト指向言語では,オブジェクトの生成と消去は常に負荷が高い処理として語られる類の処理である。
 据え置き機ではCPUに余力があったので,オブジェクト指向を意識した綺麗なコードを書いてもさほど問題にはならなかったのだが,携帯機には重い処理になるので,オブジェクトの生成処理を削減する必要があったとのこと。つまりSTL禁止である。

画像集#015のサムネイル/PS Vitaのローンチタイトル「パワースマッシュ 4」が60fpsを達成できたワケ 画像集#017のサムネイル/PS Vitaのローンチタイトル「パワースマッシュ 4」が60fpsを達成できたワケ

 PS Vitaは4コアのCPUを搭載している点も特徴であり,もちろんマルチスレッド化も行っているという。
 パワースマッシュに代表されるような,シリーズが長く続いているゲームでは,シングルスレッドで作成されているものが多い。パワースマッシュも「マルチプラットフォームのタイトルなので,CPUのコア数に頼れない」(平山氏)ことや「もともとはドリームキャストで動いていたタイトルで,ロジックの部分はあまり重くなかった」(平山氏)こともあり,さほど積極的にはマルチスレッド化されていなかったという。こうしたゲームがPS Vitaに移植されるケースは今後も多いと思うが,PS Vitaではマルチスレッド化が一つの課題になりそうな気配だ。
 CPUがボトルネックになる状況ではマルチコアを活用することは急務といえ,PS Vita版では,2コアをスレッドプール管理専用に割り当ててマルチスレッド化を計ったとのこと。

画像集#019のサムネイル/PS Vitaのローンチタイトル「パワースマッシュ 4」が60fpsを達成できたワケ 画像集#021のサムネイル/PS Vitaのローンチタイトル「パワースマッシュ 4」が60fpsを達成できたワケ

 もう一つ興味深かったのが,GPUにからむCPU側の処理の問題だ。ゲームの描画ではGPUとCPUは同期を取る必要がある。頂点バッファでの処理をGPU側が処理し終わったら,CPUから次のフレームの頂点を書き込むという具合だ。
 PS VitaではGPUとしてタイルレンダリング式のPowerVRを採用しているため,この同期の部分が従来の据え置き機とはやや異なり,ここをPowerVRに最適化しないと極端にパフォーマンスが低下するという。

 具体的には,タイルベースのGPUでは「頂点を処理し終わらないとピクセルシェーダが動き出さない」(平山氏)という仕様のため,頂点バッファをダブルバッファ式にする必要があったとのこと。現フレームの頂点バッファの処理が終わったら,前のフレームで処理した頂点バッファの描画を開始するといった感じの処理になる。
 また,GPUがテクスチャを使い終わるのは2フレーム後になるため,原則としてCPUからのテクスチャの書き換えは行わない仕様にしたという。テクスチャの書き換えが必要なのはムービー再生くらいに限られているが,PS Vita版ではROM容量の関係でムービーは省略されたためとくに問題はなかったと説明していた。
 このようなPowerVRへの対応も,先のマルチスレッド化と並ぶPS Vitaの一般的課題になりそうだ。

画像集#009のサムネイル/PS Vitaのローンチタイトル「パワースマッシュ 4」が60fpsを達成できたワケ 画像集#010のサムネイル/PS Vitaのローンチタイトル「パワースマッシュ 4」が60fpsを達成できたワケ


GPUではポストエフェクトを軽くすることで60fpsを達成


セガ 第二研究開発本部 鈴木 宏氏
画像集#002のサムネイル/PS Vitaのローンチタイトル「パワースマッシュ 4」が60fpsを達成できたワケ
 GPUの最適化の説明では鈴木氏にバトンタッチして講演が続けられた。
 平山氏の説明にあったように,PS Vita版のパワースマッシュ 4では可変フレームレートを採用している。具体的にはエフェクトが多用される演出シーンでは60fpsを割り込むことを許容するが,ゲーム中は60fpsを維持するという方針で実装されたそうだ。

 そのために,60fpsが必要なゲーム中は,ポストエフェクトをパスすることで描画負荷を下げたという。ポストエフェクトでは,ブルーム(明るいところがにじむ)と被写体深度調整を行っているそうだが,ゲーム中はそのようなエフェクトを使わないグラフィックスになるわけだ。

 さらに,パワースマッシュ4では,セルフシャドウ(シャドウマップ)を含むシャドウ処理が実現されている。しかし,すべてのシーンでシャドウマップを使うと重くなるので,選手が選手に落とす影,背景が選手に落とす影,という具合にシャドウの種類を区分けして,それぞれに対して最適な処理を行うことで,すべてのシーンで自然なシャドウが表現されるよう工夫したと鈴木氏は説明していた。

画像集#025のサムネイル/PS Vitaのローンチタイトル「パワースマッシュ 4」が60fpsを達成できたワケ 画像集#026のサムネイル/PS Vitaのローンチタイトル「パワースマッシュ 4」が60fpsを達成できたワケ

 例えば,動かない背景が動く選手に落とす影は,背景の影を切り出したモデルを用意しておいてシャドウマップに合成しているそうだ。動かないオブジェクトなので,単純に合成するだけで影が作れるわけである。また,選手がほかのオブジェクトに落とす影は,コートに対してのみなので,単純な平面への影処理で済むという。

背景の影をシャドウマップに合成して背景の影が作られている。合成だけなので,さほど重い処理にはならない
画像集#005のサムネイル/PS Vitaのローンチタイトル「パワースマッシュ 4」が60fpsを達成できたワケ 画像集#006のサムネイル/PS Vitaのローンチタイトル「パワースマッシュ 4」が60fpsを達成できたワケ
画像集#003のサムネイル/PS Vitaのローンチタイトル「パワースマッシュ 4」が60fpsを達成できたワケ 画像集#004のサムネイル/PS Vitaのローンチタイトル「パワースマッシュ 4」が60fpsを達成できたワケ

 講演前半の平山氏からも「重い」と指摘されていたユーザーインタフェース部分は,GPU側で最適化が行われている。PS Vita版のユーザーインタフェースでは,得点部分をポリゴン化するなど,表示方法そのものにも手が加え,さらにGPUの負荷を減らすような工夫が盛り込まれているそうだ。

画像集#007のサムネイル/PS Vitaのローンチタイトル「パワースマッシュ 4」が60fpsを達成できたワケ 画像集#008のサムネイル/PS Vitaのローンチタイトル「パワースマッシュ 4」が60fpsを達成できたワケ

 そのほか,もちろん頂点数を減らすといった一般的な負荷軽減策も併用し,ゲーム中に関しては60fpsの達成が可能になったと鈴木氏は説明していた。

 セッションの最後に平山氏は,PS Vitaについて「SDKがしっかりしているのでベタ移植は難しくないが,そのままでは使えるものにはならない」とアドバイス。しかし,平山氏自身,今回の60fpsの達成に「なにが効いたのか正直分からない」と語っていた。
 最適化は,パフォーマンス解析を行って,ボトルネックになっている部分を見つけ,そこを改善していくという工程で行われるのが一般的なのだが,開発ノウハウがないハードということもあって,原因を調査するコストをかけるよりも,怪しそうなところは片端から改善していくほうがよいという判断で各部分を同時並行で進めた結果,いつ目標値を達成したのかもよく分からないという状況になってしまったようだ。
 開発ノウハウのないローンチタイトルということもあって,かなり特殊な開発体制が取られていたようだが,それでもなんとか目指すパフォーマンスが達成できてしまうあたりが,PS Vitaのパフォーマンスの高さを示していると平山氏はまとめていた。

「パワースマッシュ4」公式サイト

  • 関連タイトル:

    パワースマッシュ4

  • この記事のURL:
AD(最終更新日:2022/12/16)
パワースマッシュ4
ビデオゲーム
発売日:2011/12/17
価格:¥7,088円(Amazon) / 5073円(Yahoo)
amazonで買う
Yahoo!で買う
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:12月21日〜12月22日