今回紹介するのはDodgerという隕石をよけまくるゲーム
http://scratch.mit.edu/projects/37945634/

ゲームスタートすると、隕石が次々と降ってきて
矢印キーでDodger君をあやつり、隕石をよけるだけの
シンプルなゲームですが、画像もキレイで演出も考えてあり
いわゆる「ハマるゲーム」に仕上げています。
では、「中を見る」でスクリプトを見ていきましょう

ゲームをしていると、いくつもコスチュームがあるように見えますが
じつはコスチュームはひとつだけ。
大きさを2種類にわけ、画像を回転させることで
ちがう見た目にみせているんです。
そのスクリプトがこちら

x座標をランダムに表示して
大きさを1倍か2倍かランダムで決めます。
「The Thing(プレイヤーのキャラクター)」に向けたあと
そこからランダムですこしブレさせます
あとは、地面につくか、画面外にでるか、ゲームが終わるか の条件で
ずっと下まで動かし続けます。
大きさによって動くスピードがかわるように
(大きさ/100)*7にしていますね。
このかける部分をかえると隕石のスピードが変更できます。
とてもカンタンですから、ぜひあなたのゲームにも取り入れてみて下さい。
このゲームでは「シェイク」を使っています。
攻撃を受けたときやモノがぶつかったときに
画面やモノが「ゆれる」効果のことを「シェイク」といいます。

隕石が落ちてくるブロックのあとに
(隕石が落ちるブロックが終わったということは、地面に到達したということですね)
隕石の大きさにあわせて「Shake(シェイク)」のメッセージを送っています。
この「シェイク」のメッセージを受け取っているのが
「Ground(地面)」のスプライトです。

ブルッと震わせるために y座標をすこしだけ変えています
0.01秒待つをいれないと、震えているようにみえないので注意です。
Shake2のほうは、y座標を変える値が「4」に設定されています。
大きい隕石のほうが、大きくふるえるようになっているんですね。
細かい設定ですが、こういった「細かい演出」の積み重ねによって
ゲームのクオリティは格段に良くなりますよ!
基本は以前書いた記事と同じです。
ちょっと難しいので、このキャラクターをバックパックに入れ値を変えて使ってもいいですし
移動部分だけオリジナルのスクリプトにしてみるのもいいですね。

では、隕石との当たり判定をみてみましょう。

「もしAsteroid(隕石)に触れたら」の部分が当たり判定ですね。
ここでライフの変数を1増やし、1減らしを繰り返していますね。
これは何をしているのでしょうか?
ライフのスクリプトを見てみましょう。

ライフのコスチュームはこのようになっていて
コスチュームがずっと「Lives(ライフ)変数」に連動しています。
つまり、ライフ変数を+1、-1、+1、-1と変化させることで
コスチュームを変え、「点滅しているように見える」のです。
これも細かい演出のひとつですね。
ライフがすべて無くなったら「Fade(フェード)」のメッセージを送っています。
とくにゲームが始まるときにイキナリ画面が切り替わると
初めてプレイする人は、心の準備ができませんよね。
フェードという演出は、「カッコよくみせる」という役割と
「プレイする人への心くばり」という役割をもっているといえます。
さて、フェードの使い方もとてもカンタンです!

このように、真っ黒なスプライトを用意して

こんな感じで、幽霊の効果を100(透明の状態)にして
幽霊の効果をだんだんと下げていきます(だんだん黒くなる)
そのあと、表示したいシーンにメッセージを送って
また幽霊の効果を上げていきます(だんだん透明になる)
これでフェードが完成です。
イージングをつけたり、色々なフェードの仕方もありますが
このシンプルなフェードで十分カッコいい演出になりますよ!
「なんか自分のゲームって素人っぽいんだよなぁ」と思っている方は
ぜひ演出にこったゲームを作ってみて下さい。
普段なにげなくプレイしているゲームにも
このような演出がちりばめられていますので
ケータイのアプリや家庭用ゲーム機で、ゲームをプレイする際には
どんな演出がかくれているか?チェックしてみると
自分のゲーム作りの 参考になると思いますよ!
この記事がよかった!という方は「B!」ボタンや
http://scratch.mit.edu/projects/37945634/

