Enigma (jeu vidéo, 2002)

jeu vidéo de 2007

Enigma est un jeu vidéo de réflexion allemand inspiré d’Oxyd.

Enigma

Développeur
Ronald Lamprecht, Raoul Bourquin, Andreas Lochmann[1],…
Réalisateur
Daniel Heck
Compositeur
Andrew Sega (en)Voir et modifier les données sur Wikidata

Date de sortie
Genre
Mode de jeu
Plate-forme

Version
1.21 (), 1.30 ()Voir et modifier les données sur Wikidata

Site web
Capture d'écran d'Enigma

Règles du jeu

modifier
 
Le premier niveau d'Enigma

Enigma possède trois sortes de paysages (ou niveaux)[4]:

Boule noire

modifier

Dans les niveaux les plus classiques, le héros du jeu est une boule noire appelé Blackball ou Marble qui est chargé de toucher dans le bon ordre des pierres dites oxydes dont les couleurs sont appariées. Lorsqu'une paire d'oxydes est ouverte (après avoir touché ses deux composantes l'une après l'autre), elle le reste; et lorsque toutes les paires d'oxydes du niveau sont ouvertes, la partie est finie.

Méditation

modifier

Dans les niveaux de méditation, il y a plusieurs billes blanches (en général) à caser chacune dans un trou. Dès que chaque bille est en place, le niveau est terminé.

Yin-Yang

modifier

Dans certains niveaux, il y a deux boules, l'une noire, l'autre blanche. La souris ne commande que l'une des deux, mais un outil appelé yin-yang permet de commuter entre les deux. Issus de vrais jeux à deux joueurs dans Oxyd (avec un câble MIDI branché entre deux ordinateurs Atari), ce genre de jeu présente l'originalité qu'il n'y a pas de compétition entre les joueurs, mais qu'au contraire chacun a besoin de l'autre pour réussir.

Historique

modifier

Dans les années 1990, un jeu appelé Oxyd (en), initialement diffusé pour Atari était porté sur IBM PC. Le jeu Oxyd était développé par Meinolf Schneider. Il comportait déjà les trois sortes de paysages qu'on trouve dans Enigma. Un fan de ce jeu, Daniel Heck, a créé le [2] une version libre d’Oxyd avec possibilité d'importer les niveaux d'Oxyd (appelés paysages), et basé sur le même principe atextuel (la règle du jeu est à deviner pour chaque paysage). Il a donc décidé de nommer Enigma cette version libre du jeu.

Daniel Heck a d'emblée placé Enigma sous licence libre GPL, ce qui a permis à de nombreux amateurs de contribuer à ce jeu, créant au fil des années une communauté de contributeurs qui est encore active aujourd'hui. Parmi ces développeurs, on notera la présence d'Alex Smith[5].

Développé sous Linux[6], le jeu est régulièrement porté sous Windows et Mac. Le format de fichiers permet d'ailleurs de créer un paysage avec un éditeur de texte sous n'importe quel OS. La licence GPL étant virale, les paysages créés sont automatiquement placés à leur tour sous licence GPL et sont dans les faits, libres.

Formats des fichiers

modifier

Un paysage (niveau du jeu) est stocké dans un fichier xml, qui contient, outre des métadonnées (comme le numéro de version, nom de l'auteur, date, référence à la licence GPL, nom du paysage...), du code lua qui décrit le paysage, avec une base de données d'objets Enigma et des actions déclenchées par certains des objets (par exemple, l'action d'un interrupteur ou l'appui sur une dalle sensible appelée trigger).

Aspect théorique

modifier

Arbres et labyrinthes

modifier

L'algorithme de Kruskal, qui est pourtant destiné à parcourir des arbres, est utilisé à l'envers par Enigma pour construire aléatoirement des labyrinthes[11].

Simulation

modifier

Le format de fichiers xml et la puissance du langage lua permettent de simuler d'autres jeux à l'intérieur d'Enigma, parmi lesquels Pong, Pacman, Tetris, Pentomino, Nim, Mastermind, Sokoban, l'Âne rouge, Sudoku, le jeu de la vie de John Horton Conway, etc.

L'un des niveaux possède même un interpréteur dans le langage de programmation Brainfuck[12]; un autre pilote une tortue Logo[13].

Voir aussi

modifier

Liens externes

modifier
  • (fr) [13], la description du jeu sur Framasoft.
  • (en) [14], La page d'accueil du jeu
  • (fr) [15], un article de présentation axé sur l'aspect algorithmique du jeu
  • (en) [16] le code source de la version 1.10 d'Enigma (en beta test, et pas finalisé)
  • (en) [17] la description des pièces du jeu dans la version 1.10, document pdf destiné aux développeurs du jeu
  • (en) [18], un logiciel en Java qui permet de construire un niveau d'Enigma en peignant sur un canevas.
  1. [1]
  2. a et b [2]
  3. [3]
  4. [4]
  5. auteur notamment de Nabokos qui est un Sokoban à l'envers:[5]
  6. [6]
  7. proposé sur le forum des développeurs de jeu
  8. détails sur la description dans la référence pour les développeurs (version pdf): [7]
  9. [8]
  10. [9]
  11. voir à partir de la ligne 111 de cette bibliothèque en lua
  12. [10] le niveau en lua
  13. son source
  14. [11] la liste dans le source du jeu
  15. [12] le code source en lua