Scratch(スクラッチ)

【スクラッチゲームプログラミング講座】RPG(バトルシーン)の作り方

東京中目黒の教室とオンラインで授業をご提供しているプログラミング教室MYLABが運営する本ブログでは、スクラッチゲームの作り方について解説しています。

今回はRPGのバトルシーン(コマンドバトル)の作り方について解説していきます。

RPGゲームのサンプル

スクラッチでつくったRPGのバトルシーンゲームのサンプルで遊んでみて下さい。

RPGのバトルシーン

このゲームは、プログラミング教室MYLABに通っている子どもがつくってくれた作品を、説明しやすいようにすこし単純化したものです。

このゲームの特徴は以下のとおりです。

  1. 2人のプレイヤーが交互に攻撃する
  2. コマンドは、通常攻撃、魔法、回復の3つがあり、それぞれのコマンドのスプライトを押すと攻撃がはじまる
  3. 攻撃を受けるとHPが減っていく
  4. 攻撃が終わると、別なプレイヤーが攻撃するターンになる
  5. HPが0になるとゲームオーバーになる

それでは、実際にRPGのバトルシーンゲームをつくっていきましょう。

バトルの設定、キャラクター、コマンドの内容を決める

RPGは、どんな設定にするかによってゲームのイメージが変わります。自分がどんなゲームにしたいかバトルの設定、キャラクター、コマンドの内容の3つについて考えましょう。

イメージがわかない場合には、まず、キャラクターのコスチュームや背景をつくってみるとアイデアが思いつくことがあるので、まずは手を動かしてキャラクターや背景をつくってみましょう。

サンプルのゲームでは、新しく開拓された土地をめぐって、漁師とリンゴ農家が争うゲームになっています。

コマンドをつくる

キャラクターを考えたら、どんなコマンドを用意するか考えましょう。

オリジナルのアイデアが考えられると良いですが、思いつかない場合は、通常攻撃、魔法、HPを回復するコマンドを用意すると良いでしょう。

コマンドが決まったら、攻撃や魔法を発動するボタンのスプライトを作りましょう。

サンプルのゲームの漁師キャラクターでは、竿投げ(通常攻撃)、魚の塩焼き(回復コマンド)、大漁(必殺技)の3つのコマンドを用意し、それぞれのスプライトをつくっています。

コマンドのスプライトが押されたときに、そのコマンドの効果が動き出すメッセージもつくっておきましょう。

ゲームに必要な変数を用意する

コマンドが決まったら、必要な変数を用意しましょう。

それぞれのキャラクターのHP、MP(魔法や特別な攻撃を何回使えるか決める変数)、攻撃力など、自分のゲームをつくるために必要な変数を考えてつくって下さい。

後で足りないものがわかったら、そのときに追加で作ればよいので、ここでは思いついた範囲でつくっておければOKです。

変数の表示・非表示や、ゲーム開始時の初期値の設定もしておきましょう。

背景や特別なスプライトをつくって、処理をまとめておくと、後で修正するときに楽になります。

コマンドを実行したときのアニメーションをつくる

コマンドが用意できたら、コマンドが実行されたときに表示されるアニメーションを作りましょう。

サンプルのゲームの「竿投げ」コマンドが押されると、竿のスプライトが表示されて、漁師が竿をぐるぐる回してリンゴ農家を攻撃するアニメーションが表示されます。

攻撃したときに、HPを減らす処理もまとめておきましょう。

考えたコマンドの分だけ、アニメーションとコードを用意してください。

攻撃のターンを入れ替える処理をつくる

一方のプレイヤーの攻撃が終わったら、もう一方のプレイヤーの攻撃の順番にかわります。

このとき、コマンドスプライトや変数の表示など、一つのメッセージをきっかけにすべての処理が行われるようにしておきましょう。

サンプルのゲームでは、「リンゴ農家」というメッセージが送られたら、攻撃の順番がかわって、コマンドの入れ替えなどすべての処理が行われるようになっています。

ゲームオーバー処理をつくる

HPが0になったら、ゲームオーバーを行います。

サンプルのゲームでは、漁師とリンゴ農家のスプライトのコードにゲームオーバーのコードが書いてあります。

背景を変更した後、「終わり」というメッセージを送って、他のスプライトのコスチュームを変えたり、変数の表示・非表示などの処理を行った後、すてを止める処理を入れています。

以上で、RPGゲームは完成です!

ゲーム制作やプログラミングをさらに学びたい方へ!

本ブログでは、Scratchを使ったゲーム制作の基本について解説していますので、ぜひご覧ください!

「お家でやったけれども、うまくいかなかった」「さらに高度なことをやってみたい!」という方へ

最近は、プログラミングを学習するためのアプリや本、無料のプラットフォームも増えてきて、子どもがプログラミングを学習する機会や環境も整ってきました。

しかし、保護者の方とお話ししていると

  • あきてしまって、長続きしなかった
  • 本やアプリで自習してみたけど、うまくいかなかった
  • 保護者の方がプログラミングの経験がなく、子どもに教えるのが難しい

といったお話をよくうかがうことも多いです。

そんな方は、一度当ブログを運営するプログラミング教室MYLABのレッスンを体験してみませんか? MYLABでは、オンラインと中目黒の教室で、体験授業をご提供しています。

MYLABのレッスンの特徴は以下のような特徴があります。

  • お子さまが楽しくプログラミングを続けることができるカリキュラム
  • 一人ひとりの「創りたい!」にこたえられる知識を持ち、成長をサポートできるメンター陣
  • 初学者だけでなく、ロボコンにチャレンジしたり、本格的な3Dゲームをつくったりする上級コースまで継続できる

「本当に楽しめるのかな?」「うちの子に合うかしら?」「飽きっぽいうちの子が続けられるかしら?」と思う方もいるかもしれません。

そんな方は、ぜひ一度無料で開催している体験レッスンに来て、実際に体験してみてください!

ゲーム・プログラミング体験(70分)

  • どんなゲームをつくることができるのか、まずは遊んでみる
  • ミッションをクリアするためのアイデアを考える
  • コーチのサポートを受けながら、自分のアイデアを実現する!

体験会では、お子さまが集中してプログラミングしたり、作品を作ったりしている普段とは違う姿をみられるはずです!

ご興味をもっていただいた方は、ぜひ下のボタンからお申し込みください!

オンラインまたはMYLAB中目黒校での
体験授業お申込みはこちら

 

ABOUT ME
柿沼 功
MYLAB事業責任者。経営学修士(MBA)。株式会社明光ネットワークジャパンにて、明光義塾のeラーニングシステム開発・運用の責任者をつとめ、2020年2月よりMYLAB事業に従事。