ゲームスタートすると、隕石が次々と降ってきて
矢印キーでDodger君をあやつり、隕石をよけるだけの
シンプルなゲームですが、画像もキレイで演出も考えてあり
いわゆる「ハマるゲーム」に仕上げています。
では、「中を見る」でスクリプトを見ていきましょう
まずは隕石をふらせよう
このアステロイドとかかれたスプライトが隕石です
ゲームをしていると、いくつもコスチュームがあるように見えますが
じつはコスチュームはひとつだけ。
大きさを2種類にわけ、画像を回転させることで
ちがう見た目にみせているんです。
そのスクリプトがこちら

x座標をランダムに表示して
大きさを1倍か2倍かランダムで決めます。
「The Thing(プレイヤーのキャラクター)」に向けたあと
そこからランダムですこしブレさせます
あとは、地面につくか、画面外にでるか、ゲームが終わるか の条件で
ずっと下まで動かし続けます。
大きさによって動くスピードがかわるように
(大きさ/100)*7にしていますね。
このかける部分をかえると隕石のスピードが変更できます。
地面にあたったときの演出
細かい演出はゲームをより面白く見せることができます。とてもカンタンですから、ぜひあなたのゲームにも取り入れてみて下さい。
このゲームでは「シェイク」を使っています。
攻撃を受けたときやモノがぶつかったときに
画面やモノが「ゆれる」効果のことを「シェイク」といいます。

隕石が落ちてくるブロックのあとに
(隕石が落ちるブロックが終わったということは、地面に到達したということですね)
隕石の大きさにあわせて「Shake(シェイク)」のメッセージを送っています。
この「シェイク」のメッセージを受け取っているのが
「Ground(地面)」のスプライトです。

ブルッと震わせるために y座標をすこしだけ変えています
0.01秒待つをいれないと、震えているようにみえないので注意です。
Shake2のほうは、y座標を変える値が「4」に設定されています。
大きい隕石のほうが、大きくふるえるようになっているんですね。
細かい設定ですが、こういった「細かい演出」の積み重ねによって
ゲームのクオリティは格段に良くなりますよ!
残りのライフ表示と演出
キャラクターの移動のスクリプトについては ブロックを分けているので少しわかりにくいですが基本は以前書いた記事と同じです。
ちょっと難しいので、このキャラクターをバックパックに入れ値を変えて使ってもいいですし
移動部分だけオリジナルのスクリプトにしてみるのもいいですね。

では、隕石との当たり判定をみてみましょう。

「もしAsteroid(隕石)に触れたら」の部分が当たり判定ですね。
ここでライフの変数を1増やし、1減らしを繰り返していますね。
これは何をしているのでしょうか?
ライフのスクリプトを見てみましょう。

ライフのコスチュームはこのようになっていて
コスチュームがずっと「Lives(ライフ)変数」に連動しています。
つまり、ライフ変数を+1、-1、+1、-1と変化させることで
コスチュームを変え、「点滅しているように見える」のです。
これも細かい演出のひとつですね。
ライフがすべて無くなったら「Fade(フェード)」のメッセージを送っています。
シーン切り替えのワザ、フェード
フェードを使うと、プレイしている人に「ゲームの区切り」を認識させやすくなります。とくにゲームが始まるときにイキナリ画面が切り替わると
初めてプレイする人は、心の準備ができませんよね。
フェードという演出は、「カッコよくみせる」という役割と
「プレイする人への心くばり」という役割をもっているといえます。
さて、フェードの使い方もとてもカンタンです!

このように、真っ黒なスプライトを用意して

こんな感じで、幽霊の効果を100(透明の状態)にして
幽霊の効果をだんだんと下げていきます(だんだん黒くなる)
そのあと、表示したいシーンにメッセージを送って
また幽霊の効果を上げていきます(だんだん透明になる)
これでフェードが完成です。
イージングをつけたり、色々なフェードの仕方もありますが
このシンプルなフェードで十分カッコいい演出になりますよ!
まとめ
今回は「演出」に焦点をあてて紹介してみましたがどうだったでしょうか?「なんか自分のゲームって素人っぽいんだよなぁ」と思っている方は
ぜひ演出にこったゲームを作ってみて下さい。
普段なにげなくプレイしているゲームにも
このような演出がちりばめられていますので
ケータイのアプリや家庭用ゲーム機で、ゲームをプレイする際には
どんな演出がかくれているか?チェックしてみると
自分のゲーム作りの 参考になると思いますよ!
この記事がよかった!という方は「B!」ボタンや
コメント