壁で立ち止まらないスムーズな動きを実現する(爆速オンライン3Dゲームの作り方 #07)

壁で立ち止まらないスムーズな動きを実現する(爆速オンライン3Dゲームの作り方 #07)
グリフパッチ(動画)
ok-scratch(執筆)

和訳解説は動画作者のグリフパッチさんご本人から許可をいただいて掲載しております。
チャンネルはYOUTUBE ( by griffpatch )からどうぞ。

壁に触れているときの移動を劇的に改善する!こういう細部への配慮がゲーム体験を向上させるんだ。
スターター
プロジェクト
リミックス用プロジェクトへ
難しさ

任意)自分の作業中のスクラッチ作品URLを記録しておこう!再開するときに便利だよ。

LOADING...

※ この記録は今使ってるPCに保存されます。別のPCで作業するときは表示されません。

スクラッチプログラミングに挑戦している皆さん、どうも!スクラッチコーチです。

ゴンザレスからゲームクリエイターへの挑戦(ちょうせん)(じょう)

(かべ)()()いてあたりを見回(みまわ)してたスクラッチキャット、(とお)くまでよく()えるようにはなったけど(からだ)(うご)かない?!一体(いったい)(なに)が……あぁそうか!(かべ)()れてると(つね)逆進(ぎゃくしん)する(ちから)(くわ)わるから(うご)けなくなっちゃうんだ。このままだとまずいね……。潜入(せんにゅう)捜査(そうさ)なのに移動(いどう)しづらいなんて、(きび)しすぎるぅ!

今回(こんかい)目標(もくひょう)移動(いどう)のユーザビリティを(たか)める」

(かべ)()たると(うご)きが()まっちゃう、というルールがゲームに必要(ひつよう)なら(べつ)だけど、そうじゃないなら(かべ)にちょっと()れたくらいでイチイチ()まりたくない。たとえばレースとか、たとえば(おに)ごっこで(おに)から()げてるときとか、(かべ)にあたって()まってたらスリリングなゲーム体験(たいけん)(そこ)なわれてしまう。こういった「使(つか)いやすさ」「プレイのストレスをなくす」みたいな修正(しゅうせい)を「ユーザビリティを(たか)める」って表現(ひょうげん)したりする。今回(こんかい)移動(いどう)(かん)するユーザビリティを改善(かいぜん)していくぜ。具体的(ぐたいてき)には以下(いか)のユーザビリティを改善(かいぜん)する。
  • (かべ)にあたっても(なな)めに(すす)めるようにする
  • 矢印(やじるし)キーだけでなくWASDでも(うご)けるようにする
  • 回転(かいてん)せずに真横(まよこ)にスライドできるようにする(カニ(ある)き)
壁で立ち止まらないスムーズな動きを実現する(爆速オンライン3Dゲームの作り方 #07)を語るok-scratch ok-scratch

u003cpu003e今回(こんかい)三角(さんかく)関数(かんすう)()てくるけど、いつもどおり使(つか)うだけだから(おそ)れずに(すす)んでいこう。一緒(いっしょ)にトライしていこうぜ!u003c/pu003e

(かべ)にあたっても(なな)めに(すす)めるようにする

(かべ)()かって垂直(すいちょく)にあたったら()まるけど、(なな)めに(すす)んでいる最中(さいちゅう)(かべ)にあたっても()まらないようにしたい。完成(かんせい)(ぞう)は↓こんな(かん)じ。
これを実現(じつげん)する。

定義(ていぎ)「_移動(いどう)()計算(けいさん)する」を(つく)

引数(ひきすう)はX方向(ほうこう)とY方向(ほうこう)という2つだよ。
それぞれの引数(ひきすう)を、X座標(ざひょう)とY座標(ざひょう)加算(かさん)しよう。
そしてここでも「レベルに()れたら」という条件(じょうけん)ブロックを追加(ついか)する。
(かべ)()れたら逆進(ぎゃくしん)するようにXとYにマイナス方向(ほうこう)(ちから)加算(かさん)するぞ。

移動(いどう)する距離(きょり)計算(けいさん)する

定義(ていぎ)「_移動(いどう)する」に修正(しゅうせい)(くわ)えるので、↓この部分(ぶぶん)()(はな)しておいて。
そして↓このブロックを用意(ようい)して演算(えんざん)(つく)る。
これと()きのsinサイン()()わせる。sinサイン三角(さんかく)関数(かんすう)で、円状(えんじょう)(うご)きの計算(けいさん)によく使(つか)われるんだ。ここでは()き(90()とか180())っていう数字(すうじ)を0とか1とか0.45とかっていうある程度(ていど)範囲(はんい)数字(すうじ)変換(へんかん)してくれてる。(ため)しにクリックしてどんな数値(すうち)(はい)っているか(たし)かめてみるといいかも。
最終的(さいしゅうてき)にこうなる↓
これを定義(ていぎ)「_移動(いどう)()計算(けいさん)する」のX方向(ほうこう)()()てて、Y方向(ほうこう)にはゼロを()れて実行(じっこう)する。
さらに!もう一(かい)(おな)定義(ていぎ)()()す。ただし引数(ひきすう)注意(ちゅうい)今度(こんど)はX方向(ほうこう)がゼロで、Y方向(ほうこう)三角(さんかく)関数(かんすう)cosコサイン()えたものを使(つか)っている。
壁で立ち止まらないスムーズな動きを実現する(爆速オンライン3Dゲームの作り方 #07)を語るok-scratch ok-scratch

u003cpu003eXとYでsinサインcosコサイン()えてる理由(りゆう)?そうだね、がっつり三角(さんかく)関数(かんすう)説明(せつめい)しないとちゃんとは()えないけど、単純(たんじゅん)sinサインcosコサイン()てるけど使(つか)いたい()きによって()えるっていうシンプルな回答(かいとう)にとどめておく。(ふか)()りたい(ひと)は、学生(がくせい)なら数学(すうがく)得意(とくい)先生(せんせい)()く、大人(おとな)ならウィキペディアで調(しら)べる(グリフパッチさんと(ぼく)はこっちw)ことをオススメする!u003c/pu003e

最後(さいご)()(はな)しておいたブロックをくっつけておこう。

CHECK! (かべ)にあたっても(なな)めに(すす)んでくれるかテストする

最高(さいこう)にスムーズでストレスフリーじゃない?(かべ)()れたら(うご)けなくなる必要(ひつよう)がないなら、こっちのほうが絶対(ぜったい)ゲーム体験(たいけん)として()いよね。

u003cpu003e(かべ)につっかかるストレスを軽減(けいげん)したことで、ゲーム体験(たいけん)向上(こうじょう)した。u003c/pu003e

WASDでも(うご)けるようにする

これはカンタン。「◯または◯」ブロックを()()()だけ。
壁で立ち止まらないスムーズな動きを実現する(爆速オンライン3Dゲームの作り方 #07)を語るok-scratch ok-scratch

u003cpu003e↑スクショだとずっとループのオレンジの(かこ)いが()えてるけど、()にしないで。みんなはもうプレイヤーティックに移動(いどう)しているはずだから、ループがなくて正解(せいかい)だよ。u003cbru003eこのあとのスクショでも(おな)じです!u003c/pu003e

u003cpu003e1つの(うご)きに複数(ふくすう)キーを()()てることで、ユーザーが使(つか)いやすいキー操作(そうさ)(あそ)べるようになったu003c/pu003e

(よこ)にスライド(カニ(ある)き)できるようにする

さらに移動(いどう)のユーザビリティを(たか)めていこう。今度(こんど)回転(かいてん)せずに(よこ)移動(いどう)する。(まえ)()きながら(よこ)移動(いどう)する、カニ(ある)きみたいな機能(きのう)実現(じつげん)する。

(ひだり)にカニ(ある)きする

定義(ていぎ)「_プレイヤーティック」に(あたら)しい条件(じょうけん)ブロックを追加(ついか)しよう。
この条件(じょうけん)ブロックには「aキーが()されたら」っていう条件(じょうけん)(しき)をはめておいてね。(スクショ(わす)れた)そして大切(たいせつ)なのはこの中身(なかみ)(つぎ)のとおりに実装(じっそう)する。
  • いったん(ひだり)に90()(まわ)す。
  • そして定義(ていぎ)「_移動(いどう)する」を()ぶ。
  • そのあと(みぎ)に90()(まわ)して(もど)す。
この3ステップでカニ(ある)きを実現(じつげん)できる。

(みぎ)にカニ(ある)きする

もしブロックを複製(ふくせい)しよう。
今度(こんど)左右(さゆう)(ぎゃく)になるよ。
  • いったん(みぎ)に90()(まわ)す。
  • そして定義(ていぎ)「_移動(いどう)する」を()ぶ。
  • そのあと(ひだり)に90()(まわ)して(もど)す。

CHECK! カニ(ある)きできるかテストする

カニカニぃ!

u003cpu003e回転(かいてん)せずに左右(さゆう)にカニ(ある)きできるようになったu003c/pu003e

まとめ

今回(こんかい)以下(いか)のことができるようになったぞ。
  • (かべ)にあたっても(なな)めに(すす)めるようにする
  • 矢印(やじるし)キーだけでなくWASDでも(うご)けるようにする
  • 回転(かいてん)せずに真横(まよこ)にスライドできるようにする(カニ(ある)き)
これでスムーズに移動(いどう)できるようになったね。おめでとう!スクラッチキャットも自由(じゆう)にアジトを捜査(そうさ)できるはずって、あれあれ、まだスクラッチキャットが(こま)っているぞ!次回(じかい)もチェックしてみよう。

グリフパッチさんの動画(どうが)参考(さんこう)にしています

今回(こんかい)のチュートリアルは世界(せかい)No.1スクラッチャーとして名高(なだか)いグリフパッチさんの動画(どうが)参考(さんこう)にしているよ。ただし手順(てじゅん)一部(いちぶ)()えているところもあるんだ。
ブクマよろしくお願いします! ブクマよろしくお願いします!
どんどん追記・更新していくので、ブックマークやシェアよろしくお願いします!

スクラッチプログラミングのゲーム攻略

スクラッチプログラミングのゲーム

    • 厳選されたスクラッチ人気作品リストがレビュー付きで楽しめます
      趣味に関するスクラッチ作品例
      勉強になるスクラッチ作品