ソフトドリフトに関する調査
〜マリオカート8デラックス版〜

著者: whoami
公開日: 2019年3月10日
更新日: 2019年5月30日 2021年3月7日 2021年3月14日

目次

  1. はじめに
  2. ミニターボ
  3. ソフトドリフト
  4. 調査方法の詳細
  5. まとめ

はじめに

このページではマリオカート8デラックスでのソフトドリフトと呼ばれる技術について説明します。マリオカート8デラックス以外のマリオカートでも同様の技術は存在しますが、本ページではマリオカート8デラックスについてのみ説明を行います。 ソフトドリフトは斜め入力や早溜めとして知られている技術(の一部)をより一般的に定義したものです。比較的難易度は高めの技術かもしれないですが、自由に車体をコントロールするためには重要な技術だと思います。 ということで、ソフトドリフトに関して少し詳しく調査を行いましたのでその調査結果を説明します。

とりあえず結論
「詳しい説明なんていらない!早溜めのためにはスティックを何度まで倒していいの?」という方もいらっしゃると思います。ということで簡単に結論から説明します。 早溜めのためのスティックの入力角度の限界は真右や真左からおよそ45度の角度です。 早溜めのためには、この範囲でスティックを動かします。 実際には45度よりもわずかに狭くなりますが、ジョイコンやプロコンのような素直なコントローラを用いているのであれば誤差の範囲と言えるでしょう。
注意
本ページの内容は、いろいろな方の意見やページを参考にさせていただき、whoamiが独自に行った調査の結果をまとめたものです。間違いのないように注意して書いていますが内容が正しいという保証はありません。また、ソフトウェアのアップデート等により現在の仕様と調査結果が異なる可能性があることにご注意ください。

ミニターボ

マリオカート8デラックスではドリフトをしばらく行っているとドリフトを終了した時にミニターボと呼ばれるブーストが発動します。 (普通のコーナリングでもミニターボの発動は可能ですがあまり実用的ではないのでここでは説明しません。) ミニターボにはミニターボ(MT)、スーパーミニターボ(SMT)、ウルトラミニターボ(UMT)の三種類が存在し、MT、SMT、UMTの順でブーストの発動時間が長くなります。 以後、これら三種類のミニターボのことをミニターボと呼び、別々に扱う必要がある場合にはMT、SMT、UMTと呼ぶことにします。 また、ドリフト終了時にどのミニターボが発動するかは、ドリフト中の車体から発生する火花の色(MTなら青、SMTならオレンジ、UMTなら紫)で識別できます。

MT発動なし MT発動可能状態 SMT発動可能状態 UMT発動可能状態

ブーストカウンタ

Mario Kart 8 Deluxe in-game statisticsによると、どのミニターボが発動するか決定するためにブーストカウンタと呼ばれる値が利用されているようです。 ブーストカウンタの値はドリフト開始時は0でドリフトを維持している間は各映像フレームごとに増加していきます。 ドリフト中はブーストカウンタの大きさによって車体から発生する火花の色が変わっていきます。また、ドリフト終了時にはブーストカウンタの大きさによりMT、SMT、UMTのどれが発動するか決まります。

[MK8DX] ターボを溜めるによるとドリフト中のブーストカウンタの増加量は二段階あるようです。増加量はスティックをどの程度左右に倒しているかで変化します。調べてみたのですが、ブーストカウンタは映像フレームごとに5あるいは2増加するようになっているようです。時間で換算すると速く溜まる時間(増加量5の場合)と遅く溜まる時間(増加量2の場合)の時間差は2.5倍になります。

表中の各行の説明
時間の流れ
時間の向き
相対時刻
ドリフト開始時からの時間
相対フレーム番号
ドリフト開始時からのフレーム数
ブーストカウンタ
ブーストカウンタの値
発動ミニターボ
ドリフトを終了した時に発動するミニターボの種類
ゲーム画面
ゲームのキャプチャ画像
ブーストカウンタと発動ミニターボの例
時間の流れ
相対時刻 0.000秒 0.017秒 0.033秒 0.050秒 0.750秒 0.767秒 0.783秒 1.617秒 1.633秒 1.650秒 2.483秒 2.500秒 2.517秒
相対フレーム番号 0 1 2 3 45 46 47 97 98 99 149 150 151
ブーストカウンタ 0 5 10 15 225 230 235 485 490 495 745 750 755
発動ミニターボ N/A N/A N/A N/A N/A MT MT MT SMT SMT SMT UMT UMT
ゲーム画面
ブーストカウンタ増加の様子

ミニターボ性能

キャラクターやカート、タイヤ、グライダーの選択により利用する車体の性能は様々に異なるものとなります。その中にミニターボ性能というものが存在します。ミニターボ性能はミニターボが発動可能になるまでの時間やミニターボ発動時間、また発動中の速度に影響するものであり、マリオカート8デラックスでは非常に重要な性能となります。カートの選択画面で車体の性能の一部を表示することはできるのですが、残念ながらミニターボ性能をゲーム画面中で確認する方法はありません。そのため、ミニターボ性能を知るためにはゲーム外の情報を用いる必要があります。調べる方法は色々ありますが、キャラクタやカート等を選択していくだけで、ミニターボ性能をはじめ様々なパラメータを調べることができるMario Kart 8 Deluxe Builder 1.1などのページを使うのが簡単だと思います。

