X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=LEVELDESIGN;h=6b60491869c225a940082c86fe54c92f5781ab8b;hb=04a5ff57d07db8607ee4b0768a3f40810d97a5b4;hp=db6f9ae42a9467d7fcf50d6a233cf4e8555e526c;hpb=4915ff573cd77908effc5413e931166fcc8b4721;p=supertux.git diff --git a/LEVELDESIGN b/LEVELDESIGN index db6f9ae42..6b6049186 100644 --- a/LEVELDESIGN +++ b/LEVELDESIGN @@ -1,108 +1,143 @@ +- 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 = -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 - -= BUILT-IN LEVEL EDITOR = - - -//FIXME: Check if all the informations are still valid, when releasing 0.0.6. USING THE BUILT-IN LEVEL EDITOR: -------------------------------- -The built-in level editor can already be used for -production, but more advances are expected in the -future, including a mouse driven interface. - -When opening the leveleditor, a menu will appear. This -menu can be used to add, edit, load, save and test levels. - -Menu entries: -- Return to Level Editor - just closes the menu and goes -to the editing mode. To come back to the menu, press Esc. -- New Level - creates a new level. The number of the level -is showed in the upper left part of the screen. The level -file are currently placed on data/levels/default. -- Test Level - if you want to test the current level, use -this option. -- Level Settings - this allows you to edit the header of the -file (as described in the beggining of this document). An -important field is the 'Level width' that allows you to -adjust level's size. -(Warning: there are some characters that do not work, cause -they are not supported by the fonts) -- Load Level - goes to a given level number. -- Save Level - saves the current level. -- Quit Level Editor - goes back to SuperTux's main menu. - -Editing mode: -To edit the level, you'll have to use the mouse or the -keyboard to control the red cursor, using the keyboard -to change tiles. Tiles keys are the same used by the -level format, listed above. You can check them in the fly, -pressing F1. I'd suggest you to print the above list of keys. -In the future, a mouse interface will be introduced. +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. -Now, do lots of levels and HAVE FUN!! +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 you created to the SuperTux's -mailinglist or to the maintainer (look at AUTHORS.txt). +Please, send your levels or any art, including sketches, you +have created to the SuperTux mailing list. -SuperTux developers \ No newline at end of file + - SuperTux developers