Downloading...

Map width (between 1 and 30):

A program consists of a single generator. Generator types:

- None
- Chain { [Generator1], [Generator2], ... } # Runs given generators in sequence in the whole area.
- Set { "token1" "token2" ... } # Places given tokens in whole area.
- Reset { "token1" ... } # As above, but removes all previous tokens.
- SetMaybe [Predicate] { "token1" ... } # Places tokens in cells that satisfy [Predicate]
- Remove { "token1" ... } # Removes all tokens from the area.
- Margin [TYPE] [width] [Generator1] [Generator2] # Adds a margin of type (TOP,BOTTOM,LEFT,RIGHT) of given width, runs [Generator1] inside and [Generator2] in the rest.
- Margins [width] [Generator1] [Generator2] # Adds 4-way margins of given width, runs [Generator1] in the margins, and [Generator2] inside.
- HRatio [ratio] [Generator1] [Generator2] # Splits the area horizontally according to [ratio] and runs generator in both area.
- VRatio [ratio] [Generator1] [Generator2] # Splits the area vertically according to [ratio] and runs generator in both area.
- Place { # Randomly places elements in positions according to parameters and runs generators.

{ size = X Y

generator = [G]

count = N (default 1)

predicate = [P] (default True) # Enforces that all cells where the element is placed satisfy [P]

position = [Pos] # (default RANDOM, can be MIDDLE)

}

...} - NoiseMap { # Generates a height map using Perlin noise and runs generators according to altitude range.

[lower] [upper] [Generator] # [Generator] will be run in the [upper] - [lower] fraction of cells,

such that a [lower] fraction of cells are all below them and [upper] are above. [lower] and [upper] are numbers between 0 and 1.

...} - Connect [Predicate1] { # Connects all cells matching [Predicate1] using shortest-paths.

[Cost1] [Pred1] [Generator1] # Cells matching [Pred1] will be traversed with cost [Cost1] and processed with [Generator1]

[Cost2] [Pred2] [Generator2]

...}

- On "Token" # True if cell contains "Token".
- Not [Predicate] # Negation of [Predicate].
- True # Always true.
- And { [Predicate1] [Predicate2] ... } # True if all predicates are true.
- Or { [Predicate1] [Predicate2] ... } # True if at least one of the pedicates is true.
- Chance [Probability] # True or false depending or RNG.