jueves, 5 de junio de 2014

Un motor de primera persona en 265 líneas

Noticia y redacción original de la web http://www.neoteo.com


¿Qué tan eficiente se puede llegar a ser con el código? La generación procedimental ha hecho maravillas al respecto, encerrando escenarios muy complejos en apenas un puñado de kilobytes, pero lo que tenemos hoy aquí es un motor de primera persona que hace uso y abuso del ray casting. En total, solamente necesita 265 líneas de JavaScript, y hay mucho espacio para optimizar.
Juegos históricos como el Wolfenstein 3D, el Duke Nukem 3D y The Elder Scrolls II: Daggerfall tienen algo en común, y es la técnica utilizada para representar sus gráficos. El nombre oficial es ray casting, y su simpleza genera cierto atractivo entre algunos programadores. En esencia, es posible crear mucho con muy poco, algo demostrado de forma espectacular por el programador Hunter Loftis. Entre los trabajos previos de Loftis encontramos un generador fractal de terreno cuyo código se reduce a 130 líneas. Ahora, Loftis creó todo un motor de primera persona con ray tracing, y el conteo de líneas JavaScript asciende a 265.

Pero eso no es todo: El motor también se da el lujo de reproducir algunos efectos, como es el caso de la lluvia. Todo lo que tiene que hacer un programador para crear interiores es reemplazar al cielo con lo que desee, y por qué no, agregar algunas fuentes de luz. En el blog oficial de Loftis los interesados encontrarán una gran cantidad de información técnica sobre el motor, incluyendo muestras de código para la lluvia, los relámpagos, la detección de colisiones y las texturas de las paredes. Ahora, ¿por qué crear algo así? Bien… ¿por qué no? Hemos hablado docenas de veces sobre juegos 3D ejecutados en el interior de los navegadores web. La tecnología involucrada no ha dejado de madurar, pero al final son muy pocos los que deciden escribir el código necesario. Tal vez la sencillez natural del ray tracing y ejemplos como este puedan cambiar la situación.
Mientras tanto, el blog oficial tiene una demo en ejecución del motor en primera persona. Más allá de que no se puede hacer mucho en su interior, el guiño hacia los FPS resulta inevitable. Por un momento me hizo recordar al Rise of the Triad original, y a otro clásico de la “violencia en primera persona” como es el Quarantine. Obviamente, el código del motor ya se encuentra disponible en GitHub, para que cualquiera lo descargue y modifique a su gusto.

Web aqui.


No hay comentarios: