Level creation in Soliton is simple! Just open up your favorite text editor (I recommend m-x artist-mode
in Emacs), and start placing characters to shape out your level. Each level can be 40 tiles wide and 23 tiles tall.
Here is what each character means:
(+ - | \ / X) are wall tiles. Players and enemies cannot walk on these tiles, so use them to shape your level.
(.) are floor tiles. Players and enemies CAN walk on floor tiles. This is where the action happens in the level.
Spaces are empty space. They signify the outside of the level.
(E) is the end of level tile. This signifies where the player needs to go to win the level.
(@) is the player start tile. This signifies where the player starts the level.
(< v > ^) are enemy start tiles. These signify where enemies will start in the level, and which direction they face. The open end is where they are facing.
($) is the end of map tile. This signifies where your level file stops mapping out the level and starts loading in the enemy paths. There should only be enemy path codes after it.
The enemies are numbered from left to right, up to down. Enemies can be assigned paths by using the # character that are defined by pairs of characters separated by spaces. 'm' means move one space, 'l' means look without moving. 'r' 'u' 'l' and 'd' mean right, up, left, and down respectively. They move once per turn, and once they reach the end of their path, they start over from the beginning. The paths are assigned to the enemies sequentially - the first path will be assigned to Enemy 1, the second to Enemy 2, and so on. It is best to keep each individual path on its own line. To skip an enemy, simply put a # with nothing else following it on the line.
Name your levels level1.slv, level2.slv, etc. You can have as many levels as you want.
The enemy in this level moves right four times, then looks up, then moves left four times, then looks down, then repeats.