
GameLift Streamsでゲームを動かす前に知っておきたい入力デバイスの話
こんにちは。ゲームソリューション部の出村です。
今回は、AWS GameLift Streams における入力デバイスの対応状況について調べてみました。
GameLift Streamsは、ブラウザ経由でゲームをプレイできる環境を提供しています。
ゲームを操作するには、当然ながらキーボードやマウス、ゲームコントローラーなどの入力デバイスが必要になります。それでは、GameLift Streamsではどのような入力が可能なのでしょうか?
また、ブラウザ経由でのプレイという特性上、ブラウザやOSによって入力デバイスの対応状況に制限がある場合もあります。
今回は、そうした入力デバイスの対応状況や制限について解説していきます。
詳細な仕様については、Supported browsers and inputをご確認ください。
対応している入力装置
GameLift Streamsで対応している主な入力装置は以下の通りです:
- キーボード
- マウス
- ゲームコントローラー
- マイク
これらが使えるため、GameLift Streamsを通じて、家庭用ゲーム機と同じような感覚でコントローラー操作によるゲームプレイが可能です。また、マイクにも対応しているため、ボイスチャット機能なども実装可能です。
ただし、これらの入力装置への対応は、すべてのブラウザやOSで統一されているわけではありません。
たとえば、macOSやLinuxではゲームコントローラーが使用できない、あるいは一部のブラウザではマイクが使えないといった制約があります。
また、iOSやAndroidなどのスマートフォン向けブラウザでは、Bluetooth接続の入力デバイスにのみ対応している場合が多いです。
とはいえ、スマートフォンでキーボードやマウスを使う場合は、Bluetooth接続が一般的なので、実用上の問題は少ないかもしれません。
対応表
入力デバイス対応状況(OS・ブラウザ別)
オペレーティングシステム | ブラウザ | キーボード | マウス | マイク | ゲームコントローラー | 備考 |
---|---|---|---|---|---|---|
Windows | Chrome, Edge, Firefox | ○ | ○ | ○ | ○ | - |
Mac(Chrome系) | Chrome, Edge, Safari | ○ | ○ | ○ | ○(Bluetooth接続) | 有線接続のコントローラーは非対応 |
Mac(Firefox) | Firefox | ○ | ○ | ○ | × | Firefoxではゲームコントローラー非対応 |
Linux | Chrome, Edge, Firefox | ○ | ○ | × | × | マイク・ゲームコントローラー非対応 |
Android | Chrome, Edge | ○(Bluetooth) | ○(Bluetooth) | ○ | ○(Bluetooth) | タッチ操作はマウスエミュレーションで対応 |
iOS | Chrome, Edge, Firefox, Safari | ○(Bluetooth) | ○(Bluetooth) | ○ | ○(Bluetooth) | タッチ操作はマウスエミュレーションで対応 |
アプリ開発時の対応方法
GameLift Streams上で動作するゲームを開発する際に、入力装置への対応のために特別な設定や追加のコードが必要か?という疑問があるかもしれません。
結論としては、特別な対応は基本的に不要で、通常のWindowsアプリと同様に開発ができます。ただ、次の項でも解説しますがモバイルブラウザ対応について少し注意が必要な点はあります。
これらの入力装置への対応は、ブラウザ側が吸収してくれるため、ゲーム開発者は通常通りの方法で入力を処理すれば問題ありません。
たとえば、Windows向けにゲームパッドやキーボードに対応したゲームを開発している場合、その設定や実装はGameLift Streams上でもそのまま活かすことができます。
モバイルブラウザ向けに開発する際の注意点
前述の通り、モバイルブラウザではタッチ操作がマウスエミュレーションとして扱われます。
ゲームエンジン(Unreal EngineやUnityなど)には、モバイル向けゲームのために画面上に仮想ゲームパッドを表示する「バーチャルパッド」機能が用意されていることがあります。
しかし、GameLift Streamsではタッチ操作がマウス入力として変換されるため、バーチャルパッドの操作もマウスイベントとして処理されることになります。
そのため、バーチャルパッドを使わず、マウスのみで操作できるUIや操作体系を用意するのが望ましいです。
たとえば、クリックやドラッグだけで完結するようなインターフェース設計が有効です。
まとめ
このように、GameLift Streamsは、キーボードやゲームパッドなどの一般的な入力デバイスに既に対応しています。
モバイルブラウザ向けに提供する場合は、UI設計や入力方法に注意が必要ですが、それ以外については、通常のゲーム開発と大きく変わる点はありません。
GameLift Streamsを活用することで、ブラウザ上から簡単にゲームをプレイできる環境を提供できるため、今後のクラウドゲーム開発において非常に有力な選択肢となるでしょう。