Luigi_Fan2's Mario Kart 8 Deluxe Stat ChartMario Kart 8 Deluxe in-game statisticsによるとミニターボ性能とMT、SMT、UMTが発動可能となるブーストカウンタの閾値の関係は以下の左表の通りとなります。また、その結果からミニターボが発動可能になるまでの時間を計算した結果は以下の右表の通りとなります。

ブーストカウンタの閾値
ミニターボ性能 MT閾値 SMT閾値 UMT閾値
1.00280590900
1.25278586894
1.50276582888
1.75274578882
2.00272574876
2.25269568867
2.50266562858
2.75263556849
3.00260550840
3.25256542828
3.50252534816
3.75248526804
4.00244518792
4.25240510780
4.50235500765
4.75230490750
5.00223476729
5.25216462708
5.50208446684
5.75200430660
ミニターボが発動可能になるまでの時間
ミニターボ性能 ブーストカウンタ増加量2 ブーストカウンタ増加量5
MT SMT UMT MT SMT UMT
1.002.333秒4.917秒7.500秒0.933秒1.967秒3.000秒
1.252.317秒4.883秒7.450秒0.927秒1.953秒2.980秒
1.502.300秒4.850秒7.400秒0.920秒1.940秒2.960秒
1.752.283秒4.817秒7.350秒0.913秒1.927秒2.940秒
2.002.267秒4.783秒7.300秒0.907秒1.913秒2.920秒
2.252.242秒4.733秒7.225秒0.897秒1.893秒2.890秒
2.502.217秒4.683秒7.150秒0.887秒1.873秒2.860秒
2.752.192秒4.633秒7.075秒0.877秒1.853秒2.830秒
3.002.167秒4.583秒7.000秒0.867秒1.833秒2.800秒
3.252.133秒4.517秒6.900秒0.853秒1.807秒2.760秒
3.502.100秒4.450秒6.800秒0.840秒1.780秒2.720秒
3.752.067秒4.383秒6.700秒0.827秒1.753秒2.680秒
4.002.033秒4.317秒6.600秒0.813秒1.727秒2.640秒
4.252.000秒4.250秒6.500秒0.800秒1.700秒2.600秒
4.501.958秒4.167秒6.375秒0.783秒1.667秒2.550秒
4.751.917秒4.083秒6.250秒0.767秒1.633秒2.500秒
5.001.858秒3.967秒6.075秒0.743秒1.587秒2.430秒
5.251.800秒3.850秒5.900秒0.720秒1.540秒2.360秒
5.501.733秒3.717秒5.700秒0.693秒1.487秒2.280秒
5.751.667秒3.583秒5.500秒0.667秒1.433秒2.200秒
時間の計算方法
映像フレームレートは60fpsであると仮定し計算を行いました。60fpsでは映像フレームが1秒間に60回切り替わるため、一つの映像フレームが表示される時間は1÷60秒(0.016秒)となります。
例えばミニターボ性能が1.00のカスタム用いて、ブーストカウンタの増加量が2の状態でドリフトした場合を考えてみます。この場合、表よりUMTの閾値は900になることが分かります。ブーストカウンタはフレーム毎に2増加するので、ドリフトを始めてから450番目のフレームが表示されたときにブーストカウンタが900になりUMT閾値に到達します。1フレームが表示される時間は1÷60秒なので、450フレームが表示されるまでには450×(1÷60)秒かかります。計算結果は7.5秒となり、これがUMTを発動までに必要なドリフトの時間となります。

この表は参照先のページから得られた情報に基づいて作成しましたが、ミニターボ性能が4.75のカスタム(ロイ、パタテンテン、スカイローラー、かみひこうき)で実際に実験を行い時間を計測しました。わずかな誤差は見られたものの、その結果は上記の調査内容の通りと言えます。

表中の各行の説明
ゲーム画面
ゲームのキャプチャ画像
フレーム数(実測値)
実際に計測したドリフト開始時からのフレーム数
フレーム数(理論値)
理論上のドリフト開始時からのフレーム数
秒数(実測値)
フレーム数(実測値)から計算される秒数
秒数(理論値)
フレーム数(理論値)から計算される秒数
ゲーム中の秒数
ゲーム中のタイム表示に基づく秒数
ミニターボ性能4.75 ブーストカウンタ増加量2
ドリフト開始時 MT可能開始時 SMT可能開始時 UMT可能開始時
ゲーム画面
フレーム数(実測値) 0フレーム 115フレーム 245フレーム 375フレーム
フレーム数(理論値) 0フレーム 115フレーム 245フレーム 375フレーム
秒数(実測値) 0.000秒 1.917秒 4.083秒 6.250秒
秒数(理論値) 0.000秒 1.917秒 4.083秒 6.250秒
ゲーム中の秒数 0.000秒 1.915秒 4.086秒 6.256秒
ミニターボ性能4.75 ブーストカウンタ増加量5
ドリフト開始時 MT可能開始時 SMT可能開始時 UMT可能開始時
ゲーム画面
フレーム数(実測値) 0フレーム 46フレーム 98フレーム 150フレーム
フレーム数(理論値) 0フレーム 46フレーム 98フレーム 150フレーム
秒数(実測値) 0.000秒 0.767秒 1.633秒 2.500秒
秒数(理論値) 0.000秒 0.767秒 1.633秒 2.500秒
ゲーム中の秒数 0.000秒 0.775秒 1.638秒 2.508秒

