This is a reference of all blocks that are currently in Sandspiel Studio.
We're still building Sandspiel Studio! To support us, or join our early-access community, please sign up! :)
When expanded: A group of types.
Swap places with another cell.
Note: This also updates the position of 'me' to be where the cell swapped to.
Copy myself into another cell.
Change a cell into a different type.
Note: This also resets the Hue Rotate, Extra Data, and Color Fade of the cell.
Am I touching a certain type of cell?
Am I touching any of these types of cell?
Note: A touching cell can be in any of the 8 surrounding cells:
π©π©π©
π©β¬π©
π©π©π©
How many cells am I touching that are a certain type?
How many cells am I touching that are any of these types?
Note: A touching cell can be in any of the 8 surrounding cells:
π©π©π©
π©β¬π©
π©π©π©
If a condition is true, do something.
For example: If I am touching Water, change into Water.
Randomly true with a certain chance.
Is a keyboard button held down?
Note: You can choose from any of these keys.
space bar
β‘ right arrow
β¬
left arrow
β¬ up arrow
β¬ down arrow
Is a value equal to another value?
Is a value bigger/smaller than another value?
For example: Am I touching more than 3 Water cells?
For example: Am I touching Water, and also above Sand?
For example: Am I not touching Water?
Note: These are the vectors that you can choose from.
me
β‘ right
β¬
left
β¬ up
β¬ down
β NE
β SE
β SW
β NW
? Neighbor
Arrow Keys_
Note: 'me' is the position of this cell.
Note: '? Neighbor' chooses a random direction.
Note: 'Arrow Keys' direction is controlled by what arrow keys you are pressing.
Note: Behind-the-scenes, vectors are represented with an 'x' and 'y' value.
For example, 'me' is (0,0) and 'NE' is (1,-1).
The direction that the arrow keys are pressed.
For example: If you press the right arrow, it will be the 'right' direction.
Note: You can also do diagonal directions by pressing more than one key.
For example: You press the right arrow and the up arrow, it will be the 'NE' direction.
Do something in a random rotation or reflection.
For example: Swap positions in a random direction.
Note: 'rotation' picks from eight possible 45Β° rotations.
Note: These are all the transformations you can choose from.
β» rotation
β₯ reflection
β· horizontal reflection
β vertical reflection
Repeat something in each rotation or reflection.
For example: Copy myself in all directions.
Note: 'rotation' cycles through eight possible 45Β° rotations.
Note: These are all the transformations you can choose from.
β» rotation
β₯ reflection
β· horizontal reflection
β vertical reflection
Do something, rotated by a certain number of 45Β° rotations.
Note: Positive numbers rotate clockwise. Negative numbers rotate anti-clockwise.
For example: Swap positions with the cell to my left (down rotated by 45Β° two times, clockwise).
Note: Can be any number from -100 to 100.
A math operation between two numbers.
Note: These are all the operations you can do with numbers:
Operator | Description | Example | Result |
---|---|---|---|
+ | Add two numbers together | 3 + 2 | 5 |
- | Subtract a number from another | 5 - 3 | 2 |
Γ | Multiply two numbers together | 3 Γ 2 | 6 |
Γ· | Divide a number by another | 6 Γ· 2 | 3 |
% | Find the remainder when you divide one number by another | 5 % 2 | 1 |
difference | Find the difference between two numbers | 3 difference 5 | 2 |
You can also do operations with two vectors.
Note: When you use two vectors in this block, the operation happens to each co-ordinate.
For example, if you add 'right' (1, 0) to 'SE' (1, 1), it does (1+1, 0+1). This results in (2, 1).
You can also combine numbers and vectors in operations.
Note: There are some special interactions when you combine numbers and vectors:
Operation | Description |
---|---|
Vector + Number | Rotate the vector by a number of 45Β° rotations, clockwise |
Vector - Number | Rotate the vector by a number of 45Β° rotations, anti-clockwise |
Note: All other number and vector operations apply the number to each co-ordinate of the vector.
For example: When you multiply 'right' (1, 0) by 2, it does (1Γ2, 0Γ2). This results in (2, 0).
A random number between a minimum and maximum number.
All cells store four different pieces of data.
Name | Description | Range | Default |
---|---|---|---|
Type | How the cell behaves (eg: Sand) | n/a | n/a |
Color Fade | How much the cell is faded from its primary color to its secondary color | 0 to 100 | A random number |
Hue Rotate | How much the cell's color is changed through the hue wheel. | 0 to 100 (wraps around) | 0 |
Extra Data | Does nothing | 0 to 100 | 0 |
When expanded: The data of a cell.
Increase my data by a certain amount.
When expanded: Increase the data of a cell by a certain amount.
When expanded: Set the data of a cell.
These are some experimental blocks that have been added recently.
Repeat something a certain number of times.
For example: Swap downwards 2 times.
For example: Every three frames, swap downwards.
Queue something to happen at the end of the frame (after every cell else has behaved).