A2.4 Realización <strong>de</strong>l motor No pretendía hacer una copia <strong>de</strong>l Rocket Comman<strong>de</strong>r, a<strong>de</strong>más había ciertas cosas que diferían con mis objetivos: Rocket Comman<strong>de</strong>r Final Engine Pue<strong>de</strong> utilizarse bajo el pipeline gráfico <strong>de</strong> función fija y programable. So<strong>la</strong>mente sobre el pipeline gráfico programable. Pobre organización a nivel <strong>de</strong> código sobre los objetos Los objetos gráficos tenían prioridad en mi motor. El gráficos, <strong>de</strong>bido a que maneja muy pocos objetos. objetivo era realizar una base completa y esca<strong>la</strong>ble. La lógica <strong>de</strong>l juego y otras partes se mesc<strong>la</strong>n con el El objetivo era disponer <strong>de</strong> una buena base, priorizando motor gráfico en sí. La magnitud <strong>de</strong>l proyecto justificaba esta <strong>de</strong>cisión. <strong>la</strong> organización estructurada. Así mismo, existían omisiones que creía importantes en mi motor: Distintos tipos <strong>de</strong> luces: punto, direccional, spot, ambiental. Distintos tipos <strong>de</strong> animaciones: cinemática inversa, cinemática directa, animaciones cargadas <strong>de</strong>s<strong>de</strong> archivos y animaciones primitivas como mover, rotar, esca<strong>la</strong>r. Posibilidad <strong>de</strong> cargar distintos tipos <strong>de</strong> formatos para objetos poligonales: .x fue el único implementado. Sin embargo, se agregó <strong>la</strong> posibilidad <strong>de</strong> cargarlos utilizando el esquema <strong>de</strong> LOD <strong>de</strong>nominado Progressive Meshes. Distintos tipos <strong>de</strong> sha<strong>de</strong>rs: material constante, phong, paral<strong>la</strong>x bump mapping, distintos tipos <strong>de</strong> pre y post screen sha<strong>de</strong>rs. Y otros sha<strong>de</strong>rs más específicos, que simu<strong>la</strong>ban, por ejemplo, <strong>la</strong> atmosfera <strong>de</strong> un p<strong>la</strong>neta. Teniendo todo esto en cuenta y algunos que otros <strong>de</strong>talles más, se comenzó a codificar este motor. Por supuesto que todavía me faltaba compren<strong>de</strong>r mucho sobre el tema, <strong>de</strong> hecho todavía me falta. Pero disponía <strong>de</strong> <strong>la</strong> suficiente base <strong>de</strong> conocimientos como para realizar un trabajo mucho mejor, y así fue. Así mismo, complemente mi trabajo <strong>de</strong> codificación creando mo<strong>de</strong>los poligonales en Softimage XSI. Estos mo<strong>de</strong>los se utilizaron en un menú, una pantal<strong>la</strong> <strong>de</strong> carga y en un escena en el espacio. Tratar <strong>de</strong> utilizar el motor es importante, no solo para mostrar <strong>la</strong>s posibilida<strong>de</strong>s y motivarse a uno mismo, sino también para probarlo en una situación real y arreg<strong>la</strong>r pequeños, o tan pequeños, problemas que puedan surgir. No hab<strong>la</strong>re sobre los <strong>de</strong>talles <strong>de</strong>l motor dado que no es importante para el tema actual. Es más, el motor está lejos <strong>de</strong> su versión final (<strong>de</strong> ahí su nombre) y no tendría una verda<strong>de</strong>ra utilidad <strong>de</strong>scribir <strong>la</strong> estructura <strong>de</strong>l mismo. En <strong>de</strong>finitiva, a partir <strong>de</strong> lo aprendido en estos últimos meses <strong>de</strong> escritura <strong>de</strong> <strong>la</strong> tesis he pulido mis conocimientos y he incorporado muchos nuevos. Y es por esto, que sería interesante que pudiera seguir con este motor, reestructurar ciertas c<strong>la</strong>ses, incorporar ciertas cosas aprendidas y terminar algunas que ni siquiera se empezaron. Con el objetivo <strong>de</strong> <strong>de</strong>jarlo al nivel que me gustaría y ¿porque no? utilizarlo en una aplicación real, ya sea académica, industrial o <strong>de</strong> entretenimiento. Oja<strong>la</strong>, disponga <strong>de</strong>l tiempo para continuarlo. A continuación, se muestran algunas capturas <strong>de</strong> pantal<strong>la</strong> <strong>de</strong>l Final Engine: Página 96
Página 97