SceneGraphを用いたゲームプログラムの為のテスト作成手法

発表者:小林 佑亮

所属:琉球大学 工学部 情報工学科

指導教員:河野 真治

研究背景・目的

研究背景
  • 当研究室では学生実験において、PlayStation3を用いた並列的なゲームプログラムの作成を行っている
  • そこで使用されるのが当研究室で開発したCeriumレンダリングエンジンである
  • PlayStation2で動作していたゲーム「超弾帝(スーパーダンディ)」の移植の際、オブジェクトの描画、衝突判定などで不具合が発生した
  • 超弾帝には約100種類に及ぶオブジェクトが存在し、今後も同様な不具合を修正していく必要があると考えられる

研究目的
  • 本研究ではゲームプログラムをSceneGraph単位でテストすることでオブジェクトごとの振る舞いや描画をチェックする
  • ゲームのデバッグを容易にし、今後のゲームの移植や改良、作成を円滑にする

PlayStation3のアーキテクチャ

  • Cellは1基のPPEと8基のSPEからなる非対称なマルチコアプロセッサであり、高速リングバスで構成されている
  • SPE は、LS (Local Store) という256KBのメモリを持つ
  • 本研究で用いた PS3Linux では、6個の SPE を制御することができる

Cell-main SPE

Cerium Rendering Engine

Ceriumは以下の3つから構成される。

TaskManager

  • Taskと呼ばれる分割された各プログラムを管理するライブラリである
  • Task同士の依存関係を考慮しながらメモリ上にマッピングし、SPE上ではそのプログラムを DMA転送によりロードする
  • SPEは256KBという小さなデータ量しか持てず、 大量のプログラムを全てSPE上に置いておく事は出来ない可能性がある
  • 必要な時に必要な実行プログラムだけがSPE上にロードされている事が望ましい

TaskManager

SceneGraph

RenderingEngine