Scratch(スクラッチ) PR

スクラッチでアンダーテール(undertale)の作り方を解説!(サンズ戦編)

記事内に商品プロモーションを含む場合があります

子どもがやりたいと言っているアンダーテール。
しかし、それがどんなゲームか分からないと、親としても対応に困ってしまいますよね。

でも大丈夫!この記事を読めば、アンダーテールのことがちゃんと理解できて、スクラッチでの作り方も学べます。

アンダーテールとは、地底世界に落ちてしまった主人公が、そこからの脱出をめぐって様々なモンスターたちと出会うRPGゲームです。

今回は、その中でも「サンズ戦」に絞って作り方を解説していきます!

小学生へのスクラッチ指導経験を活かして、筆者が低学年でも無理なく作れるように、作り方を分かりやすく整理しました。

アンダーテールを作って遊ぶ体験の中で、プログラミングを一緒に学んでいきましょう!

スクラッチでアンダーテール(サンズ戦)を遊ぶ

とあるママ
とあるママ
アンダーテールって作るの大変そう…

と思うかもしれませんが、スクラッチには既にたくさんの作品があるんです!

リンク先で緑の旗を押せば、すぐに遊べますよ。

まずはプレイしてみて、雰囲気をつかんでみましょう!

もしルールが分からなければ、次の『アンダーテールとは?』の章や、ゲーム内にある『ルール』(赤枠)を見てみてくださいね。

出典:https://scratch.mit.edu/projects/579846562/

 

1.https://scratch.mit.edu/projects/579846562/ (kuroneko0412様作)
基本的に十字矢印キーを使って相手の攻撃を避けます。
サンズ戦にしては簡単かも?なので、他が難しくてできない!という人にはオススメです!

2.https://scratch.mit.edu/projects/377374516 (yuuri623様作)
一番原作に忠実なのが、こちらのゲーム。
原作通り、クリアするのが非常に難しいので、頑張って挑戦してみてください!

3.https://scratch.mit.edu/projects/409938720 (Mr-nome様作)
こちらも非常にクオリティが高いです!
クリアが非常に難しいので、ぜひ挑戦してみてくださいね。

アンダーテールとは?

出典:https://undertale.jp/about/

アンダーテールとは、アメリカのトビー・フォックス社が開発したRPGゲームです。

地底の世界に落ちてしまった「ニンゲン」が様々なモンスターと出会いながら、地上に戻ることを目指すようですね。

このゲームの特殊な部分は「必ずしもバトルでモンスターを倒さなくても良い」という点。

逃げたり話しかけたりと、攻撃以外にもモンスターに働きかけられる要素があります。

戦闘を平和的に終わらせられるのは画期的ですよね。

スクラッチでは、このゲームの一部の戦闘の部分再現してることが多いです。

ちなみに、このゲームはRPGでストーリーが面白いというのも魅力の一つ。

そのため、これより先はストーリーのネタバレを含むので、ご注意下さい。

 

 

本記事ではサンズ戦をピックアップしています!

まずアンダーテールでは、ゲームの進め方によって3種類のエンディングを迎えます。

  1. Neutral Route(中立ルート:「Nルート」)
  2. True Pacifist Route(真の平和主義者ルート:「Pルート」)
  3. Genocide Route(殺戮ルート:「Gルート」)

今までの周回プレイでどんなことをしてきたか、どんな条件を満たしたかによって1~3のルートに突入しエンディングが変わります。

サンズは、このうちGenocide Route(殺戮ルート)のラスボスなんですね。

出典:https://undertale.fandom.com/ja/wiki/Sans

 

基本的にアンダーテールの戦闘は、自分の攻撃と相手の攻撃がターン制。

相手の攻撃では、弾幕シューティングゲームのように攻撃を避けます。

ただサンズ戦はラスボスということもあって、基本的にこちらからの攻撃は当たらないようです…

