← Yop2D

Yop2D node reference

Français · English · Español · Deutsch · Italiano · Português · Русский · 中文 · 日本語

Yop2D is a free, no-code 2D game engine for Android. A game's logic is built with nodes (visual blocks) linked together in the Blueprint: events start a chain, then actions and conditions follow. This page describes the 158 nodes of the editor, with their settings (inputs) and outputs.

Categories

Events

On Start

Runs only once, as soon as the scene starts.

Example: place the enemies, show the starting score or start the music.

Every frame

Runs over and over, on every frame of the game (about 60 times per second).

Example: follow the finger or check a condition all the time. Avoid putting “Play music” or “Call function” under it.

End of Click

Runs when the player lifts their finger from the screen, anywhere.

Example: stop shooting when the screen is released.

On Object Click

Input: Object

Runs when the finger touches the chosen object. With a tag ("# card") as the target, it fires for every object with that tag: the touched object becomes the involved object.

Example: a “Jump” button, opening a chest, picking an answer.

Object Released

Input: Object

Runs when the finger is lifted above the chosen object.

Example: confirm a button only when it is released.

Object Held Down

Input: Object

Repeats on every frame as long as the finger stays on the chosen object.

Example: left / right buttons: while you hold them, the character moves.

Finger held down

Repeats on every frame as long as a finger is on the screen, anywhere.

Example: make a ship climb while the screen is held (use doigt.x and doigt.y in formulas).

Back button pressed

Runs when the player presses the Back button of their phone (arrow or swipe gesture). Great for opening a pause menu or going back to the previous screen. Without this node, the Back button does nothing during the game.

Example: Back → “Pause the game”, then show a “Resume / Quit” menu.

Drag Start

Input: Object

Runs when the player starts dragging the chosen object (it must be “Movable (draggable in Play mode)”).

Example: enlarge a card when it is picked up.

Drag End

Input: Object

Runs when the player drops the object they were dragging.

Example: check whether a puzzle piece is in the right place.

Collision A/B

Inputs: Object A, Object B

Runs once, when object A starts touching object B. They must separate before it can run again. This is also the event to use for “entering a zone”.

Example: the player touches the finish zone → next level.

Exit Zone

Inputs: Object A, Object B

Runs once, when object A stops touching object B (it leaves the zone).

Example: close a door when the player walks away.

On Hover

Input: Object

Runs when the finger, sliding across the screen, reaches the chosen object.

Example: light up a button when the finger passes over it.

End of Hover

Input: Object

Runs when the finger leaves the object it was over.

Example: turn off a button's highlight.

On Impact (Physics)

Input: Object

Runs when the chosen object (dynamic physics) lands on a floor or bounces.

Example: play a landing sound or shake the camera.

When Variable Changes

Input: Variable

Runs every time the value of the chosen variable changes.

Example: when “vie” (health) changes, update the health bar.

Local Event

Input: Event name

Your own event, with the name you choose. It is started by the “Call event” node in the same Blueprint.

Example: a “GameOver” event called from several places.

On Action Click (Adventure)

Runs when the player presses the scene's “BtnAction” object (action button).

Example: talk to a character or open a door in an adventure game.

If object touches Tag

Inputs: Object, Tag

Runs once per contact when the chosen object touches an object with this tag. The touched object becomes the “Implied Object”.

Example: the player touches a coin (tag “piece”) → destroy the involved object and add 1 to the score.

Scene & HUD

Go to scene

Input: Scene  →  Output: none (end of script)

Leaves the current scene and goes to the chosen scene. This node ends the script.

Example: go to the “Well done!” screen after the last level.

Go to scene (by name)

Input: Scene name  →  Output: none (end of script)

Goes to the scene whose name you type (or a formula giving that name). This node ends the script.

Example: a formula like ="Level" + level to choose the level with a variable.

Next scene

Output: none (end of script)

Goes to the scene placed just after in the scene list. This node ends the script.

Example: the player reaches the finish → next level.

Previous scene

Output: none (end of script)

Goes to the scene placed just before in the scene list. This node ends the script.

Example: a “Back” button in a menu.

Restart the scene

Output: none (end of script)

Restarts the scene from the beginning: objects back in place and local variables back to their starting value. Global variables do not change.

Example: Game Over when health reaches 0.

Open a HUD

Input: Scene

Shows another scene on top of the game, like a layer (HUD), with its own Blueprint.

Example: a pause menu or an inventory.

Close the HUD

Closes the open HUD.

Example: the “Close” button of the pause menu.

Place a copy of a scene

Inputs: Scene, X position, Y position

Places a copy of the chosen scene (prefab) in the game, at position X, Y.

Example: spawn a group of enemies prepared in another scene.

Destroy the copies of a scene

Input: Scene

