Gemix (lenguaje de programación)
# Gemix (lenguaje de programación)

Gemix es uno de los lenguajes de programación que podemos encontrar en la suite de creación de videojuegos Gemix Studio. El lenguaje, al igual que el propio producto en general, se encuentra en desarrollo. Se podría decir que es una evolución del lenguaje DIV ya que en la actualidad es totalmente compatible con este (a excepción de las funcionalidades de red y modo 8), compartiendo su misma estructura y filosofía. Es una evolución de DIV ya que a todo lo que este es, añade numerosas funcionalidades.

## Características

A continuación se lista una serie de características tanto a nivel de estructura de lenguaje como a nivel de funcionalidades:

* Lenguaje interpretado. El compilador de Gemix convierte el código fuente en un código intermedio que posteriormente es ejecutado por el intérprete.
* Su estructura es una mezcla de C y Pascal y heredera integral de la de DIV.
* Incorpora una novedad, ya presente en DIV: el tratamiento de procedimientos de manera muy similar a los procesos de Linux, pero de forma automática. Normalmente, cada proceso representa un objeto en pantalla, aunque estos también pueden ser usados de manera similar a funciones tradicionales. Los procesos aportan en cierta medida uno de los principios de la programación orientada a objetos, el encapsulamiento. Esto es posible gracias a la incorporación de las variables locales que se declaran una vez, y están presentes en cada proceso en forma de una copia independiente. Existen variables locales predefinidas que el sistema usa para almacenar parámetros tales como la posición horizontal y vertical, el gráfico asignado al proceso, el ángulo de rotación, etc.
* Motor 2D de renderizado por software. Esto permite la visualización, escalado y rotado, entre otras, de sprites, texto y primitivas gráficas. Además Gemix añade a esto un potente sistema de efectos y modos de fusión de los gráficos.
* Modos gráficos de 8, 16 y 32 bits.
* Motor de scroll parallax automático de dos planos.
* Motor de modo 7.
* Un potente sistema de audio que reconoce los formatos más populares (Wav, Pcm, Ogg, Mp3, etc.) y que dispone de numerosas funcionalidades para la manipulación en tiempo real de los mismos.
* Una amplia colección de funciones para la manipulación de cadenas de texto.
* Reproducción de módulos de música en formato IT, S3M, MOD, XM y Midi.
