シューティング・ゲームを作ってみた(その1) for Java/Swing

Ver 1.0.2 (for Java1.4 以上)

  1. Sample2-1.0.2.jar (実行アーカイブ)
  2. Sample2-1.0.2-java-src.zip (ソースファイル一式)

●概要
・SDLライブラリを利用して、シューティングゲームを作ってみました。
 昔々の映画にあった、パイロットを確保するためのゲームではありません(^_^;

 …というのは、C言語の時の話。
 今回は、同じものをできるだけ手抜き作業でJava/Swing向けに移植してみました。

 …だったのですが、Java6がインストールされた環境でしか動作しないため、
 急遽Java1.4向けにソースを手直しして、ターゲットも1.4に変更しました。
 (今度こそ)大概のマシンで動作するようになったハズ。
 ただ、手元にはJava5なマシンまでしかないので、本当に1.4で動作するかは不明。

・Ver1.0.2で、背景の星の数を大幅に減らしましたので、iMac G5でも50FPS出るように
 なりました。

●動作環境
・Javaの実行環境がインストールされていればOKです。
 普通にJava1.4以上な環境であれば動くと思いますが、
 Windows XPとPowerPCなiMac G5以外では動作確認してませんので、あしからず。

●導入
・任意のディレクトリに配置する。

●実行
 ※既にJavaがインストールされていることが前提です。
  詳しくはWebで。

・Sample2-1.0.2.jar を実行する。

 普通にJavaがインストールされている環境であれば、そのまま実行可能です。

 コマンドラインからの実行であれば、以下のようにjavawコマンドにて起動します。

	> javaw -jar Sample2-1.0.2.jar

・そのまま実行した場合は、難易度ノーマル。
 実行時以下の引数を指定することで、開始時の難易度調整が可能です。

 > javaw -jar Sample2-1.0.2.jar [オプション]

 オプション:  --easy   … イージー設定(Level 00)
               --normal … ノーマル設定(Level 02)デフォルト
               --hard   … ハード設定  (Level 05)
               --super  … スーパーハード設定 (Level 08)
               --hyper  … ハイパーハード設定 (Level 11)
               -f or --full … フルスクリーンモード

※今回からフルスクリーンは起動時引数で指定するよう変更しています。
 但し、320x240の表示に対応していなければ、画面の初期化で失敗します。
 iMacでは640x480な画面の左上1/4を使うようです。

・スクリーンショット
タイトル画面 タイトル画面 ゲーム画面 ゲーム画面 対ボス戦 対ボス戦
・操作方法は以下の通り。   [S] … ゲームスタート、リスタート、ポーズ   [Z]or[Shift] … 自機ショット(フルオート)   [↑]   [←] [→] … カーソルキーで移動   [↓]   [ESC] … 終了 ●C言語版と極端に違うところ、その他 ・BGMは別のMIDIデータに変更 ・効果音が鳴ったり、鳴らなかったり  まだまだ改善の余地ありです。 ●コンパイル ・JDKをインストール。Betaじゃないほうが良いでしょう。   詳しくはWebで。   (downloadページに移動後、日本語ページに切り替えると楽でしょう。たぶん。) ・コマンドラインでコンパイルするには、Apache Antもインストール。 ・ソースコード一式Sample2-1.0.2-java-src.zipをダウンロード。 ・環境変数を設定。 ソースコード内の、setenv.batの以下の設定を変更 JAVA_HOME … JDKをインストールしたディレクトリ ANT_HOME … Antをインストールしたディレクトリ コマンドプロンプトを開き、ソースコードのディレクトリに移動後、setenv.batを実行。 ※マイコンピュータの環境変数プロパティで既に設定している場合は、不要です。  Windows以外の方も含め、JAVA_HOME、ANT_HOME、PATHが設定されていれば、  特に問題ないはず。 ・antを実行。 setenv.batを実行したコマンドプロンプトで、「ant」を実行。 問題がなければ、dest/Sample2-1.0.2.jar が新しく生成されます。 ■ 素材提供 ・以下のサイトより素材を利用させて頂いています。 フリーゲーム素材&無料ゲーム http://game.yu-nagi.com/ enemy1.png enemy2.png enemy3.png enemy4.png enemy5.png boss1.png boss2.png ship.png moon.png planet.png (ファイル名は変更しています) ザ・マッチメイカァズ http://osabisi.sakura.ne.jp/m2/ tm2r_bom26_c.wav tm2_shoot000.wav tm2_shoot001.wav tm2_bom001.wav tm2r_bom31_b.wav tm2_sonic000.wav 音楽無料ダウンロード・フリーMIDI素材・楽曲配信サイト ◆J-POP MIDI 素材XX諒XX◆ http://free-midi.net/ 12amaironokaminootome.mid 272morobitokozorite_b.mid 50la-campanella.mid 8maou.mid ■ 参考 ・以下のサイトの記事を参考にしました。 Javaでゲーム作りますが何か? http://javagame.skr.jp/ アクティブレンダリング 正確なFPS サウンドエンジン ●免責事項 ・作者は本プログラムの使用によって生じた損害の一切を補償しません。  個人の責任において使用してください。 --------------------------------------------------------------------- ●謝辞 Java/Swingを支えている世界中の皆様、無料素材を提供されている方々に感謝。

以下は昔のバージョン

Ver 1.0.1 (for Java1.4 以上)

  1. Sample2-1.0.1.jar (実行アーカイブ)
  2. Sample2-1.0.1-java-src.zip (ソースファイル一式)

Ver 1.0.0 (for Java6)

  1. Sample2-1.0.0-window.jar (ウィンドウ版)
  2. Sample2-1.0.0-fullscreen.jar (フルスクリーン版)
  3. Sample2-1.0.0-java-src.zip (ソースファイル一式)