Enigma, un clone gratuit de Game Maker en C++, vient de sortir dans sa 3ème release publique.
Un clone de logiciel n'ayant pas grand intérêt en tant que tel, Enigma propose d'améliorer Game Maker :
Premièrement, Enigma génère des exécutables pré-compilés (donc plus rapides à l'exécution que ceux de Game Maker qui sont interprétés) qui sont beaucoup moins lourds que ceux créés avec GM.
On peut utiliser la syntaxe du C dans les codes d'Enigma (voir vidéo avec "int" par exemple). Les exécutables créés sont plus sécurisés que ceux créés avec Game Maker (les créateurs disent qu'il est extrêmement difficile de décompiler un exécutable et carrément impossible de récupérer les noms des variables).
En plus, les exécutables créés avec Enigma n'ont pas de temps de chargement au démarrage comme ceux créés avec GM. Un avantage non négligeable : on peut modifier in-game le contenu d'une room grâce à un petit éditeur, et les changements peuvent être sauvegardés (voir vidéo).
Il faut aussi préciser qu'Enigma peut lire les .gm6 et .gmk nativement.
Malheureusement, comme tout logiciel (en plus en cours de développement), Enigma a des points faibles :
Il est plutôt long au démarrage comparé à GM. Il est moins réactif dans son interface (quelques secondes sont nécessaires avant d'afficher le contenu d'une room par exemple, pas très grave, mais agaçant si on doit toujours attendre ces quelques secondes à chaque fois qu'on ouvre une room ...) Les exécutables créés n'ont pas (encore ?) d'icône. Toutes les fonctions ne sont pas encore disponibles (vu qu'il est encore en développement), mais certaines fonctions de base comme game_end(); manquent. Enigma n'affiche pas (encore ?) les suggestions de fonctions quand on programme en GML, ni les arguments nécessaires aux fonctions.
Bien sûr la plupart de ces points faibles seront sans doute corrigés dans les prochaines releases d'Enigma, wait and see ... :)
J'ai donc fait un petit test pour évaluer rapidement les capacités d'Enigma : un "mini jeu" avec seulement un sprite et un objet, compilé sous Game Maker, puis sous Enigma : l'exe créé avec GM pèse 2.19 mo non compressé et 1.18 mo compressé alors que l'exe créé avec Enigma pèse seulement 640 ko non compressé et 157 ko compressé !!!
Je vous laisse vérifier par vous même : Cliquez Ici
Enfin, voilà le lien vers le site officiel : http://enigma-dev.org/ Vous y trouverez des infos supplémentaires, la liste des fonctions supportées, et bien sûr vous pourrez le télécharger.
Et pour finir, une vidéo qui montre rapidement les capacités d'Enigma :
Petit conseil : si vous téléchargez Enigma, pensez à télécharger aussi le dernier patch (Patch A à l'heure où j'écris, qui corrige d'ailleurs un problème de transparence in-game).
Superbe article, Enigma devient intéressant, même si pour l'instant l'exécution des jeux gm est plus rapide que l'exécution des jeux énigma. ^^
Citation:
(les créateurs disent qu'il est extrêmement difficile de décompiler un exécutable et carrément impossible de récupérer les noms des variables)
Par contre ça ce n'est pas si sûr, le reverse engineering n'est pas très compliqué surtout pour du C/C++, la doc des compilos permet aisément de revenir en arrière, surtout dans un programme en développement qui est de fait, plein de failles.
par nicoulas @ 21/08/2008 03:46 pm
Ah c'est possible, mais c'est ce qu'ils disent sur le site.
Enfin bon, y'a quand même pas mal d'avantages
Mais l'exécution sous Enigma peut être plus rapide que sous GM : j'ai fait un (autre) test en remplissant une room avec des objets dessinés en bm_add et j'obtient un meilleur fps avec Enigma qu'avec GM
par Maniac206 @ 21/08/2008 03:49 pm
Ouais, ça peut devenir intéressant dans un futur proche . Pourrait-il être compatible mac + linux plus tard.
par edi9999 @ 21/08/2008 03:58 pm
Ce programme est vraiment genial Vivement une beta fonctionnelle en tout cas
De toutes façons on a jamais dit qu'on en parlerait pas, et qu'on aurait pas une section là dessus.
par nicoulas @ 22/08/2008 10:22 am
Carrément une section sur Enigma (ou sur les clones/convertisseurs de GM ?
par master47 @ 22/08/2008 01:58 pm
Il y a quand même une limite à ne pas franchir.
J'ai bien lu l'article, très bien écrit, cependant il y a quelques précisions à faire :
- L'interface est bien moins réactive, car elle est programmée en java, ce langage multiplateforme est extrèmement lent au démarage, ainsi qu'à l'utilisation de ses nombreuses fonctions. Celui-ci est néanmoins porté sur de nombreux appareils ( Mobiles, ...) ce qui peut, partiellement en tout cas, nous faire oublier la lenteur tout de même supportable. - La décompilation n'est pas impossible comme tu le prétends, j'appuie entièrement ce que dit Daminetreg.
Mais ton article vaut le détour, comme ce projet d'ailleurs :D
par master47 @ 22/08/2008 01:59 pm
un petit oubli : l'interface de ce projet est celle de LGM( Lateral Game Maker)
En fait ce que je trouve de positif dans ce projet c'est que le GML devient un langage qui ne va pas mourrir. C'est un langage qui à terme pourrait se placer, avec quelques modifications bien sûr, proche des ruby on rails et autre, mais s'appliquant principalement au jeu vidéo.
De tels projets: enigma, gamadus etc. montre bien que la communauté game maker tout entière est très active et réactive. Ce qui n'est pas le cas des autres logiciels de développement de jeux vidéos, peu intéressants en général, du genre Dark Basic etc. qui se sont éteints petit à petit.
par Death_Egg @ 22/08/2008 03:46 pm
Hmm, c'est surtout au niveau du poids de l'exe qu'Enigma à l'air nice.
Sinon niveau reverse engeneering, si les créatuers sont aussi optimiste, ca doit être ultra bien crypté alors, même si j'y crois pas trop.
Enfin bon, c'est encore trop en bêta pour en faire quelque chose de valable. Wait and See.
par nicoulas @ 22/08/2008 11:50 pm
@ master47 : c'est pas moi qui prétend la décompilation impossible, c'est le site qui prétend que ce sera difficile
et c'est vrai j'ai oublié pour l'interface (en même temps y'a marqué LGM au démarrage ^^)
Mais gm a toujours été totalement compilé... Les Jeux GM eux resteront toujours interprété, sinon tu verras disparaître les fonctions execute_script etc. ou alors tu auras des jeux extrêmement lourd. Ce n'est pas parce que GM passe de Delphi à C++ que les jeux gm seront compilés, ça restera du gml interprété par un programme (qu'il soit en cpp ou delphi, ça change rien, juste qu'on trouve plus de codeur c++ sur le marché que de codeurs Delphi).
par Master47 @ 28/08/2008 11:52 am
Le plus interessant dans enigma est surtout le fait qu'il est et restera ( je l'espère ) gratuit. Tout cela deviendra plus interessant lorsque plus de fontions auront été programmées ;)
En plus, les exécutables créés avec Enigma n'ont pas de temps de chargement au démarrage comme ceux créés avec GM.
--> C'était vrai avec la version 6 de GM, mais avec la 7, l'exe se lance de suite et après ca charge. De plus, il faut bosser avec des fichiers externes bien sur... Non franchement, avec GM 7 le chargement est nickel, si on fait pas n'importe quoi...