親記事
操作したいゲームと現状
ドラゴンクエスト チャンピオンズ(以下、DQチャンプ)
https://www.dragonquest.jp/champ/
※ゲーム単体については、インストールや動作、タッチパッドによる操作には問題がないものの、chromebookでは、ゲームパッド設定用の専用アプリ「HORI MOBILE GAMING」の設定を行っても、コントローラによるスムーズな操作がを実現出来ていない
現在試している方法
以下のハードとソフトを導入して、キーマッピングを可能にしようと試みている。
- 株式会社 HORI | ワイヤレス ホリパッド for Mobile Gaming
https://hori.jp/products/hmg/hmp-002
ハード(ゲームパッド)とソフト(キーマッパー)の配布で、コントローラー非対応のゲームでも操作を可能にできる、としている製品 - ワイヤレスホリパッド for Mobile Gaming専用アプリ 「HORI MOBILE GAMING」
https://play.google.com/store/apps/details?id=com.hori.mobile.game&hl=ja
上記ハード向け専用アプリ。
現状の整理
- デバイス(ゲームパッド)の認識(Bluetooth接続による)、 および専用アプリ「HORI MOBILE GAMING」のインストール、起動には全く問題ない
- ただし、起動後の設定画面の挙動はやや不安定で、やはりchromebookのウインドウシステムは想定していないことが予想される
横画面での設定
- 横画面とは、Chromebookを水平に置き、画面の回転を0度で使用した場合
- キーコンフィグを完了し、アプリを立ち上げると、実際の挙動は右に90度回転した状態でキーマッピングが反映され、正常な動作にならない
縦画面での設定
- 横画面とは、Chromebookを90度回転させて置き、画面の回転も90度にした場合
- 画面サイズが小さくなる問題はあるが、キーマップは意図した通りに動作する
- 全画面ではなくウインドウモードで起動することもある(再現条件調査中)
- ただし、戦闘画面に入ると、キーマップが拡大した状態になり、意図しない動作を引き起こす
- 現状これ以上取れる対応がない
問題が生じている理由に対する仮説
- Chromebookのウインドウモードのことを、「HORI MOBILE GAMING」が全く想定していない
- DQチャンプが、もともとは縦画面ベースで実装され、中心部分を拡大する形で全画面化に対応する実装をしている可能性はあるかもしれない。もしそうであれば、キーマッパーが端末の向きを勘違いして、90度回転した状態で動作する現状と合致する。
バグの疑い
- キーマップ設定後、特定の操作をするとデバイスの接続が解除される
解決案の検討
- メーカー公式の設定アプリがChromebookに対応することよりも、ChromebookのUIを既存のAndroid端末のように制限することの方が、総合的には対応コストが低いのかも。
トライ①:タブレットモード
- 「タブレットモード」に切り替えれば従来のAndroid端末のように、シングルウィンドウで動作するのではいか?(以下の記事は切り替えの解説をしている)
Chromebookタブレットをクラムシェルモードに切り替える #Chromebook - Qiita
https://qiita.com/htnk/items/1d61e77beb0667fc1af2
結果:失敗
- 単にバーチャルキーボードが表示されるようになるだけで、シェルそのものの挙動に変化があるわけではない。ただし、ゲームパッドの操作をフィールド移動のパートだけに限れば、あとはタッチだけでそこそこ普通のプレーが出来ることは確認できた。
トライ②:開発用仮想デバイスの活用
- Android Studioの開発用の仮想デバイスを活用することが出来るのでは?
Chromebookで仮想デバイスを使ってAndroidアプリを動かしてみる | ツインターボのブログ
https://twinturbo-power.com/2021/03/chromebook%E3%81%A7%E4%BB%AE%E6%83%B3%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6android%E3%82%A2%E3%83%97%E3%83%AA%E3%82%92%E5%8B%95%E3%81%8B%E3%81%97%E3%81%A6%E3%81%BF.html
結果:検証中止
上記記事によれば「Chrome OSの場合はAndroidアプリを動かすことができるのでAndroidスマホをエミュレートする必要がなく、Chromebookにアプリとして開発中のものがインストールされる形になります」とのことなので、この方法では、現在のChromebookをAndroid端末のように動かす事にはならない