Right. ENIGMA offers a few things over game maker.
- It's free, as in gratuito. You This means not only that you don't pay a nickel for it if you don't want, but that there is no DRM that replaces your hard work with pictures of skulls and cross bones. It also means no license-oriented spyware, and no hassle to download, install, and use.
- It's free, as in libero. This means that if you want to change something in ENIGMA, you have the freedom, as much as the much more ready ability, to do so. Anyone can contribute, and we strive to make it really easy to do so.
- It's extensible. Yoyo's approach is to hone in on a specific graphics/audio/windowing system to cater to its very specific target platforms. ENIGMA does not have such a dependency on any one system; you can switch out OpenGL versions without modifying any of your code, and the bulk of my current work is to make it so you can switch out the host language just as easily.
ill also be limited to fewer potential platforms. LLVM itself cannot build for all the platforms ENIGMA will (and
has) built for. This is including the very early ports we saw for iPhone, Android, Wii, and the Nintendo DS.
Even if Yoyo's speed matched ours completely, they will find that it's hard to compete with free and open. Lately, our contributor base has been growing past any original projection—while this can mean some degree of chaos, when components are easy to swap out or remove, it really has no drawbacks.
As for LLVM, it doesn't really appeal to me. They will enjoy quicker compile times, maybe. They will also be limited to fewer potential platforms. LLVM itself cannot build for all the platforms ENIGMA will (and
has) built for. This is including the very early ports we saw for iPhone, Android, Wii, and the Nintendo DS. While those ports were short-lived in ENIGMA, they did not require excessive modification, and this remodel seeks to ensure it requires zero later on. LLVM's support stops after the first two. Moreover, if they ever
did incur benefits from LLVM which were not available to us in GCC, writing an LLVM backend for ENIGMA would be pretty easy, and using Clang for ENIGMA would be trivial (and has been successfully done).