タッチスクリーン・インターフェイスの実装
この記事は、インテル® デベロッパー・ゾーンに掲載されている「Implementing Touchscreen Interfaces for New and Existing Games」の日本語参考訳です。
Android* デバイスの急激な増加は、設計者に多くの新しい課題とともに、タッチスクリーンによる “魔法のような” 操作をもたらし、ゲーム開発の新たな可能性を開きました。ビデオゲームの歴史を通して、開発者はこれまで、マウス、キーボード、ジョイスティック、ゲームパッドなどの入力デバイスに対応してきました。そして、それは時として理想的とは言えない結果をもたらしました。タッチスクリーンの登場により、対応しなければならない入力デバイスが 1 つ増えることになりますが、その開発と品質保証にかかるコストが、既存のゲームでは懸念されています。この記事では、一般的な問題と可能性のある解決策を紹介します。
タッチの基本
最初に、新しいインターフェイスの長所を評価し、その活用法を考えることが重要です。ゲームデザインによって程度の差はあるものの、タッチに適していない複雑なゲームであってもタッチ対応は可能です。タッチスクリーンを備えた Android* デバイスの圧倒的な市場シェアは別として、タッチスクリーンの使用にはどのような利点があるのでしょうか?
それを示す最も簡単な例として、子供向けのフィンガーペインティングが挙げられます。人間にとって、手を伸ばし、物に触れ、それらを指で移動することは、非常に直感的な操作です。指の動きにインターフェイスが反応して変わるため、ユーザーは瞬時に画面上のアクションとその結果を関連付け、理解することができます。これこそがタッチの利点であり、どのようなゲームであってもこの利点を活かして、直感的な操作と期待どおりに反応するインターフェイスによってもたらされる満足感をユーザーに提供することを原点とすべきです。適切に設計されたタッチ・インターフェイスは、それ自体が玩具であり、ゲームとなりえます。
インターフェイスは、本質的で、自然で、スムーズであるべきです。プログラムの設計目標としてフレームレートは重要な要素となるため、シンプルでスムーズに反応するインターフェイスのほうが、「一見魅力的な」遅いインターフェイスよりも好まれるでしょう。タッチスクリーンではない場合、15 fps のメニュー・インターフェイスは、30 fps のものと大差ありません。しかし、タッチスクリーンの場合、低フレームレートによる「断続的な」エクスペリエンスは、スクロールやスムーズな動きが要求される状況で心理的な不快感を与えます。また、低フレームレートでは、ほとんどのデバイスがタッチ入力を記録できなくなり、入力エラーが発生してユーザーの不満はさらに高まるでしょう。例えそうならない場合であっても、心理的効果は無視できません。断続的なインターフェイスは、実際の使用にはあまり影響しないかもしれませんが、タッチスクリーンの魅力を大いに損います。これは、タッチスクリーンの直観的な利点の裏返しと言えます。ユーザーは瞬時な動作を想定する一方、期待どおりの動作が得られないと失望します。
実際のゲーム開発でフレームレートを保証するのは困難です。Android* デバイスのパフォーマンスは広範にわたります。ハードウェア・チップの検出機能により、ゲームの初回起動時にデバイスのパフォーマンスに合わせてグラフィックス設定を調整したり、タッチスクロールや同様の操作が必要な場所でインターフェイスを簡素化すると良いでしょう。リアルタイムの 3D メニューを高画質のスクリーンショットに変えると、見栄えをあまり損うことなく、インターフェイスの使いやすさを大幅に向上できます。
設計の基本
ユーザー心理は曖昧なものですが、明確な問題があります。まず第一に、ユーザーは画面のどこをタッチし、タッチポイントをどのように使用しますか? 一度に何本の指を使用しますか? 一般に、ユーザーがデバイスを持ったままプレイする場合、一度に 3 本以上の指を使う操作は好ましくありません。一部の「2 人でプレイするタブレット」ゲームでは、同時に複数のタッチポイントが必要になるでしょう。ほとんどの高性能デバイスでは、10 以上のポイントをサポートしています。ただし、一部のマルチタッチ・デバイスは、同時に 2 つのタッチポイントのみをサポートしています。その場合、ユーザーが 2 つあるアクティブポイントの 1 つから新しい場所に素早く移動する操作を行うと問題が発生する可能性があります。デバイスによってタッチポイントの「解放」が検出されず、「新しい」タッチポイントが無視されることがあります。Android* デバイスのマルチタッチの存在を検出することは容易ですが、「android.hardware.touchscreen」マニフェストで 2 点以上のタッチポイントを検出することは想定されていません。この問題がやがて解決されることに期待しましょう。
1 つのデバイスをターゲットにする場合を除いて、画面の設定と倍率は重要です。4:3 のアスペクト比のデバイス用に設計されたインターフェイスは、16:9 のアスペクト比のデバイスではやや不自然となり、同じインターフェイスを 4 インチから最新の 12 インチまでのすべての画面サイズに適用するのは困難です。また、すべてのユーザーがデバイスを同じ向きで使用するとは限らず、親指の位置はユーザーによって異なります。タブレット用に配置されたコントロールは、携帯電話には全く適していない可能性があります (また、逆も同様です)。さらに、ユーザーの手がゲームプレイをブロックしないようにしなければいけません。
テストと設計を繰り返すことが、これらの問題に的確に対処し、より良い結果をもたらす唯一の手段ですが、各ユーザー向けにエクスペリエンスをカスタマイズするのに役立つオプションがいくつかあります。ゲームの初回起動時に、ユーザーに親指を自然な位置に置いてもらうことで、インターフェイスの設定を調整することができます。同様に、すべての主要なタッチ・プラットフォームには、画面サイズおよび DPI 検出 (あるいは同等の) 機能があるため、開発者はその情報を基に少なくとも「タブレット」インターフェイスか「電話」インターフェイスかを選択できます。優れたインターフェイスはスケーラブルであるべきです。しかし、デバイスサイズが増え続ける中、これを実現するのは大変なことです。
触知性のないボタン
近年まで、ビデオゲーム・インターフェイスには重要な共通点がありました。ユーザーがボタンを押すと、ボタンが押し下げられ、ゲームからの応答 (音響効果や視覚効果) を待たなくても瞬時にコマンドが実行されたことが分かりました。タッチスクリーン・ゲームデザインの主要な課題の 1 つは、この確実なインターフェイスを (触知性に欠ける) 凹凸のないガラスパネルに置き換えなければならないことです。この変更により何が失われるかについて考えてみましょう。キーボードやジョイスティックの各ボタンは、ユーザーが正しいボタンを選択し操作できるような形状になっています。また、ほとんどのキーとボタンには凸凹があるため、ユーザーは自然にその中央に指を配置して操作します。実際にボタンを押してボタンが押し下がる「感覚」がなくなると、動作の確実性はデバイスの入力スキャン速度とゲームの応答にのみ依存することになります。音響効果や視覚効果だけに依存するとレイテンシーが増加し、ゲームの種類によってはタイムラグが問題を引き起こす可能性があります。マルチプレーヤーが高速なアクションを展開する格闘ゲームは、ボタンとジョイスティックが重要な役割を果たすゲームの代表例と言えるでしょう。ゲームセンターにある昔ながらの狙撃ゲームも、素早く動くボタンの恩恵を受けています。
では、どのようにしたら凹凸のないガラスパネルでそのようなゲームプレイを実現できるのでしょうか? この記事の執筆時点で、理想的な解決策はまだ見つかっていません。分かっているのは、適応プロセスだけです。ゲーム機には物理的なボタンがありますが、ほとんどのタッチスクリーン・デバイスにはありません。一部のプラットフォームでは、外付けのゲーム・コントローラー (ケーブルおよび Bluetooth の両方) 用に API サポートを提供しているため、検討してみる価値はあります。ただし、最終的にある程度の市場シェアを獲得するためには、タッチスクリーンに完全に対応する必要があります。この問題を緩和する対策はいくつかあります。
1 つは、一部のデバイスでは、バイブレーション機能を利用して触知的な応答を提供することができます。ほとんどの携帯電話はこの機能をサポートしていますが、タブレットの多くにはありません。このオプションをメニューやその他の操作で利用すると良いでしょう。操作直後に、音を出すことなく (ユーザーが静かな公共の場所でプレイしている可能性を考慮)、操作を行ったという「感覚」をユーザーに与えることができます。ただし、すべてのデバイスでサポートされていないこと、応答がバイブレーションに限定されていること、物理的なボタンを押したときと比べてレイテンシーが大きいことを考えると、これは完全な解決策とは言えません。
音響効果 (ボタンを押したときに鳴るお決まりの音) による応答も考慮する価値があります。触知的な応答と併用するのも良いでしょう。インターフェイスを上手に補完し、ユーザー・エクスペリエンスを向上できます。ただし、これも問題を緩和するだけで、解決するわけではありません。実際、音響効果による応答は、ユーザーがサウンドをオフにしてプレイしている際には効果がありません。また、本質的にある程度のレイテンシーが発生するため、ランダムなイベントに対する応答時間が重要なゲームでは問題になります。
インターフェイスに関する最も大きな問題がまだ残っています。ペースの速いゲームプレイ中に、インターフェイスの正しい位置にユーザーの指が置かれるようにしなければいけません。物理的なボタンのように「感じる」ことができないため、指がボタンから離れやすく、ユーザーが発射ボタンとは異なる位置を連打してしまいイライラすることがあります。これについては、最初の設計プロセスで十分に考慮する必要があります。可能な場合、重要なボタンは位置を固定せずに、ユーザーの指の動きに応じて位置が変わるようにします。特に「仮想ジョイスティック」のような入力コントロールでは、領域外であっても、ユーザーが画面から指を「離す」ことなくドラッグし続ける限り、それを有効にすべきです。
最後に、あるイベントが発生するまでユーザーが 1 個所をタッチし続ける「ロングタッチ」には利点があります。ロングタッチは、状況依存ヘルプやその他の高度なオプションに使用できます。一般に、ロングタッチはあまり直感的な操作ではないため、高度なオプション機能向けです。例えば、上級ユーザーがコンテンツへ簡単にアクセスしたり、特定の種類のゲームプレイで追加の操作確認を行います。ロングタッチ操作が行われたことをユーザーが認識できるように、ロングタッチは常に適切な触知性、音響効果、視覚効果とともに使用すべきです (特にドラッグアンドドロップのような操作の場合)。
多種多様なハードウェア
多種多様なハードウェアへの対応は各プラットフォームで異なりますが、1 つのデバイスファミリー向けに製品をリリースする場合を除いて、これはすべてのゲームに共通の課題です。ここ数年で Android* デバイスの一貫性は向上しましたが、一般的なハードウェア設計の違いに加えて、タッチ・コントローラー、利用可能なマルチタッチ・ポイントの数、入力制御レイテンシー、オーディオ・レイテンシーにはまだ大きな違いがあります。キーボード付きスマートフォンのようなハイブリッド・デバイスの場合、(スライドするなどして) 物理的にキーボードが有効になったときに Android* OS から送られるイベントの処理を考慮すべきです。そうすることによって、画面のキーボードからハードウェア・キーボードへのスムーズな移行が可能となり、ゲームでより多くの画面領域を使用できます。
また、音を使ったタイミングベースのゲームの場合、プラットフォームやデバイスによっては内部オーディオ・レイテンシーが長く、ユーザーが音とアクションの同期をとれないことがあります。一部のプラットフォームでは、低レベルの API オプション (Android* の「ネイティブ」アクティビティーなど) が、特定のハードウェアや将来の OS リビジョンで入力およびオーディオ・レイテンシーを向上する上で役立つかもしれません。今後、デバイスメーカーに対する期待やテストの向上により、プラットフォームおよびハードウェア固有のオーディオ問題は減少するでしょう。しかし、現時点では、開発者は潜在的な問題に注意する必要があります。
まとめ
ゲームデザインの基本原則の多くはタッチスクリーンへの対応にも当てはまり、常に留意すべきです。
ユーザーにワクワク感と達成感を与える
一般に、「ワクワク感」と「達成感」はゲーム・エクスペリエンスの向上につながります。これは、ゲームが「簡単」であることとは異なります。ユーザーに「難しい」ように見せつつ、「見かけによらず簡単」だと思わせることです。もちろん、徹底的にゲームプレイにこだわるゲームもあり、それを支持する開発者もまだいます。しかし、それらは、タッチスクリーンや小さなデバイスに固有のその他の問題を考慮すると、多くのユーザー向けではありません。少なくとも、ゲームの早期段階でユーザーが満足するようにしてください。
ゲーム・エクスペリエンスは最初の数分で決まる
できるだけ早く、新しいユーザーをゲームに惹きこむ必要があります。その時間は、ゲーム開発では 15 分とされてきました。しかし、ユーザーの注意が持続する時間がより短いモバイルデバイスでは、この時間ははるかに短く、最初の 2 分間が勝負です。この間に新しいユーザーがインターフェイスの操作に四苦八苦するようでは、引き続きゲームをプレイする可能性は低いでしょう。すべてのゲームがシンプルなカジュアルゲームではありませんが、複雑なゲームであっても、ユーザーにゲームとそのプレイ方法を紹介する「ベストな方法」を見つけなければいけません。
できるだけ自然にユーザーを惹きこむゲーム・エクスペリエンスを目指す
元々のターゲット・プラットフォームに関係なく、ゲームをタッチ対応にする場合は、あたかもそれが最初からタッチスクリーン・ゲームとして制作されたかのような印象を与えるようにします。通常、ただ単にタッチ・インターフェイスを追加しただけでは、ユーザー・エクスペリエンスが悪く、それはそのまま売り上げとレビューに反映されるでしょう。実際のゲーム開発には制限が付きものです。ゲームデザインとインターフェイスを真に「ネイティブ」なものにする時間と予算がないことがあります。例えそのような制限があったとしても、できるだけネイティブに近い洗練されたエクスペリエンスを提供するように努力すべきです。そうすることで、長期的に効果が得られるでしょう。
今後の展望
最後に、今後について述べたいと思います。モバイルデバイスの世界は急速に進化しており、近い将来、新しいインターフェイスや利用パターンが出てくるでしょう。すでに、携帯電話とテレビを HDMI で繋ぎ、携帯電話を「リモコン」として使ってテレビ「画面」を制御することができます。ワイヤレス HDMI 規格が策定されれば、これはさらに便利になるでしょう。また、一部の電話にはすでに小型プロジェクターが内蔵されており、電話、白い壁、小型の Bluetooth ゲーム・コントローラーによって大画面のゲーム・エクスペリエンスを実現します。高性能な Android* 搭載テレビとさまざまなセットトップボックスもすでに存在します。これらもすべてゲーム市場の拡大につながるでしょう。
いずれは、「画面」自体が特殊ガラスやユーザーの網膜に投影される仮想インターフェイスに取って代わるかもしれません。このような「ウェアラブル・コンピューティング」は、Xbox* Kinect* のような「ジェスチャー」インターフェイスで採用されているため、考慮してみる価値があります。ジェスチャー・インターフェイスは、多くのタッチ UI デザインと互換性がありますが、物理的な応答 (触知性など) はタッチよりも低くなります。
モバイルゲームの将来がどのようなものになるとしても、素晴らしい道のりになることでしょう。
著者紹介
John Bergman – Guild Software Inc. 社 CEO。オンラインゲーム業界において経験豊富な役員であり、開発者兼デザイナーでもある。進化し続けるオンライン分野の次世代を担うため、1998 年に Guild Software Inc. 社を設立。完全な MMO エンジンの開発をゼロから指揮し、2004 年に「Vendetta Online」をリリースに導く。
2011 年に「Vendetta Online」は PC MMO からモバイルへ移植された最初のゲームとして評価され、パートナーである Verizon 社および Motorola 社からリリースされ、テレビでも大きく取り上げられる。プライベートでは、新しいゲーム開発者や起業家の指導にあたり、いくつかの大学のゲーム関連のアドバイザーでもある。
著作権と商標について
本資料に掲載されている情報は、インテル製品の概要説明を目的としたものです。本資料は、明示されているか否かにかかわらず、また禁反言によるとよらずにかかわらず、いかなる知的財産権のライセンスを許諾するものではありません。製品に付属の売買契約書『Intel’s Terms and Conditions of Sale』に規定されている場合を除き、インテルはいかなる責任を負うものではなく、またインテル製品の販売や使用に関する明示または黙示の保証 (特定目的への適合性、商品適格性、あらゆる特許権、著作権、その他知的財産権の非侵害性への保証を含む) に関してもいかなる責任も負いません。
インテルによる書面での合意がない限り、インテル製品は、その欠陥や故障によって人身事故が発生するようなアプリケーションでの使用を想定した設計は行われていません。
インテル製品は、予告なく仕様や説明が変更される場合があります。機能または命令の一覧で「留保」または「未定義」と記されているものがありますが、その「機能が存在しない」あるいは「性質が留保付である」という状態を設計の前提にしないでください。これらの項目は、インテルが将来のために留保しているものです。インテルが将来これらの項目を定義したことにより、衝突が生じたり互換性が失われたりしても、インテルは一切責任を負いません。この情報は予告なく変更されることがあります。この情報だけに基づいて設計を最終的なものとしないでください。
本資料で説明されている製品には、エラッタと呼ばれる設計上の不具合が含まれている可能性があり、公表されている仕様とは異なる動作をする場合があります。現在確認済みのエラッタについては、インテルまでお問い合わせください。
最新の仕様をご希望の場合や製品をご注文の場合は、お近くのインテルの営業所または販売代理店にお問い合わせください。
本資料で紹介されている資料番号付きのドキュメントや、インテルのその他の資料を入手するには、1-800-548-4725 (アメリカ合衆国) までご連絡いただくか、インテルの Web サイトを参照してください。
性能に関するテストに使用されるソフトウェアとワークロードは、性能がインテル® マイクロプロセッサー用に最適化されていることがあります。SYSmark* や MobileMark* などの性能テストは、特定のコンピューター・システム、コンポーネント、ソフトウェア、操作、機能に基づいて行ったものです。結果はこれらの要因によって異なります。製品の購入を検討される場合は、他の製品と組み合わせた場合の本製品の性能など、ほかの情報や性能テストも参考にして、パフォーマンスを総合的に評価することをお勧めします。
本資料に含まれるソフトウェア・ソース・コードはソフトウェア・ライセンス契約に基づいて提供されるものであり、その使用および複製はライセンス契約で定められた条件下でのみ許可されます。
Intel、インテル、Intel ロゴ、Ultrabook は、アメリカ合衆国およびその他の国における Intel Corporation の商標です。
© 2012 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。
コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。