Tweaked the buttstomp range - now it kills only enemies that are close to Tux on...
[supertux.git] / LEVELDESIGN
index 92d05ac..6b60491 100644 (file)
-HEAD:
---------
-
-1. Name of the level.
-2. The theme of the level. The game will look in "supertuxdir/data/images/theme"
-3. The time you have to finish the level.
-4. Defines the music file, which should be played.
-5,6,7. RGB values for the background of the level.
-8. Defines the level's length.
-
-Example:
-----------
-Antarctica
-antarctica
-240
-ji_turn.it
-128
-192
-255
-375
-
-MAIN:
--------
-Levels are created with the following characters:
-(15 lines and as many columns as defined in the seventh line of the levelfile)
-
-X/x <- Brick0
-Y/y <- Brick1
-A/B/! <- Box full
-a <- Box empty
-C-F <- Cloud0
-c-f <- Cloud1
-G-J <- Bkgd0
-g-j <- Bkgd1
-# <- Solid0
-[ <- Solid1
-= <- Solid2
-] <- Solid3
-$ <- Distro
-^ <- Waves
-* <- Poletop
-| <- Pole
-\ <- Flag
-& <- Water
-
-Bad guys:
-
-0 <- BluescreenOfDeath
-1 <- Laptop
-2 <- Money
 
+- Level editing for SuperTux -
+http://super-tux.sf.net/
+
+Last update: April 26, 2004
+
+This document describes both the level format and
+the level editor.
+
+= LEVEL FORMAT =
+
+The level format used to be pretty easy to understand, but it
+is now more complex. Anyway, should be pretty useful to know
+a bit of it, when you want to do stuff just as to just change
+the author's name or something small.
+
+It uses the Lisp syntax and is pretty intuitive. Here have a
+look at a quotation:
+(Comments can be made using ';')
+
+; This is a comment!
+(supertux-level
+; some level info: version, author and the level's name
+  (version 1)
+  (author "Ingo Ruhnke")
+  (name "Night Chill")
+; number of tiles used (currently the height has to be 15)
+  (width  515)
+  (height 15)
+; Tux's start position
+  (start_pos_x    100)
+  (start_pos_y    170)
+; Background image; if none is specified, the color below will be used
+  (background "")
+; Music file
+  (music "Mortimers_chipdisko.mod")
+; Colors, as you can see you can have different colors in the top
+; and in the bottom, thus creating a gradient
+  (bkgd_red_top    0)
+  (bkgd_green_top  0)
+  (bkgd_blue_top   0)
+  (bkgd_red_bottom    120)
+  (bkgd_green_bottom  120)
+  (bkgd_blue_bottom   0)
+; Time (it is not in seconds!)
+  (time  300)
+; Gravity to be used (you should let it stay in 10 for ordinary levels)
+  (gravity  10)
+; The particle system draws images that simulate weather effects
+; As of the writing of this text, both "snow" and "clouds" are supported
+  (particle_system "snow")
+; Theme is the tileset that is used
+  (theme "antarctica")
+  (interactive-tm
+    ; here goes a lot of numbers that are the tiles places
+  )
+; Reset points; there can be more than one
+; Reset points are positions where the player passes through and
+; if he dies, he will be back to there. They are invisible
+  (reset-points
+    (point (x 6988) (y 222))
+   )
+; Objects include enemies, may include more stuff in the future
+; just as moving plataforms...
+  (objects
+    (mriceblock  (x 13919) (y 384))
+    (mriceblock  (x 14258) (y 366))
+    (mriceblock  (x 12996) (y 248))
+    (mriceblock  (x 13058) (y 250))
+    (mriceblock  (x 12933) (y 245))
+  )
+   )
+
+
+= LEVEL EDITORS =
+
+USING THE BUILT-IN LEVEL EDITOR:
+--------------------------------
+
+When opening the leveleditor, a menu will appear. This menu
+can be used to select or add level subsets. A level subset is
+a collection of levels. Subsets can be chose during gameplay
+when starting a game.
+
+After selecting the subset, have a look at the level editor.
+The button bar in the right is the place where you can control
+the actions related with editing. You can select levels and add
+throught there.
+
+To select tiles (foreground or background) and enemies, the button
+bar is the right place. There you can also save, test and setup
+the level. It is also possible between two selection cursors! Give
+a try to both. A right click in a button bar button will give you
+a description and a shortcut for it.
+
+To change a tile, just press the tile you want to change with a
+left mouse click. The current tile will be used. Depending
+on the selection behavior, you can or not select more
+than one tiles.
+
+To scroll, you just have to point over the two arrow buttons, or
+use the right button click.
+
+There is a small help that can be reached by pressing F1.
+
+To go back to the menu, just press Esc.
+
+The levels are saved under a .supertux/levels directory in
+your home directory.
+
+
+USING FLEXLAY:
+--------------
+
+FlexLay is an external project (it even uses different libraries)
+that is developed by Ingo Ruhnke and supports a lot of different
+games, including SuperTux (or else we wouldn't mention it :) ).
+
+Anyway, it is pretty easy to use and is a lot more advanced than
+the internal one. So, if you are considering doing a few levels
+for us, it would be a good idea to check this out.
+
+Its webpage is located at:
+http://pingus.seul.org/~grumbel/flexlay/
+
+It needs ClanLib and a few odd libraries... Anyway, it worths
+it ;)
+
+The only cons it has is that you have to have an accelerated
+videocard (with the drivers working, obviously). For linux,
+we advise nvidia videocards with the use of nvidia's closed
+drivers. ATI drivers should be enough to run this game though.
+
+
+= CONCLUSION =
+
+To sum up, go build lots of levels and HAVE FUN!!
+
+Please, send your levels or any art, including sketches, you
+have created to the SuperTux mailing list.
+
+
+    - SuperTux developers