by Jedive » Sun Mar 01, 2009 11:21 pm
El objetivo de Gemix era construir, sobre una implementación 100% compatible con DIV2, todas las características que eran necesarias para hacer que el lenguaje fuera la mejor opción posible en el panorama actual. Esto conlleva un doble objetivo:
- Por un lado, DIV2 al completo debía de ser compatible, haciendo que para correr cualquier juego DIV en Gemix sólo sea necesario recompilarlo.
- Por otro lado, había que analizar las características de DIV2 desde la perspectiva que nos dan los años transcurridos, y ver qué novedades había que añadirle para que estuviera a la vanguardia de las herramientas de creación de juegos 2D en la actualidad.
Es evidente que el primer paso sobre el que había que trabajar era dejar atrás el MS-DOS y trabajar con APIs nativas de Windows como base. Además, el código se estructuró de tal forma que fuera posible portarlo sin mayores complicaciones a otras plataformas. Sobre la base de un sistema totalmente nativo en Windows, emepzamos a trabajar en las características de DIV2, comenzando en el mismo paso a añadirle muchísimas otras cosas que eran esenciales hoy día (el caso más representativo es el soporte de modos true-color y otras mejoras gráficas).
El resultado a día de hoy, es que la mayoría de funciones de DIV2 ya están implementadas, pero aunque aún Gemix no tenga todo lo que tenía DIV2, está por delante en muchos aspectos.
El modo-8 ha sido una de las características que ha sido continuamente pospuesta. Su mayor valor es el histórico, el de tener ahí el soporte completo para hacer correr en plataformas actuales nuestros antiguos juegos de DIV2, y ya de paso se implementarán funciones que no estaban en el modo-8 original pero sí aparecieron en otros motores 3D de la época (cuestas, escenarios de múltiples pisos solapados...). Aún así, todas estas características funcionarán sobre la misma base que el resto de Gemix, es decir, sobre un motor de software sin aceleración 3D.
Una vez completado esto, y teniendo el mejor lenguaje posible en este ambiente 2D, será momento de entrar en las aguas de Direct3D y OpenGL, y diseñar un motor 3D pensado para correr sobre estas APIs, sin limitaciones de compatibilidad con DIV2. Pero esto llegará a su debido tiempo.