2020年から小学校で始まるプログラミング授業で使われる可能性が高いプログラミング言語が「スクラッチ(Scratch)」です。

キャラクターなどを動かす操作が書かれたブロックを、ドラッグアンドドロップで移動させて、プログラミングしていくことができるため、プログラミング初心者や小学生におすすめの言語です。

スクラッチの簡単な解説はこちらから

今回は、スクラッチでプログラミングを学ぶ際に欠かせない「リミックス」に関して解説していきます!

リミックス」を使いこなすことで、自分では思いつかなかったやり方でゲーム作成をすることができたり、一からプログラミングして作っていくのが難しい複雑なゲームをあまり時間をかけずに作成していくことができるようになります。

リミックスを使ったゲーム作成の動画も公開中!

スクラッチのリミックスって何?

スクラッチのリミックスとは、「ほかの人が作成した作品をもとにして、新しい作品を作る」ことです。

一般的にリミックスといえば、既存の音楽をアレンジしたり、加工することで新たな楽曲を作り出すことです。

スクラッチでも同じように他の人の作品を「リミックス」してアレンジすることができます。

画面右上の「リミックス」ボタンからすぐリミックスしていくことができます。

スクラッチのリミックスのメリットとは?

スクラッチでは、いろいろな作品をリミックスしていくことが可能になっていますが、スクラッチでリミックスをするメリットとは何でしょうか?

主には、2つが挙げられます!

  • 自分で思いつかなかった方法で、プログラミングすることができる
  • 複雑なプログラミングを、一から作る必要がない

自分で思いつかなかった方法で、プログラミングすることができる

何か自分が作りたいゲームがあったときにリミックスはとても役に立ちます。

スクラッチの公式サイトからいろいろな作品を見て、自分の作りたいゲームに近い作品を探して、リミックスすることで、他の人がどのようにプログラミングしているのか確認することができます。

キャラクターの動かし方や、ゲームの進め方など「ゲームを作りたいけど、どうプログラミングしたらいいか分からない」という場合に、リミックスをして、プログラミングの参考にしてみると良いでしょう。

色々な人がどのようにプログラミングしているか見て、自分一人では思いつかなかったプログラミングの方法に気が付き、ゲーム作りに活かすことができます。

複雑なプログラミングを、一から作る必要がない

本格的なゲームを作ろうと思ったら、ある程度長くて複雑なプログラムを作っていく必要があります。

そうすると、どうしてもゲーム作成に時間がかかってしまいます。

なるべく時間をかけずにゲームを作ってみたいときなどは、リミックスをして、他の人が作ったプログラムを改良することで、一からプログラミングすることなく、ゲームを作っていくことができます。

例えば、シューティングゲームなどでは、弾を打ったり、移動したりする基本的な動作のプログラミングはもとの作品のまま使い、キャラクターや背景をリミックスで変えることで、自分のゲームとして作り変えることができます。

スクラッチのリミックスで著作権違反や盗作にはならない?

結論から言うと、スクラッチで他の人の作品を使ったリミックスをして公開したとしても、著作権違反や盗作にはならないです。ただし注意するポイントはあります

スクラッチのサイトで公開されている作品は、すべて他の人がリミックスを許可している作品です。

スクラッチのガイドラインでは以下のように定まっています。

”Scratchで見つけたプロジェクトやアイディア、画像などすべてのものは、自由にリミックスできます。同様に、あなたがシェアしたものも、誰でも自由に使うことができます。リミックスするときは、必ずクレジット(元の作者名)を「作品への貢献」として記載してください。”

スクラッチコミュニティガイドライン より

つまり、「スクラッチに公開すること」=「ほかの人が自由にリミックスをすることを許可する」ということになります。

そのため、だれがリミックスを自由にしても問題にはならないです。

スクラッチでリミックスをするときに気を付ける点

上記で、自由にリミックスをしても大丈夫と言いましたが、リミックスをした後に自分の作品として公開する際には、注意するポイントがいくつかあります。

  • ほかの人が作った画像や音楽を、許可なく使わない
  • フリー素材も利用可能か確かめる

ほかの人が作った画像や音楽を、許可なく使わない

スクラッチで公開されている作品の画像や音楽は自由にリミックスをしても大丈夫ですが、スクラッチとは関係ないところで手に入れてきた画像や音楽を素材として使い、作品を公開する際には気を付ける必要があります。

例えば、画像検索で検索できる画像などは、著作権で守られている場合が多いため、それらを使う場合は許可をもらうか、「自由に使っても良い」といった記載がされているかなどを確認して使うようにしましょう。

フリー素材も利用可能か確かめる

画像を見つける場合、「フリー素材」を検索してくることもあるかもしれません。

しかし、「フリー素材」は場合によっては、再配布を禁止していることがあり、その際は注意が必要です。

再配布とは、作成者ではない別の人が、別の場所でその素材を配布していくことです。

スクラッチでフリー素材を使ってゲームを作成して公開した場合、その作品はほかの人がリミックスして使っても良いということになります。

つまり、その作品で使っているフリー素材をスクラッチ内で再配布していることになります。

フリー素材を使う際には、再配布禁止でないか確認をしていきましょう。

なお、上記の注意点は作品を公開する際の気を付ける点なので、自分でゲームを作り、公開しないで遊ぶ限りは、自由に画像や音楽を使って作品を作ることができます。

【プログラミング】スクラッチでリミックスして、ゲームを作成してみよう

それではいよいよ、リミックスをして、ゲームを作る方法を見ていきましょう!

今回は、もぐらたたきゲームを作っていきたいと思います。

