「はじめてゲームプログラミング」でゲーム制作してみました!
皆さんは ”はじプロ” こと「ナビつき!つくってわかる はじめてゲームプログラミング」というソフトをご存知でしょうか?
実はこれ、任天堂が販売しているゲームを作るためのゲームになります。
発売されたのが2021/6/11ということで、1年半くらい経っております。。。
発売日に購入したのですが、最初の導入部分にあたるナビ付きレッスンを完了させてから、なかなか自分でフリーにプログラムする余裕がありませんでした。
しかし、先日ようやっと1つゲームを作れたので、ここで紹介させてください。
そのゲームは「押し出し格闘ゲーム」!!
まぁよくあるやつですが、相手をステージから落としたら勝ちってゲームです。
こんなかんじ。
プレイヤーのアクションとしては、移動、パンチ、ジャンプで、パンチで相手を突き落とします。
備忘録も兼ねて、今回のゲームを作る上で大変だった箇所を記載します。
パンチで相手を押し出す部分
パンチのアクションは、はじプロの機能で簡単にボタンへの割り付けはできたのですが、どうやって相手を押し出すか迷いました。
色々こねこね考えても思いつかなかったので、ここは他の人のゲームを参考にしちゃいました。
簡単にいうと、スライド連結ノードンを使ってヒトと直方体を連結し、パンチボタンを押すとその直方体が前に飛び出る仕組みです。飛び出た直方体が相手に当たって押し出されます。
今回、私が作成したものは、単純な直方体ではなく、すこしコの字のようにして、相手が押し出されやすくなってます。
そのプログラム部分は以下です。
本当はもっと相手を押し出せるようにしたいのですが、斥力ノードン使ったり色々試したのですが、この状態で落ち着きました。
ステージ床が時間経過で壊れる部分
実は上記のパンチだけだとなかなか相手を落とせなかったので、時間経過でステージ床が壊れることで、プレイヤーが落ちやすい仕掛けを追加しました。
ステージ全体を4×4の直方体で作成し、乱数を使って4×4のどこかのステージ床が壊れるようにしました。
以下がそのプログラム部分です。
タイマーノードンとランダムノードンを使って、数秒おきに1〜16のどれかが発生する部分を作成。
16個のステージ床に数字を割り当て、上記の乱数で発生した数字の床が壊される仕組みになっています。
今回のプログラムでいえば、乱数で1が発生すれば左上の床が壊され、4が発生すれば左下の床が壊され、16が出れば右下の床が壊されます。
これで一応ステージ床が壊れる仕組みが作れたのですが、実はランダムノードンが出力した数字を覚えているわけではないので、既に壊した床を何度も壊そうとして、うまく床が壊れないパターンもあります。
例えば、ランダムノードンが運悪くずっと1を出力すると左上の床だけが壊され、他の床は壊されません。
ここもなんとかしたかったのですが、良い案が思いつかず断念しました。。
やってみたらそれっぽいのが作成できた!
フリープログラミングする前は、自分でも作成できるか不安でしたが、作成し始めたら熱中することができました。
所謂普通のプログラムと一緒で、うまくいかない時はとことん悩み、あれこれ試したり調べてみる作業が発生します。やはりこの部分を乗り越えた時に達成感を感じる楽しさがありますね。
今回作成したゲームのID情報は以下です。
ゲームID:G 008 0P2 7D5
色んな人が作成したゲームをまとめているサイトがあり、そこにも情報を載せてみました。
桜井政博さんのYouTubeでも、ゲームの仕事したいならまずはゲーム作ってみろって言ってたので、
頑張って諦めずに作成してみました。