No te pierdas la conversación sobre el futuro de la conexión entre la tecnología y la humanidad.

¿Testear un videojuego de mundo abierto? ¡Es muy fácil! Prueba estas herramientas

julio 26, 2022

En los primeros dos artículos, analizamos los diferentes tipos de testing que se usan en el desarrollo de juegos y algunos ejemplos de bugs que suelen aparecer en ellos. Pero aún queda una pregunta por responder: ¿cómo podemos testear todo esto?

Mi nombre es Aliaksei Simkin, y trabajo en el QE Studio de Globant. En este artículo, voy a compartir algunos de mis enfoques y herramientas preferidos para probar diferentes videojuegos, incluidos los juegos con mapas extensos, como los del género “battle royale”, o más bien locales, como los simuladores de deportes.

Cheat codes y cheat menus

Originalmente, los cheat codes no nacieron como easter eggs o tips para que los jugadores puedan cargar un determinado nivel u obtener riquezas infinitas. Tampoco servían como mecanismo de guarda, aunque pueden usarse con ese propósito. Los equipos de desarrolladores usaban los cheat codes para eliminar los bugs de los juegos. Con el paso del tiempo, los jugadores comenzaron a ganar acceso a los cheat codes y su demanda aumentó.

En lugar de tener que memorizar e ingresar códigos extensos, se usan cheat menus con largas listas de cheat codes agrupadas de forma conveniente. Los jugadores pueden llamar a estas listas en casi todas las pantallas, pero si un código no se adecúa a las condiciones existentes en ese momento, no se ejecutará (por ejemplo, si intentas crear un objeto en el menú principal).

Los cheat menus no son funciones típicas. Cada juego tiene un aspecto único y un código específico responsable por su implementación.

Пример удобного чит меню

Sin embargo, un gran poder conlleva una gran responsabilidad. Los cheat codes a veces generan bugs que no pueden reproducirse en las condiciones reales del juego. Es por eso que los bugs más complejos o “extraños” deben rechequearse y reproducirse sin usar cheat codes. Además, hay que tener en cuenta el flujo completo que un jugador debe atravesar para encontrarse con este problema. Por otra parte, cabe recordar que existe una gran probabilidad de que los jugadores nunca vayan a toparse con los bugs que son fáciles de reproducir con la ayuda de cheats.

P.D.: Motherlode y Konami Code siempre estarán en nuestros corazones.

Consola de juego

La consola de juego suele usarse como una herramienta de testeo funcional. En general, aparece debajo de una línea o en la parte superior de la pantalla al hacer clic en “~” (tilde), y ocupa una buena parte de ella. Utilizando la consola en dev builds (por ejemplo, directamente desde Unreal Editor), puedes conectar el back-end con las cuentas de prueba que necesites, acelerar o ralentizar el juego (no los FPS, sino las acciones y el tiempo dentro del juego), utilizar cheat codes, activar y desactivar los HUD de depuración y mucho más.

Пример игровой консоли в counter strike 1. 6

Visualización head-up (HUD) en el juego

Los widgets de la HUD son herramientas muy útiles que no pueden obtenerse sin la ayuda de los desarrolladores. Se los suele invocar a través de la consola de comando. Determinada información va a mostrar datos específicos dependiendo de cómo los desarrolladores hayan configurado la HUD. Estos elementos son muy útiles para monitorear el daño, el progreso en los desafíos, el uso consumible y mucho más. Al igual que los cheat menus, las HUD se desarrollan de forma explícita para eliminar bugs y tal vez no estén presentes en tu juego.

Salón de armas o herramientas

Este tipo de cuarto en general contiene armas, personajes, enemigos (incluidos los bosses), superficies, objetos y elementos consumibles, vehículos, etc. En general, allí puedes encontrar todo lo que necesitas (en realidad o en teoría) para testear durante la experiencia de juego.

Además de todo lo que mencionamos antes, en esos espacios los game testers pueden crear cuartos para sus necesidades específicas. Por ejemplo, se pueden ubicar objetos de diferentes formas para chequear si un obstáculo de un determinado tamaño te protege durante una sentadilla, cuando estás parado, etc. En otro cuarto, puedes chequear si tu personaje está caminando entre objetos. Estos espacios suelen estar presentes en los juegos más bien extensos, ya que se necesita un presupuesto considerable para diseñarlos.

Пример training room из apex legends

Archivos de configuración

Los archivos de configuración son omnipresentes y puedes usarlos con diferentes propósitos. Hay muchos más archivos de configuración en el dev builds que en la versión de lanzamiento. Permiten habilitar o deshabilitar funciones, modificar los permisos, controlar el nivel de logging, especificar a qué back-end conectarse, gestionar la configuración de gráficos y mucho más. La cantidad de configuraciones disponibles y su alcance puede variar de forma significativa dependiendo del juego, incluso entre juegos desarrollados en el mismo motor.

