Game Dev 101
Progress
0/22

Lesson 22 of 22, in world 7: Polish & Shipping

Next Level: From Scratch to Godot

Time
About 15 min
Builds on
Capstone: Crystal Caves

You’ve built every core system of a 2D game by hand. A game engine gives you all of them pre-built, debugged and fast — plus an editor to arrange scenes visually. Because you now know what’s underneath, an engine stops being magic and becomes a toolbox.

Why use an engine now?

  • An editor to place objects, paint tilemaps and tweak values while the game runs.
  • Battle-tested systems: physics with slopes and rotation, audio buses, UI layout, input remapping, animation timelines.
  • Exporting to Windows, macOS, Linux, web, Android and iOS from one project.
  • Assets pipeline: import images and sounds, slice sprite sheets, set filters.

This repository uses Godot 4: free, open source, lightweight, with a 2D engine that is excellent for learning. Its scripting language, GDScript, reads a lot like Python.

Concept → Godot explorer

Pick a concept you learned here to see the Godot node or API that does the same job.

In Godot → _process(delta) and _physics_process(delta)
GDScript
extends Node2D

func _process(delta):            # every rendered frame (variable dt)
    rotation += 1.5 * delta

func _physics_process(delta):    # fixed 60 Hz step for movement/physics
    pass
↩ Revisit lesson 2

Continue with this repo’s Godot lessons

The godot/ folder of this repository contains one self-contained Godot project per lesson:

Godot lessonRevisits web lessons
godot/01-nodes-scenes-game-loopGame loop (2), delta time (3), transforms (4), scene graph (14)
godot/02-input-map-vectorsVectors (5), velocity (6), input (7)
godot/03-physics-collisionsCollision detection (9) and response (10)
godot/04-signalsEvents / observer (16)
Terminal
brew install --cask godot
godot --path godot/01-nodes-scenes-game-loop            # play a lesson
godot --path godot/01-nodes-scenes-game-loop --editor   # open it in the editor

Key takeaways

  • Engines package the loop, rendering, physics, input, audio and UI you built by hand.
  • Every concept in this course has a direct Godot equivalent.
  • Continue with the godot/ lessons in this repo — and finish small games.

Exercises

  1. Open godot/01-nodes-scenes-game-loop in the editor and find _process. Change the speed and press F5.
  2. Recreate Meteor Dodge (lesson 20) in Godot using an Area2D for the ship and a Timer for spawning.
  3. Pick one demo from this site and rebuild it in Godot. Which parts got easier? Which got harder?