Con una Unreal Engine benchmark se pueden probar gráficos de nueva generación en una GPU para poder medir el rendimiento. Además, existen algunos programas de pruebas que ya usan la nueva versión Unreal Engine 5, uno de los motores gráficos más potentes del momento, y que moverá a nuevos títulos AAA con resultados extremadamente realistas.
Índice de contenidos
¿Qué es un game engine o motor gráfico?
Un game engine o motor gráfico es un software que tiene un papel fundamental a la hora de las animaciones y videojuegos. Es el encargado de dar vida a los personajes y recrear las escenas, así como también aporta sonido, inteligencia artificial, secuencias de comandos de animación, conexiones de red, etc. Es decir, es la base de los videojuegos y que actúa de forma transparente al usuario. Por otro lado, desde el punto de vista de los creadores de videojuegos, el motor gráfico es como un IDE o entorno de desarrollo, proporcionando una capa de abstracción, un marco para poder diseñar y hacer funcionar a los videojuegos.
Existen varios motores de videojuegos. En algunos casos, los desarrolladores crean un motor específico para cada videojuego. Pero en otras muchas ocasiones emplean motores de videojuegos de terceros (Unreal Engine, Unity 3D, Godot,…), y que pueden funcionar para distintas plataformas, como los ordenadores, consolas o dispositivos móviles.
En cuanto a los componentes de un motor de juegos o game engine, destacan:
Input: un videojuego necesita admitir una gran cantidad de dispositivos de entrada, como un ratón, un teclado, gamepad, joysticks, etc. Para poder manejar toda esta entrada se necesita un código que se incluye en el motor gráfico, y que se encarga de capturar los eventos de entrada, como cuando se hace clic en el ratón, se pulsa una tecla, se toca una pantalla táctil, etc. Por supuesto, también va más allá de simplemente recibir la señal de entrada, ya que también debe reconocer, por ejemplo, dónde se encuentra el cursor en coordenadas para determinar hasta dónde debe viajar con el movimiento, el ángulo de inclinación, etc.
Gráficos: por supuesto, es el principal de sus objetivos, proveer de gráficos 3D o 2D a los videojuegos o animaciones. Los gráficos se pueden diseñar y renderizar en programas como Maya, Blender, etc., y luego se importan al motor de juego, que suele admitir varios tipos de formatos de renderizados. A ellos se pueden agregar multiples efectos de iluminación, sombras, relieves, animaciones, etc., que suele incluir el editor del game engine.
Física: los videojuegos también son física, y un Physics Engine incluido en el motor gráfico se encargará de esta física. Por ejemplo, realizar simulaciones realistas de los impactos y sus consecuencias, la incidencia de la luz solar, los rebotes de proyectiles, las deformaciones, las ondas de los fluidos y su dinámica, el comportamiento de la masa del cuerpo, etc.
IA: la inteligencia artificial es vital para los videoju8egos, jugando un papel importante a la hora de jugar. Se trata de un sistema capaz de recordar y aprender, y, entre otras cosas, determinar cómo actúa el contrincante/aliados contra el que juegas, en los modos single-player.
Sonido: el game engine también se encarga del sonido, por ejemplo los efectos de sonido de cada escena a través de APIs.
Redes: por supuesto, no podía faltar el aporte para el trabajo en la red del videojuego. Por ejemplo, para los videojuegos multijugador o sociales, que necesitan soporte para poder gestionar el tráfico de red, etc.
¿Qué es un benchmark?
Un benchmark o punto de referencia, es un tipo de programa o software para evaluar el rendimiento de un sistema o de una parte específica, como la memoria, la CPU, GPU, E/S, etc. Tras ejecutar una serie de pruebas se determinará el resultado, y se mostrarán gráficas o se harán comparaciones con bases de dados con otros resultados para determinar en qué posición ha quedado.
A pesar de que pueden parecer muy prometedoras para medir el rendimiento y hacer comparativas, hay que tomar los datos con cuidado, ya que algunos códigos pueden estar optimizados para ciertos productos, dando resultados poco realistas y que no se traducen a algo real en la práctica.
Por otro lado, los programas de benchmarking deberían tener unas características fundamentales para ser realmente útiles:
Se relevantes para medir características que realmente repercuten en las aplicaciones o usuarios finales.
Ser representativos en cuanto a las métricas de rendimiento.
Tienen que garantizar la equidad e igualdad para ser realmente justos en las comparativas.
Los resultados deben poderse repetir tantas veces como se necesite para obtener los mismos resultados.
Deben ser escalables y portables para funcionar en multitud de equipos y con más o menos recursos.
La transparencia es también vital para dar confianza de las métricas.
En cuanto a los tipos de benchmarks destacan:
Caso real: es un programa real con el que se realizan medidas o comparativas, como podría ser un programa CAD, un procesador de textos, un compresor de archivos, un codificador, etc.
Microbenchmark: se trata de rutinas o código de programa que mide el rendimiento de componentes básicos de la computadora, como puede ser la velocidad de la red, la latencia de memoria, velocidades de acceso de la memoria secundaria, E/S, etc.
Core: para poder realizar pruebas de rendimiento a los núcleos de procesamiento CPU, GPU,…, midiendo gen FLOPS o alguno de sus múltiplos.
Sintéticos: estos puntos de referencia no son programas reales, sino códigos escritos específicamente para estos fines.
¿Qué es Unreal Engine?
Unreal Engine es un motor gráfico creado por Epic Games y mostrado inicialmente para el shooter en primera persona (FPS) Unreal de 1998. Este motor gráfico fue creado inicialmente por Tim Sweeney, escrito en lenguaje de programación C++ (código fuente disponible bajo licencia comercial con un modo de regalías o royalties). Poco a poco se ha desarrollado para variedad de géneros más allá del FPS, como los juegos de sigilo, lucha, MMORPG, RPG, etc. Y cada vez han sido más los títulos que han querido contar con él.
En cuanto a las versiones de Unreal Engine, a lo largo de la historia hemos visto aparecer las siguientes:
La primera versión apareció en 1998, con renderizado, detección de colisiones, IA, y redes, así como manipulador de archivos incorporado.
La versión 2 llegaría un poco más tarde, haciendo su debut en America’s Army de 2002. En ella se reescribió el motor de renderizado, con nuevo SDK y otros muchos elementos mejorados y actualizados, así como soporte para Xbox, Nintendo y PlayStation.
Unreal Engine 3 es la tercera generación, aparecida en 2006. Esta versión soportaba DirectX 9 y 10, Xbox 360 y PlayStation 3. Nuevamente se reescribió el motor de renderizado y se incluyeron técnicas nuevas como HDRR para sombras dinámicas y mapeado, FaceFX para generaciones faciales, etc.
La cuarta llegaría años más tarde, y con problemas de desarrollo conocidos. Este motor gráfico estaría disponible para todos los que quisiesen desarrollar de forma gratuita, con actualizaciones también gratis.
La quinta versión fue revelado en mayo de 2020, aunque no llegaría hasta mayo de 2021, un año más tarde…
Videojuegos basados en Unreal Engine
Los videojuegos que se apoyan en Unreal Engine con títulos/sagas más relevantes son:
Deus EX
X-COM la versión 1 y 2
Unreal Tournament
Bioshock
SWAT 4
Portal
Tom Clancy’s
Star Wars
Aliens
Batman
Harry Potter
Gears of War
Mortal Kombat X
Thor
X-MEN
PUBG
Ark
Dragon Ball
Fortnite
PlayerUnknown’s
Tekken
Street Fighter
y un largo etc.
Como ves son títulos o sagas bastante reconocidas en el mundo de los gamers.
Otros motores alternativos a Unreal Engine
En cuanto a las alternativas para Unreal Engine, también tienes a tu alcance otros motores para el desarrollo de videojuegos o como base para los benchmarks:
Unity 3D: escrito en C++, propietario, para plataformas, para 2D, 2.5D y 3D, y plataformas tan variadas como Windows, macOS, Linux, Xbox 360, Xbox One, Wii U, New 3DS, Nintendo Switch, PlayStation 4, PlayStation Vita, Windows Phone, iOS, Android, BlackBerry 10, Tizen, Unity Web Player, Windows Store, WebGL, Oculus Rift, Gear VR, Android TV, Samsung Smart TV, y Google Stadia. Con él se han creado un sin fin de títulos.
Unigine: escrito en C++, para 3D, propietario y para plataformas como Windows, Linux, macOS, Android, PS e iOS.
Source: escritos en C++, con dos versiones, licencia propietaria, y desarrollados por Valve. Disponible para Windows, Linux, Android, macOS e iOS. Se ha empleado para títulos tan famosos como Half Life, Dota, Left 4 Death, Counter Strike, etc.
Pyrogenesis: un motor gráfico de código abierto, bajo licencia LGPL, y escrito en C++. Pensado para el videojuego de estrategia de código abierto y gratuito 0 a.C.
PlayCanvas: escrito en JavaScript, bajo licencia MIT de código abierto, y disponible para Windows, Linux, macOS, iOS, HTML5, Android.
Godot: motor gráfico de código abierto, bajo licencia MIT y escrito en C++,disponible para Linux, Windows, macOS, dispositivos móviles Android e iOS, y web/html.
Marmalade: para 2D y 3D, escrito en C++, Lua, Objective-C, y HTML5. Es propietario y está pensado para multiples plataformas como macOS, Windows, iOS, Android, Tizen, Roku OS, etc.
Lumberyard: escrito en C++, para gráficos 3D, es de código propietario y para plataformas como PlayStation 4, Xbox One y Windows.
Blender Game Engine: escrito en C y C++, para el programa Blender, de código abierto y disponible para Windows, Linux, macOS y Solaris.
Unreal Engine benchmark
Para poner a prueba tu GPU o tarjeta gráfica, puedes usar algunos motores gráficos como Unreal Engine Benchmark, como es el caso de EZBench, que emplea la última versión del Ureal Engine, es decir, la UE 5.
Esta prueba se puede descargar de Steam de Valve, y emplea Unreal Engine 5, texturas de alta resolución de 8K, u Rau Tracing, lo que hace que tu GPU vaya al límite. EzBench es totalmente gratuito y bastante pesado, teniendo hasta 20 GB para descargar. Por tanto, si buscas un benchmark ligero, no es el caso. Y es que está pensado para gráficos 3D de última generación y para probar los equipos más potentes.
En cuanto a los requisitos de Unreal Engine 5, tenemos los siguientes:
Requisitos mínimos:
Intel Core 7º Gen (Kaby Lake) o AMD equivalente
16 GB de memoria RAM
GPU con 8 GB de VRAM
NVIDIA GeForce GTX 1080 o AMD Radeon equivalente
API gráfica DirectX 12
Requisitos recomendados:
Intel Core 10º Gen (Commet Lake) o AMD Ryzen equivalente
32 GB de memoria RAM
NVIDIA GeForce RTX 3000 Series o AMD Radeon 6000 Series