Difference between revisions of "Expression"
Line 9: | Line 9: | ||
== List of Expression Types == | == List of Expression Types == | ||
Some expressions are contextual to the enclosing [[Response]]. For example, the "Number of repeats finished" expression only appears if already inside a Repeat response. | |||
=== Values === | === Values === | ||
Line 53: | Line 55: | ||
*[[The current beat in the current bar expression|The current beat in the current bar]] | *[[The current beat in the current bar expression|The current beat in the current bar]] | ||
*[[Beats elapsed since the card started expression|Beats elapsed since the card started]] | *[[Beats elapsed since the card started expression|Beats elapsed since the card started]] | ||
=== Music === | |||
* The note played (only appears under the "track plays note" trigger) | |||
=== Functions=== | === Functions=== |
Revision as of 20:07, 11 May 2022
An Expression is a representation of a value that is resolved while the deck is playing. Some common uses for expressions include: Reading the value of variables, performing simple math, or creating randomness. Expressions can also be nested and combined to support more complex things, such as calculating health for characters, crafting procedural games and animations, and even making generative artwork.
Expressions always resolve to a numeric value.
Some expressions take arguments. For example, when reading the value of a Variable, you need to specify which variable to read. When adding two numbers, you need to specify which two numbers (or expressions) to add. Other expressions don't take any arguments, such as the Time elapsed since the card started.
Using Expressions
Expressions are an important component of Rules in Castle. Typically, when editing a rule, any numeric value can be an expression. To edit an expression, look for the round beaker icon to the left of a number input. Press it to open a sheet to edit that expression.
List of Expression Types
Some expressions are contextual to the enclosing Response. For example, the "Number of repeats finished" expression only appears if already inside a Repeat response.
Values
- The value of a variable
- A constant number. This is the same as not using an expression.
- The value of a Behavior property
Choices
Randomness
- A random number with a Gaussian distribution
- Perlin noise in 2 dimensions
- A random number in a range
Spacial relationships
- The speed of an actor
- The angle of motion of an actor
- The angle from one actor to another (degrees)
- The distance between two actors
Arithmetic
Clock
- Time elapsed since the card started
- The clock tempo
- Time since the last beat
- The current bar
- The current beat in the current bar
- Beats elapsed since the card started
Music
- The note played (only appears under the "track plays note" trigger)