Enigma (jeu vidéo, 2002)

Un article de Wikipédia, l'encyclopédie libre.
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

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

Règles du jeu[modifier | modifier le code]

Le premier niveau d'Enigma
Le premier niveau d'Enigma

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

Boule noire[modifier | modifier le code]

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 | modifier le code]

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 | modifier le code]

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 | modifier le code]

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 | modifier le code]

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 | modifier le code]

Arbres et labyrinthes[modifier | modifier le code]

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 | modifier le code]

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 | modifier le code]

Liens externes[modifier | modifier le code]

  • (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.

Notes[modifier | modifier le code]

  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