iPad 2 台と余ってる端末 2 台で IIDX DP をやる(導入編)

Game

最近 INFINITAS の段位認定曲目が変わり、DP 皆伝から Almagest が消えて、人間でも取れるレベルになった。
ただ、今は家族が寝静まってる時じゃないとプレイできず、物理ボタンのコントローラーをガチャガチャ叩けない。そんな状況でも皆伝を取ろうと思い、余っている iPad 2台とスマホ 2 台を使って擬似 DP 環境を作ることにした。
結論から言えば皆伝はまだ取れてないが、☆12 の下位曲はクリアできるようになってきたので、一旦書き残しておく。

※ この記事では iPad やスマートフォンをコントローラー代わりに使います。それによって端末に不都合が生じても一切の責任を負いません。

用意したもの

  • INFINITAS がプレイできる Windows
  • iPad または iPad Pro の 10.5 インチ 2 台(鍵盤用)
  • スマホかタブレット 2 台(スクラッチ用)
  • ゲーミング用の指サック
  • 滑り止めのゴムシートなど
  • マスキングテープやアルミホイルなど

ソフトウェア

i2DX という Bemuse の人が作った仮想コントローラーがある。それをフォークして DP に向けて手直しした。
https://github.com/grgr-dkrk/i2DX-DP
https://github.com/dtinth/i2DX(オリジナル)

具体的には 1p/2p に対応、鍵盤モードで画面端に表示されるスクラッチを削除し、寸法を 10.5 インチ iPad 上で AC 準拠になるよう調整。
あとはフォーク元と違い Python3 で動くようになっている。

実装の都合で、スクラッチに割り当てられているキー(shift_lshift_r)は INFINITAS と違う割り当てにしている。

端末

鍵盤用に iPad 2 台と、スクラッチ用にお好みの端末 2 台を用意する。
そのままプレイすると余計なジェスチャが働いてしまうので、無効化する。iOS16の場合は、設定アプリの「マルチタスクとジェスチャ」から「マルチタスク」をオフにし「4本または5本指のジェスチャ」などの項目を無効化する。
また、スリープの時間も長めに設定しておく。
iPad はタップの無反応が発生するので、背面にアルミホイルなどを貼って対策しておく。
デレステ静電気対策 3選|HUNT.

今回は鍵盤に iPad 2 台、スクラッチに余っていた iPad mini と OPPO A73 を使用。

机の上に iPad 2 台、その左右に iPad mini と Android のスマホがある

i2DX は Web で動くので、古い中古端末、4,000〜5,000円ぐらいで売ってるジャンクでも使えるのではないかと思う。
ただ 10.5 インチの iPad 以外での検証はしていない。また PPI が異なる iPad mini では鍵盤が小さく見えるのと、Android タブレットでは動作未確認。

気になったこと

たくさんある。

鍵盤の反応が悪い、スクラッチの滑りが悪い

銀繊維の指サックで改善。
手袋でもいいけど全部の指に対応している方がいい。特に小指にないと、左1+Sのような隣接で同時に反応しない。

押せてるつもりなのに POOR が多発

判定を調整したり画面上の方を見ることで若干改善。
色々やって遅延時間を調べたけど、結局は押せてないのが根本的な原因なので、上手くなってから考える。

ホムポジに戻りづらい & 打鍵感がない

マスキングテープやアルミを使って色々試している段階。
ソフトウェア側では、iPhone SE や Magic TrackPad みたいな振動があれば打鍵感出るのでは?と思い、Vibration API を調べたけど、iOS ブラウザでサポートされてないので諦めた。
Vibration API(MDN Web Docs)

これについては試行錯誤中なので、別の機会に書こうと思う。

感想

静音性は最強だけど、色々と問題だらけな環境ではある。
なんやかんやで MINT DPA や Broken DPA がアシストイージーできるぐらいにはなり、AS をかければ HARD BRAIN DPA のような十段にいた曲も押せるようになってきた。ただ、ホムポジを崩すと立て直しづらいので、それが許されない着地曲や皆伝曲はまだまだ難しい。

ソフトウェア側も色々試したいけど、なにぶん時間が取れない。
iOS は USB 接続の時 usbmuxd というもので擬似 TCP コネクションを張るらしく、この仕組みに乗っかれればコントローラーを Web 経由から USB 接続に切り替えてもうちょっといい感じにできるのかもしれない。
https://github.com/libimobiledevice/usbmuxd