レトロシューティングゲーム ~原神風~

Game

Game

Screenshots

レトロシューティングゲーム ~原神風~ - 1

About

レトロシューティングゲーム 〜原神風〜

原神の「雷電将軍」と「スカラマッシュ」をテーマにした、Java の縦スクロール弾幕シューティングです。個人の学習用に作りました。

遊び方

  • 矢印キーで移動し、Z で弾を撃ちます(タイトル画面では SPACE で開始)
  • ボスの HP を 0 にするとステージクリア、被弾するとゲームオーバーです
  • 画面は 800×720、約60FPS で動きます

工夫したこと

  • 弾幕の組み立て: 撃ち方(扇状・十字・二連・正弦波・ランダム散弾・追尾・回転など8種類)と、弾の動き方(加速・螺旋・追尾)を別のクラスに分け、組み合わせて弾幕を作れるようにしました(Strategy パターン)
  • ボスの行動: 行動パターンを状態として切り替えます(State パターン)
  • 動作の軽さ: 弾をあらかじめ確保して使い回し(敵弾200・自機弾20)、ガベージコレクションを抑えています。描画はダブルバッファリングでちらつきを防ぎ、移動はフレームの時間をもとに速度を一定にしています
  • 当たり判定: 円どうしの距離を二乗のまま比べ、平方根の計算を省いています

技術構成

  • Java(JDK 21)・AWT
  • Eclipse