Godot 4Open sourceByte approved

GDScripter

Learn GDScript like a game โ€” then build one.

Mini-games. Flashcards. Sarcastic XP. Hit Level 2 and unlock a platformer + ping pong vs computer tutorial.

Yes, the computer paddle will be better than you at first. That's the curriculum.

62+ cards70+ challenges2 build tutorials

Lane map

Pick a lane. Watch it light up.

Not a menu of identical cards โ€” a live fork in the road. Hover a node, claim a path, earn XP. Boss builds open at Level 2 ยท you're Lv 1, 100 XP left.

Pro move: pick one glowing lane, then come back for the boss door.

YOULv 1Brand newfoundationsTransferfoundationsSignalsfocusNodesfocusPhysicsfocusSpeed runchaosSprite LabchaosRoadmapfoundationsPlatformerLv2Pong vs AILv2

Foundations

Brand new or transferring in

Focus lanes

One concept, drilled hard

Hands-on chaos

Code, timers, no mercy

Boss builds

Unlock at Level 2

How it works

Short sessions. Instant feedback. Optional emotional damage.

01

Pick your starting lane

Beginner? Signals? Chaos quiz? You choose. No forced campaign โ€” just ego and XP.

02

Play + cards until Level 2

100 XP unlocks Build tutorials. The site will roast you until you get there.

03

Ship a tiny game

Platformer and Ping Pong vs AI โ€” real Godot 4 steps, not vibes-only theory.

Curriculum

What you'll learn

From integers to 3D movement โ€” tap a topic to jump into the path docs.

Full flowchart โ†’
live snippetplayer.gd

A pattern you'll meet in Lab, Play, and Build:

extends CharacterBody2D

@export var speed := 220.0
signal died

func _physics_process(delta):
    var dir = Input.get_vector(
      "ui_left", "ui_right",
      "ui_up", "ui_down"
    )
    velocity = dir * speed
    move_and_slide()

func take_hit(amount: int) -> void:
    health -= amount
    if health <= 0:
        died.emit()
        queue_free()
GDScripter is not affiliated with Godot Engine โ€” just here to make learning competitive enough that you finish.