見出し画像

AndroidでInputSystemは危険なのかも?

自作ゲームアプリ「マリンスクールシミュレーター」は、
操作性を改善するため、前回のアップデートv0.915でXBOXコントローラのみですがゲームパッド対応にしたのですが、これが酷い事態を引き起こしました。

一部の機種が、完全に操作不能になる不具合が発生しました。

「パッドを繋いだが操作できなかった、パッドを外してもタッチ操作がずっとできなくなった!」というフィードバックが寄せられました。同様のトラブルが、同じ機種…Samsung GalaxyのS9,S21、22などの機種で発生してるようでした。
他の機種ではそういう報告はありませんでした。

同じタイミングでアンインストール数が激増してたので、これまずいなとなって、でも手持ちの機種はPixel3のみ、検証もテストもしようがありません…
推測するしかできません。
 

実のところ、PCのUnityエディタ上でも、パッド抜き差ししたらなんか挙動が怪しく、繋ぎっぱなしに誤認することがありました。
GamePadクラスで、こう

if (Gamepad.current != null) { USEPad = true; } else { USEPad = false; }

パッドが繋がってたらパッドUIとタッチUIを切り替える仕組みにしたら、最初はうまく機能してたけど、抜き差しするとUIが高速で点滅して操作不能になりました。PC再起動するまでそのままでした。
とはいえPCとpixel3ではその状態でもパッドを接続・操作したらタッチUIは消えて普通に操作できてたし、パッドに対応させてないメニュ-ボタンなどは普通に効いてたのです。
なのでメニューから手動でタッチ操作に切り変えられるようにして、パッドで遊びたい人だけ設定してもらえれば…という姿勢で様子見リリースしたら、このザマ。
Galaxyでは入力デバイスすべてを恒久的に操作不能にしさらすとか想像できっこないよ・・・
Galaxyはゲームパッドに対応してるはずなんですが・・・

そもそもなぜモバイルにジョイパッド対応させようとしたのかと考えると、某スクールシュミレーターのレジェンドの方がそう提案したからでして。いや私は又聞きですが、ゲーム性を考えたらまあそうかもねと納得して、数週間に及ぶ改装工事を敢行したんですが。。。
完全に裏目に出るとはねえ

その人は当時、そんな不具合に逢わなかったんだろうか?
1000万もプレイヤーがいて、Galaxyユーザーからこんな強烈な不具合報告がなかったとかあり得るのか?苦情握りつぶすにはメジャー機種すぎるだろ?

と考えると、
入力まわりで2017-2019年当時なくて今あるものといったら、
InputSystem
複数の入力デバイスの接続と制御をまとめて管理、マウスでもタッチでもPSコンでもどんなデバイスでも同様に操作できるように都合してくれる、開発者は1つの制御コードを書くだけですむ、ありがたいInputSystemですが。
逆に言えば入力デバイスを誤認識させてくるレベルの環境では、すべてのデバイスがまきぞえで全滅する弱点にもなる、のでは?
デバイスごとに別々のコードを書かないといけない旧式のInputManagerなら、ジョイパッドが発狂しててもタッチ入力は助かるのかも?
ユーザーはパッドは認識しなくてもタッチは無事ならまあしょうがないやってなるだろうし?

いや、検証しようがないのですべて憶測ですけど。
もちろん、その方は大成功した元プロなのでこの世のすべてのモバイル機種を所持して、すべてのジョイパッドを購入して、ネイティブAPIを制御してすべての組み合わせを検証して不具合を出さなかった可能性もありますが。

日収60円の最下層開発者にマネできるわけねえ

ともあれ緊急でInputSystemデバイス一覧からゲームパッドを削除したv0.92をリリースしました。(iphoneはなんともないのでそのまま)
これで治ればいいけど。


マリンスクールシミュレーターはAndroid版/iPhone版で配信中です。
Android版

iPhone版

性能が足りててもジョイパッド操作前提のコンシューマ的なゲームがなぜモバイルに少ないのか、理由がよくわかりました。
機種によってはおま環もあるだろうとは思ってたけど、極端すぎだろ…
マリンスクールシミュレーターが真価を発揮するには、やはりPCにも出すしかない。。。

この記事が気に入ったらサポートをしてみませんか?