スクラッチプログラミングに挑戦している皆さん、どうも!スクラッチコーチです。
ここまでオンラインゲームのエンジン(=テンプレート)を作ってきたけど、いよいよこのオンラインゲームエンジンを
使って
自分の
作品をマルチプレイ
可能なオンラインゲームにしていこう!
ok-scratch
u003cpu003e実は詳しい方法がグリフパッチさんの動画でも公開されているのだけど、動画に出てくるゲームが複雑なためチュートリアルとしての難易度がいつもより更に高くなっているから、今回はオンライン化の手順を確認するためだけの超シンプルなゲームを用意しておいた。u003c/pu003e
こんな
感じ↓のオンラインゲームを
作ってみるよ!
めっちゃシンプルなんだけど、
赤いストップボタンが追いかけてくるから逃げまくる、っていう
鬼ごっこゲームだ!
最低限のゲーム
性として
逃げれば
逃げるほどポイントが
貯まって、ポイントの
量はプレイヤーの
大きさに
比例するようになってるんだ。つまり、
大きいプレイヤーはそれだけ長い時間ストップボタンから逃げているっていうこと!まぁそれだけなんだけど、
今回は自作ゲームをオンライン化する手順を確認したいだけだからOKってことで!
今回の目標「自作の鬼ごっこゲームを作る」
とりあえずシンプルな
鬼ごっこを
作るよ。
ok-scratch
u003cpu003eいちおうどんなゲームを作るのか、確認しておくね。自作ゲームを作るのはめんどいぜ、っていう人はこの記事の完成版か次回記事のスタータープロジェクトをリミックスしてくれ!u003c/pu003e
登場キャラ
- プレイヤーは緑色の四角
- フレンドは水色の四角
- エネミーは赤いストップボタン
要件
- プレイヤーは上下左右のキーを押すと動く
- ゲームが始まるとどんどんポイントが貯まり、ポイントの数だけプレイヤーのサイズが大きくなる。
- プレイヤーは赤いストップボタンに当たるとポイントがリセットされる
- プレイヤーはフレンドに当たっても何も起こらない
こういうゲームを
作っていく。シンプルだね。ちなみにオンラインの
要件はココには
書いてない。オンライン
化するところで
改めて
追加するね。っていうのも
今回はすでにある自作ゲームを、オンラインゲームエンジンを使って途中からオンライン化する、っていう制作手順を経験したいからなんだ。みんなも
自分で
作ったゲームってあるかな?それをオンライン
化する
役に
立つはずだから、
一緒に
見ていこう!
プロジェクトの用意
あらかじめコスチュームを
用意したスタータープロジェクトを
用意してあるから
利用してね。
https://scratch.mit.edu/projects/880162691/こいつをリミックスしてくれぃ!
話はそれからだ!
スタータープロジェクトの
中には2つのスプライトが
用意されているぞー。
まぁただの
四角だけどw
プレイヤーを作る
じゃあまずプレイヤーから
作っていく!このへんは
主題ではないので、いつもより
駆け
足で
作っていくつもり。
メインループを用意する
緑の
旗を
押したら
始まる「ずっと」ループを
置こう。
よし、パーフェクトな
幕開けだ。
右に移動する
まずは
右からいこう。
変数「スピードX」を
使うよ。
右向き矢印キーが押されたら加速する
右が
押されたらスピードXにプラスの
値を
入れるようにする。
スムーズに加速させる仕掛けを作る
右向き
矢印キーが
押されている
間はずっと
加速したいのでループも
置く。
↑この2つを
使って
↑こうすることで「
右向き
矢印キーが
押されてない」
状態を
検知する。さらに、
「まで
繰り
返す」の
条件式に
使うと
「右向き矢印キーが押されている間はずっと」という
意味になる。このループでさっきの
変数に
追加した
処理を
囲ってみよう。
これで
右キーが
押されている
間はずっと
変数「スピードX」の
値は10になってくれる。
X座標に反映する
これで
右キーを
押すと
右に
移動するようになった。でも
試してみると、ずーーーっと
右に
移動しちゃって
止まらないw
減速させる
しっかり
減速するような
処理も
作っていこう。これもスムーズな
減速をカンタンに
作る
方法でいく。
↑こんな
感じでスピードXに0.8を
掛けることで、
少しずつ
値を
減らしてセットする。
これで
右キーを
押したら
進んで、キーを
離すとスムーズに
止まるようになる!
左に移動する
つぎは
左だ。
同じことの
繰り
返しだから、まるっとコピーしよう。
これを
貼り
付けてから、
各所を
左用に
変えていく。
3か
所変えたので、
合わせて
作ってみてね!それだけで
左右に
移動できるようになる。
上に移動する
続いて
上ね!
変数「スピードY」を作る
今度はY
座標だからスピードYを
作る。
上向き矢印キーが押されたら加算する
右向きキーで
使ったブロック
群をまたコピペしよう。
これを
貼り
付けてから、
各所を
上向き
用に
変えていく。
よし!
Y座標に割り当てる
この
変数をY
座標に
割り
当てていこう。
減速もする
Xと
同じように
減速させるぞ。
ほい、これでテストすると~……
はいナイスぅ!
下に移動する
上向き
矢印キーが
押されたら、のブロックをコピペして、
以下のように
調整するよ。
これで
上下左右にグイングイン
動くはずだ。
ポイントを作る
プレイヤーが
赤いストップボタンに
触れるまでは、ずっとポイントが
加算されるようにしていきたい。そこで「タイマー」を
使ったカンタンなポイント
処理を
作っていこうと
思う。って
言っても
今回は
鬼ごっこゲームを
本気で
作りたいわけじゃないからカンタン。
変数「ポイント」を用意する
タイマーの値をセットする
ぶっちゃけタイマーを
変数にセットするだけだ。
小数点はいらないから
切り
上げるくらいかな、
言及すべきは。
これをポイントにセットする。
エネミーに当たった処理を作る
エネミーに
当たるとポイントがリセットされてしまう。これはタイマーのリセットを
利用して
実現しようと
思う。めちゃカンタンすぎて……w
↑ここに
追加していこうかな。
条件式は、
↑シンプル・イズ・ベスト!
タイマーリセット
タイマーがリセットされると、ポイントもリセットされるのでシンプルにタイマーをリセットする。
かんたーん。
大きさに反映する
ポイントを
表示する、ってなるとカウンターの
処理を
実装しないといけなくてひと
手間増えるので、
早くオンラインゲーム化の手順に進むためにも単純にポイントが加算されるとプレイヤーの大きさが変わるようにしていきたい。なにげに
赤いストップボタンに
当たらないようにプレイする
難易度も
上がって、なんかゲームっぽいから
一石二鳥w
これでどんどん
大きくなるはず!いよ~し!プレイヤー
完成!
エネミーを作る
こっちもサクッと
作るよ。
鬼の
位置はクラウドデータで
共有はしないで、ローカルでOK。つまりプレイヤーごとに
鬼の
位置は
違う。
ok-scratch
u003cpu003e鬼の位置もクラウドデータで共有してレイドみたいなことをしたい人は挑戦してみても面白いかも。u003c/pu003e
エネミーのスプライトに切り替える
メインループつくるぅ!
最高!
キホンの動き
ここにシンプルだけどトリッキーな
動きを
作っていくよ。
使うのはこちら↑
秒のところを
乱数にしてみる。
これで
不規則な
動きが
作れる。これをループにいれよう。
急襲の動き
さらにときどきプレイヤーめがけて
突っ
込んでくるようにしておこうかwサンプル
作品だからこだわる
必要ないんだけど、まぁちょっとエンタメ
性があるほうが
作りがいがあるよね。
動きから
先に
書いておくと、1
秒でプレイヤーに
向かっていくブロックを
置くだけ。
条件式
条件もシンプル。0から2の
乱数(
小数点込み)がピッタリ2だったら
突撃するようにしようかな。このへんはゲームの
難易度によるから
好きに
調整してOK!
はめるとこんな↓
これで
鬼も
完成!ふぅ!
オンライン化する
いよいよオンライン
化する!って
思ったけど
区切りがいいから
記事分けておく~。
自作ゲーム
作るところは
飛ばしたい
人も
多いだろうから……。でも
一緒に今回のゲームを作ったほうがより一層の理解が得られると
思うよ。
続きはすぐアップしまーす。