21 |
@end ifnottex |
@end ifnottex |
22 |
|
|
23 |
@menu |
@menu |
24 |
* Introduction:: |
* Introduction:: General remarks on creating new levels |
25 |
* Objects:: |
* Objects:: Description of all objects in Enigma |
26 |
* Variables:: |
* Variables:: Per-level settings |
27 |
* Functions:: |
* Functions:: |
28 |
* Object Index:: |
* Object Index:: |
29 |
* Variables Index:: |
* Variables Index:: |
74 |
@uref{http://www.lua.org,lua.org}. |
@uref{http://www.lua.org,lua.org}. |
75 |
|
|
76 |
@menu |
@menu |
77 |
* A Simple Level:: |
* Example Level:: |
78 |
|
* Registering Levels:: |
79 |
|
* More Information:: |
80 |
@end menu |
@end menu |
81 |
|
|
82 |
@node A Simple Level, , Introduction, Introduction |
@node Creating New Levels,,, |
83 |
|
@section Creating New Levels |
84 |
|
|
85 |
|
Creating a new level basically consists of the following steps |
86 |
|
|
87 |
|
@enumerate |
88 |
|
@item Writing the level description, for example a file named |
89 |
|
@file{daniel01.lua}. |
90 |
|
@item Inserting the new level into a level pack of your choice |
91 |
|
@item Creating a preview image for the level |
92 |
|
@item Testing the level in Enigma |
93 |
|
@end enumerate |
94 |
|
|
95 |
|
@node Example Level, Registering Levels, Introduction, Introduction |
96 |
@section A Simple Level |
@section A Simple Level |
97 |
|
|
98 |
Here is a very simple level description that can also serve as a |
Here is a very simple level description that can also serve as a |
197 |
you can use this attribute to assign actors to either player one or |
you can use this attribute to assign actors to either player one or |
198 |
two. |
two. |
199 |
|
|
200 |
|
@node Registering Levels, More Information, Example Level, Introduction |
201 |
|
@section Registering Levels |
202 |
|
|
203 |
|
Writing the level description |
204 |
|
|
205 |
|
@node More Information, , Registering Levels, Introduction |
206 |
|
@section Where to go from here |
207 |
|
|
208 |
|
The example level from the previous sections was hopefully enough to |
209 |
|
give you an impression how level descriptions look like in Enigma. Of |
210 |
|
course, this level was extremely simple, and most levels |
211 |
|
will be more complicated than that. The rest of this reference manual |
212 |
|
tries to document the available game objects and how to interact with |
213 |
|
the Enigma game engine, both when preparing the level (before the game |
214 |
|
starts) and during the game. |
215 |
|
|
216 |
|
This manual only describes the low-level interface to Enigma's game |
217 |
|
engine, which is as flexible as it is inconvenient to use by hand. |
218 |
|
Petr Machata has written a comprehensive set of helper routines that |
219 |
|
greatly simplify the creation of new levels. You can use the package |
220 |
|
by including @code{Require("levels/ant.lua")} in your level |
221 |
|
description. There is extensive documentation for @file{ant.lua} in |
222 |
|
file @file{ant_lua.txt} in the documentation directory. |
223 |
|
|
224 |
|
Before you read on, please be aware that this manual is far from |
225 |
|
complete. We are working on it and it will be ready for the |
226 |
|
(glorious) 1.0 release. For the moment, the available level |
227 |
|
descriptions are the best ``documentation'' available. |
228 |
|
|
229 |
|
|
230 |
@node Objects, Variables, Introduction, Top |
@node Objects, Variables, Introduction, Top |
231 |
@chapter Objects |
@chapter Objects |