ENIGMA
ENIGMA, el Aumento Extensible No-Interpretado de Game Maker (Extensible Non-Interpreted Game Maker Augmentation en inglés), es un entorno de desarrollo de videojuegos multiplataforma de código libre derivado del popular software Game Maker. Su intención es proveerte de una herramienta de creación de juegos de calidad, y un puente entre los lenguajes de programación de bajo y alto nivel. Puede ser usado a través de un IDE particular; su proyecto hermano LateralGM, o a través de una interfaz de línea de comandos. Similar a Game Maker, ENIGMA posee tanto un sistema de Arrastra y Suelta de fácil uso, así como su propio lenguaje de programación. Este lenguaje de programación conocido como EDL, es, esencialmente, una mezcla entre C++ y GML de Game Maker. Una parte del objetivo de ENIGMA es poseer compatibilidad con versiones anteriores de Game Maker, sirviendo para tales funciones como un compilador de Game Maker. Sin embargo, EDL ofrece muchas y poderosas características que simplemente no están presentes en el alternativo. Entre éstas se incluyen la habilidad de compilar DLLs y otros scripts de C/C++ directamente dentro del programa, y acceder a estilos, funciones y plantillas de C++. Aunque EDL adopta la baja exigencia del sintaxis de scripting de GML, el código introducido es de hecho re-codificado, y traducido en C++ válido. Esta compilación disminuye el tamaño y aumenta la performance del lenguaje en cantidades impresionantes, mientras que mantiene su simplicidad como por arte de magia.
Porqué utilizar ENIGMA en vez de Game Maker
ENIGMA busca ser tan compatible con Game Maker como sea posible. Puedes abrir y guardar archivos GM en LateralGM, e incluso compilarlos con ENIGMA. Cuando el set de funciones de ENIGMA esté finalizado, poseerá prácticamente todas las capacidades de Game Maker, además de lo siguiente:
- Mejoras de velocidad desde un lenguaje interpretado a un lenguaje compilado (para un simple ciclo de código, estarías mirando un incremento de 1500%).
- Portabilidad, poseyendo compatibilidad con varias plataformas y más opciones de sistema.
- Mayor seguridad en la compilación. Sería increíblemente difícil decompilar de vuelta a C++, e imposible sustraer los comentarios y nombres de variables, de todas maneras.
- Una reducción del tamaño de los proyectis (entre 40 y 93 por ciento, dependiendo de la platforma).
- La habilidad de acceder a estilos, funciones y plantillas de C++.
- La habilidad de compilar DLLs y otros scripts C/C++ directamente en el programa.
- Mejoras en la depuración
- Acceso a varias técnicas clásicas de depuración de C/C++ (en consola).
- El uso de depuradores (gdb).
- Acceso al código C++ resultante.
- El Modo de diseño introducido de ENIGMA.
- No hay YoYo Games por entre medio. Lo cual significa que:
- Es completamente GRATIS.
- Es de código abierto.
- Posee arreglos de errores regulares.
- Y los desarrolladores te prestan atención
- Y muchas otras mejoras.
Porqué usar ENIGMA en vez de C++
ENIGMA ofrece beneficios mayores a partir del uso de C:
- Un motor pre-establecido del que basar tus creaciones, y una interfaz simple que acepta código en C/C++.
- Funciones de alto nivel, y variables con tipos de datos variantes. Matrices (arrays) sin riesgo de desbordamiento (overflow).
- Los recursos están incluidos ya en el motor, no se requiere esfuerzo adicional para cargarlos.
- Sintaxis de código cómoda y un sistema de escritura amigable. Los semicolons no son requeridos, las plantillas no requieren parámetros, y var puede representar arreglos o números.
- Una mucha mayor facilidad de uso, especialmente para aquellos con poco conocimiento de programación, permitiéndote aprender la lógica de la programación bajo un motor de desarrollo de videojuegos práctico.
Sin embargo, se ha de comprender, obviamente, que los procesos que ENIGMA utiliza para manejar instancias y recursos podrían ser más lentos que un motor propio escrito en C++. Aún así, se ha puesto mucho cuidado en cada sistema, y al final, las diferencias podrían resultar insignificantes. De todas maneras, nuestro objetivo es que la simplicidad del sistema justifique esa ligera falta de velocidad. De todos modos, existirán opciones para futuras optimizaciones. Por ejemplo, el poder eliminar variables que se puedan considerar una pérdida de espacio.
A diferencia de en Game Maker, sí se podrán declarar tipos de variable (aunque no será un requerimiento). Desde short, double, string; e incluso constantes. Lo que sientas necesario para dejar un performance óptimo en tus juegos. De esta manera, podrás usar menos memoria declarando tus variables, pero también tendrás la flexibilidad de dejar variables dinámicas a las que puedas asignar varios tipos de datos, si lo prefieres.
Prueba
¿Quieres pruebas sobre la capacidad de ENIGMA? Prueba algunos de nuestros juegos: http://enigma-dev.org/edc/games.php?action=list
Nótese que la mayoría de estos juegos fueron hechos en Game Maker, ¡pero ENIGMA puede compilar juegos de Game Maker directamente, para que éstos se ejecuten más rápido! La gran parte de estos juegos también podrían correr aún más velozmente tomando ventaja de las características extra de ENIGMA, tales como el control sobre los mecanismos internos.
El equipo de ENIGMA
ENIGMA es desarrollado y mantenido por un creciente número de individuos.
| ||||||||||||||||||||||||
| ||||||||||||||||||||||||
| ||||||||||||||||||||||||
| ||||||||||||||||||||||||
|
Language: | English • español • italiano |
---|