ドラクエソードから予測されるWiiリモコンの弱点

ドラクエソードは楽しいですが、操作は独特です。なぜ剣神ドラゴンクエストと違った操作になったのか考えてみました。


Wiiリモコンにはポインティング機能と加速度センサーという二つの機能があります。ポインティングはセンサーバーの発する赤外光をリモコンの先端のCCDカメラで撮影し、光点の大きさと位置を分析してWii本体に送信します。センサーバーという名前ですがバーは光るだけでセンサーは入っていないので注意が必要です。加速度センサーは、もちろん振ったときの加速度の大きさを取得できますが、Wiiリモコンの傾きの角度の取得も行っています。
実際にどういう値が取得できるのか興味のある人はWiimoteDataというプログラムを作ってありますので試してみてください。画面上に値を表示でき、CSVに記録できます。


さて、ドラクエソードWiiリモコンを振る場合はボタンを上にしなければならない点ですが、試しにボタンを横にして横に振ってみると、縦に切ってしまいます。Wiiリモコンは傾きを取得できるのでちょっと意外です。これはわぱのつれづれ日記でも指摘されていますが、連続した複雑な動きを分析するのが非常に困難なためでしょう。加速度センサーは動きの加速度と傾きの加速度を同時に扱います。具体的には1G以下の小さな値は傾きとして扱い、1G以上の値を動きと認識させているのだと思います(0.5Gかも)。これは、ゆっくりした動きは傾きとして誤認される可能性があるということです。また、動かしながら傾きが変わってしまうと値が混じってしまうので、単純な方法では分解できなくなってしまうはずです。このため、ドラクエソードはプレイヤーに傾きを固定させて、動きを正確に取るようにしたのだと思います。私は、誰か一流のプログラマーが数学的に複雑な式を使って3軸の値を総合的に組み合わせれば傾きと動きを分離できるのではないかと思っていたのですが、スクエニでもできなかったとなると、相当困難か不可能なのではないでしょうか。もし、PS3SIXAXISのようにジャイロセンサーが付いていれば、傾きの変化を加速度と別に取得できるので、もっと動かしたとおりの値を取得でき、プレイヤーの動きを正確に取得することができるので、ゲームの幅が広がっていたと思います。その点は残念です。


次に、ポインターWiiリモコンで指した場所とずれてしまうという問題です。何がずれるのか分からないという人は、テレビから1メートルくらいの位置(マニュアルに記述されている推奨距離の最短です)でWiiメニューを開き、目をつぶってリモコンを画面の中央に向け、目を開いてみてください。カーソルは画面中央にありますか? (センサーバーを画面の上に置いた場合は)かなり下のほうにずれているのではないでしょうか? 普段ゲームをしている時にこのズレが気にならないのは、常にカーソルが表示されているからです。プレイヤーがカーソルを見てリモコンの動きを調整しているだけで、直接画面を指しているわけではありません。このズレはテレビが大きいほど、画面から近い場所で操作するほど大きくなります。ドラクエソードではポインターの位置を見て剣で切る位置を計算しても良かったはずですが、そうなっていないのは剣を振るときにはポインターが画面外に出てしまうので、プレイヤーがズレを補正できないためではないでしょうか。
位置のキャリブレーションを行えばズレはだいぶ軽減されるはずですが、位置キャリブレーションを行えるソフトはゼルダの伝説くらいなのが不思議です。ちなみに私が試したところ、キャリブレーションにも限界があり、特にCCDカメラ上下の認識幅はそんなに広くないので、画面の下のほうはキャリブレーションできない場合がありました。


Wiiリモコンには以上のような弱点があるので、ドラクエソードのようにちょっと変わった操作にして弱点を吸収しないとならないのだと思います。リモコンがプレイヤーの動きをダイレクトに取得できるようなものであれば、開発はもっと楽だっただろうし、プレイヤーももっと直感的にゲームを楽しめただろうと思います。


なんだかんだ書きましたが、9/20に発売予定の「戦国無双 KATANA」は期待しています。無双はそんなに正確な動きを取得する必要がないですから、リモコンを振り回して敵の大群をやっつけられるとなるとストレス発散になりそうです。