Hoy vamos a hablar sobre el testeo de juegos. Quiero brindar información útil para los QA Specialists que están dando sus primeros pasos en este sector y refutar algunos mitos como “Juégalo tú mismo y haz que un amigo lo juegue, y ese es todo el testing que necesitas”.  Además, voy a compartir algunas nociones básicas sobre los tipos de testing, los bugs, los diferentes enfoques existentes y las herramientas que te ayudarán a garantizar la calidad de tu juego.

Este artículo forma parte de una serie de blogs. Mi nombre es Aliaksei Simkin y tengo mucho que decir al respecto.

¿Qué es un videojuego? Según Wikipedia, “un videojuego o un juego por computadora es un juego electrónico que implica interactuar con una interfaz de usuario o un dispositivo de entrada, como un joystick, un control de mandos (gamepad), un teclado o un sistema de detección de movimientos para generar retroalimentación visual. Esa retroalimentación se muestra en un dispositivo de video como una TV, un monitor, una pantalla táctil o un casco de realidad virtual. Los videojuegos suelen emplear retroalimentación por audio a través de parlantes o auriculares. También ofrecen otros tipos de retroalimentación, incluida la táctil”.

El gaming incluye varios componentes y un factor de “entretenimiento” efímero. Recuerda que, ante todo, esto es un juego. Por lo tanto, la frase “testear = jugar” es parcialmente cierta, ya que uno de los métodos para testear un videojuego es, en efecto, jugarlo.

Tipos de game testing

Existen algunos abordajes estándar para testear videojuegos. Veamos algunos de ellos:

Testing funcional

Comencemos con lo básico: el testing funcional y no funcional. A pesar de que hay mucho que decir sobre este tema, no es necesario que tengas un conocimiento profundo sobre los videojuegos y sus mecanismos. El documento más importante que vas a necesitar es el Game Design Document (GDD) o documento de diseño del juego. Allí se describen todos los detalles más importantes. Algunos desarrolladores incluso afirman que los testers no necesitan entender los videojuegos para probarlos. Solo deben seguir la documentación.

Playtesting

Este tipo de testeo de juegos está diseñado para comprender qué clase de experiencias y emociones se espera que el juego ofrezca o despierte. Las playtests se llevan a cabo antes de que el videojuego salga a la luz y consisten en brindarles a los jugadores acceso a una versión preliminar del juego. Los participantes de la playtest suelen ser gamers comunes, parientes, amigos o cualquier persona que quiera echar un vistazo a tu producto y darte su opinión sobre la experiencia de juego. Antes de comenzar, los participantes de la prueba deben firmar un acuerdo de confidencialidad.

Game design testing o pruebas de diseño

En esta categoría se incluyen las pruebas de balance, el diseño de niveles y el factor “entretenimiento”.

  • Como su nombre indica, las pruebas de balance implican evaluar el balance del juego. Por ejemplo, revisar que un arma no sea mucho más fuerte o débil que otra de la misma categoría o que los niveles fáciles no sean más complejos de lo planeado. En algunos casos, también vale la pena considerar los factores externos del juego o el “balance de poder”. Estos aspectos son responsabilidad de otra área, pero los QA pueden tomar notas y compartirlos con el equipo.
A veces, se hace un análisis literal del “balance” del juego

.  Testing del diseño de niveles. Este tipo de pruebas garantiza que sea posible jugar cada nivel del videojuego sin que existan obstáculos insuperables. Incluso los niveles más bellos a nivel visual pueden tener barreras no intencionales, como paredes invisibles (donde hay un modelo o mesh pero no hay texturas) o agujeros en el suelo a causa de una unión deficiente de los planos o modelos. Esto lleva a los jugadores a los puntos de atascamiento que evitan que los personajes puedan avanzar.

Ejemplo de diseño de niveles en sus etapas iniciales

Pruebas del factor entretenimiento o “fun factor testing”. Aquí el foco está puesto en el aspecto divertido del videojuego. Si bien algunas personas incluyen esta prueba en el playtesting, otros la llevan a cabo de forma separada. 

Parte de la magia de los videojuegos es que tienen cierto nivel de dificultad y desafían al público. Un videojuego equilibrado puede no ser divertido. Por lo tanto, es fundamental revisar todos sus elementos y niveles para mantener a la audiencia motivada. El aspecto mecánico y el arte visual también son elementos cruciales del factor entretenimiento: nada arruina la diversión como un juego que no funciona bien.