また、ミニターボ性能が1.00であるカスタム(クッパ、ノーマルATV、スリックタイヤ、ゴールドカイト)と、whoamiが普段利用しているミニターボ性能が4.50のカスタム(軽量Mii、ヨッシーバイク、リーフタイヤ、ゴールドカイト)でも時間を計測しました。わずかな誤差は見られたものの、その結果は上記の調査内容の通りと言えます。

ミニターボ性能1.00 ブーストカウンタ増加量2
ドリフト開始時 MT可能開始時 SMT可能開始時 UMT可能開始時
ゲーム画面
フレーム数(実測値) 0フレーム 140フレーム 295フレーム 450フレーム
フレーム数(理論値) 0フレーム 140フレーム 295フレーム 450フレーム
秒数(実測値) 0.000秒 2.333秒 4.917秒 7.500秒
秒数(理論値) 0.000秒 2.333秒 4.917秒 7.500秒
ゲーム中の秒数 0.000秒 2.345秒 4.913秒 7.501秒
ミニターボ性能1.00 ブーストカウンタ増加量5
ドリフト開始時 MT可能開始時 SMT可能開始時 UMT可能開始時
ゲーム画面
フレーム数(実測値) 0フレーム 56フレーム 118フレーム 180フレーム
フレーム数(理論値) 0フレーム 56フレーム 118フレーム 180フレーム
秒数(実測値) 0.000秒 0.933秒 1.967秒 3.000秒
秒数(理論値) 0.000秒 0.933秒 1.967秒 3.000秒
ゲーム中の秒数 0.000秒 0.933秒 1.967秒 2.987秒
ミニターボ性能4.50 ブーストカウンタ増加量2
ドリフト開始時 MT可能開始時 SMT可能開始時 UMT可能開始時
ゲーム画面
フレーム数(実測値) 0フレーム 118フレーム 251フレーム 383フレーム
フレーム数(理論値) 0フレーム 118フレーム 250フレーム 383フレーム
秒数(実測値) 0.000秒 1.967秒 4.183秒 6.383秒
秒数(理論値) 0.000秒 1.958秒 4.167秒 6.375秒
ゲーム中の秒数 0.000秒 1.961秒 4.178秒 6.375秒
ミニターボ性能4.50 ブーストカウンタ増加量5
ドリフト開始時 MT可能開始時 SMT可能開始時 UMT可能開始時
ゲーム画面
フレーム数(実測値) 0フレーム 48フレーム 101フレーム 154フレーム
フレーム数(理論値) 0フレーム 47フレーム 100フレーム 153フレーム
秒数(実測値) 0.000秒 0.800秒 1.683秒 2.567秒
秒数(理論値) 0.000秒 0.783秒 1.667秒 2.550秒
ゲーム中の秒数 0.000秒 0.788秒 1.673秒 2.570秒

以上、発動するミニターボを決めるために利用されるブーストカウンタについて紹介しました。また、スティックをどの程度左右に倒しているかによってフレーム毎のブーストカウンタ増加量が2の場合と5の場合の二段階があることを説明しました。さらにMT、SMT、UMT発動に必要なブーストカウンタの閾値について説明しました。最後に、ミニターボ発動までに必要なドリフトの時間の計算方法について説明し、例として三つの異なるカスタムで実験を行うことで計算結果が正しいことを示しました。

ソフトドリフト

それではソフトドリフトについて詳細に説明していきます。今後の説明を簡単にするために、まずはドリフトを以下の五つに分類しておきたいと思います。

ドリフトの分類
ドリフト
全てのドリフト
ハードドリフト
ブーストカウンタの増加量が5で回転半径が小さいドリフト
ソフトドリフト
ブーストカウンタの増加量が5で回転半径が大きなドリフト
ニュートラルドリフト
スティックを左右のどちらにも倒していない状態でのドリフト
カウンタードリフト
スティックを外側に倒した状態でのドリフト
名のないドリフト
ソフトドリフトとニュートラルドリフトの間のドリフトについては適切な名前が思いつきませんでした。このドリフトはソフトドリフトよりも回転半径が大きくなりブーストカウンタの増加量が2となります。このドリフトを指定したい場合には、文脈から推測できるようにしておく必要があるかもしれません。

