Mercurial > hg > Papers > 2011 > koba-master
view paper/introduciton.tex @ 2:bd91d56ca33a
chapter 3 finish.
author | koba <koba@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 01 Feb 2011 18:33:29 +0900 |
parents | d557035f6f61 |
children | 398e732edfb6 |
line wrap: on
line source
\chapter{序論} \pagenumbering{arabic} \section{研究背景・目的} 我々は、これまで家庭用ゲーム機上におけるゲームプログラミングをサポートする オープンな開発フレームワークの研究を行ってきた。 過去には PlayStation や PlayStation2、GameBoyAdvance での ゲームプログラミングを行っており、現在は PlayStation3 上での開発を行っている。 PlayStation3 のアーキテクチャは Cell Broadband Engine と呼ばれ、 1つの制御系プロセッサ Power Processor Element (PPE) と、 8つのデータ処理演算プロセッサ Synergistic Processor Element (SPE) から構成される。我々は、このような Many Core Architecture を用いた 並列プログラムの開発フレームワークとして Cerium Game Engine を開発した。 Cerium では、 プログラムを Task という単位で管理しており、 この Task と計算に必要なパラメータを PPE や各 SPE に並列に処理させる事により、 プログラムの動作を実現している。 Cerium においてゲーム開発を行う場合もプログラムを Task 単位に分けて処理させる。 ゲームプログラムの特徴として、衝突判定などのオブジェクト間で相互に影響する パラメータが多いこと、プレイヤーのゲームパッドからの入力やコード内に 埋め込まれた乱数などの非決定的な要素が多いことが挙げられる。 その為、Task 間でのパラメータの同期や Task 処理のタイミングによって 生成される乱数が異なるなどの問題があり、単純にシーケンシャルに 書かれたゲームプログラムを Task に分割して処理させても、元のプログラムを 逐次実行させた時と同じ動作をすることは保証されない。 そこで本研究ではシーケンシャルなゲームプログラムと Task に分割した ゲームプログラムの動作が同一であることを確認するためのテスト手法を提案する。 シーケンシャルに書かれたゲームプログラムとそれを Task に分割したゲームプログラム をテストモデルとし、プレイヤー入力や乱数などの非決定的な要素の固定化や、 動作の同一性を確かめるのに必要なパラメータの書き出し、そしてより高速な 動作でテストを行うことができる環境を構築する。 \newpage \section{論文構成} 第 \ref{chapter:knowledge} 章では PlayStation3 のアーキテクチャである Cell Broadband Engine の仕様と Cell の基本的な機能について述べる。 第 \ref{chapter:early} 章では先行研究として開発された Game Framework Cerium の実装、そして開発における主要な API を紹介する。 第 \ref{chapter:game} 章ではゲームプログラミングの特徴とテストモデルとして 移植したシューティングゲーム Super Dandy の実装について述べる。 第 \ref{chapter:test} 章ではテスト手法として用いたプレイヤー入力と乱数の 固定、ビデオモードの実装、そして出力されるテストデータの説明を述べる。 第 \ref{chapter:result} 章ではテストを行った際の実行時間とカバレッジ率に ついて述べる。また、実際にテストデータを用いて行なったデバッグについて 紹介する。 第 \ref{chapter:conclusion} 章では本研究のまとめと今後の課題を示す。