ENIGMA (IDE) - Le Bottin des Jeux Linux



Title: ENIGMA (IDE) Type: Tool
Genre: Development Status:
Category: Development ➤ IDE Commercial:
Tags: Development; IDE; C/C++; Multi-platform Demo:
Released: Dev : 65a91e92b9 Package Name:
Date: 2014-03-30 Extern Repo:
License: GPL v3 Deb Repo:
View: Third person Package:
Graphic: 2D Binary:
Mechanics: Real Time Source: ✓
Played: Single & Multi PDA:
Quality (record): 5 stars Quality (game):
Contrib.: Goupil & Louis ID: 14135
Created: 2014-01-11 Updated: 2020-02-09


[fr]: Un IDE libre, open source et multiplateforme, compatible avec Game Maker [en]: An open source multi-platform game development environment derived from that of the popular software Game Maker.



Website & videos
[Homepage] [Dev site] [Features/About] [Screenshots] [Videos t ts gd id r lp g g[fr] g[de] g[ru] g[pl] g[cz] g[sp] g[pt] g[it] g[tr] g] [WIKI] [FAQ] [RSS] [Changelog 1 2]

Commercial : (empty)

[ENIGMA games]
Technical informations
[Open Hub] [PCGamingWiki] [MobyGames]

Devs (ENIGMA Team [fr] [en]) : [Site 1 2] [twitter] [YouTube] [Interview 1 2]
Game : [Blog] [Forums] [twitter] [Facebook] [YouTube]

On other sites
[Wikipedia (GameMaker: Studio) [fr] [en]]


News / Source of this Entry (SotE) / News (SotN)

Description [fr]

Un IDE libre, open source et multiplateforme, compatible avec Game Maker, par la ENIGMA Team.
En Java.

ENIGMA (pour Extensible Non-Interpreted Game Maker Augmentation) est un IDE dérivé de Game Maker (du studio YoYo Games).

Son objectif est de fournir un outil de conception de jeux open source de qualité permettant de faire le lien entre les langages de haut et de bas niveaux.
Il peut être utilisé via un IDE (dénommé LateralGM) ou via une interface en ligne de commande (Command Line Interface, aka CLI).
De même qu'avec Game Maker, ENIGMA inclut à la fois un système de Drag & Drop facile à utiliser, ainsi que son propre langage de programmation.
Son langage de programmation se dénomme EDL, un mix entre le C++ et le GML (Game Maker Language), le langage de script de Game Maker.

Les objectifs majeurs d'ENIGMA sont de conserver sa rétro-compatibilité avec Game Maker - permettant de s'en servir comme compilateur pour ses jeux, tout en offrant (via EDL) de très puissantes fonctionnalités qui ne sont tout simplement pas implémentées dans ce dernier.

Description [en]

ENIGMA, the Extensible Non-Interpreted Game Maker Augmentation, is an open source multi-platform game development environment derived from that of the popular software Game Maker.

ENIGMA is a free development environment geared towards game development.

* It's free and open source!
* Compiled for maximum speed, with lightning fast calculations!
* Easy to learn, and Game Maker compatible!
* It's a great way to get started with C++.

Its intention is to provide you with a quality 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's GML. 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 very powerful 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 improves size and performance of the language by incredible amounts, while almost magically maintaining its simplicity of use.


Want some proof of ENIGMA's prowess? Try some of our games: http://enigma-dev.org/edc/games.php?action=list

Note that most of these game were made in Game Maker, but ENIGMA can directly compile Game Maker games so they run a lot faster! Most of these games could also be made even faster by taking advantage of ENIGMA's extra features such a type casting and control over the internal mechanisms.


Why Use Enigma Instead Of Game Maker

ENIGMA aims to be as compatible with Game Maker as possible. You can load and save GM files in LateralGM, then compile them with ENIGMA. When ENIGMA's function set is finished it will have practically all of Game Maker's capabilities, plus the following:

• Speed improvements from an interpreted language to a compiled language. (For a basic counter loop you're looking at an increase in speed by a factor of about 150x)
• Portability, having more available platforms and system options
• Increased security of being compiled. It would be insanely difficult to decompile back to C++, and impossible to retrieve comments and variable names anyway
• A reduction in starting size (Between 40 and 93 percent, depending on the platform)
• The ability to create and access C++ types, templates, and functions
• The ability to compile DLLs and other C/C++ scripts right into the program

• Improved debugging
⚬ Access to a number of C/C++ classic debugging techniques (print to console)
⚬ Ability to use debuggers (gdb)
⚬ Access to the resulting C++ code
⚬ ENIGMA's built-in Design Mode

• No YoYo Games. Which means it's:
⚬ Completely FREE
⚬ Open source
⚬ Has regular bug fixes
⚬ And developers actually listen to you

• Many other improvements, additions, increased flexibility

Why Use Enigma Instead Of C++

ENIGMA offers some major benefits from just using C:

• A prebuilt engine to base your creations off of, and a simple interface which accepts C/C++ code.
• High level functions, and variables with variant datatypes. Arrays with no risks of overflow.
• Resources are included for you in the engine, no additional work is required to load them.
• Lax syntax and a friendlier typing system. Semicolons aren't required, templates don't require parameters, and var can represent strings or numbers.
• Much greater ease of use, especially for those with little programming knowledge, allowing you to learn the logics of programming under a practical game development environment.

Understand, of course, that the processes ENIGMA takes to handle instances and resources may be slower than a custom engine in pure C++. Much care has been put into each system, however, and in the end, the differences will most likely prove insignificant. In any case, our goal is to have the simplicity the system offers justify any speed reduction. Options will exist for further optimization, such as variables that some may find a waste of space being removable.

Data types are 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.