This wiki has been moved to https://github.com/SuperTux/wiki into the mediawiki branch.
Milestone 2 Design Document/Styleguide
| Milestone 2|
These guidelines should be kept for any level that appears on the official world maps. Designers contributing levels to the Contrib and Bonus sections are free of regulations - that's what those sections are for.
In Milestone 2, we focus on Icy Island, the island already present in Milestone 1. It has a snow and ice setting, so please use the appropriate tiles only. Most of them are in the "Snow" and "Blocks" groups in the level editor. There are numerous other tiles currently available in the editor, but they are either either not finalized or not appropriate for Icy Island (the Forest tiles, for example).
The goal of SuperTux is to be fun, not to be hard. So the goal is to make fun levels, not to make them challenging. Remember that a player will get frustrated and annoyed if he dies more than small number of times in a level and also keep in mind that a player will see the level for the first time when he plays it.
Tip: If you are in doubt if a level is getting too hard, change the style of play to something that is unfamiliar to you, invert left/right controls, play with the left hand, play only as small Tux or anything like that. If you can still beat the level without problems and without dying, it likely is easy enough. If not, then it is likely too hard.
Do not randomly mix enemies of all different kinds. Level should follow a certain theme and thus focus on enemies that fit that theme. Don't just randomly place each and every type of snow enemy into level. Fire enemies are reserved for castle levels.
When creating slopes, make sure that they are smooth and don't make sudden jumps in inclination. Note when using slopes that some combinations are ill-fitting; ignore these artifacts as they are graphics problems, not level problems.
Don't use tiles in the background that were built for the foreground. Use only special background tiles in the background. In general, don't ever mix tilesets. Clearly distinguish between the layers - players should be able to see immediately where they can safely walk and what is foreground and background. Secret areas can violate this.
Levels must be at least 25 tiles high, using at least 32 tiles is recommended. Levels should be between 250 and 350 tiles long.
(A couple of levels in Icy Island are over 500 tiles long – newer levels should not be this long and it's possible we'll split up those long levels in the future.)
Naming the Level File
When saving the level file, name it like this: 02 - example level.stl So you have the number (02 in the example) showing what order you play the levels, and the level name for a few reasons, separated by a hyphen. If you don't understand, look at the world1 level folder.
However, it's not critical, when the level file is named else, because it can be easily renamed, and when you want to contribute into the main game, you probably don't know, which number the level will have. When it is for an add-on, you haven't to do so, because nobody will see, how the level is named, and it will work the same. On the other side, it's good to name the level file as the level is named, because nobody knows, what jasdbgadyijbgyiao.stl means, when is somebody trying to find a level file with specific name.
The application-fall composition
When something falls on haywire, then application falls. This is happening on ST 0.3.3. This bug is corrected in ST 0.3.4, but it's only a development version and not full version. It's very frusturating, when the application is always falling. Don't make levels, where is possible something like that!! It's good to follow it, while is ST 0.3.3 in power.
When you are building a level, don't forget building floor and roof where is neccessary. For example, cave level without floor and roof looks strangely. However, the floor and roof don't have to be solid.
- Overground levels should have a floor and no roof.
- Underground and interiour levels should have a floor and a roof.
- Sky levels shouldn't have any floor and any roof.
Levels shouldn't use going above the screen. Firstly, you can't see, what exactly is arround tux. Secoundly, you can make the level higher. Levels shouldn't contain detours that lead above the screen including secret areas.
When you fall under the sreen, you will die, because a trap is expected, not because of a strange natural power. Use spikes or so instead, when is possible. And when a hole contains a scripttrigger, that warps you to a sector bellow, the other holes should warp you to another sector too, or have a trap in them.
SuperTux is meant to be a fair and fun game, so don't create unfair configurations, like a spike on the roof as well as one on the ground, that require way too much precision or luck and just aren't fun to play.
Other things to avoid:
- Creating paths that are only two tiles high, make things high enough that SuperTux can jump.
- Don't create jumps that require pixel perfect precision unless it is for a special secret area.
- Don't use invisible tiles for normal gameplay.
- Keep the number of enemies that are on the screen at once small, it shouldn't be more then three for most cases.
- Do not overuse switches and doors: SuperTux isn't an adventure game, it's a jump'n run, so make the level straightforward and easy to understand.
- Avoid creating large monotonous spaces; players get tired of running around a huge level.
- Try to limit the use of reset points; if you can get away with none whatsoever, do so.
- Don't allow dead ends or impossible levels; either the player dies, or there's still a way to solve it. (Allowing the player to suicide from a trap works as well) Test your level thoroughly to find possible paths you missed before.
- Avoid too hard or too easy levels. Too easy levels get boring very quickly while too hard ones can be frustrating. Levels you built often appear a lot easier for yourself, so be sure to let other people test them.
- Secret areas should be well-hidden and not be visible on first sight. Use your imagination to think of new ways to create secrets - some of the above rules can be broken for that purpose, but be careful!
- Avoid impossible-to-reach coins or lives. Collecting everything in a level is often important to players. However, difficulty can be just short of impossible - requiring frame-by-frame accuracy is fine. (So long as you provide a demo to prove that it is in fact possible) This only applies to bonus items - players should be able to complete the level minus some items with only moderate difficulty.
- Avoid using any water. Swimming and water physics have not been finalized, so any current water behavior is unreliable.
- Don't overuse "new" things (enemies, objects, tiles): Use them when and where they make sense. Don't use them just because they are new.
- Change gravity only when it has sense. Don't change it, when you want only Tux jumping higher/lower.
- Secret Maryo Chronicles has some at http://secretmaryo.org/wiki/index.php?title=Level_Design_Guidelines