in

Un motor de primera persona en 265 líneas

¿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.

Motor gráfico

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.

Reportar

¿Qué te pareció?

Escrito por Lisandro Pardo

One Comment

Leave a Reply

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

CreoPop: Nuevo bolígrafo 3D sin calor ni olor

Cómo evitar los spoilers

Cómo evitar los spoilers en internet