卒業論文発表

Java言語による
シューティングゲーム作成
05A1030
佐々木和也
種田研究室
はじめに

ウィンドウ上で起動するゲームプログラミングにおい
ては、動作の速さの関係上C++言語で作られている
ゲームをよくみる。それに対し、Javaによって作られ
ているウィンドウゲームはあまり見たことがない。

今回は動作はC++言語に対して遅いがプラット
フォームに依存することなく起動するJava言語を用い
てゲームを作ることにする。
開発環境
プログラム、開発ツール
JavaSDK6
Eclipse3.3.2
音楽
Domino131
画像
Pixia
シューティングゲームについて
シューティングゲームとは主
に弾丸やレーザーなどの飛び
道具を用いて敵機を撃ち落すコ
ンピュータゲームのことを指す。
例の一つにインベーダーゲー
ムがある。
ゲーム内容




敵は上から下へ降りてくる縦シューティングゲーム。
ステージは1~3まであり、各ステージの最後にはボ
スが待ち受けている。
自キャラは敵を倒し得点を稼ぎステージクリアを目指
す。
残機がなくなるとゲームオーバーとなる。
実際のゲーム画面
ゲームのステージについて
ゲーム中の敵はこのようにテキ
ストに書いて保存しておく事で、敵
の出現位置や出てくる時間などを
変えることができる。
左図は敵1を0.1秒間隔で表示
するようになっている。
スプライト
ゲームの画面を実現するた
めに最低限必要なのは、複数
の画像を自由に位置を移動さ
せながら表示するという機能で
ある。
これを実現するために画面に
奥行きを考え、画像をおくから
順に並べ、それぞれの画像を自
由に移動できるようにした描画
システムをスプライトと呼ぶ。
Pixiaによる製作画面
画像作成ツールPixiaの製
作画面。
元画像サイズをルーペとい
う機能で拡大しドット絵として
作成した。
画像素材
フリーソフトPixiaによ
り製作。敵キャラクター
のサイズは40×40ピク
セルである。
SoundPaletteクラス
音楽(BGM)や効果音(SE)も画像
と同様管理して鳴らす仕組みが必要
になる。
さまざまな音をBGMとSEに分けて
登録しておき、登録した番号で再生を
指示できるようにしたのがSoundPal
etteクラスである。
BGM
BGM1
BGM2
BGM3
SE
SE1
SE2
SE3
BGMは
どれか
ひとつだ
け再生。
SEはB
GM再
生中いく
つでも再
生可能。
音楽素材について
音楽素材は全てフリーソフト
Dominoにより製作した。
音源は元からwindowsに
備わっているもので製作可
能なためコストがかからずに
製作できる。
今回の作品ではステージ
用に3曲、ボス用に3曲製作
した。
デモ発表
以上の発表を踏まえて
作品をご覧ください。
まとめ
Javaゲームプログラム参考書より基礎を学び、
C++ゲームプログラムの参考書によりゲームの幅を
広げることができた。Midi音楽や画像等も自作し、
ゲームとして成り立たせることができた。
作品の課題としては動作を早くするためのコンパク
トなプログラムを考えること。他にもアイテムや敵弾の
パターン等より面白くするための要素を追加すること
などが挙げられる。
参考文献
Midi音楽編集ソフトDomino
http://www.tkb-soft.hmcbest.com/domino/index.htm
Pixiaホームページ
http://www.pixia.jp/
Javaゲームプログラミング 長久 勝 著
シューティングゲームアルゴリズムマニアックス 松浦 健一郎 著
御清聴ありがとうございました。