レバーレスコントローラー(hitbox あるいはガフロコンって呼ばれるもの)を作った。格ゲーにおける優位性をちょっと測定した。

ふと、手元にあった、ピンの少ない Sparkfun Pro Micro 互換機で、ゲーム用のコントローラーを作ってみたらそれなりに作れたので、通常通りにピンが付いている Sparkfun Pro Micro を買ったり、ドリルを買ったりホールソーを買ったり、ボタンを買ったりしてレバーレスコントローラー自作してみました。


本 blog エントリではこの自作したレバーレスコントローラを自作レバーレスコントローラーと呼びます。また、製品として売られているレバーレスコントローラである HitBox を hitbox と呼びます。

普通、レバーレスコントローラーを作る場合には、あり物のコントローラーの基板を乗っ取ったり、あるいは Brook の UNIVERSAL FIGHTING BOARD を基板として使うのが定番のようです。Brook の UNIVERSAL FIGHTING BOARDは12000円くらいします。でも今回は、既存のコントローラーの基板やBrook の UNIVERSAL FIGHTING BOARD の代わりに Sparkfun Pro Micro とこれの上で動く自作のプログラムで代用したので、2000円くらいで済ますことができました。もしも Pro Micro 安い互換機を使えば更に安くすることができますね。

ちなみに、今回作った自作レバーレスコントローラーで使ったSparkfun Pro Micro は2000円くらいで、それ以外のボタンやケースやら配線のためのもろもろが6000円で、合計8000円くらいでした。ちなみに、 PC と Nintendo Switch で使えることは確認済みでです。一方 PS4 では使えないことを確認しています。でも、PS4でそんなにゲーム遊ばないから、今回はこれで良いということにしています。

レバーレスコントローラーと SOCD (Simultaneous Opposite Cardinal Direction/反対方向同時入力)

今回、わざわざ Pro Micro を使ったのは、安く仕上げるためであると同時に、コントローラーの挙動を細かく変更するためでもあります。

レバーレスコントローラーの作成にあたっては、SOCD(Simultaneous Opposite Cardinal Direction/反対方向同時入力)に対する考慮が必要となります。
SOCDとは、通常、レバーや十字キーでは入力できない、左右の同時押しあるいは上下の同時押しをどのように扱うかについてのアルゴリズムのことです。

格闘ゲームにおける SOCD

hitbox では、左右同時押しは横方向はニュートラルとして扱い、上下の同時押しは上入力として扱われます。格闘ゲーム向けのにおいては、この hitbox の SOCD の扱いが、デファクトスタンダードとなっているようです。
Brook の UNIVERSAL FIGHTING BOARDは、ジャンパピンを用いた設定により、hitbox と同等とすることが可能です。

レバーレスコントローラーの格闘ゲームプレイ上の利点の定量化

格闘ゲームにおいて、レバーレスコントローラーによる操作は、一部レバーを用いた従来のコントローラーよりも高速に可能であるとして、多くのプレイヤーが現在利用していることがインターネットを検索することによって確認できます。
しかしながら具体的にはどの程度有利であるかについては、レバーレスコントローラと従来のレバーによるコントローラそれぞれの操作の習熟度に伴い個々人で異なること、またその簡易な計測方法が存在しないことといった理由で、計測が行われてこなかったのではないかと考えました。

そこで今回、キーディスプレイおよび各入力の継続フレームの表示のみを行うプログラムを unity を用いて作成し、これを用いて測定を行える環境を作りました。

まだ十分な回数をこなせておらず、統計として不十分なので、いくつかの測定結果及び感想を書いておきます。
なお、自作レバーレスコントローラーの SOCD は、hitbox に準拠した設定としています。また、比較対象に使っている通常のレバーありコントローラーには、 RAP V4 隼を用いました。

計測対象 自作レバーレスコントローラー レバーありコントローラー
←ため→ のニュートラル経過フレーム数 0フレームあるいは1フレーム 1から3フレーム。8割くらい2フレーム。
標準的な昇龍拳入力開始から完成まで(634入力) 7フレームくらい 7フレームくらい
昇龍拳のhitbox 向け入力開始から完成まで(649入力) 大体6フレームくらいだけど4フレームで完成したときもあった やってない

