Xataka – «El idioma alemán rompió nuestro juego»: cómo una simple coma bastó para poner contra las cuerdas a un juego de Steam

"El idioma alemán rompió nuestro juego": cómo una simple coma bastó para poner contra las cuerdas a un juego de Steam

La corrección de errores es una de las tareas más frustrantes en el desarrollo de videojuegos, especialmente cuando un fallo parece ocurrir de forma totalmente aleatoria y sin seguir ningún patrón. El mundo de los bugs en los videojuegos es muy curioso, y sino que se lo digan a los chicos de Atari, que al intentar centrar el logo de la empresa en el juego ‘Tempest’ acabaron implementando un fallo que permitía conseguir partidas infinitas.

Pues algo en esa línea le ha pasado a Black Beach Studios, desarrolladora de Iron Rebellion, un shooter de mechas para realidad virtual. En el estudio estuvieron meses enfrentándose a un enigma: los jugadores no dejaban de quejarse en Steam y en la tienda de Meta Quest de cierres inesperados en el juego. El problema era que en los reportes automáticos de fallos no aparecía absolutamente nada.

No fue hasta que el equipo empezó a recrear situaciones de juego muy específicas cuando dieron con una cadena de errores tan absurda que, viéndolo con perspectiva, casi parece una broma a pesar de tener todo el sentido del mundo. 

Dos alemanes, una pelea y una caída hacia la izquierda

Captura de pantalla de Iron Rebellion | Imagen: Black Bleach Studio

Captura de pantalla de Iron Rebellion | Imagen: Black Bleach Studio

Según explican los propios desarrolladores en un vídeo publicado en TikTok, el origen del problema residía en una combinación de eventos extremadamente específica. El juego se colgaba exactamente cuando ocurría lo siguiente:

  • Un mecha era destruido.
  • Los restos del mecha caían hacia la izquierda.
  • El combate tenía lugar en un punto muy concreto de un mapa específico.
  • Y siempre había exactamente dos jugadores alemanes participando en la partida.

Ante esto, el equipo se hizo la pregunta lógica: ¿cómo es posible que el idioma de los jugadores haga que el juego se rompa? Los que sepáis de informática ya estaréis intuyendo la razón: los decimales, que los carga el diablo.

En informática, los números decimales son un asunto delicado. Mientras que en el mundo angloparlante se utiliza el punto como separador decimal (por ejemplo, 1.99), en países como Alemania se utiliza por defecto la coma (como hacemos en España, por ejemplo, con el 1,99). Si esto no se tiene en cuenta, los ingredientes para el desastre están servidos: debido a la localización al alemán, el juego, por alguna razón, convertía los puntos decimales en comas al calcular las posiciones físicas. 

Imagen | Black Beach Studio

Imagen | Black Beach Studio

Cuando el mecha caía hacia la izquierda en ese punto concreto, el juego enviaba los datos de posición en paquetes de red al resto de jugadores. Debido a la configuración regional, estos paquetes contenían comas en lugar de puntos, lo que provocaba que el código de red de los demás jugadores no supiese interpretar la información. Los datos no se podían procesar y el juego se cerraba por completo de forma instantánea.

El problema ya ha sido solucionado y el juego es totalmente funcional, pero no es la primera vez que sucede algo parecido. De hecho, pasó algo similar en juego muy querido: ‘The Witcher 2’. El juego tenía un fallo en la gestión de memoria y codificación de fuentes con los textos en alemán, de manera que cada vez que intentaba procesar un carácter con Umlaut (ä, ö, ü) o la ß, se rompía. Además, ocurría en cualquier contexto: al reproducirse en subtítulos, en el inventario… La comunidad tuvo que salir al rescate con un mod no oficial.

Vía | Gamestar.de

Imagen | Gamestar.de


La noticia

«El idioma alemán rompió nuestro juego»: cómo una simple coma bastó para poner contra las cuerdas a un juego de Steam

fue publicada originalmente en

Xataka

por

Jose García

.