本ページでは、この中でも特にソフトドリフトについて詳細に説明します。まずはソフトドリフトの定義を行い、その後ソフトドリフトのための操作方法について説明します。また、ハードドリフトとソフトドリフトの区別をどのようにするかの提案を行います。最後にソフトドリフト中の回転半径について考察します。

ソフトドリフトの定義

まずはソフトドリフトの定義についてです。明確な定義はないと思いますので、以下の二つを満たすドリフトをマリオカート8デラックスでのソフトドリフトと定義したいと思います。

ソフトドリフトとは、ハードドリフトと同様にブーストカウンタの増加量が5の状態を維持、要するにブーストカウンタが早く溜まる状態を維持しつつ、ハードドリフトより緩やかにコーナーを曲がるドリフトのことです。一つ目の条件は非常に分かりやすいかと思います。一方、二つ目はソフトドリフトとハードドリフトの境界を明確にするという条件であり、これはなかなか難しい問題となります。というのは、おそらく完璧な真横以外の入力では、たとえほんのごくわずかなズレであっても回転半径が大きくなってしまう可能性が高いからです。十字キーを用いているならともかく、アナログスティックでは寸分の狂いなく真横に倒すのは非常に困難であり、ハードドリフトを行うことは大変困難となります。

まずは、ハードドリフトとソフトドリフトを区別せずに一つ目の条件だけを考えます。そののち、ハードドリフトとソフトドリフトの境界である二つ目の条件について考えてみます。

コントローラの出力値

ここではUSBのコントローラを利用して調査を行いました。どのような操作を行えばハードドリフトやソフトドリフトを実現できるかを説明します。Bluetooth接続となるプロコンやジョイコンでは調査していませんが、A look at inner workings of Joycon and Nintendo Switchの通りだとすると同様の結果になると思われます。

まずは、USBコントローラからSwitchに送信されるアナログスティックの情報について簡単に説明します。アナログスティックの出力はアナログ値ですが、デジタル値としてSwitchに転送されます。この時、左右は0~255、上下も0~255の整数値で表されることになります。これら二つの値の組をコントローラが出力するアナログスティックの座標とします。ちなみに左上の座標は(0, 0)で右下が(255, 255)、中心は(128, 128)となります。下の図ではコントローラが出力可能な値を黒丸で表現したものとなります。

コントローラが送信するアナログスティックの座標の範囲
操作の遊び
もちろんスティック操作には遊びがあります。そのため、実際にはスティックを倒し切らなくても最大値や最小値を出力することができます。例えば下図では出力可能な値の範囲外にスティックを倒しきった時の三つの例を図示しました。それぞれ操作の遊びの範囲と実際に出力される座標の値を明示してあります。スティックの位置が操作の遊びの範囲にある場合に出力される値はスティックを倒しきった時と同じ座標の値となり、それぞれ(205,0)、(255,48)、(255,128)となります。
スティックの位置と操作の遊びの例
デッドゾーン
アナログスティックの生成する値は非常に精度の高いものとなります。スティックに触っていない時にはスティックは完全に中心にあると考えたいのですが、振動や直前に倒したスティックの向き等に影響を受け微妙にアナログ値の出力が変化し中心がずれてしまう可能性があります。このような場合でも出力される座標が中心(128, 128)となるように、中心付近ではデッドゾーンと呼ばれる領域が設定されています。この範囲にスティックがある時には常にスティックが中心に存在すると認識される領域です。
ところで、デッドゾーンはどのように実現されているのでしょうか?ジョイコンやプロコンでは中心付近のみスティックの動作量と出力値が線形ではないように計算することで使っている人が違和感を感じないように実現されているのではないかと想像しています。より安価なコントローラではそのような処理はなされずに、X軸方向もY軸方向も全域に渡り中心付近にデッドゾーンを持つように実装されているのではないかと思います。
中心にデッドゾーンのあるコントローラ 全域にデッドゾーンのあるコントローラ

「スティックの補正」画面でアナログスティックを正確に右に倒しきり、そこで微妙に上下に操作した時に少し引っかかりがあるコントローラが存在すると思います。その場合にはX軸、Y軸の全域でデッドゾーンが実装されているコントローラであると考えられます。一方ジョイコンやプロコンでは非常に滑らかに動作することが確認できます。

ハードドリフトとソフトドリフトの条件

どのような操作を行えばハードドリフトやソフトドリフトを実践できるのでしょうか。 先ほど説明したコントローラの出力が取りうる座標の中でハードドリフトやソフトドリフトが実現できる組み合わせを全て探し出すことで、ハードドリフトやソフトドリフトを行うために必要なコントローラからの出力が明確になります。ということで、その座標を調査して図示しました。この図の中で黒丸で示した座標が出力されるようにスティックを倒せばブーストカウンタの増加量が5であるハードドリフトやソフトドリフトを実現できます。

ブーストカウンタの増加量が5となるアナログスティックの座標の範囲