リミックスしていく作品は以下になります。

もぐらたたきゲームへ移動

【ゲームの内容】
60秒間モグラがでてくるので、クリックしてモグラをたたいていきます
モグラをたたくと +1点。ひよこをたたくと -1点の点数になります。
【今回リミックスする点】
残り時間を表示して、あと何秒プレイできるか分かりやすくする

① スクラッチのリミックスボタンを押して、準備を整えよう

画面右上の「リミックス」ボタンを押して、プロジェクトを開いていきます。

② リミックスで、プログラムを修正したい場所を探す

今回リミックスする内容は、「残り時間」を表示するというものです。

元のゲームでは60秒間でゲーム終了になりましたので、プログラムのどこかで60秒を数えているはずです。

まずは、その場所を見つけていきます。

スプライト1のプログラムの中で、「60秒待つ」と書かれている場所がありました。

この部分をうまく変えていけばよさそうです。

この部分のプログラムを簡単に解説していきます。

ここでは、実行ボタンが押されたときに、 を画面上に並べていき、POINT(点数)を0点にセットしています。そして、60秒たったらendコマンドを送り、ゲームを終了させています。

③ スクラッチで変数を新しく作ってプログラミングしてみよう

残り時間を表示してあげるためには、「残り時間」という変数を新たに作ってあげる必要があります。

スクラッチでは、そのような変数を自由に作ることができるので、早速やっていきます。

「変数」から、”変数を作る” を選択していきます。

そうすると、下図のダイアログが出るので、新しい変数名として「残り時間」と入力し、すべてのスプライト用を選択してから、OKボタンを押していきます。

④ 残り時間を減らしていくプログラミングをしよう

変数を新しく作れたら、残り時間を減らしていくプログラミングをしていきましょう。

残り時間を減らすためには、以下のようにプログラムを組み立てていきます。

  1. ゲームスタートで、残り時間を60秒にする
  2. 1秒ごとに残り時間を1秒ずつ減らしていく
  3. 残り時間が0秒になったら終了する

では、このプログラムをスクラッチで書いていきましょう。

まずは、「変数」の POINTを0にする のブロックを移動させ、60秒待つ の上に配置します。

そして、残り時間を60にする となるようにブロックの内容を変更します。

そうすることで、ゲームスタート時に、残り時間が60にセットされることになります。

次に、1秒ごとに残り時間を1つずつ減らしていきます。

1つずつ減らすなどのプログラムを作る際には、「繰り返し」の動作をできるブロックを使っていきます。

まず、「制御」から ~まで繰り返す ブロックを選択し、移動してきます。

そして、次は「演算」から ○ = 50 のブロックを移動し、~まで繰り返す のブロックの中にセットしていきます。

そして「変数」の 残り時間 ブロックを、先ほどから作っている繰り返しのブロックに入れていきます。

そして、残り時間=0 となるようにブロックの内容を変えていきます。

ここまでで、残り時間が0になるまで繰り返すプログラムができてきました。

では次に、実際に残り時間を減らしていきたいと思います。

「制御」から 1秒待つ ブロックを移動し、

「変数」から POINTを1ずつ変える ブロックを移動してきます。

そして下図のように 残り時間が0になるまで繰り返す ブロックにセットしていきます。

また、POINTを1ずつ変える ブロックの内容を 残り時間を-1ずつ変える に変更します。

これによって、1秒待つごとに残り時間が1ずつ減っていくプログラムができました。残り時間はスタート時に60にセットしたので、残り時間が0になるまで(60秒間)このプログラムが繰り返されます。

ここまで来たら、もう少しです!

もとのプログラムから、60秒待つ ブロックを削除します。

そして削除した場所に、先ほど作成した”繰り返し”プログラムをセットしていきます。

これで、プログラムは完成です!

残り時間が0になったら、endを送って、ゲームが終了します。

⑤ ゲーム画面上の「残り時間」の表示位置を変えよう

変数「残り時間」をセットしたら、ゲーム画面上に「残り時間」が表示されるようになります。

この表示を画面右上に移動していきます。(スタート時に画面左上にキャラクターが表示されるので、重なるのを防ぐためです)

⑥ プログラミングしたら、ゲームの動作確認をしよう

ここまできたら、動作確認をしていきましょう。

を押して、ゲームをスタートさせます。

もぐらたたきゲームがスタートし、残り時間が表示されて、60秒たったらゲームが終了すればOKです。

スクラッチのリミックスツリーを見て、人気の作品を見つけよう

リミックスツリーとは、その作品がどのようにリミックスされてきたのかわかるツールです。

作品がリミックスされることで枝分かれしていき、大きな木になっていきます。

そして、リミックスされた作品が、さらにリミックスされるとどんどん枝分かれしていくので、木が大きくなります。

そのため、大きな木ほど多くのユーザーにリミックスされている人気の作品ということになります。

なお現在、公式サイトからアクセスすると、リミックスツリーを表示するボタンは廃止されています。(Scratch 3.0で廃止)

そのため、少し手間ですがリミックスツリーを表示するためには、作品のリンクに「remixtree」とつけることで表示させることができます。

↓(remixtreeとつける)

スクラッチでリミックスして、プログラミングを学ぼう

今回はスクラッチの「リミックス」について解説をしてきました。

リミックスは、他の人が作ったプログラムをもとにプログラミングしていくことができます。

つまり、 他の人が作ったプログラムを理解して、真似して、自分なりに改良していくことができるので、プログラミングを学ぶ良い練習になると思います。

「リミックス」を使って、作ってみたいゲームに挑戦してみてはいかがでしょうか!