Week 1 ยท Day 1
Set up & Hello World
Get the game-making tool onto your computer, make your first scene, and run your very first line of code.
โฑ About 45โ60 minutes
๐ฏ Today's mission
Welcome, Raviv! Install Godot (the free tool you'll use to build your game),
open it, and get the words "Hello World" to appear because you told
the computer to say them. That's it. Small win, big start.
What you'll learn
- What a "game engine" is and why we use Godot
- How to install Godot on Windows
- What a scene and a node are (the building blocks of every game)
- How to attach a script and make code actually run
What you need
A Windows PC, an internet connection, and about an hour. That's everything. Godot is
completely free and there's nothing to pay for, ever.
๐ก New words, explained simply
A game engine is just a program for making games โ like Microsoft Word is
a program for writing, Godot is a program for building games. Godot
(say it "GOD-oh", the t is silent) is one of the best free ones in the world, and
loads of real games are made with it.
Part 1 โ Install Godot
-
Open the official website
In your web browser, go to godotengine.org/download/windows.
โ Only download from this website
Always get Godot from godotengine.org โ the real, official site.
Other sites can bundle in junk you don't want. If a grown-up is nearby, it's worth
a quick check together the first time.
-
Download "Godot Engine" (the standard one)
You'll see a big download button. Click "Godot Engine" for Windows.
๐ก Which version?
You want the normal Godot Engine, not the one that says
".NET" or "C#". We're going to write code in a
language called GDScript, and the standard version has everything we need.
The latest version is 4.7 โ any 4.x version is fine.
-
Find the downloaded file
It will be a .zip file (a squashed-up folder), probably in your
Downloads folder. The name looks like
Godot_v4.7-stable_win64.exe.zip.
-
Unzip it
Right-click the .zip file โ Extract Allโฆ โ Extract.
This pulls the real program out of the squashed folder.
๐ก Why unzip?
A .zip is like a vacuum-packed jumper โ you can't wear it until you open the packet.
If you try to run Godot from inside the zip it can act strangely, so always
extract first.
-
Move Godot somewhere sensible
Inside the extracted folder is a single file: Godot_v4.7-stable_win64.exe.
That one file is Godot โ there's no installer. Make a new folder called
Godot in your Documents and drag that file into it so you can always find it.
๐ก Make it easy to open next time
Right-click the .exe โ Show more options โ Send to โ
Desktop (create shortcut). Now you've got a Godot icon on your desktop
for every other day of this course.
-
Open it
Double-click the file. Windows might pop up a blue
"Windows protected your PC" box โ that's normal for new programs.
Click More info โ Run anyway. Godot will open. ๐
โ
Checkpoint
Godot is open and you're looking at the Project Manager โ a window listing
your projects (empty for now). If you got here, the hard setup bit is done!
Part 2 โ Make your first project
-
Create a new project
In the Project Manager, click Create (or + New).
-
Name it and pick a folder
Project name: My First Game. For the folder, click
Create Folder so it gets its own tidy home. Leave the renderer on the
default setting.
-
Click "Create & Edit"
Godot opens the main editor. It looks busy โ don't panic, you only need a few buttons today.
๐ก A quick tour of the screen
In the middle is your game world (the viewport). On the
left is the Scene panel โ a list of the things in your game.
At the bottom is the Output panel, where the computer
writes messages back to you. We'll use that one in a minute.
Part 3 โ Scenes and nodes
Every Godot game is built from scenes, and every scene is built from
nodes. Think of it like this:
๐ก The big idea (this matters all course)
A node is one Lego brick โ a single piece that does one job (a character,
a camera, a button, a sound).
A scene is a model you've built out of those bricks (a whole level, or a player
made of several bricks).
You build games by snapping nodes together into scenes. That's the whole secret.
-
Add your first node
In the Scene panel (top-left), click "+ Add Child Node" (or the big
Other Node button).
-
Choose a "Node"
In the search box, type Node, click the plain one called Node
at the top, then Create. A little brick named Node appears
in your scene list. This will be our test dummy for today.
-
Save the scene
Press Ctrl + S. Call it main.tscn and save.
(.tscn just means "Godot scene file".)
Part 4 โ Your first code
A script is a set of instructions you attach to a node to give it a brain.
Let's give our node one instruction: say hello.
-
Attach a script
Right-click your Node in the Scene panel โ Attach Script.
Leave all the settings as they are and click Create.
-
Meet the code editor
Godot switches to the Script view and writes a little starter code for you.
It looks something like this:
extends Node
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
-
Write your line
Find the line that says pass. Delete it and type this instead
(the gap at the start of the line matters โ use Tab to make it):
extends Node
func _ready() -> void:
print("Hello World")
You changed one line. print(...) means "write this message to the
Output panel". The bit in quotes is the message.
-
Run it!
Press F5 (or the โถ Play arrow, top-right). The first time, Godot
asks you to pick a "main scene" โ choose Select Current (that's your
main.tscn). A blank grey window opens โ that's your game running.
-
Find your words
Close the grey window. Look at the Output panel at the bottom of Godot.
There it is: Hello World. You wrote code, and the computer obeyed. ๐ฅณ
โ
You did it!
You installed a real game engine, built a scene, attached a script, and ran your first
program. Every game you'll ever make starts exactly like this.
Understand it โ what did you just write?
Copying code is easy. Understanding it is the bit that turns you into a real
coder, so let's pull your four lines apart. Here they are again:
extends Node
func _ready() -> void:
print("Hello World")
extends Node
This says "the thing I'm writing instructions for is a Node". Remember a
node is one Lego brick. extends means "this script belongs to a brick of that
type". Godot wrote this line for you automatically โ you'll see it at the top of nearly
every script you ever make.
func _ready():
A func (short for function) is a labelled box of instructions โ
a little to-do list with a name. _ready is a special name that Godot
knows: it means "run this the moment the game starts". So anything you put
inside _ready happens automatically at the very beginning.
๐ก The logic, in plain English
Reading it like a sentence: "When you're ready (the game has started), do the list of
things below." The things below are written indented (pushed in with a
Tab) so Godot knows they belong inside the function. Indentation isn't decoration โ
it's how Godot knows what's inside what. This idea comes back every single day.
print("Hello World")
This is the actual action. print is a built-in command that means
"write a message to the Output panel". The round brackets ( ) are how you
hand something to a command โ here you're handing it the words to show. The
quote marks " " mean "treat what's inside as plain text, exactly
as written" โ that's called a string (programmer-speak for a piece of text).
๐ก Why this matters later
print is going to be your best friend all course. Whenever something in your game
isn't doing what you expect, you'll drop in a print to ask the computer
"what's going on right here?" โ like leaving yourself sticky notes inside the code. Real
professional developers do this all day long.
Play around โ level up ๐ฎ
This is the best part. Mess with your code and see what happens โ you can't break anything,
and the only way to really learn is to try. Start at Level 1 and go as far as you fancy.
๐ข Level 1 โ Easy
Change the words inside the quotes to something of your own โ your name, or your game's title.
Press F5 and watch the Output change to match.
๐ก Level 2 โ Medium
Add a
second print line directly under the first (same indentation) so the
game prints
two messages. What order do they come out in? Can you guess the
rule before you run it?
func _ready() -> void:
print("Hello World")
print("My adventure begins!")
๐ด Level 3 โ Spicy
Computers can do maths. Try print(2 + 2) โ notice there are no quote marks
this time. Why does print("2 + 2") (with quotes) give a totally different answer?
Test both and see if you can work out the rule. (Hint: quotes mean "exact text"; no quotes
means "work it out".)
๐ฌ Experiment: break it on purpose
Delete the Tab at the start of your print line so it lines up with func.
Run it. You'll get a red error! Now put the Tab back. You just learned what indentation does by
breaking it โ that's a brilliant way to understand any rule. Breaking things on purpose
is allowed and encouraged here.
Tomorrow we turn that blank grey window into a
real 3D world you can look around. ๐
If something went wrong
"Windows won't let Godot open." Click More info then
Run anyway on the blue pop-up. Godot is safe โ Windows just shows that
message for any program it hasn't seen before.
"My code shows a red error / a wavy underline." Usually it's the spacing at
the start of the print line. That gap is called indentation and
Godot is fussy about it. Make sure the print line starts with one
Tab, lined up under the func line โ exactly like the example.
"Nothing appeared in Output." Make sure you actually pressed Play
(F5) and that you spelled print in lower-case with round brackets
and straight quotes " โ not curly ones.
"I can't find the Output panel." At the very bottom of Godot there are tabs:
Output, Debugger, and others. Click Output.
For the grown-up: nothing today costs money and Godot has no accounts or
sign-ups. The only "watch out" moment is the Windows "protected your PC" pop-up in Part 1 โ
that's expected for a freshly downloaded program; Run anyway is correct. If you'd
like to sit in for the install, that's the five minutes worth doing together.