ENIGMA Development Environment

ENIGMA, the Extensible Non-Interpreted Game Maker Augmentation, is an open source cross-platform game development environment derived from that of the popular software Game Maker. Its intention is to provide a game creation tool and a bridge between high- and low-level programming languages. It can be used either through an IDE, namely, its sister project, LateralGM, or through a Command line interface. Like Game Maker, ENIGMA comprises both an easy to use Drag & Drop system as well as its own programming language. This programming language, known as EDL, is essentially a mix between C++ and Game Maker Language. Part of ENIGMA's goal is to remain backwards compatible with Game Maker, serving for some intents and purposes as a Game Maker compiler, however, EDL offers many features which simply aren't present in the alternative. Such features include the ability to compile DLLs and other C/C++ scripts right into the program and access C++ types, templates, and functions. Although EDL adopts GML's very lax syntax in its scripting, the inputted code is actually parsed and translated into valid C++. This compilation aims to improve size and performance of the language, while maintaining its simplicity of use.
Interactive Development Environment
LateralGM (LGM) is an alternate Game Maker IDE compatible with both ENIGMA and Game Maker. It can be used to edit projects, but cannot run them without the use of an additional plugin. It has many other uses, including GM8 -> GM6/7 conversion. It is written in Java. The lead programmer and project founder is IsmAvatar.
Within the ENIGMA project, LateralGM is everything you see visually that does not involve the ENIGMA menu. It supports theming and customization and has preferences that include a non drag and drop mode for people who only want to code.
LateralGM is designed to be modular so interested projects can splice it up, reuse code, or create spin-offs however they like. There's the possibility of designing plugins for the purpose of compilers, runners, or internal modifications. LateralGM keeps front-end (UI) completely separate from the back-end (file, resource), which allows easy replacement or removal of the UI, if desired, or simply only reusing the back-end. Several of the internal classes or some groups of classes are completely independent and can be copied and reused without generating a dependency on LGM itself, such as certain UI components, as well as several of the File-related classes. This doesn't even mention the independent projects that get hooked into LGM, such as the code editor.
ENIGMA Development Language
ENIGMA also incorporates its own programming language which is more and object oriented allowing end users to create classes, structs, and use real data types while maintaining compatibility with Game Maker Language. The language also allows the addition of new functions and customization of the language inheritance model.
Documentation
The community leads the largest open source online documentation for the Game Maker Language and other aspects of Game Maker, also larger than the official Game Maker Wiki.
License
ENIGMA and its sister project LateralGM are free and Open source software licensed under GNU GPLv3 licensing. The source code for both projects is hosted online via GitHub SVN Services.
 
< Prev   Next >