Testing de componentes visuales

Este grupo incluye las pruebas de modelos o escenas 3D, sprites 2D, y los juegos 2.5D.

  • El testing de modelos 3D incluye la validación del modelo (ya sea de alta o baja poligonización) en cuanto a los componentes visuales y la cantidad de polígonos fijados en los requisitos. También implica validar:
  • Si todos los mapas (normal, textura, oclusión, etc.) están disponibles y se usan para los modelos.
  • Si el interior de tu modelo es visible y si se supone que tiene que serlo.
  • Si el modelo tiene alguna falla durante la animación (rigging y skinning). 

Estas verificaciones les permiten a los equipos detectar los problemas a tiempo y desarrollar soluciones para optimizar sus esfuerzos.

Un ejemplo de trabajo sobre un modelo 3D

  • El testing 2D funciona con sprites, y en el caso de los juegos 2.5D, se requiere la verificación de los modelos 3D. Solemos llevar a cabo este tipo de pruebas en los juegos de lucha, side scrollers, o roguelikes, en los cuales solemos encontrar problemas en torno al renderizado del universo y los héroes en los proyectos isométricos (por ejemplo, en juegos como Fallout 1 y 2). En general, las fallas están vinculadas a los objetos transparentes. 

A pesar de que tu proyecto esté en 2D o 2.5D, puede que los elementos del juego interactúen con objetos 3D o tengan efectos complejos asociados con la transparencia. En este sentido, una situación problemática se presenta cuando un objeto de varios sprites se disuelve o aparece a través del alfa, y cada alfa se cuenta de forma separada. Como consecuencia, tendrás tres objetos sin relación en lugar de uno. Para evitar estas situaciones, puedes renderizar un objeto en una textura y usarla para dar efecto y que no se pierda su integridad.

Por otra parte, no solo debemos revisar a los personajes y sus modelos. También hay que prestarle atención a los NCP y los enemigos y su IA (IA en este contexto se refiere a cómo se comportan los bots). Ya hay un campo de estudio completo que agrupa las pruebas de IA e incluye la comprobación de aspectos como Pathfinding, AI Spawning, AI Reaction, Detection Range / NPCs (cono de visión), etc.

Testing de rendimiento

A la hora de reemplazar modelos de alta poligonización con modelos de baja poligonización o incluso impostores, mostrar polígonos en escenas cargadas o procesar efectos, entre otras cosas, puede reducir de manera significativa el rendimiento y los fotogramas por segundo (FPS). Todos estos aspectos se evalúan durante las famosas pruebas de rendimiento. Me atrevería a incluir las pruebas de remojo o soak testing en esta categoría, ya que los especialistas QA se encargan de buscar filtraciones de memoria en el juego. Además, dentro de las pruebas de rendimiento podemos mencionar el testeo de estabilidad, en el cual los QA detectan sus errores “favoritos”: congelaciones, crashes, pantallas negras, imposibilidad de cargar un nivel, daños en los datos guardados, etc.

Network testing

Ten en cuenta que pueden surgir problemas no solo porque hay muchos modelos en la pantalla sino también porque hay muchos jugadores en línea en el juego. El network testing o las pruebas de red pueden ayudarte a abordar este tema. Gracias al quality assurance, puedes verificar los retardos o las caídas en la conexión, el matchmaking, la estabilidad de la conexión, los retrasos en la retroalimentación de los controles y mucho más. 

Vale la pena mencionar que una mala conexión a internet puede causar bugs en tu juego. Para detectarlos, debes imitar este escenario.

Back-end testing

Ahora que hemos analizado el front-end (el lado del cliente), hablemos sobre back-end testing, que abarca las bases de datos, las API (las REST API, por ejemplo), la telemetría, etc.

  • Testing de compatibilidad

Los juegos deben estar optimizados y transferirse al hardware de diferentes plataformas (Playstation 4/5, Xbox Serios X/S, Nintendo Switch, Steam Deck), así como a la configuración única de tu PC. ¿Quién es responsable de esta tarea? Correcto: el testing de compatibilidad. 

Muchas plataformas tienen diferentes mecanismos de operación (como 4K 30FPS + Raytracing, 1080p 120fps, etc.). Nintendo Switch es un buen ejemplo. Funciona en dos modalidades: portátil (720p) y fija (1080p). No olvides el creciente uso de los gamepads en todas partes y revisa los diferentes controles de mando que pueden funcionar con tu juego en una PC o consola.

  • Testing de RV y RA