例えば、真横に倒した場合、左コーナーは(0,128) ~ (37, 128)、右コーナーは(219, 128) ~ (255, 128)を出力するようにスティックを倒せばハードドリフトやソフトドリフトとなります。

ソフトドリフトはスティックを倒し切らずに途中で止めることで実現できますが、スティックを倒し切らずに正確に停止させ続けるは困難だと思います。そこで、左右から少し角度をつけて倒し切ることでソフトドリフトを実現することが一般的となります。上記の図をみると、そのための角度の最大はおよそ水平方向から45度ということが分かります。 境界の角度は僅かに45度よりも小さくなるようですが、人間の手でそれほど精密なコントロールは不可能だと思うので45度と言って問題ないと思います。 もしも45度付近全体で45度ちょうどを出力するようなコントローラがあれば、45度が含まれない影響を感じることもあるかもしれません。

たとえば、アナログスティックではなく十字キーを用いてコントロールするときには45度単位でしかコントロールできません。斜め45度はソフトドリフト可能な範囲に含まれないため、十字キーではソフトドリフトは不可能であり、ブーストカウンタを早く溜めるにはハードドリフトを行う必要があります。

どの方向にスティックを倒せば良いのかイメージが湧かないという方のために、ハードドリフトとソフトドリフトを実現するスティックの動作範囲を「スティックの補正」画面の動画として作成しました。ドリフト中はこの動画内のスティックの動作範囲内になるようにスティックを維持することでハードドリフトやソフトドリフト、つまりブーストカウンタの増加量が5となります。

ハードドリフトとソフトドリフトのスティックの範囲
左側 右側

ということで、はじめにでも述べた結論の通りソフトドリフトの斜め入力の境界角度はおよそ45度となります。

斜め入力と真横入力の関係
ソフトドリフトを実現するために、例えば(219,128)を出力するようにスティックを真横に倒し切らずに途中で静止させるのはなかなか難しいと思います。真横よりも上下に角度をつけてスティックを倒し切ることで(219,128)と等価なソフトドリフトを実現する方が簡単と言えます。もちろん正確な座標を出力することは難しいのですが、スティックを倒し切らずに停止させるより倒しきってしまう方がコントロールしやすいと思います。では、どの方向に倒しきれば良いのでしょうか? 
下図のように(243,15)を出力するように斜め入力でスティックを倒しきった場合を考えます。この座標(243,15)はコントローラからゲーム機本体に送信されます。ところが、この値はゲーム内で実際に利用される値の範囲外になっています。このような場合、ゲーム内では正規化と呼ばれる処理が行われ実際に利用される値はおよそ(219,39)となります。ということで、この斜め入力によりゲーム内で利用されるX軸方向の値は219となり、これは最初に説明した真横入力と同じ値ということになります。
ということで、一般的には、真横入力と等価な斜め入力のスティックの位置は、真横入力のスティックの位置から真上や真下にスティックを移動した位置にはならないことにご注意ください。
斜め入力の正規化と真横入力の例
次にスティックの動く範囲が大きなコントローラを考えてみます。操作の遊びと正規化を考慮すると以下の図の位置にスティックを倒しきることでおよそ(219,39)が出力されるということになります。このようなコントローラではソフトドリフトの斜め入力の角度の境界がわずかに小さくなることにご注意ください。
操作の遊びのある斜め入力の例
その結果、斜め45度として認識される範囲が広くなります。このようなコントローラでは「スティックの補正」画面でアナログスティックを斜め45度に倒しきった状態で微妙に円周上にスティックを動かした時に少し引っかかりがあるはずです。また、デッドゾーンの時と同様にジョイコンやプロコンではひっかかりなく滑らかに動作することが確認できます
45度が境界ではない理由
ソフトドリフトの境界角度は45度よりも少し小さくなります。ここではどうして45度ではないのかを考察してみます。whoamiは以下の2点の問題があると考えています。 最初に"座標変換時の丸め誤差の問題"について説明します。座標はデジタルデータで表されますがアナログスティックは連続値で表されます。そのためアナログスティックはもっとも近い座標値に変換されて利用されます。ここで下図のように正確にスティックを右上45度に倒した場合を考えます。この場合もっとも近い座標は4つ存在し、その中のどれかが実際に利用されるはずです。この4つのうちの(254,1)、(255,1)、(254,2)は45度以上の角度の座標となりソフトドリフトにはなりません。ところが(255,2)は45度未満となってしまいます。そのためスティックの入力角度が45度でもソフトドリフトを実現できる可能性があります。このような丸め誤差の問題があるため、境界にしようと思っている角度をそのまま境界角度としては利用できません。
座標変換時の丸め誤差の問題
次に"左下入力の問題"について説明します。コントローラから出力されるアナログスティックの座標は(0,0)から(255,255)までになりますが、右方向や下方向と比べ左方向と上方向の方が表現できる値が多くなっています。真左の座標は(0,128)、中心の座標は(128,128)、真右の座標は(255,128)になります。要するに左方向は0から127の128段階、右方向は129から255の127段階で表現されることになります。上下方向も同様に上方向は128段階、下方向は127段階となりす。これを踏まえて下図のようにアナログスティックを正確に左下45度に倒し切った場合を考えてみます。コントローラに依存すると思いますがこの場合の出力値は(0,255)になることが期待されます。ところが、(0,255)は中心(128,128)から左方向には128で下方向には127の位置となります。これは角度としては45度未満となります。このようにアナログスティックの左下45度はソフトドリフトの範囲内となってしまいます。
左下入力の問題
また、上下左右の不釣り合いを考慮し(0,255)を45度として座標変換するコントローラが存在する可能性も考えられます。このようなコントローラを考慮してソフトドリフトの境界を考えると以下の図の通りとなります。例えば図のようにアナログスティックを左下45度に倒した場合、(1,254)が座標として利用されます。ここでは(0,255)は45度とみなされますが(1,254)や(2,253)といった座標は45度よりも小さいとみなされるため(1,254)はソフトドリフトの範囲に入ってしまいます。このようにスティックを45度に倒した場合でもソフトドリフトが可能となってしまいます。
上下左右の不釣り合いを考慮したコントローラの左下入力の問題
以上の2つの問題を考慮してソフトドリフトが可能となる座標が設定されていると考えられます。詳細は省略しますが、座標(0,254)付近を境界とするようにソフトドリフト斜め入力の境界角度が設定されていれば良いのではないかと思います。この角度は45度よりも0.008ラジアン小さい角度(およそ44.5416度)よりも僅かに大きなものになるようです。ということで45度よりも0.008ラジアン小さい角度(およそ44.5416度)をソフトドリフトの斜め入力境界角度として仮定して調べてみたところ、実際に調査した内容と合致することが分かりました。以下の図は斜め入力ソフトドリフトの予想境界線(およそ44.5416度)を追加したものになります。
ソフトドリフトの斜め入力境界角度

