二段ジャンプの実装方法を考えてみる

ゲームシステム分析

二段ジャンプ 実装方法

こんにちは。なおキーヌです。

ブログ毎日更新は276日目になります。

二段ジャンプってジャンプアクションゲーにはありがちな仕組みです。

二段ジャンプっていうからにはジャンプを押してもう一度ジャンプボタンを押したら発動というのが基本ですよね。

よく二段ジャンプを物理的におかしいだろって言われますが、普通のジャンプもすでにおかしいので大丈夫です(何が

それはさておいて、ジャンプアクションゲームを作っていると二段ジャンプを実装したくなる時があると思います。

実は結構簡単な二段ジャンプの実装方法

実装方法は簡単に考えると

ジャンプ中フラグが立っている時にフラグが1のとき、
一定の高さ以上であればジャンプボタンを受け付けて押されるとフラグが2になって二段ジャンプが発動。

フラグが2の時はジャンプボタンを一切受け付けないようにしないと無限ジャンプが出来てしまいます。

これさえ守っていれば二段ジャンプは実装出来たも同然です。

後はどのタイプの二段ジャンプにするかによって作り方がかわってきますね。

今ちょっと調べてみたのですが、二段ジャンプできるゲームって意外とないんですね……

マリオワールドのアイテム二段ジャンプやらヨッシー踏み台ジャンプはまたちょっと違います。

アレはシステムの穴をついている(ヨッシーは違いますが)のでマリオ自身が二段ジャンプはできません。

自分の中ではめっちゃあった気がしたのですが、よく考えてみるとスマブラと超魔界村ぐらいしかパッと浮かばなかったです。

3Dアクションゲームだと意外と有りそうな感じがしますが、なぜかタイトルが思いつきません。

とりあえずこの「スマブラ」と「超魔界村」の2つを見てみましょう。

スマブラの二段ジャンプ

カービィシリーズやヨッシー等特殊なキャラを除くと基本的に普通の二段ジャンプが出来ます。

スマブラ程コントローラーに馴染む二段ジャンプが出来るゲームは今のところなさそうですね。

スマブラともなるとプレイしたことある人が多いと思うので、詳細は割愛します。

恐らく基本的な二段ジャンプが出来るゲームはこのタイプの二段ジャンプが多いのではないでしょうか?

ジャンプ中にも操作が出来る上に、二段ジャンプをすると飛ぶ方向も変えることが出来ます。

正直スマブラの二段ジャンプは完成された二段ジャンプって感じですね。

欠点らしい欠点が見当たりません。

恐らくゲームを作っていて二段ジャンプを実装したい人は
スマブラのジャンプを研究してみるといいかもしれません。

超魔界村の二段ジャンプ

大魔界村は当時やってなかったというかスーファミは超魔界村だったので、
最初に二段ジャンプを体験したゲームです。

当時マリオやロックマン、ワギャンといったよこスクロールアクションゲームは
基本的に1回ジャンプでアイテムや何かを使えば受けたり二段ジャンプが出来たりします。

しかし超魔界村のアーサーはデフォルトで二段ジャンプが実装されていました。

が、意外とこの二段ジャンプのせいで事故死してしまうことが多いので
ただでさえ難しい魔界村の難易度を余計に上げてしまっている気がします(笑)

超魔界村の癖のある二段ジャンプ

魔界村シリーズのジャンプはジャンプとしてみたらあまり気持ちよくない部類のジャンプです。

というのも、方向を一度決めてしまうと微調整が効かないタイプのジャンプです。

魔界村の場合、あえてこのジャンプを採用しているのは難易度をあげるためだと思っていますね。

仮にロックマンがあの世界に行ったらめっちゃヌルゲーになるんじゃないでしょうか(笑)

ジャンプした時の方向キーによって飛ぶ方向が切り替わります。

左右ジャンプか・その場ジャンプの3択です。

これは1回目のジャンプにかかわらず、ジャンプした時に決まります。

最初は左右ジャンプで二段目はその場ジャンプなんてのも出来ます(大抵これで死にますが

この時点でソースコードにすると結構分岐点が増えてきますね。

こういう時はIF文よりもSWITCHやCASEのような現在の変数によって振り分けるコードの方が見通しもよくなります。

ゲームの雰囲気に合わせて二段ジャンプの仕様を決める

スマブラのようにジャンプを駆使して戦うようなゲームは魔界村のような不自由なジャンプだと、
ここまで大人気のゲームにはならなかったでしょう。

逆に、魔界村は難しいアクションゲーム代表になれたのはあの不自由なジャンプのお陰とも言えます。

何でもかんでも自分の気にいった仕組みをと入りれるのではなく、
ゲームを面白くさせるために必要なシステムを選択しましょうということです。

あえて二段ジャンプを実装しないという選択

二段ジャンプシステムを導入するとステージの作り込みが重要になってきますね。

二段ジャンプシステムありきで障害物や仕掛けを作らないといけないので、
二段ジャンプを実装したらゲームの完成がかなり遠くなるという事でもあります。

ゲームを作り始めの人は正直二段ジャンプの実装はおすすめしません。

デバッグ作業が半端ないことになってしまうので完成させるのがかなりつらくなりますね。

一番いいやり方としては

二段ジャンプを実装だけしておいて、何か特別な時だけ出来るようにする。

というのが特別感もあってなおかつ二段ジャンプ前提のステージやギミックにしなくてもよくなります。

良いシステムを作ってしまうと、それを活用するための場が必要になります。

ゲームは完成させてなんぼです。

いくら二段ジャンプが良くても完成しなかったらそれはもはやゲームではなくただの作りかけのプログラムです。

私も大風呂敷を広げ過ぎてなんども頓挫しているので、
自分の出来る範囲でゲームを作ったら完成させることが出来ました。

ゲーム作りはRPGと同じです。

まずは出来るところから始めましょう。

それでは。