Java によるシューティングゲームの作成

Java によるシューティングゲームの作成
藤原 陽平
キーワード:Java、アプレット、シューティングゲーム、背景
1.研究の動機と目的
本テーマを選んだ1番の理由は、元々自作のゲームを作ってみたいという思いがあった事です。そし
てゲームを作るなら自分の好きなジャンルのゲームを作りたいと思ったため、シューティングゲームを
選びました。ゲームを作るにあっては、自分の持っている知識、技術を使ってどのレベル・クオリティ
のゲームができるか自分の力をためすという目的を持って取り組みました。なおシューティングゲーム
の中にも色々な種類がありますが、今回は縦スクロールのシューティングゲームを2D(次元)グラフ
ィックスで実現することを目指しました。
2.開発方法とゲームに取り入れた機能
開発に当たっては、まずシューティングゲームの簡単なサンプルを見つけ、そのサンプルを作りなが
らソース内容やゲームの基礎システムなどを勉強することから始めました。そしてサンプルに独自の機
能を加えることでゲームとしての面白さを実現していくという方針をとりました。その追加機能とはゲ
ームタイトル、スコア表示機能、効果音、そして独自の背景を加え敵の種類を増加させるという4種類
です。これらの中で背景を入れることに特に重点を置きました。なぜなら背景を付け加えることで空を
飛んでいるよう表現することができ、ゲーム画面の見栄えが良くなることに開発を通じて気付いたから
です。
またサンプルは Java Applet で作成されていたため、本ゲームも Java Applet として作成します。
開発は統合開発環境である Eclipse3.3 を用いて行ないました。
3.ゲームの動作内容
作成したゲームの動作は次のとおりです。まずタイトル画面が表示され、Enter キーを押すとゲーム
が始まります。開始後は自機をキーボードの{↑、↓、←、→}ボタンで移動させながら敵機をかわし、
Space キーで発射される弾で敵を撃破するという形でゲームが進行します。敵は3種類用意し、それぞ
れまっすぐ進む、左右に反射しながら進む、自機に向かって進むという飛行進度を持たせました。これ
らがランダムに出現します。背景としては木の画像をランダムに多数表示させることで森を表現させる
ようにしました。ゲーム中敵を倒すことでスコアをカウントしていき、敵と当たるとゲームオーバーに
なります。その後ゲームオーバーの画面に移動し、それまで得たスコアを表示します。
4.結果と残された課題
サンプルに目標としていた4種類の追加機能を加えることができ、ゲームらしく拡張できたと思いま
す。しかし今回最も重点を置いていた背景については、自機が背景に隠れてしまったり、木の上に別の
木の根元が現れたりするなど不完全な描画になってしました。これは、描画の順序を正しく制御するこ
とで実現できると思われますが、背景自体の制作に手を取られ、そのプログラミングまで手が回りませ
んでした。またさらにゲームを面白くさせる追加機能として、1度きりのスコアだけでなくそれまでの
ハイスコアを表示したり、森の背景だけでなく別の背景に切り替えたりすること、さらに複数のステー
ジを作ることなどが開発時思い浮かびました。今回は作成できませんでしたが、これらを実現すること
でよりゲームらしくなると思います。
指導教員:森田 彦