回数をこなした統計は、また追々測って行こうと思います。

あと、すでにレバーレスコントローラーの操作になれた人のフレーム情報も見てみたいので、汎用的な作りにして配ったりしたい。
今は、とりあえず図り始められる環境を作ることを優先して、PC環境依存でベタ書きになっていて人に配れたものではないので。

格闘ゲーム以外における SOCD

現在、製品として入手可能な hitbox を始めとするレバーレスコントローラーは格闘ゲーム用に使うことを想定している事が多いですが、もちろん他のゲームに使うことも出来ます。
ただし、他の種類のゲームに用いるときには、 SOCD の扱いは格闘ゲームとは別の考え方をするべきなのではないかと考えています。
通常 SOCD は、左右の同時押しあるいは上下の同時押しを考慮しますが、斜めの入力を行う必要がなく上下左右の4方向の入力のみを想定するテトリスなどのパズルゲームでは、格闘ゲームでの利用を想定した SOCD とは異なるアルゴリズムがより適しているのではないかと考えていました。例えば、上下左右の4方向をすべて排他し、最後に押されたものを優先するのが良いのではないかと考えました。
このような SOCD についての挙動の変更は、既存のコントローラの基板や Brook の UNIVERSAL FIGHTING BOARD では実現不可能であるため、これを自由にコントロールするために、Pro Microで自作する必要がありました。

格闘ゲーム以外においてはどうするのが良いのかについても追々考えていきたいですね。

ミスタードリラーアンコール(Steam版)のワールドトリルツアーで世界記録を出した (2020年8月14日時点)

2020年6月11日に、SwitchとSteamでミスタードリラーアンコールが発売された。
日本ではミスタードリラーアンコールという名称だが、海外ではミスタードリラー ドリルランドという名称で販売されており、内容としては2002年にゲームキューブ向けに発売されたミスタードリラー ドリルランドの移植である。
Steamの方はSwitchを始めとする据え置き型ゲーム機のように世代交代により遊べなくなる可能性が低く、かつPCで利用可能なアケコンがすでに手元にあるという理由で、自分はSteam版を購入した。

ミスタードリラーアンコールには、現代向けに難易度を低く調整したカジュアルモードと、2002年のドリルランドと同様の難易度になっているクラシックモードがある。
自分は、カジュアルモードとクラシックモード両方のワールドドリルツアー Level2 (1000m) で1位を取ることができた。

一度 6月27日にクラシックモード ワールドドリルツアー Level2 (1000m) で1位になった。このときには、PS3用の連射付きのFighting Commander 3 Pro というパッドで遊んでいた。

で、寝て起きたら2位になっていた。
パッドで遊ぶのは辛いと分かっていたので、サンワのレバーを取り寄せて、RAP V4 隼という普段使っているアケコンののレバーを交換し、4方向にガイドを設定してこれを使うようになった。
RAP V4 隼は、隼レバーと呼ばれるレバーが使われているのだけれど、これは8方向専用のレバーであり、サンワのレバーのようにガイドを回転させて4方向にしたりできない。きょう日アケコンを買うのなんて格ゲー遊ぶ人が大部分といえばそりゃまぁそうなんだけど、なんだかパズルゲーム勢がないがしろにされているようで辛いよ。
↓はお家に届いたサンワのレバー。

で、1位まで220点差まで詰めたものの

その後、更に高いスコアを出した人が現れ3位に転落。
で、この頃から体調が非常に悪くなり、ゲームに対するモチベもじゃんじゃん下がって、仕事以外では布団に寝そべって youtube を眺めるばっかりの生活がしばらく続いた。
なお、youtube では最近は Bad Gear というグルーブボックス的な音楽機材を扱うやつばかり見ている。
あと、最近は各ゲーマーがtwitchなどでストリーミングしたもののバックアップが youtube に上がっていたりして、それを見たりもしていた。
最近はウメハラ氏が、Hit Box というレバーを廃して、上下左右をボタンで入力するコントローラーを使っている、みたいな情報が入ってきたりして、ふーん。と思ったりしていた。