Removes all copies of the chosen scene placed in the game.

Example: clear all enemy groups at the end of a wave.

Quit the game

Output: none (end of script)

Closes the exported game. In the editor, nothing closes: use the stop button.

Example: a “Quit” button in the main menu.

Small message at the bottom of the screen

Input: Message

Shows a small message at the bottom of the screen for a few seconds. Start with = to show a calculation.

Example: ="Score: " + score

Write to the log (for debugging)

Input: Message

Writes a message in the project log (diagnostic file), without showing anything in the game. Start with = to write a calculation.

Example: ="health = " + vie, to check a value while testing.

Follow with camera

Inputs: Object, Follow X (yes / no), Follow Y (yes / no), Parallax X only (yes / no)

The camera follows the chosen object. You can make it follow only horizontally or vertically. With no object, the camera stops following.

Example: follow the player through a big platform level.

Camera limits

Inputs: Minimum X (left edge of the level), Maximum X (right edge), Minimum Y (top), Maximum Y (bottom; all 0 = no limits)

Keeps the camera inside the level edges: it never shows the empty space beyond. All 0 = no limits.

Example: a level 6480 pixels wide: minimum X 0, maximum X 6480, minimum Y 0, maximum Y 1080, with “Follow with camera” on the player.

Camera smoothing

Input: Follow speed (0.01 to 1)

Sets how fast the camera catches up with the followed object: 0.01 = very soft, 1 = stuck to the object.

Example: 0.1 for a smooth camera that follows with a slight delay.

Screen flash

Inputs: Color, Intensity (%, 0 = none), Duration (seconds)

Flashes a color over the whole screen, fading out in a moment (intensity in %, duration in seconds).

Example: a 0.5-second red flash when the player is hit.

Screen tint

Inputs: Color, Intensity (%, 0 = none), Transition (seconds)

Lays a color over the whole game (under the HUD), with a smooth transition. Intensity 0 removes it.

Example: night falls: dark blue, intensity 55, 2-second transition.

Vignette

Inputs: Color, Intensity (%, 0 = none), Transition (seconds)

Gently darkens the edges of the screen, like in a movie (under the HUD). Intensity 0 removes it.

Example: a scary mood in a cave: intensity 75.

Screen fade

Inputs: Direction, Color, Duration (seconds)

Fades the whole screen out to a color, or back in from it. The fade carries over from one scene to the next.

Example: “Screen fade” (fade out), “Wait” 1 second, “Go to scene”, then “Screen fade” (fade in) when the next level starts.

Atmosphere (rain, snow, night…)

Inputs: What falls or floats, Light, Strength, Ambient sounds (rain, wind, thunder…), Appears over (seconds)

Puts an atmosphere over the whole screen that stays until the next Atmosphere node: what falls or floats (rain, storm with lightning, snow, petals, leaves, fireflies, hearts, bubbles, mist) and a light (night, sunset, memory, dream, fear, dark). The old one fades out while the new one comes in.

Example: after the "Leave" choice, storm and night light; "none" and "normal" remove everything.

Zoom the screen

Inputs: Zoom (%, 100 = normal), Towards, Duration (seconds)