ひたすら攻撃をかわして、一定の攻撃をかわしたら攻撃して倒せる、という避けるゲームですね。

スクラッチでのアンダーテール(サンズ戦)の作り方

紹介したようなレベルの高いゲームを完全に自作するのは、スクラッチ初心者にとっては難しいかもしれません。

“中を見る”で中身をのぞくと、ブロック数の多さや凝ったデザインに驚くと思います。

そこでオススメの方法はこの2つです:

  1. 既存の作品をリミックスする
  2. 簡易的なオリジナル版を作ってみる

既存の作品をリミックスする

リミックスとは、まず他人の作品をコピーさせてもらって、その中の一部を変えることができる機能のこと。

リミックスを行うには以下の手順で行います。

  1. 気になる作品が見つかったら、『リミックス』ボタンをクリックしましょう。
    ※事前にスクラッチへサインインしておく必要があります。
    出典:https://scratch.mit.edu/projects/409938720
  2. 『作る』画面が開くので、自由に編集してOK!
  3. 完成したら『共有する』をクリックして、リミックス作品を公開しましょう。
    ※共有する際は『メモとクレジット』に「○○さんの作品をリミックスしました」と一言書き添えるのがマナーです。

実はリミックスするだけでも、しっかりプログラミングの勉強になるってご存知でしたか?

その理由は、以下のようなプロセスを体験できるからです。

  1. ブロックの動き方を読み解く
  2. 変えることが必要な場所を見つけて理解する
  3. 思い通りに動くように組み替える

実際の開発現場でも使われる思考法なので、学びとしてはとても価値があります。

“最初から全部作らないと意味がない”なんてことはありませんよ!

簡易的なオリジナル版を作る

最初はシンプルなアンダーテールのサンズ戦でもOK!

作っていく中で『どんな動きをするのかな?』と考えることで、自然とプログラミングの仕組みが見えてきます。

ということで、アンダーテールのサンズ戦に必要な要素と作り方を解説しますね。

サンズ戦は攻撃パターンもたくさんあるんですが、今回は三種類の攻撃を作成していきます。

  • 背景とステージ、プレイヤーの作成
  • プレイヤーの動きの作成
  • 攻撃1の作成
  • 攻撃2の作成
  • 攻撃3の作成
  • プレイヤーの体力の作成

背景とステージ、プレイヤーの作成

背景は、全体を真っ黒にすればOK。

ステージは以下のようなスプライトを作成します。

下の四角の部分は、「透明な塗りつぶし」と「白い枠線」を使っています。

透明な塗りつぶしの作成には、少しコツが必要。

まずは以下のように、枠線が白、塗りつぶしは適当な色の四角を作成し、「ビットマップに変換」をクリックします。

その後、塗りつぶしが「なし」になっていることを確認して、四角の中身を塗りつぶすと…

以下の図のように「透明」で塗りつぶされた四角が作成できます。

次にプレイヤーを作成していきます。

ハートのスプライトがあるので、赤と青の二つのハートを作成します。

ここまでで、背景・ステージ・プレイヤーは揃いました。

自分でキャラクターを作りたいときは、「コスチューム」で自分の好きなキャラクターを描いても問題ありません!

プレイヤーの動きの作成

ここではプレイヤーの動きをプログラミングします。

サンズ戦にはプレイヤーの動き方が二種類あり、それぞれの動きを作っていきますね。

プレイヤーが赤い時には、上下左右自由に動くことができます。

一方で青い時には左右には自由に動けますが、上下には重力がかかり、上方向に移動しても地面に吸い付くような動きになるんですね。

最後にプレイヤーを適切な大きさにし、赤と青を切り替えられるように、以下のプログラミングを作成します。

「重力あり」という変数を作っていますが、この変数が「重力があるかどうか(プレイヤーが赤いか青いか)」を判断する変数になっています。

攻撃1の作成

ここまで来たら、あとはサンズの攻撃をひたすら作っていくだけです。

