Menu
CoddyTech
NewJourney

Learn Godot Game Development

A free, interactive Godot course that starts from zero. Write GDScript and play your 2D games in the real Godot 4 engine beside the editor, with Hot reload, a live scene tree, AI hints and a certificate per section.

1,000+ codders enrolled

167 lessons167 challenges181 quiz questions

  • Beginner friendly
  • sparkles iconAI-assisted coding help
  • hint iconHands-on interactive lessons
  • volume On iconAudio narration on every lesson
  • quiz iconQuizzes to test your knowledge
  • certificate iconFree certificate of completion

Play a Godot game right here

Three small games written in GDScript, running in the real Godot 4 engine. Press Play, then move a slider: the number changes in the code and the game restarts with it. On a phone, use the keys on the screen.

Run with the arrow keys and jump with Space. Set JUMP_VELOCITY to -300.0 and the ledges are out of reach.

Live values
extends CharacterBody2D

const SPEED = 240.0
const JUMP_VELOCITY = -460.0
const GRAVITY = 1200.0


func _physics_process(delta):
	# Fall when in the air.
	if not is_on_floor():
		velocity.y += GRAVITY * delta

	# Jump only from the ground.
	if Input.is_action_just_pressed("jump") and is_on_floor():
		velocity.y = JUMP_VELOCITY

	# Run left and right.
	var direction = Input.get_axis("move_left", "move_right")
	velocity.x = direction * SPEED
	if direction != 0:
		$Body.scale.x = sign(direction)
		$Eye.position.x = 3 if direction > 0 else -9

	move_and_slide()

	# Fell off the world? Start again.
	if position.y > 420:
		position = Vector2(100, 280)
		velocity = Vector2.ZERO

Writing these scripts yourself is the course: free, in your browser.

Syllabus

6 sections8 projects167 lessons167 challenges181 quiz questions
  1. Start sectionStartExpandCollapseHow a Godot game is built from nodes and scripts. Move, spin and scale nodes with delta, tune values and find other nodes. You finish with a bouncing screensaver.

    Your First Godot Game

    6 lessons66

    Every Frame

    6 lessons67

    Values You Can Tune

    6 lessons66

    Finding Nodes

    5 lessons55

    Project: Screensaver

    Project4 lessons44
  2. Start sectionStartExpandCollapseMove a character with the keyboard. Use input actions, CharacterBody2D and move_and_slide, then add gravity, jumping and smooth speed. You finish with a platformer hero that runs and jumps.

    Input Actions

    6 lessons67

    CharacterBody2D

    5 lessons58

    Gravity and Jumping

    6 lessons66

    Smooth Movement

    5 lessons58

    Project: Platformer Hero

    Project6 lessons66
  3. Start sectionStartExpandCollapseMake things react when they touch. Use Area2D and signals, write your own signals, group nodes and remove them with queue_free. You finish with a coin collecting game.

    Areas

    5 lessons55

    Signals

    5 lessons56

    Groups

    4 lessons45

    Removing Things

    4 lessons44

    Hazards

    4 lessons45

    Project: Coin Collector

    Project5 lessons55
  4. Start sectionStartExpandCollapseAdd the rules of a game: timers, a score on screen, lives, winning, losing, restarting and enemies spawned from a scene. You finish with a dodge game.

    Timers

    5 lessons55

    Score on Screen

    5 lessons55

    Lives and Losing

    5 lessons55

    Spawning

    6 lessons66

    Winning

    3 lessons33

    Project: Dodge

    Project5 lessons55
  5. Start sectionStartExpandCollapseAdd motion and feedback: tweens, a camera that follows and shakes, particles, hit flashes and AnimationPlayer.

    Tweens

    7 lessons77

    Camera

    4 lessons44

    Particles

    4 lessons44

    Flashes and Feedback

    4 lessons44

    Animation

    4 lessons44
  6. Start sectionStartExpandCollapseBuild four complete games step by step: Breakout, an asteroid shooter, a flappy flyer and a top down dungeon crawler. Every step ends in a game that runs.

    Project: Breakout

    Project9 lessons911

    Project: Asteroid Shooter

    Project9 lessons910

    Project: Flappy Flyer

    Project7 lessons77

    Project: Dungeon Crawler

    Project8 lessons88
What you get
Everything you'll use to learn to code

Learn by Doing

Write real code, query databases, build websites, and master AI prompts. Our interactive lessons cover every skill modern developers need.

