はじめてゲームプログラミング

パパと子どものはじめてゲームプログラミング 「空中連続ジャンプ」を作ろう!

今回はNintendo Switchから大好評発売中の「ナビつき!つくってわかる はじめてゲームプログラミング(以下はじプロと略します)」から、「空中連続ジャンプ」の作り方を公開していきます。

 

私と子どもとの”試行錯誤”の生の過程(間違いも含めて)を示していくことで、はじめてゲームプログラミングの「ノードン」たちのことを、もっともっと深く理解することが出来ると思います。

ちなみに、何が起きているかを理解しやすくするために、動画ではキーポイントとなる部分のプログラミングの数値をカウンターノードンで「見える化」して解説しています。

 

では始めて行きましょう!

 

はじめに「空中連続ジャンプ」とは?

はじプロで2Dや3Dのアクションゲームを作るとしたら、まずは「ヒトノードン」に左右・上下に動けるようにプログラミングして、次にジャンプできるようにして、その次にステージを作って…みたいな流れで進めていくことが多いと思います。

このとき、当たり前ですが「ヒトノードン」はジャンプは地上で1回しかできません。空中でジャンプすることは普通の設定ではできません。

これをプログラミングで空中で何度もジャンプ=「空中連続ジャンプ」できるようにできたら面白いですよね。

とは言え、ゲーム開始から無限に空中ジャンプできてしまったらゲームバランスを壊しかねないので、その辺りは要注意です。

しかし、例えば限定的な場所だけで「連続ジャンプ」できるようにプログラミングできたら、色々と面白いことが出来そうですし、自作ゲームのオリジナリティを高めることが出来るかもしれません。

今回は、この「空中連続ジャンプ」の作り方を解説していきます。

 

空中連続ジャンプをプログラミングする上で、どこをとっかかりにすればよいか

お父さん、ヒトノードンが空中で連続でジャンプできるようにプログラミングしたいんだけど…
おお!それは面白そうだね~

 

まったくなにをどうしたらいいか分かりません!!!
あらら・・・でも確かに難しいよね。。そう言う時は、まず普通にジャンプすることと、空中でジャンプできないことが何が違うか考えて整理してみたらいいんじゃない?

 

そんなこと言われても・・・。普通にジャンプするのは、地面があってジャンプできるってことだし、空中は何にも蹴るところがないからジャンプできないってことでしょ。当たり前だけど…これに何の意味があるの・・?
ほら、もうヒントがあるじゃん!プログラミングなんだから、もっと柔軟に考えてみよう。じゃあ、空中に何があればジャンプできそう?
…うーん・・・。足場かな?
空中に足場がでれば、ジャンプできるかも!!
そうそう!!その理論でトライしてみよう!

解説:この投稿では、空中連続ジャンプを「ジャンプした先に突然見えない足場がでればまたジャンプできるに違いない」という理論でプログラミングしてみたものを解説していきます。他にもっと良い方法があるよ!という方は是非教えてください。

 

空中に上手いこと足場を出現させるには・・・

パパにアドバイスしてもらって、色々ためしてみたけど、やっぱり難しいわ~
うんうん、色々試行錯誤することがいい勉強になってると思うよ。どんなことを試したの?
モノをワープするノードンで足場をワープさせたり、足場そのものをヒトノードンにくっつけてみたり。。どれも上手くいかない(笑)
あ~それね、お父さんもやったやった。難しいよね~。モノを発射するノードンを使うと上手くいくんじゃないかな?
モノを発射するノードンか!!ヒトノードンから発射してそれに乗るみたいな?できるかも!

 

 

・・・まったく空中ジャンプできる感じじゃないね。これはヒトノードンとモノを発射するノードンを”どう”連結しているの?
え?それは普通に連結をしただけだヨ・・・

あ~ヒトノードンとモノを発射するノードンは”お互い中央で”連結されているのね?これだと、ヒトの真ん中から円柱がでるからうまく足場にならない
あ~なるほど!じゃあこうやって連結すれば・・・

