Jump Jump! 🍄Build Your Own Mario-Style Platformer
Run, jump, and stomp your way to your very first platform game! You'll make a character who leaps over gaps, bounces on enemies, and collects coins just like Mario!
Run, jump, and stomp your way to your very first platform game! You'll make a character who leaps over gaps, bounces on enemies, and collects coins just like Mario!
Understand what we're going to make, and get Godot open and ready!
We're going to make a REAL platform game like Mario! That means a little character who can run and JUMP over things. By the end, you'll have your very own game that you made yourself. That's amazing! Let's open Godot and get started! 🎉
This is Episode 2 of the My First Video Game series — no prior Godot experience is needed. Key concepts over the 12 steps: CharacterBody2D for a physics-based player, move_and_slide() with gravity, TileMapLayer for level design, Camera2D to follow the player, Area2D for collectibles, and a simple group-based enemy stomp. Godot 4 must be installed (free at godotengine.org).
Create a new Godot 4 project called "My Platformer" and get it open.
Godot is like a magic toybox for making games — and it's completely FREE! First, we need to make a new project. Think of it like getting a fresh new notebook just for our game.
Standard Godot 4 project setup. Choose the Compatibility renderer — it's the most stable for 2D beginners and works on all hardware. Point the project folder somewhere easy like the Desktop.
Create a Player scene with a CharacterBody2D — this is the hero of your game!
Now we build our main character! In Godot, every character is made of pieces called "nodes" — like building blocks. The special one we need is called a CharacterBody2D. It knows how to walk and jump!
Node tree: CharacterBody2D (root, rename to "Player") → Sprite2D + CollisionShape2D (RectangleShape2D, sized to a rough character body ~24×40px). Use a coloured rectangle or placeholder for the sprite. Save as player.tscn.
Write a script so your character can run left and right using the arrow keys.
Time for some CODE! Don't worry — we'll go slowly. We're going to write instructions that tell our character: "when I press the right arrow key, move that way!" It's like programming your own remote control.
Attach a GDScript to the CharacterBody2D root. This step focuses on horizontal movement only. We use Input.get_axis() — a Godot 4 shorthand that returns -1, 0, or +1. move_and_slide() handles all collision response.
extends CharacterBody2D const SPEED = 220 # How fast we run func _physics_process(delta): # left/right movement — get_axis returns -1, 0 or +1 var direction = Input.get_axis("ui_left", "ui_right") velocity.x = direction * SPEED move_and_slide()
Input.get_axis("ui_left", "ui_right") gives back -1, 0, or +1 depending on the arrow keys.move_and_slide() handles bumping into floors and walls for us.velocity.x = direction * SPEED?A side-scrolling platform game just like Mario or Sonic! Your character runs left and right, jumps over gaps, lands on platforms, and tries to reach the end of the level.
Have you ever played Mario? We're going to make our VERY OWN version! You'll build a little character who can jump, collect coins, and even stomp baddies. You're going to be a real game developer!
This is Episode 2 of the My First Video Game series — no prior Godot experience needed (start with Episode 1: Zoom Zoom if you're brand new!). New concepts introduced: CharacterBody2D, gravity & jumping, TileMapLayer, Camera2D, and coins using Area2D. We keep code ultra-short and friendly.
This workshop was free and took many hours to build. If it helped you learn something new, consider supporting the project.
☕ Support on Ko-fi🛠️ Free In-House Dev Tools
Use these free browser tools alongside this workshop to create custom sprites, sounds, levels and colour schemes for your game. No installs. Free forever.