ハードドリフトとソフトドリフトの区別

ハードドリフトもソフトドリフトもブーストカウンタの増加量を5の状態を維持して行うドリフトです。定義でも書いた通り、その違いはコーナリング中の回転半径です。では、ハードドリフトとソフトドリフトの境界はどこにあるのでしょうか?

非常に分かりやすい区別の方法としては、スティックを真横に倒した時のみ、すなわち左コーナーであれば(0,128)、右コーナーであれば(255,128)を出力するようにスティックを倒した時のみハードドリフトと呼ぶという方法が考えられます。しかし、アナログスティックを寸分の狂いなく真横に倒すのは非常に困難であり、ほとんどの人はハードドリフトは使っていないと言うことになりますのであまり現実的ではなさそうです。

そこで、ドリフト中の"音"の変化による区別を考えてみました。ただの考えですので「そういう考えもあるんだね」ぐらいのつもりで読んでいただければと思います。

ドリフト中の音

ドリフト中ですが、スティック入力をイン側に大きく行うとキュルキュルという音が鳴ります。これは左右それぞれ90%以上の大きさとなるように左右にスティックを倒すと鳴り始めます。例として右側に曲がる場合を考えてみます。右側に曲がる際のスティック入力の範囲は全体で(129,128)から(255,128)の127段階あります。この90%は127×0.9=114.3となります。これ以上の値となるという事なので音が鳴る範囲は128+114.3=242.3以上となる範囲であり、アナログスティックの座標は整数になってしまうため実際には(243, 128)から(255,128)となります。

音なし(242,128) 音あり(243,128)

ソフトドリフトのアナログスティックの座標

真横以外の角度については必要に応じて正規化を行いX軸への写像をとり、その値が90%以上になっているかで音が出るかどうか調べることができます。ということで、ドリフト中の"音"をハードドリフトとソフトドリフトの違いとして考えた場合に、ソフトドリフトを実現するコントローラの出力を図に示します。この図は先ほどの図からハードドリフトの範囲の黒丸を削除したものとなっています。

ソフトドリフトのアナログスティックの座標の範囲

このソフトドリフトの範囲を「スティックの補正」画面の動画として作成しました。ドリフト中はこの動画内のスティックの動作範囲内になるようにスティックを維持することでキュルキュルという音はならないがブーストカウンタの増加量が5となるソフトドリフトとなります。

ソフトドリフトのスティックの範囲
左側 右側

とはいえ、やはり境界は曖昧なので、自分がハードドリフトをしているつもりなら自分はハードドリフトしてると言い、ソフトドリフトをしているつもりならソフトドリフトしてると言い、どちらであるか気にしない場合にはハードドリフトかソフトドリフトをしてるなどと言えば良いのではないでしょうか...

ソフトドリフトと早溜め

一般的に「早溜め」として知られている技術があります。 これは、ブーストカウンタの増加量が5の状態を維持しながら真横ではなく斜めにスティックを倒しドリフト中の回転半径を大きくする技術となります。また、この時のスティック操作は「斜め入力」と呼ばれているようです。

要するに、「斜め入力」により「ソフトドリフト」を行うことで、ミニターボ発動可能となるまでの時間を犠牲にすることなく緩やかにコーナーを曲がるテクニックのことを「早溜め」と呼ぶようです。

