Main Page
Aus EnigmaWiki
Available languages: Deutsch, English, Русский
This is a wiki for all, who want to write Enigma levels by hand (not using a WYSIWYG editor). This wiki contains tutorials for beginners as well as a reference for advanced level editors.
Descriptions in this wiki are not written by God and can contain errors and/or be incomplete. Feel free to correct incorrect and supplement missing information.
The wiki's original language is German, that's why there are many untranslated pages. If in doubt, the German version of an article is definitive.
If you understand German, you are invited to translate untranslated pages. There are some pages which are translated by Mal2 or ShadowPhrogg32642342 whose native language is not English. For this reason, you may find many faults in style, grammar and orthography. Do not hesitate to correct them. You are of course also allowed to add further pages that do not exist in German yet.
With the release of Enigma 1.01, the information here is being updated. All information refers to (if not otherwise indicated) Enigma 1.01. However, not everything has yet been updated, so isolated information may have become out of date.
Since Enigma version 1.01 was released, development was going on and the work on a new level API produced some results. The level API version 2 is now partially documented here with an ongoing effort.
Inhaltsverzeichnis |
Tutorials for Enigma 1.01 (current version)
Some basic concepts
- Getting started: Your first Level (updated for the new API)
- XML-Metadata: Declaration of author, level version, level name etc.
- Set game objects: Populate the virtual world with objects.
- Action and Target: Interactivities, like opening doors and switching lasers on and off.
- Messages and Signals: Advanced Interactivities
- Own Lua object attribute: Define attribute for objects
- Game modes: Add an easy mode to your level
Some advanced topics
- Indispensable Actors in Meditation
- Libraries: write and use libraries
- Object aliases: Mock objects
- Compatibility modes: Imitate the physics of the other games
Tutorials for Enigma 1.10 (upcoming version)
- Autotiling: Efficient use of template tiles and res.autotile
Object Reference
Overview over all game objects used in Enigma
For Enigma 1.01 (current version)
For Enigma 1.10 (upcoming version)
NOTE: Enigma 1.10 is not yet released.
Level-API reference
Reference of the enigma specific lua extensions. If you want to learn Lua, check out the German Help-Page which contains also links to English pages: Hilfeseite
For Enigma 1.01 (current version)
- Variables: Global Lua variables
- Functions: Lua functions for object manipulations
- Abbreviations: Functions to save time and code
For Enigma 1.10 (upcoming version)
NOTE: Enigma 1.10 is not yet released.
- Enigma value types: Enigma lua value types
- Level API constants: Enigma API constants
- World attributes: Global world attributes
- World Advanced Methods: World advanced methods
Libraries
For Enigma 1.01 (current version)
- Ant: Create large levels without losing the overview
- Andreas_ghosts: Actors moved by ghosts
- Andreas_itemfreeze: Freeze Items in ice cubes
- Libflood: Flowing Water and floods. (Since Enigma 1.01)
- Libpuzzle_2: Improved version of Libpuzzle. (Since Enigma 1.01)
- Libterrain: Set Mountains and Valleys
- Natmaze: Generate Mazes
DEPRECATED
- Libpuzzle: Generates puzzles from st-puzzle and st-puzzle2
For Enigma 1.10 (upcoming version)
NOTE: Enigma 1.10 is not yet released.
- res.puzzle: Puzzle resolver. This is a new version of the libpuzzle.
- res.maze: Maze builder. This is a enhanced replacement for the natmaze library.
Code snippets
Useful code snippets
For Enigma 1.01 (current version)
- Simple things
- Stones, Floors, Items
- Triggers, Switches, Signals
- Timer and accessories
- Miscellaneous
For Enigma 1.10 (upcoming version)
NOTE: Enigma 1.10 is not yet released.
- Senders and Callbacks
Full Examples
Examples with full level sourcecode and comments. The levels are all written in the new API of Enigma 1.10.
NOTE: Enigma 1.10 is not yet released.
- Template
- Miscellaneous
Neat Examples
In this category there are levels with some very special effects. Their code is published here for all people who wonder how such effects are done ...