8月に入って体調も改善してきた。
ドリラーを遊びたいけど、わざわざPCのキーボードを机の上から退けて、アケコンを机の上に置くのが面倒だな、という気持ちになっていた。
そんなとき、ふとウメハラ氏が使っているという Hit Box のことを思い出した。
いっそのことキーボードで遊んじゃえばいいじゃん、Hit Box みたいなもんじゃん。と思った。
アケコンを4方向レバーに換装したとはいえ、方向を変える度に何フレームかニュートラルに入った状態になりロスが生じている。でも、キーボードで遊べばそのロスを減らせる可能性があるのでは?と気づいた。

自分は ergodox ez というファームウェアが書き換え可能なキーボードをかれこれ3年弱使っている。なので、ファームウェアを書き換えて、ゲームを遊びやすい配置にキーをアサインし直した。あと、掘りボタンの連射速度が早くなるようにギリギリまで調整した。(ergodox ez のファームウェアであるところの qmk において、キーの自動連射を実装したくて、かつ日本語を読める人は殆ど存在しないと思うのでこれについてはここでは詳しく説明しません。興味ある人はtwitterで聞いてください。)

で、キーボードによる1回目のクリアで2位になり、2回目のクリアで1位になった。

その後、1位になった時の記録は超えていないけど、4方向レバーに換装したアケコンを使っていたときと比べて平均的にスコアが伸びている感じはあるので、キーボードでのプレイに移行したのには効果があったのかな、と思っている。

あと、カジュアルモード ワールドドリルツアー Level2 (1000m) も初回のクリアで1位を取った。

一番ベーシックなモードであるワールドドリルツアーの1000mでいいスコアが出れば個人的にはもう思い残すことはないので、このあとはのんびり色々遊んでいこうと思う。

自分の好きなゲームが発売されて、それを思い切り遊ぶためにアケコンのレバー取り替えたり、キーボードのファームウェアいじったりと工夫して、それでちゃんとスコアも伸ばすことができて、なんだかいい人生だなって思ったよ。

XDJ-1000mk2 を買った

ずーっと前から、居間にDJ機材を置いていて、子どもが触りたがったときには高さ40cm くらいの踏み台に立たせてレコードを触らせていたんだけど、上の5歳の娘が、PCの中にアイカツの boot remix がおいてあり、それ以降 PCDJ を触りたがるようになった。
5 歳に PC の操作は難しいけど、でも娘が触りたいタイミングで触れるようにしてあげたいってのと、標準的ではない UI になれさせてしまうとちょっともったいない気がする、ということで悩んだ結果、XDJ-1000mk2 を 2 台買った。

ちなみに、自分はかれこれ13年くらいずっと traktor を使っていたのだけど、これを期に rekordbox に環境を移行した。

普段は DJM-900nxs2 と XDJ-1000mk2 は子どもたちに合わせて高さ 50cm ほどのメタルラックの上においてある。

自分が立って触りたいなぁと思ったときには、メタルラックを組み換えて 5 分程度で自分が触りやすい高さに変えられるようにした。

XDJ-1000mk2 は、CD ドライブもついてないのになんでそんなに値段が高いんだとか思っていたのだけど、手元において触ってみたら、たしかにこの値段になる程度には複雑な機械だなぁ、という気持ちになった。

自分が PCDJ で管理していたライブラリを USB メモリに書き出して、 XDJ-1000mk2 に挿しっぱなしにしてあるので、電源を入れたらとりあえずすぐ大量のライブラリにアクセスして音楽を流すことができる。
これは、ターンテーブルにレコードを置く必要があること、CD を CDJ に入れる必要があること、PCをAUDIO IFないし DJM の USB 端子 に繋ぐ必要があることと比べると、ちょっと触ってみようと思うハードルが低くて、結構新鮮な気持ちになった。

