ENIGMA
Description
ENIGMA is a replication of Game Maker, written in C++, unlike both.
ENIGMA, or the Extensible Non-Interpreted Game Maker Augmentation, will take a language quite similar to GML and parse it into C syntax, followed by complete compilation. This compilation improves size and performance of the language by unbelievable amounts, while almost magically maintaining the simplicity of use.
That's right: ENIGMA will combine the power of a low level language with the simplicity of a high level language.
Improvements from GM
The biggest improvements from GM to ENIGMA are as follows:
- The reduction in starting size.
- The speed improvements from an interpreted language to a compile language.
- The ability to compile DLLs and other C/C++ scripts right into the program.
- The portability of the system, having more available options.
- The security of being compiled. It would be insanely difficult to decompile back to C++, and impossible to get variable names anyway.
Improvements from C
A few things are improved from C to ENIGMA. These are as follows:
- Prebuilt engine to base your creations off of; a simple interface that will take C/C++
- High level functions, and vars with variant datatypes. Arrays with no risks of overflow.
- Resources included for you in the engine, no additional work
Note that the processes that will have to be taken may be slower than pure C++. However, this will be worked on and will most likely prove insignificant in the end. The simplicity that will come from the system will be more than enough justification for slight speed reduction, if any, from C. The events will be preprogrammed, as well as the other aspects that Game Maker has. Plus variables that some may find a waste of space will be optional, and you will be able to turn them off in the global preferences.
Data types will be dynamic if undeclared, but unlike in Game Maker, you will be able to declare something you do not plan to change as one byte. Or a short, double, string; whatever you like for optimal performance. This way, it will use less memory if you declare it yourself, but you will be able to switch between data types if you do not specifically declare it.
Contributors
Who makes ENIGMA awesome?
Josh "@ Dreamland" Ventura
The person who started it all, Josh is the primary developer of the ENIGMA system and also cross platform ENIGMA systems.
The LateralGM Team
The LateralGM Team's creation, LateralGM is used as the IDE for ENIGMA.
Dylan "DFortun81" Fortune
Dylan Fortune is the person who is working on a Windows frontend for ENIGMA (although it still hasn't seen the light of day), and also is working on a DirectX implementation.
Dave
Dave answers the dumbest questions you can manage to throw at him. He both plans
and despises the project.
Gary "MahFreenAmeh" Warman
Otherwise known as Gareh, Gary causes laughter until the eyes bleed and helps debug and write pieces of code. Yet, he still manages to do many good things, such as being the pending Linux port author. He also obsessively edits the files on the server, and obliterates anyone for modifying/commenting his code.
Adam "Ludamad"
Adam works on a project of his called "Colligma", otherwise known as the collision system. He works on the entire collision system, in fact.
Micah "Miky"
He's in charge of bringing the goodness of ENIGMA to DS. DON'T THROW ROCKS AT ME (Or him, try the report system).
Rusky
The poor guy who got datastacks pushed onto him.
Ryan "ChIkEn AtE mY dOnUtS" Copely
Ryan absolutely loves Fstream. He also writes ENIGMA's binary file functions.
a2h "<php echo 'a2h'; >"
a2h is the site creator, manager and designer. He claims to be able to dream in code (although it's highly doubted).
mitch
mitch works on the ENIGMA Community (the one with the blogs and games). He also made the original version of the bugtracker.
Owen "Zekian" Delahoy
The blogs and games side of the ENIGMA Community is also improved on by Owen, who lovingly(?) squeezes more goodness out of it.
Noodle
Noodle redesigned the third iteration of the ENIGMA site design. This design, the fourth one, retains only one thing from his redesign. The text color.
Zane "Obelisk" Batson
The god of the ENIGMA logo. mitch made it shinier, though.
C-Ator9
C-Ator9 designed the ENIGMA ambigram and did several functions in GML, including draw_ellipse, draw_roundrect, and make_color_hsv.
Everyone else
There must be some reason.
Have something to contribute?
Drop a comment!