๐ŸŽฎ Summer Coding Quest
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 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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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

  1. Create a new project

    In the Project Manager, click Create (or + New).
  2. 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.
  3. 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.
  1. Add your first node

    In the Scene panel (top-left), click "+ Add Child Node" (or the big Other Node button).
  2. 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.
  3. 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.

  1. Attach a script

    Right-click your Node in the Scene panel โ†’ Attach Script. Leave all the settings as they are and click Create.
  2. 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.
  3. 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.

  4. 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.
  5. 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.
Previousโ€”