Пример файла конфигурации (. Ini файла) из fortnite

Gestionar tu conexión a internet

En la actualidad, es fundamental verificar la conexión de red. Incluso en los juegos de un solo jugador puede (y suele) haber elementos que dependen de la conexión a internet. Por desgracia, no existe una única herramienta integral que nos pueda ayudar en este caso. En lo personal, me gusta y me resulta práctico usar la herramienta Clumsy para manejar este tema. El programa no manipula el juego, sino tu conexión en el dispositivo. Esto convierte a Clumsy en una herramienta útil para administrar tu conexión en torno a cualquier necesidad: aplicaciones web, software individual, juegos, etc.

 

Пример использования clumsy

Modos de visualización

Los motores de juego tienen funciones como los “modos de visualización” que te ayudan a ver qué tipos de datos se están procesando en tu escena y a diagnosticar errores y resultados inesperados. Los modos de visualización más comunes tienen sus propios hotkeys, que pueden variar dependiendo del motor.

Sin embargo, puedes verlos todos desde el modo de visualización o llamarlos usando el comando indicado en la consola. A continuación, comparto algunos ejemplos de modos de visualización de Unreal Engine. Puedes leer más en la documentación del motor.

Veamos algunos de ellos.

Modo “lit”

Este modo de visualización muestra el resultado final de tu escena una vez que se aplican todos los materiales y los efectos de luz.

27iu6khdie2knkr gs3cgmkw0buo6vysddvmptszaai6ee2c rryggvemnhnejpi49u qtp2bigzs0j6jn6ril3fi283fvy18sifzr8 1fjpirnaecm4ov71hbhqvwl t kpgzsuu4wwhgrllv7u64

Modo “unlit”

Este modo de visualización elimina toda la luz de la escena y muestra solo la base de color.

Uvalotftbgr gkjoamkqa jhgsaeosvgtl9uwoj uybu05wk417h 1pebhkfu2mc4b3

Modo wireframe

El modo wireframe muestra todos los bordes de polígonos en la escena. En el caso de los pinceles, verás la geometría resultante. Las líneas de color de los bordes de los polígonos pueden tener funciones adicionales (o no, en cuyo caso los bordes suelen ser negros).

7749yqi2hyp7hlukurod cakonpg5ddtezulvevkfn65mn3swyvmjnziuorps9ouyzwkao19ksb

Modo reflejos

El modo de visualización de reflejos anula todos los materiales con una normal plana y una rugosidad de 0. O sea, es como un espejo. Esto sirve para diagnosticar problemas en los detalles de los reflejos y permite colocar más actores de captura de reflejos en áreas que requieren de más detalle.

V irwcqpbweiz8igf9wlxundc6fhtwjinkhwlgs6tklu7gexkseynuotj8yudxdx7o 29fy9nmftiz 7kwu5z24hbarzyhol1udk4cfqfnhe8bwoyklbnudglaggdwboqtnhv byzbrv04jekakosis

Toolkits de las tiendas de juegos digitales

Todas las tiendas digitales ofrecen a los desarrolladores un toolkit para descargar y probar el juego en sus sistemas. Por ejemplo, Steam te permite cambiar los idiomas (localización) a través del menú “Propiedades” de tu juego, iniciarlo con tus parámetros, revisar la integridad de sus archivos, chequear si hay actualizaciones de tu sistema CI/CD de forma manual y mucho más.

Пример функционала для добавления вашей игры (dev build) в вашу коллекцию steam Así se ve cuando añades tu juego (dev build) a tu colección de Steam

En la mayoría de los casos, no hace falta que los testers usen un build de editor porque la mayoría de las necesidades están cubiertas por defecto en el build de la tienda del juego. Este build se asemeja lo más posible al producto final.

Меню контроллеров, поддерживаемых вашей игрой на данный момент

Herramientas de trabajo útiles para testear juegos

Estas son algunas de las herramientas que no están relacionadas de forma directa con el testing pero que pueden hacer tu vida más sencilla: VCS (Perforce, Git), editores de motor de juegos, Grafana y Playfab.

Sistemas de control de versiones (VCS)

No voy a hablar mucho sobre Perforce y Git porque son programas de control de versiones comunes y son fundamentales en el flujo de trabajo de la mayoría de los proyectos. Con Perforce, puedes descargar un dev build, cargar tus cambios, seleccionar y usar un número de build específico (Change List), poner archivos a disposición para su edición (Check Out), fijar las configuraciones que necesites, etc.

En general, también se usa Git en proyectos de videojuegos, pero Perforce y Git cubren necesidades diferentes. Por ejemplo, Perforce se usa para trabajar con el cliente mientras que Git sirve para trabajar con el back-end. Puedes leer más acerca de Perforce en su sitio web oficial. Y en lo personal, recomiendo que aprendas a usarlo.

UnrealGameSync (UGS)

