この記事ではジャンプアクションゲームで動きを気持ち良くする方法について書きます。
目次
ジャンプアクションゲームで動きを気持ち良くする5つの方法
1. ジャンプ・着地するときにスケールを適用する
キャラクターがジャンプ、または地面に着地したときにスケールを適用するとキャラクターの柔らかさが表現できて良い動きとなります。
このスケールはジャンプ開始時には縦の伸ばし、着地時には横に伸ばします。
これは力の作用が「ジャンプ開始時には上に引っ張られ」「着地時には下方向に大きな力がかかっている」ことを誇張表現したものです。
2. 残像の表現
キャラクターの高速な移動を「残像」という効果により表現したものです。
キャラクターの移動した場所にキャラクター画像を透過させて表示します。
なお、単色にして青色を少し入れると残像っぽくなります。
スプライトを単色にするには、基本的にシェーダーを書く必要があります。
【Godot】シェーダーの基本的な使い方 【Godot】残像エフェクトの作り方3. 慣性をつける
横移動時に、キーを離しても少しだけキャラクターが動き続けるようにすると、キャラクターの動きが柔らかく見えて良いです。
ただ、パズルゲームなどキャラクターの繊細な位置調整が必要となるゲームジャンルの場合、慣性を入れるとゲームバランスが悪くなることがあるので、入れない方が良い場合もあります。
4. パーティクルを入れる
「ジャンプ開始時」「着地時」「走り始め」などのタイミングで地面からパーティクルを発生させると、動かしていて楽しい演出となります。
演出のコツとしてはパーティクルにかかる力の方向をそれぞれで変えます
- ジャンプ時:上方向に力を加える
- 着地時:重力を加える
- 走り始め:重力+走る方向と逆の力を発生させる
5. 2段ジャンプを入れる
作りたいゲームジャンルにも依存しますが、 Double Jump (2段ジャンプ) を入れると「操作の自由度が上がる」ため気持ちよく操作できます。
補足として、2段ジャンプを採用するメリットと考慮すべき事柄を書いておきます。
- 軌道修正しやすい:小さくジャンプしたりや空中で制御したりできる。それにより多彩なジャンプの軌道をコントロールできるようになる
- ジャンプの飛距離が伸びる:通常、2段ジャンプは重力の働きを打ち消すため飛距離が伸びるケースが多い
特に Platformer (プラットフォーマー) で採用するかどうかで難易度やゲームプレイが大きく変化するため、重要となるメカニクスといえます。
- 落下ダメージの回避:高いところから落下した際、着地直前で2段ジャンプすることで回避できてしまう
- 2段ジャンプできるかどうかが分かりづらい:明確な表示がない限り2段ジャンプできるかどうかがわからないことが多い(※2段ジャンプするとキャラクターが「前方宙返り」を行うなど、見た目を変化させるとわかりやすくなる)
- タイミング要素を入れるべきではない:ドラゴンバスターではタイミングよく押さないと2段ジャンプできないようになっていたが、現代的なゲームではそういったタイミング要素は不要
- 3段以上のジャンプは不要:通常3段以上のジャンプを採用する必要はない。理由はプラットフォーマー要素を無意味にしたり、わかりにくくなってしまうため。ただし、一時的なパワーアップとして無限空中ジャンプできるなどの採用方法であれば問題ない