Smoothly enlarges the whole game screen (the scene, or a story's background and characters) towards the center, the face, a side, the top or the bottom. 100 = back to normal; the dialogue box and the HUD don't move.

Example: zoom 140 towards the face for 2 seconds when Hana is scared, then zoom 100.

Camera shake

Inputs: Strength, Duration (milliseconds, 1000 = 1 s)

Shakes the screen with the chosen strength and duration (in milliseconds).

Example: an explosion: intensity 15, duration 400.

Vibration

Input: Duration (milliseconds, 1000 = 1 s)

Makes the phone vibrate for the chosen duration (in milliseconds). Without a vibration motor, nothing happens.

Example: 100 ms when the player gets hit.

Save state

Remembers the state of the scene (objects and variables) and the global variables, like a save point.

Example: a checkpoint flag in the middle of the level.

Restore state

Puts the scene back as it was at the last “Save state”. If there is no save yet, nothing changes.

Example: start again from the checkpoint after a fall.

Time

Wait

Input: Duration (seconds)

Waits for the chosen time, in seconds, then continues. The rest of the game keeps running during the wait.

Example: show “You lose!”, wait 2 seconds, then restart the scene.

Repeat

Inputs: Every (seconds), Number of times (0 = endless), Timer name (optional)  →  Outputs: Right away / Each time / Move finished

Runs the “Each time” output every X seconds, a number of times (0 = forever), then “Move finished”. “Right away” runs at the start. If it is already running, it does not start again.

Example: spawn an enemy every 3 seconds.

Countdown

Inputs: Object, Variable, Start value (optional), Timer name (optional)  →  Outputs: Every second / Move finished

Removes 1 from the chosen variable (a number) every second until 0. “Every second” runs on each tick, “Move finished” at 0. “Start value (optional)” sets the starting value.

Example: a 60-second timer: at 0, Game Over.

Stop a timer

Input: Timer name (empty = all)

Stops the timer (Repeat or Countdown) with this name, or all timers if the name is empty.

Example: stop the timer when the player wins.

Game speed (slow motion)

Input: Speed (1 = normal, 0.5 = slow)

Changes the speed of the whole game: 1 = normal, 0.5 = slow motion, 2 = fast (from 0 to 4).

Example: a slow-motion effect for 2 seconds.

Pause the game

Pauses the game: movements and timers stop.

Example: open the pause menu.

Resume the game

Resumes the game after a pause.

Example: the “Continue” button of the pause menu.

Hit stop

Inputs: Duration (seconds), Speed during the stop (0 = frozen)

Slows the whole game almost to a stop for a very short moment (in real seconds), then the game goes back to its speed. It gives “punch” to impacts.

Example: when an enemy explodes: duration 0.06, speed 0.05.

Appearance & Objects

Move Object

Inputs: Object, X, Y

Puts the object directly at position X, Y (teleport).

Example: put the player back at the start.

Push object

Inputs: Object, Add X, Add Y

Moves the object by the given distance from where it is now. A physics object is stopped by walls.

Example: linked to “Object Held Down”: “Add X” = 5 moves right.

Set a property

Inputs: Object, Property, Value

Changes an object property chosen from a list (x, y, rotation, opacity, text…).

Example: set the rotation of a clock hand to =temps * 90.

Rotation

Inputs: Object, Angle (degrees)

Turns the object to the given angle, in degrees.

Example: =wheel.rotation + 5 linked to “Every frame” keeps the object “wheel” spinning.

Transparency

Inputs: Object, Opacity (0 to 1)

Sets the object's transparency: 0 = invisible, 1 = solid.

Example: 0.5 for a half-transparent ghost.

Visibility

Inputs: Object, Visible (yes / no)

Shows (true) or hides (false) the object.

Example: show a “You win!” message hidden at the start.

Give a tag (object family)

Inputs: Object, Tag

Gives the object a new tag (label).

Example: a defeated enemy gets the tag “harmless”.

Bring to front / send back

Inputs: Object, Depth (bigger = in front)

Changes the object's layer: the bigger the number, the more the object is in front of others.

Example: put the player in front of a decoration.

Grow / shrink

Inputs: Object, Horizontal size (1 = normal), Vertical size (1 = normal)

Changes the object's size: 1 = normal, 2 = twice as big, 0.5 = half.

Example: the player grows after eating a mushroom.

Destroy Object

Input: Object

Removes the chosen object from the scene.

Example: choose “Implied Object” to destroy the coin the player just touched.

Destroy by Tag

Input: Tag to destroy

Removes all objects with this tag.

Example: a bomb destroys every “Enemy” object.

Change Image

Inputs: Object, Image

Replaces the object's image with another image from the Assets. Empty = no image.

Example: the character looks left or right depending on the button.

Modify Color

Inputs: Object, Color

Changes the object's color.

Example: a button turns green when the answer is right.

Generate clone (Spawner)

Inputs: Object A, Object B

Creates a copy of object B (the model) at the place of object A (the spawn point).

Example: a cannon (A) that spawns cannonballs (B).

Color Filter

Inputs: Object, Filter

Applies a filter to the object: Black and White, Sepia, Invert, or None to remove it.

Example: switch to black and white during a flashback.

Color blending (light effect)

Inputs: Object, Filter

Changes how the object blends with what is behind it (Additive, Multiply, Screen, Invert).

Example: Additive for a glowing light or flame.

Mirror Effect / Invert

Inputs: Object, Axis

Flips the object: Horizontal (left / right) or Vertical (up / down).

Example: the character faces the way it walks.

Lock / unlock the object

Inputs: Object, Locked (yes / no)

Locks or unlocks the object in the editor (the padlock). It has no effect during the game: to stop an object from being dragged, use “Change the behavior”.

Background scrolling (depth)

Inputs: Object, Background speed (1 = normal, 0.5 = slower, far away effect)

Sets how fast the object scrolls when the camera moves: 1 = normal, 0.5 = half as fast (depth effect).

Example: mountains in the background that scroll slowly.

Link two objects

Inputs: Object A, Object B

Attaches object A (the child) to object B (the parent): A follows B when it moves.

Example: a sword that follows the character's hand.

Glowing halo

Inputs: Object, State, Color, Glow size

Surrounds the object with a soft glow of the chosen color and size (it follows the shape of images), or removes it.

Example: a bonus that glows yellow, size 20.

Particle effect

Inputs: Object, Preset, Count (0 = preset's), Color (empty = preset's), Size (1 = normal), Image (empty = preset shapes)

Fires a burst of particles on the object: explosion, sparks, dust, smoke, fire, rain, snow, confetti, trail, wake trail, hyperspace or speed lines. Count, color and size can be set. With an image ("Image" setting), each particle becomes that image: a drawn explosion, a star, a leaf…

Example: a hit enemy explodes in magenta: Explosion preset, color #FF40D0.

Particles on / off

Inputs: Object, State

Turns a “Particles” object on or off: it emits continuously or stops (particles already fired finish their life).

Example: turn the engine exhaust on when the ship moves.

Particle burst

Inputs: Object, Number of particles

Fires many particles at once from a “Particles” object, with its settings (preset, color, size).

Example: 80 confetti when the level is won.

Change particle preset

Inputs: Object, Preset

Changes the preset of a “Particles” object during the game.

Example: a fire that turns into smoke when it is put out.

Blink

Inputs: Object, State, Speed (milliseconds, 1000 = 1 s), Duration (milliseconds, 0 = endless)

Makes the object blink at the chosen speed (ms), for a duration (ms, 0 = forever), or stops the blinking.

Example: the player blinks for 1 second after being hit.

Create a copy of the object

Inputs: Object B, X position, Y position

Creates a copy of object B (the model) at position X, Y. The copy becomes the “Implied Object”.

Example: drop a rock at a random position: X = random(0, 800).

Shoot an object

Inputs: Object A, Object B, Model name, Direction, Speed, Destroy off screen (yes / no)

Creates a projectile (the object named in “Model name”) at object A, and launches it at the chosen speed: 0°, 90°, 180°, 270°, towards object B (“Toward target”) or along A's angle.

Example: a ship firing lasers upwards (270).

Launch a guided missile (curve)

Inputs: Object A, Object B, Model name (image facing right), Starting direction (0 = right, 90 = down, 180 = left, 270 = up), Speed, Turn: degrees per step (small = wide curve), Wait before aiming (seconds), Lifetime (seconds, 0 = endless)

Launches a missile that starts in one direction, then slowly turns toward its target: it follows a real curve. “Object A” is the one that fires, “Object B” is the target to follow. The model is a hidden object whose image faces right. A small “Turn” gives a wide curve; when its lifetime ends, a missile that hit nothing explodes.

Example: an enemy fires a missile at the ship: object A = the enemy, object B = the ship, lifetime 3 seconds.

Destroy the object after a delay (seconds)

Inputs: Object, Delay (seconds)

Removes the chosen object after a delay (in seconds). Handy to make an explosion disappear once its animation is over.

Example: after “Generate clone (Spawner)” and “Play animation”, the explosion image is destroyed 0.4 seconds later.

Set Progress

Inputs: Object, New progress

Sets how full a progress bar is, between its minimum and maximum.

Example: “New progress” = vie (health), for a health bar.

Screen wrap

Input: Object

Whatever leaves one side of the screen comes back on the opposite side (Pac-Man effect).

Example: an asteroid that leaves on the right and comes back on the left.

Clamp to screen

Inputs: Object, Margin

Stops the object from leaving the screen. The margin stops it a little before the edge.

Example: the player's ship always stays visible.

Electrocution

Inputs: Object, Lightning color, Duration (seconds, 0 = endless), Intensity (0 = stop, 1 to 3)

Lightning crackles around the object: it flashes in the lightning color, shakes and throws sparks. Duration 0 = endless (electric fence); intensity 0 = stop.

Example: the wizard touches a trap: “Electrocution” on the wizard (1 second), “Wait” 1 second, then “Restart the scene”.

Object trail

Inputs: Object, Preset, Color (empty = preset's), Size (1 = normal)

The object leaves a trail of particles behind it when it moves (preset, color and size of your choice). Set on a shot's model, every shot inherits it. Preset “None” removes it.

Example: shots that leave a glowing trail: target = the shot's model, Trail preset.

Create object

Inputs: Object, X position, Y position

Creates a copy of the chosen object (the model) at position X, Y.

Example: add a crate at an exact spot.

Fade

Inputs: Object, Target opacity (0 to 1), Duration (seconds)

Smoothly changes the object's opacity to the target value, over the chosen time (seconds). The next nodes run without waiting.

Example: fade out a title in 1 second (target opacity 0).

Variables & Inventory

Modify Variable

Inputs: Object, Variable, Value

Gives the variable a new value (a number, a text, yes / no or a calculation).

Example: set “score” back to 0.

Add to Variable

Inputs: Object, Variable, Value to add, Back to 0 after (optional)

Adds the value to the variable (a negative number subtracts). For a text variable, adds the text at the end. With "Back to 0 after", the variable turns like a counter: after 9 it goes back to 0 (and below 0 it goes to 9).

Example: score + 1 for each coin; a padlock digit: + 1 on each tap, back to 0 after 9.

Keep a variable between two values

Inputs: Object, Variable, Minimum, Maximum

Keeps the variable (a number) between a minimum and a maximum.

Example: health never goes above 100.

Random number

Inputs: Object, Variable, Between (min, max)

Puts a random number in the variable. random(1, 6) gives a number from 1 to 6.

Example: a dice roll.

Add to inventory

Inputs: Object, Variable

Puts the object in the inventory (a variable of type Inventory List). It is only added once.

Example: pick up a key.

Remove from inventory

Inputs: Object, Variable

Removes the object from the inventory.

Example: use the key to open the door.

If in inventory

Inputs: Object, Variable  →  Outputs: True / False / Then

Follows the True output if the object is in the inventory, False otherwise.

Example: the door only opens if the key is in the inventory.

Combine two objects

Inputs: Object A, Object B, Result object name

Replaces objects A and B with a copy of the object whose name you type, at A's place. If that model does not exist, nothing changes.

Example: stick + cloth = torch.

Logic & Conditions

Condition

Input: Condition  →  Outputs: True / False / Then

Tests a condition: follows the True output if it is right, False otherwise. “Then” runs afterwards, in both cases.

Example: score >= 10 → True → next scene.

If joystick

Outputs: Up / Down / Left / Right / Idle / Then

Follows the output matching the joystick direction: Up, Down, Left, Right, or Idle when it is not touched.

Example: linked to “Every frame” to play the walking animation in the right direction.

If on ground

Input: Object  →  Outputs: True / False / Then

True if the bottom of the object is standing on a fixed, visible object (floor, platform), False otherwise.

Example: only allow jumping when the player is on the ground.

If moving

Input: Object  →  Outputs: True / False / Then

True if the object moved since the previous frame, False otherwise.

Example: play the walking animation only when the character moves.

Call function

Input: Function

Runs a function (a Blueprint created in the Functions section), then continues. Do not put it under “Every frame”.

Example: a “LoseLife” function used by several enemies.

Call event

Input: Event name

Runs the “Local Event” with this name, in the same Blueprint, then continues.

Example: call “GameOver” from the fall and from the timer.

Sequence

Outputs: 1 / 2 / 3 / 4

Runs its outputs one after the other: 1, then 2, then 3, then 4. An output with no link is skipped.

Example: at start: 1 = place the player, 2 = start the music, 3 = show the score.

Cooldown

Inputs: Object, Delay (seconds)  →  Outputs: Ready / Not yet

Lets things through “Ready” at most once per delay (in seconds); otherwise it is “Not yet”. With an object chosen, each object has its own delay.

Example: shoot at most once every 0.5 second.

If off-screen

Inputs: Object, Margin (pixels)  →  Outputs: True / False / Then

True if the object is completely off the screen (plus the margin), False otherwise.

Example: destroy bullets that leave the screen.

If / Else

Inputs: If (condition), Else if (condition)  →  Outputs: If / Else if / Else / Then

Tests the first condition, then the second: follows “If”, “Else if” or “Else”. “Then” runs afterwards.

Example: if score >= 100 → gold, else if score >= 50 → silver, else → bronze.

By value

Inputs: Value to test, Case 1, Case 2, Case 3, Case 4, Case 5, Case 6  →  Outputs: 1 / 2 / 3 / 4 / 5 / 6 / None / Then

Compares the value to test with cases 1 to 6 and follows the output of the first matching case; “None” if nothing matches. An empty case is skipped.

Example: depending on “weapon”: 1 = sword, 2 = bow, 3 = wand.

Texts & Dialogues

Modify Text

Inputs: Object, New text

Replaces the text of a Text object. Start with = to show a calculation.

Example: ="Score: " + score

Show dialogue

Inputs: Object, Sentence name (in the game texts)

Writes into the Text object the sentence matching the key, from the dialogue file (dialogues.txt). Several languages: write “hello.en = Hello”, “hello.fr = Bonjour”…; the game uses the language in the “langue” variable, otherwise the phone language. “\n” = new line.

Example: the key “hello_merchant” shows the merchant's line.

Append to text

Inputs: Object, Variable, Text to add

Adds text at the end of a variable of type Text.

Example: type a password letter by letter.

Movements & AI

Stop the object

Input: Object

Stops the object dead: no more speed, push, jump or automatic movement.

Example: freeze an enemy hit by an ice spell.

Stop movements

Input: Object

Turns off the object's automatic movements: move continuously, pursue and flee.

Example: the enemy stops chasing when the player hides.

Move forward continuously

Inputs: Object, Speed

The object moves by itself, in the direction it is facing, at the chosen speed.

Example: a bullet or a moving car.

Go to an object (path)

Inputs: Object A, Object B, Speed, Diagonals (yes / no)  →  Outputs: Right away / Arrived

Object A goes to object B, finding the shortest path by itself, square by square, without going through walls ("Solid" tiles of a tile layer, fixed physical objects). The path is updated when B moves. “Arrived” runs when A touches B.

Example: a ghost chasing the player through a maze.

Go to a point (path)

Inputs: Object, X position, Y position, Speed, Diagonals (yes / no)  →  Outputs: Right away / Arrived

Object A goes to point X, Y around the walls, by the shortest path (square by square). With =doigt.x and =doigt.y, it goes where the screen is touched. “Arrived” runs on arrival. If there is no path, it stays where it is.

Example: tap a square to send the hero there, in a strategy game or a dungeon.

Stop the path

Input: Object

The object stops following its path (“Go to an object (path)” or “Go to a point (path)”) and stays where it is.

Example: the fly stops when the game is won.

Chase an object

Inputs: Object A, Object B, Speed

Object A moves by itself towards object B, at the chosen speed.

Example: a ghost following the player.

Flee an object

Inputs: Object A, Object B, Speed

Object A moves by itself away from object B, at the chosen speed.

Example: a chicken running away from the player.

Push at an angle

Inputs: Object, Angle (0 = right, 90 = down), Force

Pushes the object in a direction (in degrees: 0 = right, 90 = down, 180 = left, 270 = up) with the chosen force.

Example: a spring that sends the player diagonally.

Impulse (jump)

Inputs: Object, Vertical force (negative = up)

Launches the object upwards (negative number) or downwards (positive), and gives it physics so it falls back.

Example: a jump: force -15.

Change the behavior

Inputs: Object, How it moves, Speed, Jump height, Is a ladder, Collectable

Changes what the object does during the game, with the same choices as the Inspector's "Object behavior" window: Scenery, Ground / wall, Falls and bounces, Platform character, Patrol (back and forth), Top-down character, Dragged with a finger. You can also change the speed, the jump height, "is a ladder" and "collectable". Every setting left on "(don't change)" keeps its value.

Example: a crate standing still (Ground / wall) starts to fall when a lever is pulled: Change the behavior → Falls and bounces.

Bounce around

Inputs: Object, Strength (0 = stop), Duration (milliseconds, 1000 = 1 s), Keep going while moving (yes / no)

Makes the object hop (a small visual bounce) with the chosen intensity and duration. 0 stops it. It can keep going while the object moves.

Example: a character that hops as it walks.

Face towards

Inputs: Object A, Object B, Angle offset (degrees)

Turns object A towards object B. The offset fixes the image's direction (0 = the image faces right).

Example: a turret aiming at the player.

Glide to

Inputs: Object, X position, Y position, Duration (seconds)

Smoothly moves the object to position X, Y over the chosen time (seconds). The next nodes run without waiting.

Example: a moving platform or a menu sliding onto the screen.

Grids and puzzles

Fill the grid

Inputs: Object, Columns, Rows, Model objects (names separated by commas)

Splits object A (the board) into columns and rows and puts in each cell a copy of a model object picked at random (at least 3 models, names separated by commas). There is never a match at the start, and the pieces drop in from the top. Use it before “Play on the grid (match 3)”.

Example: at the start, an 8 x 8 grid of candies "red, orange, yellow, green, blue, pink".

Play on the grid (match 3)

Inputs: Object, Finger X position, Finger Y position  →  Outputs: For each matched piece / Move finished / Swap refused

The heart of a match-3 game (Candy Crush style), to put under “Finger held down”. Touching a piece selects it, touching its neighbour (or sliding the finger to it) swaps them. The swap only stays if it lines up 3 or more identical pieces; otherwise they go back (“Swap refused”). Each matched piece starts “For each matched piece” (the involved object is the piece), then disappears; pieces fall, new ones arrive and combos happen by themselves. When everything is still: “Move finished”. With no possible move, the grid shuffles itself.

Example: “For each matched piece”: +10 points and sparkles on the piece; “Move finished”: one move less.

Shuffle the grid

Input: Object

Moves all the pieces of object A's grid to new places, without creating a match and keeping at least one possible move.

Example: a "Shuffle" button when the player is stuck.

Shuffle places

Input: Object

Randomly swaps the places of all objects with the chosen tag (Object A = "# tag"). Their child objects follow them.

Example: shuffle the cards of a memory game at the start, or the cups of a shell game.

Transitions

Screen transition (circle, star…)

Inputs: Shape, Direction, Color, Duration (seconds), Center: object (name; circle, star, diamond, heart, hero)  →  Outputs: Next / Right away

Covers or uncovers the screen with a shape (19 to choose from: circle, star, heart, curtain, clock, checkerboard, swirl…). “Close” covers the screen and it stays covered; “Open” uncovers it. “Next” runs when it's done, “Right away” runs immediately.

Example: circle closing → “Go to scene” → circle opening. To change scene in a single step: “Go to scene with a transition”.

Go to scene with a transition

Inputs: Scene, Shape, Color, Closing (seconds), Pause while closed (seconds), Opening (seconds), Shape to reopen, Center: object (name; circle, star, diamond, heart, hero)  →  Output: none (end of script)

Changes scene with a transition: the screen is covered by a shape (circle, star, heart, curtain, swirl… 19 shapes), the new scene arrives, then the screen opens again. There is no output: what happens next is set in “At start” of the new scene.

Example: the door is touched: go to the “House” scene with a circle closing on the hero.

Animations

Play animation

Inputs: Object, Animation, Speed (frames/second), Loop (yes / no)

Plays one of the object's animations, at the chosen speed (frames per second), looping or once. If it is already playing, it continues without restarting.

Example: the “walk” animation when the character moves.

Stop animation

Input: Object

Stops the animation and goes back to its first frame.

Example: the character stops walking.

Pause animation

Input: Object

Pauses the animation on the current frame.

Example: freeze the character during a pause.

Resume animation

Input: Object

Resumes the animation where it was paused.

Example: after the pause.

Animation speed

Inputs: Object, Speed (frames/second)

Changes the animation speed (frames per second) without restarting it.

Example: running faster = faster animation.

Audio

Play sound

Inputs: Sound file, Volume (%, 100 = full)

Plays a sound effect. Several sounds can play at the same time.

Example: a “bling” when a coin is picked up.

Play music

Inputs: Music file, Loop (yes / no), Volume (%, 100 = full)

Starts a music track, replacing the current one. Do not put it under “Every frame” (it would restart all the time).

Example: the level music, at start.

Stop music

Stops the current music.

Example: silence on the Game Over screen.

Story and dialogues

Say a line

Inputs: Who speaks, Emotion, The line, Place on screen, Character entrance, Effect, Sound or voice, Next comes  →  Output: Then

Dialogue game: the chosen character says the line in a dialogue box, letter by letter, and the player taps the screen to continue. The character appears with their emotion (their Character sheet: pictures, color, voice). Special words: [c]color[/c], [t]shake[/t], [o]wave[/o], [p] for a pause, {score} for a variable; "🌐 9 languages" button to translate.

Example: Hana (happy) says "Hello!", then “Ask a choice” offers two answers.

Ask a choice

Inputs: Who asks, Emotion, Question (optional), Answer 1, Answer 2, Answer 3, Answer 4, Condition of answer 1, Condition of answer 2, Condition of answer 3, Condition of answer 4, Answer not allowed, Picture for answer 1 (optional), Picture for answer 2 (optional), Picture for answer 3 (optional), Picture for answer 4 (optional), Timer (seconds, 0 = none)  →  Outputs: Answer 1 / Answer 2 / Answer 3 / Answer 4 / Time's up

Shows 2 to 4 answers as big buttons: each answer goes out through its own output, so the story branches like a tree. An answer can require a condition (otherwise it is greyed out or hidden); an optional timer adds the "Time's up" output. Each answer can also have a picture (advanced settings): the answers become big illustrated cards.

Example: "Open the treasure" leads to the good ending, "Leave" to the sad one.

Change the background

Inputs: Background image (empty = none), Transition

Puts a picture as the background, full screen, behind the story's characters (fading or at once). Empty picture = no more background.

Example: the meadow at the start, then the forest when Hana goes looking for her cat.

Show / hide a character

Inputs: Character, They…, Emotion, Place on screen, Character entrance

Brings a story character in (emotion, place, entrance: fade, slide, jump), changes their emotion or makes them leave, without speaking.

Example: Lyn comes in from the right while Hana is talking.

Animate a character

Inputs: Character, Move to…, Size (100 = normal, 120 = bigger), Number of little jumps, Duration (seconds), Movement style, Shake (it trembles), Wait for the end before continuing

Animates a character already on screen: it slides to another place, grows or shrinks, does little jumps or shakes. You set the duration and the style (even, smooth, quick then soft, slight overshoot, bounce). "Wait for the end" holds the story until the movement is over; otherwise the story goes on while it moves. The character must have been shown first with “Show / hide a character”.

Example: Hana slides from left to right with a bounce while she says "Wait for me!".

Novel mode (full-screen text)

Input: What to do?

Switches to "novel mode": the text fills the whole screen over a darkened background and the lines of “Say a line” pile up one under the other, like in a book. When the page is full, it turns by itself. "New page" clears it right away; "Back to the dialogue box" brings back the usual box.

Example: A night-time narration in novel mode, then back to the dialogue box for the conversation.

Replayable scene (gallery)

Inputs: Start or end of the scene, Scene name (gallery)

Marks a scene the player can watch again from "Endings and gallery" of the “Story title screen” ("Scenes to replay" tab). Put one at the "Start of the scene": when the story passes it, the scene unlocks and the state of the story is remembered. Put another at the "End of the scene": when replaying, the story stops there and goes back to the gallery. Nothing is saved during a replay. Music started with “Play music” also unlocks in the "Music" tab.

Example: "The clearing": one node at the start of the meeting with Hana, another right after she leaves.

End the story

Input: Ending name (optional: it counts in "Endings and gallery")

Clears the dialogue box, the characters and the background of the story: the game takes over again. If you give an "Ending name", this ending is remembered forever and counts in "Endings and gallery" of the “Story title screen”; the saved game is erased.

Example: "Friends of the cabin" after the last line, then back to the title screen.

Friendship (hearts)

Inputs: Who?, Hearts to add (−1 to remove), Maximum number of hearts

Adds (or removes, with −1) friendship hearts for a character, up to the maximum. The hearts show at the top left during the story and a “+1 ❤” floats up (they can be hidden in the Dialogue style). They are saved with the game and restored by ◀ Back.

Example: after the kind answer “I'll stay with you”: Hana +1.

If the friendship…

Inputs: Who?, is, hearts  →  Outputs: True / False

Picks how the story goes on from a character's friendship hearts: the “True” output if the comparison is true, otherwise “False”. For an ending that depends on how you treated the characters.

Example: if Hana's friendship is at least 4 → the happy ending, otherwise the sad one.

Story title screen

Inputs: Story title, Background picture (empty = the current background)  →  Output: New game

Shows the story title over a picture, with big buttons: "Continue" (resumes where the player left off, with the background, characters, music and variables: the story saves itself at every line), "New game" (the output: the start of the story) and "Endings and gallery" (endings found and backgrounds already seen, the others are locked). During the story, the ◀ Back button returns to the previous line, even before a choice.

Example: placed right after "At start"; every “End the story” comes back to it.

Ask the player for a text (name…)

Inputs: Variable, Question, Suggested answer

Opens a small window with the keyboard: the player types a text (their name…), stored in the chosen variable; it continues when they tap OK. In lines, {prenom} shows this text.

Example: "What's your name?" → variable prenom → “Say a line” "Nice to meet you, {prenom}!".

Values (green wires)

Random number

Inputs: From, To  →  Output: none (end of script)

Green node (value): gives a random number between "From" and "To", drawn again each time it is used. Connect it to a setting with the 🔗 button of the settings window.

Example: make a coin appear at a random X between 0 and 800.

Object value

Inputs: Object, What  →  Output: none (end of script)

Green node (value): gives a value of the chosen object during the game: its x or y position, width, rotation, opacity…

Example: put a coin at the same height as the player (Y ← object value: player, y).

Variable value

Input: Variable  →  Output: none (end of script)

Green node (value): gives the current value of a variable (score, lives…) during the game.

Example: show the score in a text (Text ← variable value: score).

Calculation

Inputs: A, Operation, B  →  Output: none (end of script)

Green node (value): calculates A + B, A − B, A × B or A ÷ B. A and B can be numbers, or receive a green wire themselves (chained calculations).

Example: give twice as many points (Value ← calculation: score × 2).

Distance between 2 objects

Inputs: Object A, Object B  →  Output: none (end of script)

Green node (value): gives the distance (in pixels) between the centers of two objects during the game.

Example: shake the screen harder when the enemy is close.

Screen filters

Screen filter

Inputs: Filter, Strength (%), Fade in (seconds), Duration (seconds, 0 = endless), Keep in the next scene, Also filter buttons and texts (HUD), Flashlight: lit object (name; empty = the one the camera follows), Flashlight: light size (%)  →  Outputs: Then / When it's over

Gives the whole game a “look”, buttons and texts included: TV, VHS, black and white, underwater, nightmare, flashlight… 32 filters to choose from. It fades in gently, stays as long as you want (0 = until you stop it) and can carry on into the next scene. “Then” runs right away, “When it's over” at the end of the duration.

Example: the hero is hit: “Hurt” filter for 2 seconds; or “Flashlight” in a cave.

Stop the filter

Input: Fade out (seconds)  →  Outputs: Then / When it's over

Gently fades out the current screen filter. “Then” runs right away, “When it's over” once the filter is gone.

Example: the hero leaves the cave: stop the flashlight in 1 second.

Beginner guides → ⬇️ Download Yop2D