コードオブジーニアスでは、「プログラミングを通して、アイデアをカタチにする」をテーマにプログラミング学習を進めています。
プログラミングを知っているだけではなく、プログラミングを使って何かを創り出せるような人になることを目指して日々プログラミング学習に励んでいます。
各プログラミング言語を学習したタイミングで、それぞれオリジナル作品を作ることにチャレンジしています。
ここでは、生徒が実際に作ったオリジナル作品を紹介していきます。
作品紹介
今回紹介する作品は、以下のようなゲームです。
作品名 | For The Earth |
---|---|
作者 | N.Y.さん(中学2年生) |
プログラミング言語 | JavaScript |
どんなゲーム? | 環境問題をテーマにしたゲームです。プラスチックごみを拾い、一定以上のスコアを獲得するとゴールです。 |
実際の作品はこちら。
さらに作品について掘り下げて見ていきたいと思います。
今回は、猫先生から作成者へのインタビュー形式でまとめてみました。
インタビュー
どんなゲーム?
まずはどんなゲームか教えてほしいにゃ
舞台は海の中です。左右に移動するペットボトルと、1秒ごとにランダムな位置に出現するプラ袋を回収するゲームです。ペットボトルは回収すると10ポイント、プラ袋は5ポイントもらえます。ごみを回収して合計50ポイント集めるとクリア。プラ袋の回収を怠って、マップ上に4個以上出現する、または、サメやタコにぶつかるとゲームオーバーです。
楽しそうなゲームにゃ!!やってみたいにゃ~
作品に込めた想い
作品には特別な想いを込めたと聞いたにゃ
作品へ込めた想いを教えてほしいにゃ
日頃、ニュースや新聞、動画などで、海洋プラスチックについての記事を目にします。海岸に押し寄せる大量のプラスチックごみや、ウミガメなどがごみに引っかかっている様子を見て心が痛みました。少しでも環境問題、ごみ問題に関心を持ってもらいたいと思い、このゲームを作りました。ゲームを遊んでもらう人には、ゲームを通して、今一度深刻化しているごみ問題に関心を持ってもらいたいと思っています。
すばらしいにゃ。感動したにゃ。
工夫したところは?
それでは、工夫したのはどんなところにゃ。
ペットボトルを設置したことです。ペットボトルは1回しか出現しません。しかし回収したら10ポイントもらえます。どのタイミングで安全にペットボトルを回収するかが鍵になります。
なるほどにゃ!! ゲーム性をあげるための工夫をしっかりとしてるにゃんね
難しかったところは?
ゲームを作っている時に、難しかったのはどんなところにゃ。
難しすぎず、簡単すぎず、最適な難易度に調整するのが難しかったです。難しすぎても、簡単すぎても面白くないですからね。そのために、スコアがいくつでゲームクリアにするか、プラ袋がいくつ残ったらアウトにするかを考えました。
遊ぶ人のことを考えて作ってるのにゃ!!
ただ作るだけじゃにゃくて、遊ぶ人のことを考えて作られた素晴らしい作品だったにゃ
プログラムについて
最後に、プログラムについても工夫しているので、紹介していきたいと思います。 サメが回転する動きは、三角関数を使ってプログラムしているよ。
mainScene.update = function() {
// ~~~~~~~~ 省略 ~~~~~~~~
//サメの位置情報
pos = this.setSharkPosition();
this.sharkImage.x = pos.x;
this.sharkImage.y = pos.y;
// ~~~~~~~~ 省略 ~~~~~~~~
};
// ~~~~~~~~ 省略 ~~~~~~~~
mainScene.setSharkPosition = function(){
// Y軸は下が正のため、thetaが減少すれば反時計回り
this.theta = this.theta - 0.75;
if(this.theta <= -360) {
this.theta = 0;
}
return {
// 三角関数を使って、円を描いて動くように座標を設定
x: this.ox + this.r * Math.cos(this.theta * Math.PI / 180),
y: this.oy + this.r * Math.sin(this.theta * Math.PI / 180),
};
};
使う側の立場に立って考えることができるようになったり、自分の意見を伝えるツールとしてゲームを使うというアイデアが浮かんだりと、プログラミング以外の学びにもつながりますね。
気になる方は、以下から定期受講コースの詳細をご確認ください。