Iwata pregunta es una serie de entrevistas en las que el expresidente global de Nintendo, Satoru Iwata, conversa con los creadores clave detrás de los juegos y las consolas de Nintendo.





Iwata Asks: Wii Motion Plus

Combinar dos sensores

Iwata

Bueno, ya sabemos que el sensor giroscópico da algunos problemillas, pero ¿podrían decirnos por qué concretamente es tan difícil trabajar con él?

Takamoto

Como ya hemos comentado, este aparato sirve para medir los giros y la rotación, pero dicho esto, hay que tener en cuenta que si te sales del área en la que puedes observarlo, hay veces en que no sabes con seguridad si los datos que estás recibiendo son fiables.

Iwata

Eso quiere decir que si haces un movimiento grande con el Wii Remote, es posible que lo saques de la zona en la que el sensor puede detectar dicho movimiento y que por lo tanto este no se refleje en la pantalla.

Takamoto

Eso es.

Iwata

Vamos a preguntarle al señor Ito, que estaba a cargo de los circuitos eléctricos, cómo consiguió solucionar el problema.

Ito

Claro. Aumentamos la sensibilidad del sensor giroscópico que utilizamos para la consola Wii hasta cinco veces la normal. Al fin y al cabo, los sensores giroscópicos que llevan las cámaras de vídeo solo pueden detectar una rotación de unos 300 grados por segundo, es decir, son muy lentos…

Iwata

¡300 grados por segundo! ¡A mí no me parece lento! (Risas)

Ito

Es que hay personas que realizan movimientos increíblemente rápidos cuando juegan videojuegos.

Iwata

Entonces, quieres decir que si el sensor solo fuera capaz de detectar una rotación de 300 grados por segundo, habría casos en los que se sobrepasaría este límite y se ignoraría el movimiento realizado.

Ito

Exacto. Y por ello diseñamos el sensor para que pudiera detectar 1600 grados de movimiento por segundo.

Iwata

Es el equivalente a cuatro vueltas y media. ¡Para que alguien gire la mano de esa manera hace falta bastante esfuerzo!

Ito

Sí. Al hacerlo así, nos aseguramos que los movimientos rápidos se iban a detectar. Después, empezamos a debatir si era necesario o no que detectara los movimientos lentos.

Iwata

Me parece que nos encontramos ante una pequeña contradicción. Si lo diseñas para que sea capaz de detectar los movimientos rápidos, el sentido común te lleva a pensar que tendrá menos sensibilidad para detectar los movimientos lentos.

Ito

¡Eso es exactamente lo que te dice el sentido común! (Risas) De todas formas, queríamos hacer todo lo posible para que también fuera capaz de detectar los movimientos lentos. El señor Ota y yo debatimos este tema en repetidas ocasiones.

Ota

Lo debatimos unas cuantas veces, ¿verdad?

Iwata

Dinos, señor Ota, ¿cómo resolvieron este problema?

Ota

Diseñamos el sensor para que tuviera dos modos: uno para movimientos rápidos y otro para movimientos lentos.

Iwata

¿Y qué son exactamente esos dos modos?

Ota

Verás, como los datos del sensor se envían vía inalámbrica, la resolución de dichos datos está predeterminada. Imaginemos que los datos pueden enviarse por diez bandas distintas. En realidad, hay más, pero digo diez para que sea más fácil entender el ejemplo. Si tienes diez bandas, solo se pueden enviar señales de datos del cero al nueve.

Iwata

Bien. Digamos que la resolución de los datos depende de esas diez bandas, no se puede duplicar así como así el número de bandas, ¿verdad?

Ota

Exacto. No se puede hacer. Vamos a poner como ejemplo la velocidad de un auto. En el caso de un auto que puede moverse como máximo a diez kilómetros por hora, los datos sobre la velocidad a la que se mueve se enviarían en unidades de un kilómetro por hora, es decir, cada banda se correspondería con un kilómetro por hora. Sin embargo, si aumentamos la velocidad máxima a la que puede ir el auto a cien kilómetros por hora, cada unidad sería ahora de diez kilómetros por hora. Por lo tanto, seríamos incapaces de medir velocidades bajas, de dos o tres kilómetros por hora por ejemplo.

Iwata

Entonces, si ajustas la configuración para que te permita medir velocidades de hasta cien kilómetros por hora, los datos se medirán en grupos de diez kilómetros por hora.

Ota

Así es. Por eso diseñamos dos modos para el sensor: un modo para velocidades bajas, en el que los datos se envían por diez bandas pero mide hasta diez kilómetros por hora, y otro modo para velocidades altas, en el que los datos también se envían por diez bandas pero miden velocidades de hasta cien kilómetros por hora.

Iwata