今回は三つの攻撃パターンを作るに留めますが、自分なりに攻撃を作成してもOK!

まずはステージで、攻撃1を始めるタイミングをプログラミングします。

緑の旗マークが押されて1秒経ったら、以下のような攻撃パターン1が来るようにします。

まずは攻撃するための骨を作りましょう。

ハートと四角形を利用して以下の左のように骨を作ったあと、右のように枠線を消します。

    

次に骨を左側の枠の外にクローンして、左から右に移動する、というプログラミングを作成します。

イメージは以下のような感じ。

上のイメージをプログラミングにすると、こんな感じになります。

これで左の枠外に15個の骨をクローンさせて、右に移動させることができるようになりました。

反対側もスプライトを変えて、同じようにプログラミングします。

左右逆転になっているため、数値の間違いに注意!

攻撃2の作成

次に攻撃の2番目を作成していきますね。

まずは「ステージ」で以下のようにプログラミングを書き加えます。

これで「攻撃1」を送ってから15秒待った後に、「攻撃2」が始まることになりますね。

攻撃2は以下のようなもの。

こちらの攻撃2も攻撃1と似ていますね。

そのため、作り方も非常に似ています。

まずは攻撃するための骨を作りますが、攻撃1のように2本は作りません。

作り方としては以下のようなイメージです。

このように下部分だけと上部分だけを左右それぞれから移動させることで攻撃を再現するんですね。

というわけで下部分だけの骨のプログラミングは以下の通り。

上部分のみのプログラミングは以下の通りになります。

攻撃3の作成

サンズの攻撃の最後の部分を作成していきます。

攻撃3は以下のような感じ。

攻撃1,2とはだいぶ違いますよね。

まず、ビームを発生させる敵キャラの作成。

今回は「dinosaur4-d」を使って、塗りつぶしを白、枠線を黒、にして作成しています。

そして、ビームがだんだん太くなる様子を再現するために「ビーム極小」「ビーム小」「ビーム大」の3つのコスチュームを加えましょう。

「ビーム極小」は以下のような感じに作ります。

「ビーム小」「ビーム大」は太さを変えるだけ。

ここまで完成したら、この敵キャラの動きをプログラミングしていきます。

攻撃の動画を見るとわかる通り、プレイヤーは赤色に変えるため「重力ありを0に」しています。

そして敵はランダムな場所に現れ、攻撃は常にプレイヤーに向いた状態で発射していますね。

プレイヤーの体力の作成

プレイヤーの体力を作るために、「HP」という変数を用意します。

次にプレイヤーのコスチュームに移動し、以下の赤枠のブロックを追加しましょう。

ここまで来たら、正しく動くかどうかプレイしてみましょう!

まとめ

今回は、スクラッチでアンダーテールのサンズとのバトルを作る方法についてお話しました。

プログラミングは、楽しさを感じながら学ぶことが成長の近道です。

よく知っているゲームを題材にすると、動きの仕組みも想像しやすくなりますよね。

その動きを実現するにはどうすればいいか考えることで、プログラミング的な思考が身につきます。

まさに、それがプログラミング学習の第一歩なんです!

ゲームを作りながら、自然と力を伸ばしていけますよ。

Scratchには他にもたくさんのゲーム作品があるので、ぜひいろいろ見てみてください。

独学で行き詰まりを感じた場合は、プログラミング教室に通うのも一つの選択肢です。

無料体験や資料の取り寄せができる教室もあるので、まずは情報を集めるところから始めてみましょう。

その一歩が、お子さんの将来にとって大きな転機になるかもしれません。

※本記事は、アイキャッチをAIを用いて作成しています

ABOUT ME
りけーこっとん
小学生と関わり始めて、10年。最初は学童アルバイト、現在は小学生向けにプログラミングを教えています!日々、小学生のプログラミングに関する情報の発信をしています。小学生のお子さんがいて、プログラミングに興味のある親御さん・お子さん必見です!