Hoy salió del castillo Unreal Engine 4, mostrando el tan esperado video de demostración técnica que da una interesante pista sobre cómo podrían verse los próximos juegos de la siguiente generación. Al mismo tiempo apareció una entrevista extensa con Tim Sweeney, el cabezón detrás del nuevo motor, que cuenta los detalles sobre cómo, cuánto y dónde.
Sobre el video que mostraron, toda la demostración corre sobre una GeForce GTX 680, la última tarjeta de video de NVIDIA que cuesta aproximadamente USD$500. El video de demostración en alta definición lo pueden descargar directamente desde NVIDIA – nótese es casi 1GB a 1920×1080 – al igual que explicación técnica, que pesa 3.2GB. Yo les digo que mejor lo dejan descargando en la noche y mañana lo ponen en alguna televisión en hache de.
Los de Epic Games decidieron definir la lista de requerimientos basado en lo que se puede hacer con DirectX 11, por lo tanto se puede desprender que Unreal Engine 4 correrá sólo en tarjetas de video que soporten la última tecnología disponible hasta ahora para Windows Vista y Windows 7. Así mismo, en términos de potencia, todo lo que supere el TeraFLOP, como apenas lo logra una Radeon HD 7770 de USD$159, o una GeForce GTX 560 de USD$199, no debería tener problemas en funcionar. El resto de hardware menos poderoso quedará corriendo una versión “estándar” de Unreal Engine 4.
Nótese: Tim no especificó si hablaba de calcular TeraFLOPs de doble precisión – que sólo alcanzan tarjetas sobre los USD$500 – o de precisión simple, pero sabido es el perfil de Unreal Engine para funcionar en el hardware más humilde y asumimos que se trata de lo último para tranquilidad de nuestros bolsillos. Una GTX 680 alcanza 3 TeraFLOPs en precisión simple para que se hagan una idea, y una Radeon HD 7970 logra 3.7 TFLOPs. Sí, AMD tiene la batuta en términos de poder de cálculo.
Sucede que Unreal Engine 4 calcula la luz global de otra forma, lo que lo hace incompatible con la generación anterior de tarjetas. El motor permite calcular la luz global y – lo más importante – su propagación en una escena a tiempo real, que es la clave para lograr mayor realismo. El funcionamiento es simple: existe un “índice” sobre todo lo que recibe luz, y cuando existe algún cambio, el indice se actualiza con los nuevos valores. Sí, esto no es nuevo, pero la técnica de fondo que en Epic bautizaron como SVOGI – Sparse Voxel Octree Global Illumination – permite que la luz afecte a toda la escena, no dejando fuera objetos metálicos y brillantes que son los que re-rebotan más luz.
Esa es una de las principales razones por la que Unreal Engine 4 pide tantos FLOPS. El motor se concentra más en el cálculo de la luz gracias a DirectCompute, y eso ocupa mucho tiempo en el procesador gráfico, más que mostrar el resultado visual. También parte de esto es PhysX, que se mostró presente en todo el cálculo de físicas y partículas en el video que vimos anteriormente.
Bueno, dijeron que Unreal Engine 4 funciona en una gran cantidad de hardware. Cuando la potencia de un dispositivo es insuficiente, como un PC barato o un teléfono móvil, la técnica para mostrar las gráficas cambia una estándar, que se ajusta al poder del dispositivo para sacarle el mayor provecho posible. Eso les permitiría a los desarrolladores hacer un juego que funcione en iOS, Android, PC y las consolas de la siguiente generación, que escale en características de forma simple. Los “ports” entre plataformas diferentes serían mucho más fáciles de hacer.
Ahí lo tienen. Tim Sweeney promete que este motor permitirá a muchos juegos usar la nueva técnica de Iluminación Global en tiempo real para lograr mayor realismo, y es normal pensar que las nuevas consolas seguirán los requerimientos técnicos para que juegos como muestra la demostración estén disponibles. Ojalá también Unreal Engine 4 esté disponible como UDK, el software de desarrollo gratuito (hasta cierto punto) de Epic Games. ¿Este año, el próximo? Sólo Tim sabe.
PD: En el artículo de NVIDIA pueden encontrar las pesadas imágenes en resoluciones monstruosas.