ソフトドリフト中の回転半径

ハードドリフトとソフトドリフトを利用することで回転半径を変化させられますが、どの程度回転半径に違いが出るでしょうか?少し調査を行ったので参考にしてください。

調査はシャーベットランドの水中で行いました。ドリフト開始時の挙動を考えるのは難しかったため、UMTが発動可能な状態までドリフトを維持した状態で計測した回転半径となります。また、ドリフト中の速度はソフトドリフトとハードドリフト全ての場合で同じであるという前提で調べています。ということで、調査の条件をまとめると以下の通りとなります。

回転半径の調査条件
排気量
150cc
場所
シャーベットランドの水中
計測方法
UMT発動可能状態でのドリフトで一周するのに必要なフレーム数の平均を算出
車体のカスタム
ロイ, パタテンテン, スカイローラー, かみひこうき
ミニターボ性能
4.75
コイン数
0

ここでは斜め入力については考慮せずに、真右へのスティック入力である(255,128)~(219,128)を維持した状態でドリフトを行い、その結果を表にまとめました。

表では一周するのにかかったフレーム数と時間の平均を記述してあります。また完全に右に倒した状態(255,128)との一周にかかる時間の比率も記述することで、回転半径の比として算出しました。また、ミニターボが発動可能となる時間までの車体の向きの変化についても算出しました。

調査の条件に注意
この調査では、ドリフト開始時やドリフト中の挙動の変化等は考慮しておらず、UMT発動可能時でのドリフトのみで調査を行っています。 また、ドリフト中の速度はソフトドリフトやハードドリフトを含め全て同じであるという前提で調べています。 さらに、シャーベットランドの水中での調査であるという点にご注意ください。
表中の各列の説明
種類
ドリフトの種類をH(ハードドリフト)、S(ソフトドリフト)で表す
X
座標(X軸)
Y
座標(Y軸)
斜め入力
等価となる斜め入力の角度
フレーム数
一周に要した平均フレーム数
時間(秒)
一周に要した平均時間
円周比
最小の円との大きさの比率
Fs(MT)
MT発動可能となるまでのフレーム数
角度(MT)
MT発動可能となる時の車体の角度
Fs(SMT)
SMT発動可能となるまでのフレーム数
角度(SMT)
SMT発動可能となる時の車体の角度
Fs(UMT)
UMT発動可能となるまでのフレーム数
角度(UMT)
UMT発動可能となる時の車体の角度
回転半径の調査結果
種類 X Y 斜め入力 フレーム数 時間(秒) 円周比 Fs(MT) 角度(MT) Fs(SMT) 角度(SMT) Fs(UMT) 角度(UMT)
H2551280266.6034.44314662.1198132.33150202.55
H2541287.19268.1534.4691.014661.7698131.57150201.38
H25312810.18269.724.4951.014661.498130.8150200.21
H25212812.48271.2934.5221.024661.0498130.04150199.05
H25112814.42272.8614.5481.024660.6998129.3150197.9
H25012816.13274.4454.5741.034660.3498128.55150196.76
H24912817.68276.0334.6011.044659.9998127.81150195.63
H24812819.11277.6254.6271.044659.6598127.08150194.51
H24712820.45279.2194.6541.054659.3198126.35150193.4
H24612821.7280.8174.681.054658.9798125.63150192.3
H24512822.89282.4224.7071.064658.6498124.92150191.2
H24412824.02284.0174.7341.074658.3198124.22150190.13
H24312825.11285.6194.761.074657.9898123.52150189.06
S24212826.15287.2244.7871.084657.6698122.83150188.01
S24112827.16288.8224.8141.084657.3498122.15150186.97
S24012828.13290.4744.8411.094657.0198121.46150185.9
S23912829.07292.074.8681.14656.798120.79150184.89
S23812829.99293.74.8951.14656.3898120.12150183.86
S23712830.88295.3074.9221.114656.0898119.47150182.86
S23612831.75296.924.9491.114655.7798118.82150181.87
S23512832.59298.5754.9761.124655.4698118.16150180.86
S23412833.42300.185.0031.134655.1798117.53150179.89
S23312834.23301.8075.031.134654.8798116.9150178.92
S23212835.03303.4635.0581.144654.5798116.26150177.95
S23112835.8305.0925.0851.144654.2898115.64150177
S23012836.57306.725.1121.154653.9998115.02150176.06
S22912837.32308.3435.1391.164653.7198114.42150175.13
S22812838.06309.9725.1661.164653.4298113.82150174.21
S22712838.78311.65.1931.174653.1598113.22150173.3
S22612839.5313.2265.221.174652.8798112.63150172.4
S22512840.2314.835.2471.184652.698112.06150171.52
S22412840.9316.4225.2741.194652.3498111.5150170.66
S22312841.58318.0285.31.194652.0798110.93150169.8
S22212842.26319.6635.3281.24651.898110.37150168.93
S22112842.92321.265.3541.214651.5598109.82150168.09
S22012843.58322.8865.3811.214651.2998109.26150167.24
S21912844.23324.4955.4081.224651.0398108.72150166.41
21812844.87326.1025.4351.22115126.95245270.47375413.98
21712845.51327.7135.4621.23115126.33245269.14375411.95

