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ゲームプログラミング 長久 勝 著 シューティングゲームアルゴリズムマニアックス 松浦 健一郎 著 御清聴ありがとうございました。
© Copyright 2024 ExpyDoc