Boulder Rush Cave Format


Cave format

Bouder Rush Editor supports reading/writing simple text cave description.
First column in a cave file contains keyword. Second one contains a value or values.
Following keywords are defined and required (NOTE: order they appear in the file is important). All keywords and their parameters are case sensitive.

Keywords

keywordargument(s)description
FileVersion
version_num
Cave format version (as double). Currently defined as 1.0
Author
author
Cave author (as string)
Name
name
Cave title (as string)
Description
description
Cave description (as string)
InitialFill
element_name
Initial fill element (as element name). This element is used to fill entire field.
RandomFill
el1 el2 el3 el4
Pseudo-randomly placed elements (four element names). These elements are used to pseudo-randomly fill entire field.
ObjProbability
p1 p2 p3 p4
Pseudo-randomly placed elements probabilities (as integers from 0 to 999). Each number encodes probability that corresponding element will be placed on the field. Zero (0) means that given element will not be placed at all. 200 means that corresponding element will occupy about 20.0% of field area.
RandSeed
s1 s2 s3 s4
Random generator seed values for corresponding pseudo-randomly placed elements (as integers from 0 to 32767).
CaveTime
t1 t2 t3 t4 t5
Cave total times for each level (as five integer values from 1 to 9999)
DiamondsRequired
d1 d2 d3 d4 d5
Number of diamonds required to successfully finish the cave for each level (as five integer values from 0 to 9999)
DiamondValue
v1
Number of points per diamond (as integer from 0 to 9999)
DiamondExtraValue
v1
Number of bonus points per diamond (as integer from 0 to 9999)
MagicWallTime
time
Number of cave time units magic wall is milling after activation (as integer from 0 to 9999)
LavaSlowGrowthTime
time
Number of cave time units lava grows slowly (as integer from 0 to 9999). When this time expires lava will grow significally faster.
SlimePermeability
permeability
Slime permeability in per mills (integer from 0 to 1000). Zero (0) means slime is not permeable.
CaveWidth
width
Cave width (as integer from 20 to 100). Used to establish cave dimensions.
CaveHeight
height
Cave height (as integer from 12 to 100). Used to establish cave dimensions.
Intermission
bool
Cave is intermission (as bool value: "true" or "false").
HatchingDelay
delay
Rockford's hatching delay (as integer from 0 to 100). This is a number of scanning frames inbox will be blinking before Rockford's hatching.
Objects
count
Number of cave objects (as integer from 0).
object_name
object_params
Object and it's parameters

Play Field Elements

Following field elements are defined:

SPACE, DIRT, WALL, MAGICWALL, OUTBOX, WALL2, STEELWALL, FIREFLY, FIREFLYu, FIREFLYr, FIREFLYd, BOULDER, DIAMOND, EXPANDINGWALLH, EXPANDINGWALLV, EXPANDINGWALLVH, INBOX, HIDDENOUTBOX, BUTTERFLY, BUTTERFLYl, BUTTERFLYu, BUTTERFLYr, INBOX, LAVA, SLIME, BOMB, SKULL, FUSE, GLUE, ACID, DUMMY.

Not all of them are explicitly available under cave editor.


Cave objects

Current implementation of cave editor supports following objects:

objectargumentsdescription
Point
pos element
Single element placed on given position
Line
from to element
Line of elements
Outline
from to element
Outline (frame) of elements. Positions are given as two opposite corners of outline.
Rectangle
from to element
Rectangle (filled) of elements. Positions are given as two opposite corners of rectangle.
OutlinedRect
from to outline fill
Outlined rectangle of elements. Positions are given as two opposite corners of rectangle.
Grid
from to fill1 fill2
Patterned (checked) rectangle of elements. Positions are given as two opposite corners of rectangle.

All positions are encoded as a pair of integers separated by comma ',' character. Elements are encoded as element names.


Sample cave

FileVersion 1.0 Author MiK Name The Cave Description Sample cave InitialFill DIRT RandomFill SPACE BOULDER DIAMOND FIREFLY ObjProbability 15 50 15 0 RandSeed 10 11 12 13 14 CaveTime 200 150 120 100 80 DiamondsRequired 30 32 34 36 38 DiamondValue 5 DiamondExtraValue 15 MagicWallTime 50 LavaSlowGrowthTime 200 SlimePermeability 55 CaveWidth 40 CaveHeight 22 Intermission false HatchingDelay 32 Objects 6 Outline 13,5 23,14 FIREFLY OutlinedRect 14,6 22,13 BOULDER DIAMOND Rectangle 36,1 38,2 LAVA Point 1,1 INBOX Point 38,20 OUTBOX Line 10,15 38,15 WALL