早溜めのための斜め入力は30度と言われることもあるようです。境界からの余裕を考えると30度だと思って操作するのが良いかもしれないですが、30度と45度近くの入力による回転半径や車体の向きを比較すると無視できない程度の違いがあるのではないかと思えてきます。斜め入力を使いこなしている人に意見を聞いてみたいところです。

ソフトドリフトの活用

ここでは、ソフトドリフトを利用するとどのようなコーナリングが可能か少し考えてみたいと思います。実際にどのように走れば良いかという内容ではありませんので、鵜呑みにせずコーナリングの参考にしていただければと思います。

普通に左右にスティックを倒してドリフトで曲がろうとしても、ほとんどのコーナーでは曲がりすぎてしまうのではないでしょうか?仕方がないので外側にスティックを倒してカウンターを当てて曲がりすぎを修正する必要があります。このカウンターを当てている間はブーストカウンタの増加量が小さくなるため、ミニターボが発動可能になるまでの時間は少し長くなってしまいます。

ソフトドリフトを利用するとどうなるでしょうか?ソフトドリフトを利用すると回転半径が大きくなりコーナーでの曲がりすぎを少なくできます。うまくいけばハードドリフトとソフトドリフトを上手にコントロールすることで理想的なラインをトレースすることで、コーナーをより早く抜けることが可能かもしれません。さらに、カウンターを当てる量が減るためブーストカウンタの増加量が大きい状態を長時間維持でき、ミニターボの発動を早めに行うことが可能になります。また、ドリフトの時間を長くすることで一段上のミニターボを発動可能にもできます。さらに、回転半径は大きいけどブーストカウンタが閾値を超えるまでの時間は同じなので車体が内側に向きすぎるのを抑制することにもなります。

ハードドリフトのみ ハードドリフト+カウンタードリフト ソフトドリフト弱

もちろんソフトドリフトを利用して一段上のミニターボを発動させることが常に有効かどうかは議論の余地がありそうです。例えば、ハードドリフトを利用するとラインを完全にトレースできるコーナーを考えてみます。ただし、このハードドリフトではSMTまでしか発動できないとします。ソフトドリフトを利用した場合、たとえUMTまで溜まられるとしてもどうしてもラインがアウトに膨らんでしまいます。その分コーナー全体を曲がるための時間がかかるため、たとえUMTを発動したとしてもその差を埋められない可能性が高いのではないかと思います。

ハードドリフトのみ ソフトドリフト強 ソフトドリフト弱

ラインのトレースという点ではハードドリフトとソフトドリフト、また必要に応じてカウンタードリフトを組み合わせるのが有効だと思います。TAでは理想のラインだけで走れば良さそうですが、実際のレースではラインの取り方によっては他の人が付けている防御アイテムを避けたり、アイテムボックスに早くたどり着くためにターボを早めに発動したり、無理やり一瞬だけ他の人の前に出て自分の防御アイテムをなすりつけたり、逆に相手の後ろに下がりながら攻撃を避けつつブーストカウンタをしっかり溜めておくなど、考えるべきことがたくさんありそうです。また、コーナーにイン側から入るかアウト側から入るか、イン側に抜けるかアウト側に抜けるか、またその時の車体の向きをどうするのかといったことも重要になりそうです。こういったノウハウは上手な人に聞くのが一番だとは思いますが、自分でも色々と考えてみるのも楽しいのではないかと思います。

ハードドリフト
+ソフトドリフト弱
ソフトドリフト弱
+ハードドリフト
ソフトドリフト強 ソフトドリフト弱

もちろん、コーナー中でのミニターボ発動や着地ドリフトの利用、ニュートラルドリフトでの走行などなど、他にも色々と考慮すべき点は多いと思います。もしもコーナリングについてあまり考えたことがないようであれば、ここで説明した内容を参考にソフトドリフトも含めた色々なコーナリングの方法を考えて試してみていただければと思います。

調査方法の詳細

調査方法詳細のページで調査方法の詳細について説明します。どのようなシステムを使って調査を行ったか興味があればご一読ください。

まとめ

このページではマリオカート8デラックスにおけるソフトドリフトの定義と操作方法について説明しました。 最初にブーストカウンタによるミニターボの発動条件について説明しました。 次にソフトドリフトとハードドリフトを実現するためのコントローラの操作方法について説明しました。 実際には斜め入力でソフトドリフトを実現するのが現実的であり、そのためのスティック入力の角度は45度未満であるということを説明しました。 さらにハードドリフトとソフトドリフト中の回転半径と車体の向きに関する調査結果について説明しました。

以上、ソフトドリフトや斜め入力をより深く理解することでマリオカート8デラックスをさらに楽しんでいただければと思います!