モノを発射ノードンの連結の仕方を変えたってことね!これなら、ヒトノードンの下から下へ円柱が出そうだね
これなら空中ジャンプできるかな??

 

確かにヒトノードンの下から円柱が出てはいるけど、、、全く空中ジャンプはできないね・・・

 

 

足場はでた。されど空中連続ジャンプにはまだ届かない。。

上手くいかないな~~。結局ジャンプしてヒトは上に行ってるのに、円柱が下向きに出てるから離れちゃうんだよな~
!!じゃあ、円柱を上に出せばいいかも・・・!

おお!これなら、ジャンプで上に動いているヒトノードンに円柱が追いつく感じになりそう!

 

やったー!!空中連続ジャンプできたぁ!!
いいね!!・・・でもジャンプボタンの”感じ”がまだ微妙じゃない??
確かに・・・。ジャンプボタンを押してちゃんとジャンプする時と、そうじゃないときがあるもんね
モノを発射するノードンの射出スピードと、射出間隔をいじるといいよ。これがベストかはわかんないけど、パパがやったのを教えるね

 

やったー!!今度こそ空中連続ジャンプの完成だーーー!!
いやいやいや、円柱が見えてちゃ変だよ~。ここ何とかしないと。
円柱見えなくしちゃえばいいじゃないの?
確かに円柱を見えない設定にすればよいけど、、さっきの動画みたいにヒトノードンが下りてきたときに残っている円柱に当たったりしたら、”透明ななにかに突然衝突した!?”みたいな感じになるから、変なかんじになるよ?
それは変だからいやだな!やり方教えて!!
ちょっと正直すぎない(笑) まぁいいや。ここはモノを壊すノードンで解決しましょ

 

そして「空中連続ジャンプ」の完成へ!

ここはちょっとめんどくさいので、パパがチャチャっとやってみせよう
まってました!

 

解説:「ヒトの下から上向きに発射された円柱が、ワンテンポ遅れてモノを壊すノードンで壊される」という考え方でプログラミングしています。

・モノを壊すノードンをヒトノードンに連結(ヒトノードンの下に連結)

・円柱を十分に壊すためにモノを壊すノードンの大きさを微調整

・ジャンプボタン(今回はB)を押した後0.1秒遅れて円柱を破壊するようにタイマーノードンを設定

といったことをしています

 

これで「空中連続ジャンプ」の完成だね!

 

こんな感じでどうだろう。それじゃあ、モノを壊すノードンと円柱を”みえない”設定にしてみるね

 

やったーーー!!「空中連続ジャンプ」の完成!!
いや~~ちょっと難しかったね!

 

あのさ~、実は~二段ジャンプ。できるようにしたいんだよね~~
!!!なんと。。それはさらに難しいんだよなぁ。次にしようか~。

 

まとめ

最後に、思考の過程を整理してみようと思います。

・空中でジャンプすることは、空中に足場を用意する必要がある

・ヒトノードンが1回目のジャンプ中に直下に足場を用意するためには、ヒトノードンの「下」から「上」にモノを発射するノードンで足場を発射する必要がある

・発射された足場で空中ジャンプをした直後に足場を壊すためには、モノを壊すノードンをタイマーノードンでワンテンポ遅れて作動するようにプログラミングする必要がある

というようなことを考えながら「空中連続ジャンプ」を作ることが出来ました。

投稿の最後の方にも出てきましたが「二段ジャンプ」の方が、ジャンプ回数が少ないはずなのに、はるかに複雑なプログラミングになります。今回の「空中連続ジャンプ」を応用して作るのですが、後日改めて解説ブログをあげようと思いますので、興味のある方は是非読んでみてください。

 

はじプロは、子どもと楽しみながらゲームを作ることができるだけではなく、ゲーム作りを通じて論理的な考え方・問題解決能力を育てることができそうですね!

以上となります。

 

 

-はじめてゲームプログラミング

Copyright© 小児科医の子育て相談室 , 2021 All Rights Reserved Powered by AFFINGER5.