[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Enigma-devel] Hi Keith from Ray Re: Making new Enigma Levels

From: rayrwick
Subject: [Enigma-devel] Hi Keith from Ray Re: Making new Enigma Levels
Date: Thu, 3 Jul 2014 05:49:39 -0400 (EDT)

Hi Keith,
Here are some suggestions on creating your own Enigma Levels:  (you or/and your Son)
You can edit an Enigma Level file with WordPad in windows.  I think it is worth getting a source code editor, like "Notepad++", it will show you where pairs of parenthesis are and other syntax errors.  You can Google "notepad++" and down load a free copy.
Find the folder that contains your "enigma.exe"
Find the subdirectory data/levels/auto   (If it doesn't exist create it.)
Find the subdirectory data/levels/enigma_tutorial
copy the file "m_tut01_2.xml" file into the folder subdirectory data/levels/auto
Start enigma and select "Level Pack" then "User" then "Auto Folder".  The level you copied should display as "Oxyd Stones 1".  If so, you can select it and play it.
Edit the Level you copied.  Open the file "m_tut01_2.xml " in the subdirectory data/levels/auto.  If you decided to use Notepad++, select "Lua" under "L" from the "Language" drop down menu.

The file is in two parts.  The description of the level is in a language called Lua.  This part starts at the line ti[" "] = {"fl_lawn_b"} and stops after the line wo:shuffleOxyd().  The other part, surrounding the Lua part, is in a language called "XML".  This part, among other things, prepares the enigma program to deal with the Lua part.  You shouldn't need to work with the XML part until you are ready to submit the Level to be tested by other level makers.  The Enigma Reference Manual describes what needs to be done for that.

The following group of lines define the size and shape of the world that the level exists in.  It is best viewed in a uniform size font.  Starting with the second line there are 13 lines of 20 characters, each line between double quotes.
wo(ti, "1", {
   "#                  #",
   "#       2111111114 #",
   "#       1011111101 #",
   "# 214   1111111111 #",
   "# 1d17 91111111111 #",
   "# 1o11111111QQ1111 #",
   "# 1d16 81111111111 #",
   "# 315   1111111111 #",
   "#       1011111101 #",
   "#       3111111115 #",
   "#                  #",
If you look a few lines above you will see a line:
 ti["0"] = {"st_oxyd", flavor = "d"}.  (I added color for clerity)
This line is defining the character 0 as an oxyd stone.  There are basically 4 kind of objects in the world:
            Stones - name beginning in st_   ( in the case above st_oxyd)
            Floors - name beginning in fl_
            Items - name beginning in it_
            Actors - name beginning in ac_
The Enigma Reference Manual describes all the valid objects and their names.
For an experiment, replace two of the "1" characters in the world description with the character "0".  Save your changes.  Restart enigma and look at the Level in the Auto Folder.  It should have two more oxyds in the world.
If all is going well so far, congratulations,  you have made a new Level.  You can also use new characters to define new objects and place them in your level as you please.  As you get more experience you can copy other Levels into your "Auto" folder and look at them in edit to see how they work and use that information to create your own ideas.
I hope this is all clear and I didn't make any mistakes.  If you have any questions don't hesitate to ask.

Sent from Ray Wick without any free advertisement for any companies.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]