こんにちは、ぴょろ先生です。
今回は Scratch で アンダーテール風の「弾幕避けゲー」の作り方を紹介します。

アンダーテールって、Gルートの最後の戦いがめちゃくちゃ難しいやつ…分かる人には分かるやつですね(笑)
さすがに本家レベルはキツいので、今回は難易度を下げて、初心者でも作りやすい形にしています。

このゲームはプログラムが長めになるので、動画も「前半/後半」に分けています。

この記事は前半(準備・ボス・自機ハート)の部分を整理したまとめです。

結論まとめ
  • まずはスプライト(ハート・ドラゴン・矢印・雷)と背景(枠つき)を用意する
  • 変数は HP矢印(攻撃制御用) の2つを作る(HPだけ表示)
  • ボスは スタート/矢印攻撃 をメッセージで開始し、HPが0以下でゲームオーバーへ
  • 自機(ハート)は スタートを受け取ってから動けるようにして、当たり判定でHPを減らす
  • 枠外に出ない制御は「はみ出したら戻す(プラマイ0)」の発想で作れる

1. まずは素材を用意しよう(スプライト&背景)

スプライトは4つ

今回使うのはこの4つです。

  • 自機:ハート
  • ボス:ドラゴン
  • 攻撃:矢印
  • 攻撃:

猫は不要なので削除でOK。

背景は自作で「黒+白枠」

弾幕ゲームは「この枠の中で避ける」感じが大事なので、背景は

  • 真っ黒に塗る
  • 塗りつぶしなし/白線で四角い枠を書く
    という形で作ります。枠の大きさはあとで自機の移動制限に使うので、ここで整えておきましょう。

2. 変数を作ろう(HPがあると一気にゲームっぽい)

変数は2つ作ります。

  • HP
  • 矢印(攻撃制御用)

表示するのは HPだけ でOK(画面に出るとゲーム感が出ます)。


3. ボス(ドラゴン)のプログラム

ボスは「セリフ→戦闘開始→HPが0以下でゲームオーバー」の流れを作ります。

旗が押されたら:配置&開幕の流れ

  • X座標:-11、Y座標:113 など、上の方に配置
  • セリフ(例:「避け切れるかな?」)
  • メッセージ「スタート」を送る(自機が動けるようになる合図)
  • メッセージ「矢印」を送る(攻撃開始の合図)

HPが0以下になったらゲームオーバー

「〜まで待つ」を使って、

  • HPが1より小さくなるまで待つ(=0以下)
    → その瞬間に ゲームオーバー を送ります。

ゲームオーバー後は、ボスにセリフをずっと言わせる(と言う)にすると雰囲気が出ます。

ゲームクリア時のセリフも準備

クリア側は別で制御しますが、ボス側に

  • 「やるな」
  • 「HPは◯残ったか」
    みたいなセリフを言わせる準備をしていました。

ここで便利なのが 文字列(つなげる)
「HPは」+(HPの値)+「残ったか」
のように変数と組み合わせると、HPの数字をそのままセリフにできます。


4. 自機(ハート)のプログラム

ここがゲームの手触りを決める部分です。

旗が押されたら:HP初期化&位置リセット

  • HPを初期値(例:10)にする
    • 難しければ増やす、難しくしたければ減らす
  • ハートを枠の中のスタート位置へ
  • 大きさは小さめ(例:15)にすると避けやすい

「スタート」を受け取ってから動けるようにする

旗が押された瞬間から動けてしまうと、ボスのセリフ中に逃げられちゃいます。
なので、移動の処理は 「スタートを受け取ったとき」 に入れます。

地味だけどゲームとして大事!


5. 当たり判定 矢印 or 雷に触れたらHPが減る

弾幕ゲーっぽさはここで出ます。

  • 「もし」
    • (矢印に触れた)または(雷に触れた)
      • 音を鳴らす(パン!の効果音)
      • HPを-1ずつ変える

今回の作り方だと、触れている間 ドゥルルル…とHPが減る仕様になります。
(あえて厳しめにしたいときはこの方式が面白い)


6. 移動:矢印キーで動かす(複製で時短)

上・下は Y座標、右・左は X座標 です。

  • 上キー:Yを+10
  • 下キー:Yを-10
  • 右キー:Xを+10
  • 左キー:Xを-10

これは複製を使うと一気に作れます。


7. 枠の外に出さない制御(プラマイ0で戻す)

このままだと枠の外に出られてしまうので、「枠」の意味がなくなります。

発想はシンプルで、
はみ出したら逆向きに同じ量だけ動かして戻す
です。たとえば下に行きすぎたなら、

  • もし Y座標 < -15 なら → Yを+10
    みたいにして、結果的に「行こうとした分がプラマイ0」になるように戻します。

同じ要領で上・左・右も作ります。

  • 上:Yが上限より大きくなったら → Yを-10
  • 右:Xが上限より大きくなったら → Xを-10
  • 左:Xが下限より小さくなったら → Xを+10

※ 上限/下限の数値は、あなたが作った枠のサイズに合わせて調整してください。


詳しくは動画にて

今回の内容は「数値調整」がちょこちょこ入るので、動画を見た方が早いです。
特に、

  • 枠の座標の決め方
  • どのタイミングでスタートを送るか
  • HPの減り方の体感

は、画面で見た方が一発で理解できます。
是非ご覧ください!


まとめ

前半では、弾幕ゲームの土台になる
「スプライト準備/HP管理/ボス進行/自機移動/枠制限/当たり判定」までを作りました。ここまでできると、もう“ゲームの骨組み”は完成です。

後半では、いよいよ敵の攻撃(矢印・雷)の動きを作って、背景など仕上げに入っていきます。ここから一気に楽しくなります。

当教室でも、こういう「ちょっと本格的なゲーム」に挑戦しながら、子どもたちが試して→直して→上達する経験を積めるようにサポートしています。
「うちの子に合うかな?」「まずは雰囲気を見たい」という方は、体験会で気軽に試してみてくださいね。