Hi Keith,
Here are some suggestions on creating your own Enigma
Levels: (you or/and your Son)
1.
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.
2.
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.
3.
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.
4.
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.
5.
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.
Ray