Si no quieres pasar un mal rato aprendiendo a usar Perforce pero necesitas ser capaz de recolectar builds con determinados CL, UnrealGameSync (UGS) es una excelente opción. Se trata de una herramienta para Unreal Engine que te permite ver y filtrar los CL en el repositorio. UGS es sumamente práctico para hacer un seguimiento de los últimos cambios y generar nuevos builds. Con solo hacer doble clic en el CL que quieras puedes dar inicio al proceso.

Zvdaljpwdsquwwitapysrko4s cvwexy8zqxkv7whqxi7a4d86h wp7qp97foq8dmm zf xfkqiuwwlr o kemtlyuiquxbfoemegng9w9katzcol1g8nbjljugbaid0nos7uecszthsdnzuosr hs0

Editor del motor

Algo similar ocurre con el editor del motor de juego. Puedes reconfigurar los elementos que necesitas en el juego antes de iniciarlo, así como iniciarlo en modo “editor” (el juego se lanza en el ViewPort de tu motor) o en modo “individual”. Esto te permite cumplir cualquier deseo o preferencia. Aún así, muchas veces es necesario probar el juego en builds “terminados” que pueden descargarse desde tus recursos internos luego de completar el proceso de CI/CD o jugarse directamente en plataformas digitales como Steam. También vale la pena mencionar que el editor puede no estar disponible en algunos motores personalizados.

Grafan

Grafana es un dashboard de visualización de métricas que se utiliza en varias instancias del proceso. Es una herramienta útil durante las pruebas de red y rendimiento debido a su capacidad para monitorear la cantidad de jugadores reales y simulados en un momento dado, mostrar información limitada a equipos externos durante el proceso, etc. Puedes leer más sobre esta herramienta aquí.

Пример графиков в grafana

Playfab

Creo que también vale la pena mencionar a Playfab, un back-end de Microsoft por suscripción y listo para usar que combina cuentas de diferentes juegos en una única cuenta maestra y ayuda a configurar la economía dentro del juego sin código “innecesario”. Playfab no se usa muy seguido en el proceso de testing. No se trata de una herramienta de testeo, como la mayoría en esta sección, pero te permite revisar la precisión de la analítica de uso vinculados a tu funcionalidad, entre otras cosas. ¿Quién no utilizaría la analítica para los sistemas de BattlePass o de progresión?

En el sitio web de Playfab, puedes ver varios juegos que ya utilizan este producto, como Doom Eternal, Minecraft, Roblox, Gears 5 y muchos otros. Echa un vistazo a las funciones que ofrece Playfab en su sitio web.

Herramientas de proveedores de consolas

Los proveedores de consolas cuentan con herramientas orientadas a la comunicación y el trabajo con dev-kits y test-kits. Estos programas tienen muchas funciones útiles, como la recolección de logs, el trabajo con datos guardados, la recopilación de información cuando el juego falla, los recursos extendidos de los dev-kits, la emulación del trabajo con servicios en línea sin conexión directa, el control remoto y mucho más. En 2020, todos estos programas comenzaron a mejorar sus funcionalidades para el control remoto de consolas, lo cual es sumamente útil para el contexto actual.

Пример использования nintendo target manager, найденный на просторах интернета Un ejemplo de uso de Nintendo Target Manager que encontramos en internet 

Conclusión

Como puedes ver, el game testing es un proceso complejo y de múltiples etapas que implica una gran variedad de pruebas, incluidas algunas que no encontrarás en otros “géneros” de programas. Puedes comenzar a testear juegos con tareas simples y sabiendo solo las nociones básicas en una posición junior para comprender mejor cómo funciona la industria del gaming. Esto no requiere conocimientos avanzados de gaming en absoluto.

Como en cualquier otra industria, deberás ganar experiencia en diferentes herramientas para convertirte en un especialista. Necesitarás capacidades analíticas que te guíen, habilidades exhaustivas, conocimiento sobre videojuegos, estructuras y mecanismos, la capacidad de trabajar bajo presión, etc. El testeo de juegos es como Raid Boss, y necesitas el nivel de experiencia adecuado para superarlo.

Para trabajar con especialistas de este tipo y lanzar juegos de alta calidad, no basta con contratar a un “ingeniero de control de calidad experimentado”. Se necesita alguien que conozca el mundo del gaming.

Aprende más sobre nuestro Gaming Studio.

Artículos relacionados

Temas populares

Blockchain
Globant Experience
Healthcare & Life Sciences
Metaverse
Sustainable Business
Technology

Suscríbete a nuestro newsletter

Recibe nuestras últimas noticias, publicaciones seleccionadas y aspectos destacados. Nunca enviaremos spam, lo prometemos.

Más de

Gaming Studio se especializa en el diseño, soporte y desarrollo de videojuegos y servicios multiplataforma de clase mundial que funcionan en la vasta extensión de consolas, PC, dispositivos móviles y medios web.