A Rule is a unit of logic in Castle decks. Rules can be added to blueprints in order to change the behavior of the blueprint in response to specific events or under certain conditions.
Each rule consists of a Trigger and one or more Responses. A trigger is the part of a Rule that describes when to run that rule, such as When this is tapped. Responses are the part of the rule that describe what to do after the rule is triggered, such as Destroy this actor. A blueprint can have many rules, but it doesn't have to have any.
There are many different possible triggers and even more responses. Simple rules can be used by anybody to add basic logic to a game or a piece of art, like playing a sound effect when the player taps an item, or restarting the card when the player collides with an enemy. When rules start to get more complex, they can do almost anything. Advanced users have used them to make procedural art, simulations, and even basic 3d games. Rules are one of the most powerful core elements of Castle.
Adding and editing rules
Learning how to write rules
The best way to learn Rules is to follow a guide, such as How to make your first Castle deck, which walks you through making your first Rules. Secondly, consider starting with one of the premade Castle Kits, and then inspect the blueprints that come with it. Lastly, you can also View the Source of any deck to see how it was made.
Examples of rules
As an illustrative example, imagine a golf game. You want to be able to sling the golf ball when it's sitting on the ground, but after it's flying through the air, the player shouldn't be able to sling it anymore. The golf ball might have a rule like this:
When this is slung: Disable behavior slingshot
Eventually, after the ball reaches the ground and comes to a stop, we want to allow the player to sling again:
When this stops moving: Enable behavior slingshot
If the player accidentally slings the ball out of the screen, we count that as losing the game, so we want to start the level over. The golf ball might have a third rule like this one:
When this exits the camera viewport: Restart this card
But if the player succeeds in putting the golf ball in the hole, we want to show a message saying they won:
When this collides with tag #hole: Create text box "You got the ball into the hole!"
You can find a (slightly more complex) version of these exact rules if you check out the Golf Course Kit.