El mercado de las aplicaciones y los juegos de RV y RA está aumentando. Quiero resaltar las pruebas de RV y RA por separado porque estos dispositivos tienen demasiadas características como para entrar en definiciones generales. 

En mi experiencia, los juegos de RV tienen aspectos físicos y cognitivos que hacen que sea más difícil diseñarlos y testearlos (por ejemplo, los mareos por movimiento causados por el uso de los cascos).

  • Testing de cumplimiento

Recuerda que las plataformas suelen tener sus propios estándares además de tus estándares de calidad. Se los conoce como Technical Requirements Checklist o TRC. En general, el equipo de QA de la plataforma está a cargo de revisar esos requisitos como parte de su evaluación de cumplimiento. Este tipo de testing incluye las compras in-game, los logros, las suscripciones y la atención al cliente en torno a las características del servicio de streaming.

  • Testing alfa y beta

Algo similar ocurre durante las pruebas alfa y beta. Las pruebas pre-alfa, alfa y pre-beta, que pueden ser abiertas o cerradas. Estas implican cortar el juego en cierto punto y revisar si determinada parte está lista. Durante estas etapas iniciales, los game testers deben usar diferentes controles de mando cuando juegan y navegan por tu producto. Aquí es donde entra el testing de usabilidad. Y no hay una receta secreta: tu juego debe ser intuitivo y agradable de usar.

  • Testing de audio

Estoy más que seguro de que muchos de los lectores de este artículo se ven muy influenciados por los sonidos. En los juegos, al igual que las películas, el sonido es una de las herramientas más poderosas para generar un impacto en el jugador. El testing de audio involucra evaluar el sonido del juego y garantizar que la música, los efectos especiales de audio, los diálogos y las señales estén alineadas con lo que ocurre en la pantalla. Existe software de audio especializado que te permite encontrar efectos y réplicas de manera automática.

También es importante que los usuarios puedan jugar en su idioma nativo. El mercado global te da acceso a un público mucho mayor. Si cuentas con conocimiento sobre pruebas de internacionalización (I18N) y localización (L10N), puedes hacer que tu juego sea increíble incluso del otro lado del mundo. 

  • Testing móvil

Ya hablamos sobre las PC y las consolas, e incluso sobre los juegos de RV y RA. Pero aún no analizamos los dispositivos favoritos de los gamers: los móviles. Es fundamental conocer y entender al menos las nociones básicas sobre el testing móvil, ya que las ganancias de este sector del mercado ya están superando a las de las consolas y las PC. 

Todos los tipos de testing que mencionamos con anterioridad aplican a los juegos móviles. Sin embargo, es clave conocer los pormenores de este tipo de dispositivos y aplicaciones. 

  • Testing de seguridad

No te olvides de probar la seguridad de tu juego. Los juegos utilizan cuentas de diferentes sistemas, incluidos servicios en línea y cuentas de tus consolas. Por ejemplo, puedes jugar Rocket League a través de tu cuenta de Epic Games, pero antes debes acceder a tu cuenta de Playstation Network. Ya que los jugadores deben ingresar a varias cuentas, la seguridad es crucial para mantener su información a resguardo. 

  • Pruebas de automatización

Antes de finalizar la sección sobre tipos de testing, hay que mencionar las pruebas de automatización de juegos. La automatización en el desarrollo de juegos es un proceso bastante complejo. Por ejemplo, en la experiencia de juego, debemos considerar varios factores, como la ubicación del personaje y lo que ocurre a su alrededor. 

Sin embargo, automatizar elementos de la IU o las pantallas de navegación (como el menú principal) es más sencillo. La experiencia de juego se automatiza escribiendo tus bots. También puedes usar herramientas de reconocimiento de imágenes, que son ideales para automatizar screenshots sin experiencia de juego o incluso módulos específicos en un motor de juego.

Vale la pena mencionar que las empresas testean sus videojuegos según sus objetivos y necesidades. Por otra parte, los conceptos y las prácticas estándar pueden tener otros nombres en algunos contextos. 

Observa qué tipo de testing usa tu proyecto o compañía y compáralo con los que describimos con anterioridad. Y si tienes un enfoque diferente para testear juegos, ¡dinos cuál es!

Leave a Reply

Tu dirección de correo electrónico no será publicada.

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>