また、ネットワーク越しに起動している rekordbox のライブラリを XDJ-1000mk2 から読むこともできるので、作りかけの曲をバウンスして、その PC にインストールしてある rekordbox のライブラリに追加すると、 XDJ-1000mk2 からすぐに流すことができるので、作りかけのもののつなぎ心地の確認のハードルも随分下がった気がする。

気軽に日々触っていこうと思う。

僕と2歳の息子と子猫とダイバーシティの価値のわかりやすい一例

1ヶ月に1回くらいは何か書きたいという気持ちがあるので書く。

数ヶ月前に近所で野良の子猫が生まれた。
このコロナ禍の影響で、近所に出かけること自体が減ってしまったのだが、その子猫が住んでいる近くを通るときには、いつも会えることを楽しみにしている。
でも、最近、夏も近づき暑くなってしまったせいか、今までとは居る場所が少し変わってしまったらしく、見かける機会がとんと減ってしまった。

数週間前、2歳の息子と2人で散歩をしていた。
散歩をおおよそ終えて、家に戻る途中、子猫の住処の近くを通った。

今日も子猫は居ないなぁと思って、その場を離れようとしたとき、息子が「ねこさん、いるねぇ〜」と言った。

子猫は、近くに停めてある車の下に居た。
車の下に居たので、身長168cmの大人の自分には見つけられず、身長80cmの2歳の息子には苦もなく見つけることができた。

以来、そこを通るときには、しゃがみこんで車の下に子猫が居ないか確認するようになった。

あつまれどうぶつの森のメインテーマをremixした。あとどうぶつの森と娘の関係のこととか。

あつまれどうぶつの森のメインテーマであるところの、みんなあつまれ(海外ではWelcome Horizonsというタイトル)をremixしました。
発売前から CM やらの動画で聞いて、いいなーと思っていて、なんだか耐えられず作りました。

けけハウスと、アーバンけけもすごくお気に入りなので、なんかやりたいところです。勢いがついたらやります。

3DS で発売された前作、とびだせどうぶつの森もそうだったのですが、あつまれどうぶつの森では一貫して感じににルビが振ってあります。
なので、一部難しい表現や知らないことがゲームの中で色々起こるのでサポートが必要な場面はあるものの、まだ5歳の娘も自分で遊ぶことができるので、ここ最近は自分よりも遥かに長い時間娘のほうがどうぶつの森を遊んでいます。
おかげで、ひらがなを随分すらすらと読めるようになったり、数字が読めるようになったり、ゲーム内の動物が言っていることを理解できるようになったりとできることがどんどん増えてきています。このままお金の計算や、色んなものをいい感じに配置するためのマスの計算やらできるようになってくれると良いなぁ。と思います。

ゲーム規制条例がどうだとか最近ありますが、我が家ではこんな感じなので、ゲームが悪いとはどうしても思えなかったりします。
ゲームの中とはいえ色んな経験を積んでいるなーという感じがします。
子供は物理的に体を動かすことも大切ですが、色んな情報がコンピュータ上のデータとして記録されたり、それにソフトウェアを通じてアクセスする世の中にもなってきているので、そういった考え方にゲームを通して慣れていくってのも、むしろ教育の一環としてむしろ必要なんじゃないかとすら思うこの頃です。

少し話が変わりますが、ここ最近のコロナの影響で、娘が通っていた運動教室が、一箇所に集まって従来通りに行うことのリスクが高いということで、zoom を使ってのオンライン運動教室になりました。
なんか、運動教室をオンラインでって本当にできるのか?って思っていたのですが、とりあえず1回やっていたのを横からちょろっと眺めた範囲では、ちゃんと成立していたのでびっくりしました。
よく考えたら親戚とLINEでビデオ通話とか日頃からやってるわけだし、こういうのには子供のほうが慣れたりしているのかもしれないなーって思いました。

ゲームも含め、いい感じにテクノロジーを活用して過ごしていきたいですよね、と思いました。