第 4 回:新世代の I/O — ポインティングとワイヤレス通信
ゲームキューブのコントローラ入力は、Flipper の SI (Serial Interface) がボタンやスティックの状態を周期的に読み取る、短く明快な有線経路で完結していました。しかし Wii リモコンでは、その常識が根底から覆されます。手元のコントローラ自身が加速度を測り、テレビ付近の赤外線マーカーを撮像し、得られた情報を内蔵マイコンで整理したうえで無線送信する。つまり任天堂は、受動的なスイッチの集合体だったコントローラを、自ら周囲を観測して情報を送り出す「小さなセンサーコンピュータ」へと変貌させたのです。
したがって、Wii リモコンは単なる「ケーブルを取り払ったコントローラ」ではありません。センサー、画像処理、無線通信に加え、スピーカーや振動という出力機能まで手元へ集約した、極めて欲張りな双方向 I/O 端末です。Wii が真に刷新したのは CPU や GPU の演算能力ではなく、プレイヤーの身体動作をゲーム内の情報へ変換する、その入口そのものだったと言えます。
しかも、便利さと引き換えに操作感を犠牲にすることは許されません。任天堂の特許資料に記された実施例では、一般的な 60 fps のゲームが 1 フレームを描く約 16.7 ms に対し、コントローラからの無線送信周期は 5 ms とされています。画面が一度更新される間にも複数回の入力を届ける余裕を持たせ、無線化によって生じ得る遅れを表面化させない――ケーブルを消しても、指先との一体感までは決して消さないための設計です。
Wii のポインティング機構で最も巧妙なのが、テレビの上または下に置かれる「センサーバー」です。ところが、その堂々たる名称とは裏腹に、バー自身はリモコンを検出せず、本体へ座標を返す通信回路すら持っていません。左右に離れた 2 組の赤外線 LED を点灯させ、空間に固定された「光の基準点」を作るだけ。実のところ、センサーバーとはセンサーではなく、極めて単純な「光る物差し」なのです。
本当に「見ている」のは、Wii リモコン先端に組み込まれた撮像部です。赤外線フィルター、レンズ、イメージセンサー、画像処理回路から成るこの小さな目が、視野内の高輝度点だけを抽出し、その座標をリモコン内のマイコンへ渡します。撮像した画面全体を Bluetooth で力任せに送りつけるのではなく、必要な光点の位置まで手元で絞り込んでから送信することで、通信量と本体側の処理負荷を同時に削ぎ落としているのです。
左右の赤外線マーカーを一定間隔で固定し、テレビ画面に対する動かない座標基準を作ります。
マーカー像の位置、中心、間隔を取り出し、画面上の指示位置やリモコンの姿勢を推定します。
この方式なら、テレビ側に必要なのは安価な発光部と給電ケーブルだけです。もちろん、赤外線マーカーがリモコンの視野から外れたり、強い外光に埋もれたりすれば、画面に対する座標基準を失うという限界はあります。それでも「複雑なセンサーをテレビ側へ置く」という素直な発想を反転させ、全プレイヤーが必ず手にするリモコン側へ知能を集中することで、部品コストと新しい遊びを同時に成立させました。名称と実態の鮮やかな逆転まで含め、実に任天堂らしい設計です。
Wii リモコンに内蔵された 3 軸加速度センサーは、X・Y・Z の各方向に加わる力を絶え間なく数値へ変換します。静止しているときにも重力加速度が現れるため、ゆっくり傾ければ、おおまかな姿勢を推定できる。そして振る、突く、ひねるといった激しい動作では、その重力に動的な加速度が重なり、人間の身振りが特徴的な波形となって浮かび上がるのです。
ただし、このセンサーは魔法のモーション検出器ではありません。手元の絶対座標や全方向の回転を直接測れるわけではなく、重力とプレイヤー自身の動きを完全に分離することも、静止したままのヨー回転を捉えることもできません。そこでゲーム側は、サンプル列の平滑化、しきい値判定、直前の状態との比較を駆使し、無機質な数値の並びを「スイング」「傾き」「突き」という遊びへ翻訳します。センサーが測るのはあくまで力であり、それを剣やラケットの一振りへ変える最後の仕事は、ソフトウェアに委ねられていたのです。
その弱点を補うもう一つの基準が、前節の赤外線ポインティングです。加速度はリモコンがテレビを向いていなくても動きを追える一方、時間とともに姿勢の解釈が曖昧になる。赤外線は見通しを必要とする代わりに、画面に対する安定した座標を与えてくれる。どちらか一方を万能と見なすのではなく、異なる長所と弱点を持つ 2 種類のセンサーを組み合わせたことこそ、Wii リモコンを単なる珍機構ではなく、実用的な入力装置へ仕立て上げた鍵でした。
初代 Wii リモコンが内蔵している慣性センサーは、あくまで 3 軸加速度センサーです。角速度を直接測るジャイロセンサーが加わるのは、2009 年の Wii モーションプラスを待たなければなりません。初代モデルも赤外線座標と加速度の組み合わせによって豊かな動作を表現できましたが、リモコンの回転を連続的に追跡する用途には明確な限界がありました。Wii モーションプラスは初代の仕組みを捨てて置き換えるのではなく、拡張端子から新たな測定軸を継ぎ足すことで、その死角だけを鮮やかに埋めたのです。
リモコンと本体を結ぶ無線には Bluetooth が使われ、機器の発見、接続、入力レポートの伝送には HID (Human Interface Device) の仕組みが利用されます。しかも通信は一方通行ではありません。本体からもプレイヤー LED、振動、内蔵スピーカー、各種動作モードを制御するデータが送り返されており、ゲームの効果音を手元から鳴らす演出さえ、入力と同じ細い無線経路を巧みに時間分割することで成立しているのです。
とはいえ、この複雑な接続管理を Broadway 上のゲームが丸ごと背負うわけではありません。第 3 回で見た通り、Bluetooth 機器との通信に必要な低レベル処理は Starlet 上の IOS が引き受け、ゲーム側には Revolution SDK のライブラリを通じて整理された形で公開されます。WPAD が接続状態や入力レポートに近い部分を扱い、その上の KPAD がポインティングやモーションをゲームで利用しやすい状態へ整える。ハードウェアの生々しい都合を段階的に覆い隠すことで、開発者は「Bluetooth をどう動かすか」ではなく、「リモコンで何を遊ばせるか」に集中できるのです。
| 層 | 主な役割 | ゲームから見えるもの |
|---|---|---|
| Wii リモコン | センサー取得、赤外線座標抽出、入出力レポート | ボタン、加速度、マーカー座標、拡張機器 |
| Bluetooth / IOS | ペアリング、無線リンク、データ転送 | 接続・切断・通信エラーとして通知 |
| WPAD / KPAD | 機器制御、サンプル整形、ゲーム向け状態への変換 | プレイヤーごとの入力状態とポインティング情報 |
無線品質の低下、電池切れ、途中切断、そして再接続。こうしたゲーム内容とは無関係ながら、無線機器である以上は避けて通れない処理を IOS と SDK が引き受けることで、開発者は入力をどのような遊びへ結びつけるかに集中できます。Starlet と IOS を備えた二重構造は、単に暗号鍵を守るための要塞ではありません。プレイヤーに無線の存在を意識させず、自然な操作感を守るためにも働く、Wii の隠れた功労者だったのです。
Wii リモコン底部の拡張端子には、ヌンチャク、クラシックコントローラ、Wii モーションプラスなど、多彩な周辺機器を接続できます。たとえばヌンチャクは、アナログスティックとボタンだけでなく、独自の 3 軸加速度センサーまで内蔵しています。しかし、それらが本体と個別に無線通信するわけではありません。拡張機器の情報はいったんリモコンが読み取り、自身の入力とひとまとめにして Bluetooth で本体へ中継するのです。
この構造なら、拡張機器ごとに高価な無線回路や本体側の受信機を用意する必要はありません。Wii リモコン自身が「手元の I/O ハブ」となり、通信、プレイヤー番号、電源、フィードバックの経路をすべて共有するからです。従来型の入力が必要ならクラシックコントローラを、左右の手を別々に動かしたいならヌンチャクを、さらに精密な回転を求めるなら Wii モーションプラスを足せばよい。任天堂は一つの巨大な万能コントローラへ機能を詰め込むのではなく、遊びに応じて必要な感覚器官を付け替えられる、柔軟な分散型設計を選びました。
センサーバー、加速度センサー、Bluetooth、そして拡張端子。その一つひとつは、決して未知の最先端技術ではありません。しかし「計測は手元」「座標の基準はテレビ」「無線管理は IOS」「動作を遊びへ変えるのはゲーム」と役割を大胆に並べ替えた瞬間、それらは誰もが直感的に振り、指し、身体を動かせる新しい操作体系へ生まれ変わりました。枯れた要素を、接続の妙によって革命的なインターフェースへ昇華させる。第 1 回で見た Wii の設計思想が、最も鮮烈な形でプレイヤーの手に現れたものこそ、この Wii リモコンだったのです。