Every brain in the game operates with a series of brain tiles that affect the internal behaviour (the object itself) as well as the ability to modify external behaviour (world, gameplay, winning conditions and other objects). Project Spark list of assignments derives from the Kode visual programming toolkit which can be found here. Every Brain assignment menu (see picture below) consists of 'pages', then each page consists of the rules (a horizontal line of commands, starts with the line number) and last is the 'WHEN' and 'DO' sections, a highly optimised use of IF-THEN commands. Inside these two sections, the assignments are illustrated by 'tiles'. There are multiple categories of tiles like Sensors, Actuators, Properties and Operators:
- Sensors (bump, see, ray cast): Sensors allow an object to sense information about the world, other objects, or input devices.
- Actuators (jump, attack, heal, create, paint terrain): Actuators allow an object to change the world, itself, or other objects.
- Properties (scale, movement speed, world brighness, custom properties): Brains can read and write properties to customize objects and the world.
- Operators (add, multiply, absolute value, greater than): Operators allow the creator to form meaningful expressions from different properties.
Below is a list of in-game categories for the assignments (inside the WHEN and a DO section) which are based in Project Spark's visual programming language (descriptions needed for brain tiles):
< > Indicate player input or custom action
(...) Indicate examples of pre-made content (not included in map so that it doesn't confuse the viewer)
Italic Indicate the tile is a category
Bold Indicate the tile is seen in the first menu when a new tile is inserted.
WHEN[]
Objects (WHEN)[]
- In-world picker <>
- Open prop Gallery <>
- Player
- Items
- Inventory
- Inventory
- Held in Inventory
- Inventory
- Equipment
- Equipment types
- Is melee weapon
- Is ranged weapon
- Is shield
- Equipment
- Equipped
- Equipment types
- Equipment
- Attachment
- Attached
- Attachments
- Creator
- Owner
Values (WHEN)[]
- Global
- Number
- New Number <>
- New Number Variable <>
- Numbers
- (...)
- (...)
- (...)
- Text
- New Text variable <>
- Object
- New Object variable <>
- (...)
- (...)
- (...)
- Object Set
- New Object Set variable <>
- Boolean
- New Boolean variable <>
- True
- False
- Vector
- New Vector variable <>
- (...)
- Color
- New Color variable <>
- Boom camera Settings
- New Boom camera settings variable <>
- Fixed camera Settings
- New Fixed camera settings variable <>
Sensors (WHEN)[]
- Detect
- See
- Bump
- Bump terrain
- In trigger zone
- Ray cast hit
- Object Filters
- Nearest object
- Farthest object
- Objects closer than
- Farther than
- Objects in front
- Objects behind
- Objects left
- Objects right
- Objects above
- Objects below
Movement (WHEN)[]
- Movement Events
- Moving
- Flying
- Swimming
- Jumping
- Strafing
- Falling
- On Ground
- In Air
- Walking
- Running
- Crossed Waypoint
- Path Complete
- Is in terrain
- Movement Properties
- On land speed
- On land acceleration
- On land turn speed
- Can walk
- Jump
- Can jump
- Multi-jump count
- Jump height
- Can control falls
- In air horizontal speed
- In air horizontal acceleration
- In air turn speed
- Fly
- Can fly
- Flying speed
- Flying acceleration
- Flying turn speed
- Swim
- Can swim
- Swimming speed
- Swimming acceleration
- Swimming turn speed
- Advanced Movement
- 2D forward
- 3D forward
- First person turn speed
- Reverse speed
- Reverse acceleration
- Deceleration
- Allow quick turn
Combat (WHEN)[]
- Health
- Is dead
- Combat Events
- Attack hit
- Hit by attack
- Attacking
- Shooting
- Throwing
- Is projectile
- Dodging
- Can Combo
- Blocking
- Dead Objects
- Combat Properties
- Melee
- Light damage
- Medium damage
- Heavy damage
- Targetable
- Can face attacker
- Shoot
- Shoot damage
- Shoot lifetime
- Shoot speed
- Shoot limit
- Shoot frequency
- Can shoot
- Throw
- Throw damage
- Throw lifetime
- Throw speed
- Throw limit
- Throw frequency
- Can throw
- Health and Defenses
- Max health
- Invulnerable
- Immortal
- Attackable
- Destroy after death
- Collide with launcher
- Hit reactions
- Light hit reaction
- Medium hit reaction
- Heavy hit reaction
- Ranged hit reaction
- Damage hit reaction
- Block hit reaction
- Hit reaction recovery
- Flash color
- Block flash color
- Melee
Appearance (WHEN)[]
- Visible
- Pace
- Scale
- Height
- Name
- Color properties
- Color intensity
- Primary color
- Secondary color
- Solid color
- Tertiary color
Timing and Logic (WHEN)[]
- Countdown timer
- Duration timer
- Started to
- No longer
- Once
- For each of
- Not
- Ignore Line
- Until
- After
- Page entered
Controls (WHEN)[]
- Touch Controls
- Touch priority
- Swipe
- Touch
- Keyboard
- WASD
- Arrow keys
- Create a key press <>
- Mouse
- Left mouse button
- Right mouse button
- Mouse position
- Mouse wheel
- Middle mouse button
- Controller
- A
- B
- X
- Y
- Left stick
- Right stick
- Left trigger
- Right trigger
- Left bumper
- Right bumper
- Left stick button
- Right stick button
- Dpad
- Any stick
- Any stick click
- Any trigger
- Any bumper
- Any button
- Input Methods
- Is using controller
- Is using keyboard
- Is using touch
- On screen button
- Keyboard
Positioning (WHEN)[]
- Distance to
- Position
- Center
- Centroid
- Camera Positioning
- Camera forward
- Camera position
- Directions
- Forward
- Right
- Up
- Backwards
- Left
- Down
- Offsets
- Above
- Top side
- Bottom side
- Front side
- Back side
- Left side
- Right side
- Sockets
- Root
- Left hand
- Right hand
- Head
- Left foot
- Right foot
- Center
- Fire point
- Hold point
- Position
- Owner socket
- Right forearm
- Left forearm
Math (WHEN)[]
- Negative
- Square root
- (
- Random
- Random number
- Sample Noise
- Vector
- Angle between
- Trigonometry
- Sine
- Cosine
- Tangent
- Arcsine
- Arccosine
- Arctangent
- Functions
Teams (WHEN)[]
- Team
- Neutrals
- Allies
- Enemies
- Teams
- Neutral
- Team 1
- Team 2
- Team 3
- Team 4
- Team 5
- Team 6
- Team 7
- Team 8
- Is neutral with
- Is ally with
- Is enemy with
Brains (WHEN)[]
- Enabled
- Pages
- Next page
- Previous page
- Current page
- Current index
- Multi-brain
- Get brain
- Has brain
- This brain
- Power
- Has power
- Connections
- Incoming power connections
- Outgoing power connections
- Interactions
- Interacted
- Interactable
Physics (WHEN)[]
- Collidable
- Velocity
- Gravity factor
- Density
- Mass
- Bounciness
- Friction
- Drag
- Current speed
World Properties (WHEN)[]
- Global pace
- World water level
- World terrain amount
Champions (WHEN)[]
- Champion gallery <>
Campaign (WHEN)[]
- Campaign
DO[]
Objects (DO)[]
- In-world picker <>
- Open Prop Gallery <>
- Player
- Items
- 'Inventory
- Pick up
- Drop
- Give
- Inventory
- Equipment
- Equip
- Unequip
- Equipment
- 'Inventory
- Attachment
- Attach
- Detach
- Attachments
- It
- Them
- Nothing
- All Objects
- Creator
- Owner
Values (DO)
- Global
- Number
- New Number Variable <>
- (...)
- (...)
- Text
- New Text variable <>
- Object
- New Object variable <>
- (...)
- (...)
- (...)
- Object Set
- New Object Set variable <>
- Boolean
- New Boolean variable <>
- Vector
- New Vector variable <>
- Color
- New Color variable <>
- Boom camera Settings
- New Boom camera settings variable <>
- Fixed camera Settings
- New Fixed camera settings variable <>
Sensors (DO)[]
- Object Filters
- Nearest object
- Farthest object
- Objects closer than
- Farther than
- Objects in front
- Objects behind
- Objects left
- Objects right
- Objects above
- Objects below
Movement (DO)[]
- Move
- Turn
- Jump
- Yaw
- Pitch
- Roll
- Fall
- Movement Properties
- On land speed
- On land acceleration
- On land turn speed
- Can walk
- Jump
- Can jump
- Multi-jump count
- Jump height
- Can control falls
- In air horizontal speed
- In air horizontal acceleration
- In air turn speed
- Fly
- Can fly
- Flying speed
- Flying acceleration
- Flying turn speed
- Swim
- Can swim
- Swimming speed
- Swimming acceleration
- Swimming turn speed
- Advanced Movement
- First person turn speed
- Reverse speed
- Reverse acceleration
- Deceleration
- Allow quick turn
Combat (DO)[]
- Attack
- Shoot
- Throw
- Dodge
- Damage
- Heal
- Kill
- Block
- Revive
- Health
- Combat Properties
- Melee
- Light damage
- Medium damage
- Heavy damage
- Targetable
- Can face attacker
- Shoot
- Shoot damage
- Shoot lifetime
- Shoot speed
- Shoot limit
- Shoot frequency
- Can shoot
- Throw
- Throw damage
- Throw lifetime
- Throw speed
- Throw limit
- Throw frequency
- Can throw
- Health and Defenses
- Max health
- Invulnerable
- Immortal
- Attackable
- Destroy after death
- Collide with launcher
- Hit reactions
- Light hit reaction
- Medium hit reaction
- Heavy hit reaction
- Ranged hit reaction
- Damage hit reaction
- Block hit reaction
- Hit reaction recovery
- Flash color
- Block flash color
- Melee
- Dead objects
Appearance (DO)[]
- Emote
- Say
- Visible
- Highlight
- Hologram
- Pace
- Grow
- Shrink
- Scale
- Color Properties
- Color intensity
- Primary color
- Secondary color
- Solid color
- Tertiary color
'Create '(DO)[]
- Create
- Destroy
- Play Fx
- Play Sound
- Play Music
- Interface
- Display
- Show meter
- Show counter
- Game Over
- Fade
- Shapes
- Draw sphere
- Draw line
- Draw box
- Terrain Actions
- Add terrain
- Substract terrain
- Paint terrain
- Copy terrain
- Play creation effect
- Shockwave
- Spark Moment
- Show spark vision
Controls (DO)[]
- Touch Controls
- Touch Priority
- Vibrate
Camera (DO)[]
- 1st Person camera
- Follow camera
- Fixed camera
- Boom camera
- Look at Target
- Camera effects
- Camera shake
- Depth of field
- Letter box
Positioning (DO)[]
- Position
- Center
- Centroid
- Directions
- Forward
- Right
- Up
- Backward
- Left
- Down
Math (DO)
- Toggle
Teams (DO)[]
- Team
- Neutrals
- Allies
- Enemies
- Teams
- Neutral
- Team 1
- Team 2
- Team 3
- Team 4
- Team 5
- Team 6
- Team 7
- Team 8
Brains (DO)[]
- Brain is active
- Push Brain
- Pop Brain
- Done executing
- Pages
- Call Page
- Switch Page
- Current index
- Multi-Brain
- Add brain
- Disable brain
- Enable brain
- Get brain
- Remove brain
- This brain
- Power
- Interactions
- Interact
- Interactable
Physics (DO)[]
- Push
- Collidable
- Velocity
- Gravity factor
- Density
- Mass
- Bounciness
- Friction
- Drag
World Properties (DO)[]
- Global pace
- World water level
- Set Ambient track
Champions (DO)[]
- Create champion
- Champion gallery <>
Campaign (DO)[]
- Campaign
- Go back
- Go to
After the brain tiles, the creator can assign multiple relevant modifiers with PATs.