# Gemix Studio

Gemix Studio es una herramienta profesional de desarrollo de videojuegos cuyo objetivo es incorporar un IDE con las máximas herramientas posibles y una serie de lenguajes DIV con diferentes evolucciones.

## Descripción

Gemix Studio es una herramienta profesional para la creación de videojuegos que actualmente se encuentra en desarrollo, intentando ser el sucesor del conocido Div Games Studio, con dos características fundamentales: un IDE con múltiples herramientas integradas que facilite el desarrollo de los diferentes aspectos que intervienen en la creación de un juego (código, gráficos, sonido, etc) y la inclusión de un lenguaje de programación 100% compatible con el propio DIV. Además de la compatibilidad y la funcionalidad del IDE, Gemix Studio comparte con Div Games Studio su filosofía: la creación de un entorno de edición y una serie de lenguajes que faciliten considerablemente la creación de videojuegos tanto a programadores noveles como experimentados.

## Historia

En la década de los 90 Daniel Navarro Medrano creó una herramienta orientada a la creación de videojuegos de 32 bits bajo MS-DOS. El nuevo lenguaje, de nombre DIV Games Studio, combinaba características de C y Pascal con un entorno completo que permitía la creación y edición de todos los aspectos de los proyectos: programación, edición gráfica y sonora y un largo etc.
Desafortunadamente, el producto no fue continuado a partir de su segunda versión (DIV 2), y ante la imposibilidad de ejecutar los juegos producidos con la herramienta en la emergente plataforma de Microsoft, Windows XP, el mundo DIV y sobre todo su comunidad de adeptos, se fue disolviendo poco a poco.
Después de la caída de Hammer Tecnologies (2000), la compañía creadora de DIV Games Studio, y el declive del propio DIV con la aparición de Windows XP, un grupo de desarrolladores formado por antiguos usuarios de DIV tomaron la decisión de continuar la obra maestra de Daniel Navarro dando vida a un proyecto que pudiese compararse en prestaciones al antiguo DIV Games Studio en su segunda versión, imponiéndose la condición de que el lenguaje desarrollado fuese compatible con este ya que la intención era hacer un producto que fuese la continuación natural de DIV 2, intentando ser su tercera entrega no oficial. Este proyecto tomó el nombre de eDIV y su desarrollo duró varios años pero no llegó a lanzar una versión estable definitiva y fue abandonado. Más tarde el proyecto sería retomado por otro grupo de desarrolladores liderado por CicTec y renombrado a Gemix Studio, con algunos cambios en su filosofía.
Tras cuatro años de desarrollo en privado (de hecho la existencia de Gemix Studio solo era conocida por los betatesters oficiales), el equipo tomó la decisión de publicar la noticia del desarrollo de Gemix Studio, publicando al mismo tiempo la versión beta 5.0 del mismo bajo licencia freeware.
En la actualidad el desarrollo continua de forma activa, siendo la versión actual la beta 7.5, que incluye significantes mejoras respecto a la 5.0 y 6.0.

## Características

Gemix Studio es en si un concepto que engloba todo el producto, por lo tanto su desarrollo avanza conforme avanza el desarrollo de las diferentes partes fundamentales del mismo. Estas partes son en esencia cuatro:
* Un IDE que integre el máximo número de herramientas que permitan la edición de los diferentes recursos que toman parte en un videojuego (código, gráficos, librerías de gráficos, sonidos, fuentes de letra, etc.) así como un variado set de utilidades que simplifiquen la creación de determinados aspectos (generadores de sprites, de fuentes, de efectos, de explosiones, etc.). Muchas de estas características están todavía proyectadas solo sobre papel, pero se irán incluyendo a medida que el proyecto avance.
* Una serie de lenguajes y compiladores. En la actualidad, solo está disponible el lenguaje Gemix, el cual pretende ser sucesor del lenguaje DIV.
* Un intérprete, el verdadero corazón del sistema, que ejecuta el código intermedio producido por los compiladores.
* Una serie de módulos que aportan funcionalidades diversas al sistema.