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.
| Main Developers |
Josh "@Dreamland" Ventura
Started the ENIGMA project. Primary developer; wrote most major systems.
Adam "Ludamad" Domurad
Wrote Colligma, ENIGMA's pixel-perfect collision system. Is working on a fully-functional second version. (we think)
IsmAvatar
Leader of the LateralGM project, which ENIGMA uses as an interface. Also wrote the XLib code that enables ENIGMA to work on linux.
|
| Web Developers/Graphic Artists |
a2h
Site creator, manager and designer. He claims to be able to dream in code (although it's highly doubted).
Gary "MahFreenAmeh" Warman
Causes laughter until the eyes bleed and helps write and debug pieces of code. Obsessively edits the files on the server, and obliterates anyone for modifying/commenting his code. Wrote the thing at the bottom of these pages.
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
Redesigned the third iteration of the ENIGMA site design. This design, the fourth one, retains only one thing from his redesign. The text color.
Juju
Author of the help file.
Zane "Obelisk"
The god of the ENIGMA logo. Mitch made it shinier, though.
|
| Other Contributors |
Dave
Contributed the surface system, as well as a dysfunctional font system he coded without compiling even once. Quite impressive.
Serprex
He's a brilliant coder, and knows everything about optimization. His sense of motivation is screwy, but he's redone a couple functions to date.
Rusky
The poor guy who got datastacks pushed onto him. (Pun) Though he did finish stacks, the rest are yet to be done. So they'll probably be redone by someone else.
C-Ator9
Designed the ENIGMA ambigram and did several functions in GML, including draw_ellipse, draw_roundrect, and make_color_hsv.
Lasse "Fede-Lasse" Klarlund
The first member of the task force I'm assembling for getting all the functions in following R4.
Everyone else
There must be some reason.
|
Have something to contribute?
Drop us a line!