playground.js
Code Editor
1const greeting = "Hello, Coddy!"
2function sayHi(name) {
3    return greeting + " " + name
4}
5
bottombar Collapse icon
Test #1test Case Success icon
Test #2test Case Success icon
Test #3test Case Failure icon
Input
"Alex"
Output
"Hello, Coddy! Alex"

Build Your Streak

Stay consistent and watch your progress grow! Track your daily coding habit, protect your streak with freeze days, and earn rewards for showing up every day.

12 days streak

Return tomorrow to keep your streak!

fire Filled icon
left icon

January 2026

right icon

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

21

22

23

24

25

26

27

28

29

30

product Double Or Nothing icon

Double or Nothing

Day 5 of 7

fire Freeze icon

Streak Freeze

2 left

You're Not Alone

Compete on global leaderboards, invite friends to earn rewards, and celebrate each other's wins. Coding is better with friends!

Challenger League
Challenger LeagueTop 7 advance
leaderboard First icon1
avatar 1 icon
fire Filled icon
Alex7+ Days
2840
leaderboard Second icon2
avatar 2 icon
fire Filled icon
Jordan7+ Days
2650
leaderboard Third icon3
avatar 3 icon
fire Filled icon
Sam7+ Days
2420
4
avatar 4 icon
Casey
2180
5
avatar placeholder icon
fire Filled icon
Morgan7+ Days
1950
leaderboard Arrow Up iconPromotion zoneleaderboard Arrow Up icon

Every way to learn

Read, listen, test yourself, ask the AI, or look up anything you've already covered. Every lesson meets you where you are.

Intro to Variables
Audio

A variable is a named container that stores a value you can reference later in your program.

In Python, you create one by writing the name, an equals sign, then the value you want to store.

The value can change over time. Reassigning the name simply points it to a new value.

1xSarah

Earn a Certificate

Earn certificates for every course you complete. Add them to your LinkedIn profile and resume to showcase your coding expertise to employers.

CoddyCertificate of Completion
This certifies thatJohn Doehas successfully completed
python iconPython Fundamentals
Verified
DateJan 2026
LinkedInAdd to LinkedIn

Why learn Godot with Coddy

  • Your code and your game sit side by side. Press Play and the game runs in Godot 4.7, the real engine, compiled for the web. Hot reload swaps your script into the running game, the Scene tab shows the live node tree like Godot's Scene dock, and the Console shows print() and every error with its line. Press Check and the lesson is graded by playing your game.
  • No game making experience needed to start. The first section shows how a Godot game is built: nodes in a scene tree, _ready and _process, delta, positions and Vector2, @export variables and finding nodes with $, and ends with a bouncing screensaver.
  • Characters that answer the keyboard: input actions, CharacterBody2D and move_and_slide(), walls, gravity and jumping, acceleration and friction. Then things that touch: Area2D, signals connected in code, your own signals, groups and queue_free(), ending with a coin collecting game.
  • From toy to game: Timer, a score in a Label, lives, game over and restart, and enemies spawned from a PackedScene. Then game feel: tweens, a camera that follows and shakes, particles and AnimationPlayer.

Frequently asked questions about learning Godot

Do I need to know GDScript to learn Godot?

No. Godot games are scripted in GDScript, and this course teaches the GDScript a game needs as you go: variables, functions, if, loops and signals, each one when a game first needs it. For the language on its own, take the GDScript course.

Is this the real Godot engine?

Yes. Your game runs in Godot 4.7, the engine's official web build, and Check plays it in the same version of Godot. The scripts and scenes you write are ordinary Godot files: open the Godot editor on your computer later and the same code works there.

Do I need to download Godot?

No. The game runs in your browser beside the editor. The course is on the website, in a computer's or a phone's browser, and not in the Coddy mobile apps. To make your own projects with images and sounds later, download the free Godot editor, and everything you learn here carries over.

What games will I make in this Godot course?

Each section ends with a game: a bouncing screensaver, a platformer hero, a coin collector and a dodge game you can lose. The last section builds four more, step by step: Breakout, an asteroid shooter, a flappy flyer and a dungeon crawler.

Should I learn Godot or Unity?

Both are good first engines. Godot is free and open source, small, and made for 2D as much as 3D, and GDScript reads a lot like Python. Unity is used by more studios and is scripted in C#. Coddy teaches both: if you want C# and 3D, see the Unity course.

Is the Godot course free?

Yes. The lessons, the game, the AI hints and the certificates are free. A free account works through a few lessons a day, and Pro removes the daily limit.

Do I get a certificate for the Godot course?

Yes. Each of the 6 sections gives you a free certificate of completion when you finish it, with its own page you can share or add to LinkedIn.
Coddy programming languages illustration

Learn Godot with Coddy

Get started