itemstore BLOG

アプリ内課金(IAP)の実装・運用にかかる時間を大幅に削減してアプリの収益性を高めるサービス「itemstore(アイテムストア)」が、アプリ内課金に関する様々な話題や企画をお届けする公式ブログです。

【英会話メイドのプログラミング学習記】Scratchで作る『猫ちゃんのシューティングゲーム』

 

こんにちは~~~~~~~!

最近いろんなことに手を出しすぎているれいちぇるです。

 

f:id:cayto_pr:20181002103131j:plain

 

すっかり秋になって寒いですね。

 

f:id:cayto_pr:20181002103119j:plain

 

今回はクローンについて学ぶためScratchを使ってシューティングゲームを作りました。

猫ちゃんがイナズマを発射し、風船を割るゲームです。

 

f:id:cayto_pr:20181002103115p:plain

https://scratch.mit.edu/projects/244255506/

 

★作っていて大変だったところ

  1. 風船の個数が多すぎる
  2. そもそも何をしたらゲームとして完成なのかわからなくなってきた…

 

この二つに対してどのように対処していったのか説明します。 

その次に作っていて楽しかったこと、それと改めて感じたScratchのいいところについて書きました。

 

1. 落ちてくる風船の数が多すぎだったこと。

完成した今ではちょうどいい感じになっている風船の個数なのですが、作っている途中は大量に上から落ちてきていました。

作品ページ右上の「中を見る」から私が書いたプログラムを見ることが出来るのですが、これがその風船の出現についてのプログラムです。

 

f:id:cayto_pr:20181002103113p:plain

 

「自分自身のクローンを作り続け、5個出現するごとに出現時間が0.8倍短くなる。」という意味です。

これを私は「出現時間を変えたらいいのかなあ…?」とか試行錯誤していたのですが、ここのプログラムではなくて、

 

f:id:cayto_pr:20181002103111p:plain

 

こうやって何秒か待つブロックを挟むことによって解決しました。

 

2. そもそも何が完成なのかわからない

このプロダクトは今使っているScratchの教科書の最後の章ということもあり、「がんばって面白くてきれいなゲームをつくるぞ!」と意気込んでいました。「こうしたほうがいいだろう」という理想形が常に頭の中に合って、それに突き進んでいく感じです。

また、先ほど触れた「中を見る」機能で世界中のトップScratcherの作品を見ていると、さらにそういう「理想」に近づきたくなりました。いわゆる「ゲームっぽさ」が欲しかったのです。

 

しかし、だんだんとその理想形を「完璧」なものにすること、そして実際に「完成」させることは難しいし、何より楽しくないことに気づきました。自分が面白いと思うことでないと続けるは難しいですね。それをなしにして「こうすれば100点満点だろう」と一直線に進むのはきつかったです。

だから、やっぱり「この動きだったら面白いな」とか「ひらめいた!」みたいなアイデアをその都度使ったほうが楽しいです。それを繰り返したら何でもなんとか完成する気がしています。今回も少し奇妙なものになりました。

 

★作っていて楽しかったところ

  • 自己流に改造するのは楽しい!
  • 作ったものを見せるとメイドアカデミーのみんなが褒めてくれる
  • 爆発の演出がとても面白いと褒められた
  • Twitterはもちろん、最近Scratch上でも私のゲームを見てくれる人がいて、とてもうれしかった
  • Scratch楽しい!

 

★プログラミング教育のための言語だから楽しい−そこからの新たな気づき

作品ページの上部にある「中を見る」という機能では、作品のプログラムがどういったブロックで、どのようなアイデアに基づいて構成されているかを覗くことができます。学習することにおいてはとても使いやすいと個人的に思います。プログラミング教育のために作られている言語だからです。見た人のレスポンスもすぐ見えるようになっています。

 

また、「Remix」という機能を使って、そのプログラムを自己流に改造したりすることもできます。リミックスされると結構うれしいものです。

 

そんな感じでほかの作品を見ていましたら、「その他」からブロックを作る機能があることを発見しました。

 

f:id:cayto_pr:20181002103108p:plain

https://scratch.mit.edu/projects/246435002/

 

私が今使っている教科書は入門者向けのため、基礎的なことが多く、この機能は初めて知りました。なるほど!!変数を作る機能はすでに理解していましたが、こうしてオリジナルのブロックをつくり「定義」することがどうやらできるようですね。

 

こうやって野生の教科書から学んでいくのも実践的で面白いです。

このシューティングゲームの作成をもって、今使っている教科書は一通り終了なので、次はもう少し上のレベルの教科書に挑戦したいと思います。

 

Scratch界隈にいる大人には、単なるプログラマーだけでなく、子どもの教育にも携わっている方がちらほらいることも、興味深いです。現在話題になっている(のでしょうか?)「小学校におけるプログラミング教育の義務化」などについての議論を時々垣間見ます。学習者としてだけではなく、「プログラミング×教育」の観点からプログラミングのことを考えられるのも楽しいです。

 

シューティングゲームを作りながら私がずっと思っていたのは、そういえばずいぶん昔にUnityのチュートリアルでもシューティングゲームに挑戦していたのですが、あれから放置していることです。確か当たり判定を付けたところで終わりにしていたような…?

前回落ちゲーを作ったときに、この星たちが3Dで落ちてきたらきれいだろうなと思ったので、やはり次に勉強するべきはUnity?ハードルが高く感じてしまうのですが…でもScratch楽しいよ…。

 

★今回のゲームをもっとこうしてみたい…

風船をもっとふわぁって落ちてくる仕様にして、風船がふわふわ浮く感じを表現したい。ゆらゆら~ふわふわ~っと落ちてくるようにしたら、よりゲーム性も上がる気がします。しかし、どうやったらできるのかは分かんないので考え中…。

 

教えてあげるよ!という方がいたら、Twitterでアドバイスいただくか、メイドアカデミーに参加していただけると嬉しいです!

 

以上、レイチェルのプログラミング学習記でーした!

 

 

アプリ内課金を今すぐ始められる簡単実装サービス「itemstore(アイテムストア)」

 

 

<プロフィール>

れいちぇる

英語が話せるメイドさん

Twitterhttps://twitter.com/madeinrachel

 

MaidAcademy(メイドアカデミー)について

メイドさんと一緒に成長できる世界初のメイドプログラミングスクール。

Webサイト:http://www.maid-vr-school.com/

Twitterhttps://twitter.com/madeinmaid