Al tener dos modos, han conseguido que sea sensible a los pequeños movimientos y al mismo tiempo capaz de detectar movimientos más dinámicos.

Ota

Exacto.

Iwata

Hicieron así el sensor para que respondiera a los movimientos lentos. Sin embargo, aquella no fue la única dificultad que les planteó el sensor giroscópico, ¿verdad?

Ota

No. La sensibilidad de la capacidad de detección de movimiento del sensor giroscópico puede verse afectada negativamente por los cambios producidos en la temperatura del ambiente.

Takamoto

La segunda "M" de las siglas MEMS significa "mecánico".

Iwata

Precisamente porque es mecánico, sabían que aquello podía ocurrir.

Ota

En general, si algo está quieto, la lectura de los datos que envía deberá ser de cero, pero en el caso del sensor giroscópico, aunque esté en absoluto reposo, después de un tiempo, la lectura de los datos que envía será de uno o dos.

Iwata

Entonces, aunque nadie lo toque, se comporta como si estuviera en movimiento.

Ota

El término técnico de este fenómeno es "deriva térmica".

Iwata

El problema es que cuando la temperatura cambia, el punto donde debería estar el cero se mueve de su sitio.

Ota

No solo por efecto de la temperatura, también la humedad o los golpes repentinos pueden afectar a ese punto. Estuvimos buscando formas de conseguir nuestro objetivo, de fabricar un sensor que no tuviera este problema…

Iwata

¿Y eso no es…?

Ota

¿Imposible? Sí, pero hay una manera de evitar el problema. Lo único que hay que hacer es añadir otro sensor distinto que ajuste el punto donde está el cero, por así decirlo.

Takamoto

Aunque no podíamos aumentar el coste innecesariamente.

Ota

Por eso, nuestra única opción era encontrar una solución para el problema basada en el software. Probamos muchas posibilidades distintas. Fue un proceso de prueba y error.

Iwata

Eso quiere decir que no les quedó otra opción que inventar un método que detectara si el Wii Remote estaba o no en movimiento.

Ota

Lo primero que se nos ocurrió fue usar un acelerómetro. Pensamos que nos serviría para detectar si se estaba moviendo o no…

Iwata

Pero no funcionó, ¿verdad?

Ota

No, no funcionó. El sensor giroscópico es mucho más sensible que el acelerómetro, lo que significa que había casos en los que el acelerómetro indicaba cero, pero el sensor giroscópico detectaba movimiento.

Iwata

No servía de nada, ¿verdad?

Ota

Al final, conseguimos que el propio sensor giroscópico fuera capaz de saber que, en realidad, no se está moviendo.

Iwata

Entonces, a pesar de las fluctuaciones de temperatura y humedad, el sensor giroscópico funciona correctamente.

Ota

Así es. Le añadimos un programa que lo hizo posible.

Iwata

Dime, señor Ota, a la vez que intentabas controlar ese sensor giroscópico, estabas trabajando en el SDK, el kit de desarrollo de software. ¿Qué opciones se abrieron de cara al desarrollo de nuevos juegos al combinar el acelerómetro y el sensor giroscópico? Me gustaría escuchar tu experta opinión, ya que has participado en el desarrollo de gran cantidad de juegos.

Ota

Yo creo que el avance más importante es que Wii MotionPlus permitirá a los desarrolladores de videojuegos experimentar las sensaciones del jugador.

Iwata

¿Las sensaciones del jugador?

Ota

Al ser capaz de percibir la rotación, el movimiento de la mano del jugador y el movimiento del objeto de la pantalla al que representa el Wii Remote coinciden en el tiempo. Todo el mundo ha soñado siempre con conseguir este objetivo.

Iwata

Es indudable.

Ota

No obstante, no se puede decir que fuera fácil. Las soluciones de las que acabamos de hablar, como aumentar el rango de detección de velocidad o la sensibilidad de detección de las velocidades bajas, no bastaban.

Iwata

También estaba el problema de la deriva térmica.

Ota

Y por otro lado, como los datos se transfieren vía inalámbrica, existía la posibilidad de que no se recibieran todos, lo cual significaría que el movimiento del Wii Remote y el del objeto correspondiente de la pantalla serían ligeramente asincrónicos.

Iwata

¿Cómo resolvieron ese problema?

Ota

Utilizando solo el sensor giroscópico no fuimos capaces de encontrar una solución satisfactoria para el problema, así que al final el acelerómetro nos resultó muy útil para conseguirlo.

Iwata

Por lo tanto, estaban ante un problema que el acelerómetro y el sensor giroscópico no podían resolver por si solos, pero combinando ambos sensores, fueron capaces de lograr lo que siempre habían querido: conocer de primera mano las sensaciones del jugador.