今回つくるゲーム
難易度
今回はスクラッチで釣りゲームを作っていきます。あつまれどうぶつの森の人気イベントの釣り大会をモチーフにします。魚の眼の前にうまくウキを落として、魚がかかるとタイミングよく釣り上げます。3分間で釣り上げた魚の数を競いますが、いろいろな種類の魚を用意してあるので、コレクションする楽しみもあります。
まずは実際にゲームをプレイしてみてください。左右キーで横移動、スペースキーでさおを振って、魚が食いついたタイミングをのがさずスペースキーで釣り上げます
はじめに
まず、以下をリミックスしてください
こちらにはゲームを作るのに必要な素材が揃っています。
釣り状況の考え方
今回のゲームづくりの最大のポイントはさまざまな釣りの状況に応じて、ネコ、うき、魚影、それぞれの動きのルールを制御していかなければならないところにあります。これをノープランでゲームを作ってしまうと動きがぐちゃぐちゃになって大変なことになってしまいます。
そうならないために、今回は「釣り状況」という変数を作って、状況ごとに動きを管理していくようにします。状況は0〜4までの5段階を考えます。
ネコの動きをつくる
まずはネコの基本的な動きから作っていきます
左右の横移動
左右の矢印キーを押すことで桟橋(さんばし)の上を自由に移動できるようにします。海に落ちないように移動範囲の制限をつけるのも忘れてはいけません。
ネコのスプライトに以下のコードを書いてください。
これで、以下のように桟橋の上を移動できるようになったと思います。
※釣り状況の変数はゲーム作成中は常に表示しておいて正しく動くか確認するようにしましょう。
さおを振る
次にさおを振っていきます。スペースキーでさおを操作しますが、釣り状況が0の時は竿を出し、1の時はさおを上げます。ネコのコードに以下を追加していきます。このようにブロック定義をつかうと、後で見直しやコードの修正がしやすくなります。
以下のようにさおを振れれば成功です。釣り状況の変化に注意しながらプレイしてみましょう。
うきを着水させる
つぎにネコがさおを振った時にうきを着水させるようにします。釣り状況に応じてウキの動きも変わります。
うきのコード
では、うきのスプライトに移動して以下のようにコードを書いていきます。
うきが着水するポイントは、ネコの正面の150下に固定しています。(もう少し工夫すればスペースキーを押す長さで飛ばす距離を変えたりもできます。)
波紋のコード
次に波紋のコードを書いていきます。うきが着水したときに波紋ができると、ゲームとしての品質がグッとあがります。波紋のスプライトに移動して以下のコードを書きます。うきが着水した時に、うきの場所に行き、その後大きくなりながらだんだん薄くなって消えます(幽霊の効果)
では、実際にさおを振ってうきを着水させてみましょう。釣り状況2・3はまだ発生しないのでそれはあとから確認します。
魚影の動きをつくる
あつまれどうぶつの森の釣りの特徴は、水面に魚影が現れて、その魚影めがけてうきを投げるところにあります。ここからは魚影の動きについて解説していきます。
魚影を出現させる
魚影のスプライトに以下のコードを書きます。
ここで、「大きさ・位置・向きを決める」のブロックについては、ゲームを作りやすくするためにまずは固定の大きさ・位置・向きに魚影を出現させますが、のちほどランダムにしていきます。
ではを押して魚影を出現させましょう。
魚の目線を作る
今回のゲームではあつ森と同様に、魚の鼻先にうきを落とした時だけ魚が反応するようにします。そのために魚の目線ビームを作成します。目線ビームがうきに当たるとロックオンするという仕掛けです。
このテクニックはいろいろなゲーム作りで役立ちますので是非マスターしてください。
魚の目線のスプライトに移動して、以下のようなコードを書きます。
実際に、目線ビームにうきが当たるとロックオンされるか確認してみましょう。
以下の動画のようにロックオンの変数が1に変われば成功です。
魚を動かす
では、魚を動かしていきます。魚には以下の3つの動きがあります。
ロックオン :うきに向かってきて5回つんつんしてから食いつく さおをあげる :さおをあげると魚が逃げる ”あわせ”失敗 :食いついてから0.5秒以内にあわせないと魚が逃げる
これをコードに書いていきます。魚影のスプライトに移動して以下のコードを追加していきます。
以下のように動けば成功です。(魚の目線の幽霊の効果は100にしておきましょう)
魚を釣り上げる
では、ここから、魚を釣り上げられるようにしていきます。
ネコの動き(あわせて針にかける)
まずは魚を釣り上げた時のネコの動きです。ネコのスプライトに以下のようにコードを追加していきます。釣り状況=2、つまり魚が食いついている時にスペースキーを押す(あわせる)と魚を針にかけることができ、さおがブルブルとします。さきほど魚影のコードに書いたように釣り状況=2は0.5秒しかないので、すぐにあわせないと逃げられてしまいます。
魚影の動き(魚があばれる)
魚が針にかかると、あばれて首を振るようにします。魚影のスプライトに移動し、以下のようにコードを追加します。魚がひととおりあばれたのちに釣り上げられ、1秒たったらまた新しい魚影を出現させます。また、釣り上げた時に釣果を1ずつ増やすようにします。
うきの動き(魚にあわせてうきもあばれる)
細かいですが、魚があばれるとうきも左右に動くはずなので、以下のようにコードを追加します。このような細かな動きがゲームのクオリティーをあげます。
釣果の変数を配置する
釣果を表示するために、以下のように魚マークの下に大きな表示で釣果の変数を配置します。
では、実際に、動きを確認してみましょう。
以下のように魚を釣り上げられれば成功です。
釣った魚を表示する
では、ここから釣った魚を表示していきます。
魚影の大きさ・位置・向きをランダムにする
ここまではゲームを作りやすくするために魚影は一定に固定していましたが、ゲーム性をもたせるために大きさ・位置・向きをランダムにしていきます。魚影のスプライトに移動して、以下のようにコードを変更します。
魚のコードを書く
次に、魚のコードを書いていきます。魚のスプライトに移動して、コスチュームをみてください。
以下のように、サメ〜エビまで12種類の魚がすでに用意されています。
まずはわかりやすくするため、サメ、マグロ、フグ、エビの4種類の魚を出現させていきます。
魚影の大きさに応じて魚が決まるようにします。さきほど、魚影の大きさを20〜60のランダムに設定したので、以下のように振り分けます。
51〜60 :サメ 41〜50 :マグロ 31〜40 :フグ 20〜30 :エビ
上記のルールで魚が判定され、中央にドンっと表示された後、釣った魚は、釣果の横に配置されていってコレクションできるようにします。
魚のスプライトに以下のコードを書いてください。
では、実際の動きを見てみましょう。
以下のように釣った魚がコレクションできると成功です。
魚の種類を増やす
ここまでできたら魚の種類を12種類まで増やしましょう。20〜60の大きさを12種類に振り分けるのでだいたい大きさ3〜4ごとに魚の種類が変わるようにします。小さくて見えないと思いますがこんな感じになります。
ゲームを仕上げる
さいごに時間制限をつけていきます。あつ森の釣り大会と同様、3分間の時間制限とします。
ゲーム管理に制限時間を追加
ゲーム管理のスプライトに以下のコードを書いていきます。
残り時間の変数は右上の時計の横に大きな表示で表示するようにしてください。
時間内しか釣りができないようにする
そして、時間内しか釣りができないので、タイムアップ=0のときだけさおの操作ができるようにします。ネコのスプライトに移動して以下のようにコードを書き換えます。
魚の向きを微調整する
現状だと、以下のように魚が明らかにつれない向きになってしまうことがあります。
これを避けるために魚影のコードを少しだけ変更します。
あわせるタイミングを難しくする
現状だと魚がうきを5回つっついてから食いつくことになっていますが、あわせるタイミングを難しくするために、つっつく回数をランダムにします。魚影のコードに移動して以下のようにコードを変更します。
すべてのコード
これですべてのプログラミングが完成です。ここでは解説していませんが効果音を追加していくとゲームのクオリティーがグッとあがります。効果音も含めた全てのコードはこちらから確認できますので参考にしてください。
あつまれどうぶつの森風 釣りゲーム