Roblox Studioは、さまざまなデバイスをテストするための便利なエミュレーションツールを提供していますが、エミュレーションでは実際のハードウェアで起こることを完全には再現できません。フレームレート、メモリプレッシャー、サーマルスロットリング、および入力遅延は、物理デバイスで異なる動作をします。ハードウェア上でのテストにより、実世界の制約の下でのみ表面化する問題を見つけることができます。
デバイスでテストする理由
スタジオでは、クライアントとサーバーが開発マシン上で一緒に実行されるため、通常、プレイヤーが使用するデバイスよりもはるかに強力です。これにより、プレイヤーベースが通常使用するデバイスに対する盲点が生じます:
- メモリ — デバイスエミュレーターはアスペクト比やコントロールを確認するのに役立ちますが、メモリ使用量の精度はありません。実際のデバイスでは、オペレーティングシステム、バックグラウンドアプリ、およびRobloxエンジン自体が限られたRAMを争います。
- フレームレート — ハイエンドPCは、モバイルや低スペックハードウェアで深刻なフレームドロップを引き起こす非効率的なコードやその他の問題を処理できます。制約のあるデバイスでは問題に気付きやすく(再現しやすく)なります。
- サーマルスロットリング — 端末、タブレット、さらには薄型ノートパソコンは、長時間のゲームプレイ中にオーバーヒートした場合、CPUやGPUのクロックスピードを低下させます。
- 入力と遅延 — タッチの応答性、ゲームパッドのポーリングレート、およびセルラー接続を介したネットワーク動作は、実際のハードウェア上でのみ検証できます。
プレイヤーベースでの人気デバイス
Robloxプレイヤーの大多数は低スペックのモバイルデバイスを使用していますが、特定のジャンルや競技ゲーム向けにいくつかの例外があります。デバイスの状況を理解することは、テストの優先順位を決定する上で役立ちます。また、パフォーマンスダッシュボードを使用して、プレイヤーベースのより正確なメトリックを取得できます。
Robloxは本質的にクロスプレイであり、多様なデバイスをサポートしており、デバイスの人口統計は国、年齢層、ジャンルなどによって異なります。最も広いオーディエンスに到達するためには、ゲームは広範囲のデバイスでうまく動作する必要があります。
以下は、ユーザーベース全体の一般的なデバイス統計です:
- Androidは、典型的なゲームのプレイヤーベースの約65%を占めます。
- 約60%のプレイヤーが2~4 GBのRAMを持っています。
- 約35%が4~8 GBのRAMを持っています。
- 約5%が8 GB以上のRAMを持っています。
- Robloxプレイヤーベースの50%以上が、Passmarkベンチマークスコアで10,000~20,000のデバイスでプレイしています。
もし開発マシンだけでテストを行っているなら、あなたのオーディエンスの少数派のためにテストを行っていることになります。クロスプラットフォームの互換性を優先し、ターゲットプレイヤー層を代表する少なくとも1つの低スペックのベースラインデバイスを選びましょう。
テスト戦略
テスト戦略は、ゲームや開発ワークフローによって異なります。すべてのプロジェクトに合う単一のアプローチはありません。以下は、プロセスにハードウェアテストを統合するための堅実な基準を提供します。
マルチ入力デバイスは、フルデバイスタブなしでテスト範囲を広げることができます。たとえば、タッチ画面を持つ携帯ゲームパッドを使用すると、単一のハードウェア上でタッチとゲームパッドの入力の両方を検証できます。USB-Cゲームパッドアダプタやタッチスクリーン搭載のノートパソコンを持つ電話は同じ目的に役立つことがあります。
パフォーマンス
ハードウェア上でのパフォーマンステストは、フレームレート(計算)、メモリ、およびロード時間の3つの領域に焦点を当てています。診断ツールの完全な内訳については、パフォーマンスの問題を特定するを参照してください。
ベースラインを選択し、それを超えないようにするガイダンスについては、パフォーマンスに合わせて設計するを参照してください。
デバイス上でプロファイルを取得
MicroProfilerとDeveloper Consoleは、スタジオだけでなく、クライアントデバイス上でも実行できます。ハードウェア上で直接使用することで、正確なフレームタイムの内訳とメモリの読み取りを取得できます。
- F9(またはゲーム内メニュー)でDeveloper Consoleを開き、メモリタブでメモリ消費を確認します。
- MicroProfiler(CtrlAltF6 / ⌘⌥F6)を使用して、デバイス上でフレームダンプをキャプチャし、それを開発マシンで分析します。
- 設定メニューからパフォーマンス統計を有効にして、FPS、メモリ、およびピングのオーバーレイを確認します。
サーマルスロットリングのテスト
モバイルデバイス上でゲームを長時間(10〜15分のアクティブなゲームプレイ)実行します。時間の経過とともにフレームレートの低下に注意してください — 一定の減少は、デバイスがサーマルスロットリングをしていることを示すことがよくあります。これを観察した場合は、MicroProfilerによって特定されたホットコードパスでの持続的なGPUまたはCPUの負荷を減らすことに焦点を当ててください。
ネットワーク条件の確認
モバイルネットワークのプレイヤーは、有線接続よりも高いレイテンシ、ジッター、パケット損失を経験します。すばやい反復には、スタジオでのネットワークシミュレーションを使用しますが、実際のデバイスでのセルラーまたは制約のあるWi-Fiの下での動作を確認します。
公開後のモニタリング
ゲームがライブになったら、パフォーマンスダッシュボードを利用して、デバイスカテゴリ別にクライアントのフレームレート、メモリ使用量、およびクラッシュ率を追跡します。更新後に突然クラッシュが増加することは、低スペックデバイスでのメモリの後退を示すことがよくあります。
ユーザーエクスペリエンス
パフォーマンス数値は、完全な物語を語るわけではありません。デバイス上で60 FPSに達しても、タッチターゲットが小さすぎたり、UIが読みにくい場合、ゲームの感触が悪くなることがあります。包括的なクロスプラットフォームUIガイダンスについては、クロスプラットフォーム開発を参照してください。
タッチターゲットとジェスチャー
エミュレートした解像度だけでなく、実際の電話画面でテストします。デスクトップモニターでは快適に見えるサイズのボタンが、5インチのディスプレイでは不快に小さく見えることがあります。以下の点を確認してください:
- インタラクティブな要素が、さまざまな画面サイズで信頼できるタップができる大きさであること。
- ピンチズームやスワイプなどのジェスチャーが、ゲームプレイコントロールと競合しないこと。
- 画面上のサムスティックやアクションボタンが、快適に届くゾーン内に配置されていること。
スクリーンの可読性
1440pでクリアに見えるUI要素が、低解像度のモバイル画面では読みにくくなることがあります。最低サポートデバイスでのテキストサイズ、アイコンの明瞭さ、コントラストについて、腕を伸ばした距離でテストします。適応レイアウトに関するガイダンスについては、適応設計を参照してください。
入力の切り替え
プレイヤーは頻繁にセッションの途中で入力方法を切り替えます — タブレットプレイヤーがBluetoothコントローラーを接続したり、ノートパソコンプレイヤーがトラックパッドからマウスに切り替えたりすることがあります。あなたの体験が入力タイプの変更に正しく反応し、支援ヒントを適切に更新することを確認してください。
ロードとストリーミング
第一印象は重要です。典型的な接続でのベースラインデバイスで、完全な参加からゲームプレイまでの流れを計測します。ロード時間が数秒を超える場合、初期参加時間とメモリフットプリントを減らすためにインスタンスストリーミングを有効にすることを検討してください。ストリーミングが通常のゲームプレイ動作中に没入感を損なう目に見えるポップインを引き起こさないことをテストします。
オーディオ
デバイスのスピーカーとヘッドフォンの両方でテストします。モバイルスピーカーは周波数範囲と音量が限られているため、デスクトップのヘッドフォンでクリアに聞こえる音響効果やボイスラインが、電話のスピーカーでは濁るか聞こえなくなることがあります。