Become a Game Developer

What you will learn

Create games using the Godot Engine

Write code in GDScript (programming language)

Create and use custom variables, functions, classes, and objects

Combine nodes to create custom scenes

Description

In this course, you’ll learn the fundamentals of programming and game development using the Godot game engine.
You don’t need any programming experience to take this course. Everything will be taught as we go.

We’ll start out by covering the very basics of programming, such as variables, functions, and loops.
You’ll also learn how to use arrays and dictionaries to store data, and how to control the flow of logic with if-else statements.

You’ll learn about object-oriented programming (OOP) as we cover classes, objects, and inheritance.
You’ll become familiar with using nodes and scenes as building blocks for your game, and controlling its behavior through scripts.

The course is designed to teach you good programming habits, such as the use of static typing, assertions, and prefixed local variable names.
Every line of code will be broken down and explained in detail, so that you’ll understand exactly what it does and how.

We’ll be creating 3 different games in this course: a side-scroller, a trivia game, and a top-down shooter.
By the end of the course, you’ll have enough programming knowledge to create your own games and applications.

You will then be prepared and able to follow along with intermediate-level Godot tutorials and courses with relative ease.

English

Language

Content

Introduction

Setting up Godot

01 – Nodes, Scenes, and Scripts

Constants

02 – Constants

Variables

03 – Variables

Data Types and Static Typing

04-1 – Data Types

04-2 – Static Typing

Functions – Arguments and Return Values

05-1 – Functions

05-2 – Function Return Values

Functions – Return Types, Parameters and Signature

06-1 – Function Return Types

06-2 – Function Parameters and Signature

Type Inference

07 – Type Inference

For-Loops

08-1 – For Loop

08-2 – For Loop – Part 2

Array Indexes and For-Loop Iterator

09-1 – Array indexes

09-2 – Array indexes – Part 2

09-3 – For Loop – Part 3

Classes and Class Functions

10 – Classes and Class Functions

Array Class Functions

11 – Array Class Functions

Dictionaries

12-1 – Dictionaries

12-2 – Dictionaries – Part 2

12-3 – Dictionaries – Part 3

12-4 – Dictionaries – Part 4

12-5 – Dictionaries – Part 5

Setting Array Elements and Dictionary Values

13-1 Setting Array Elements

13-2 Setting Dictionary Values

Array and Dictionary Pitfalls

14-1 Array-Dict Outdated Values

14-2 Outdated Values Solution

14-3 Dictionary Mistakes

Assertions and Boolean Not

15-1 – Assertions

15-2 – Assertions – Part 2 – NOT symbol

15-3 – Assertions – Part 3

Dictionary Setter Function

16-1 – Dictionary Setter Function

16-2 – Dictionary Setter Function – Part 2

Comparison Operators

17 – Comparison Operators

Math Operators

18-1 – Math Operators

18-2 – Modulo Operator

18-3 – Modulo Operator – Part 2

If-Statements

19 – If-Statements

If-Else-Statements

20 – If-Else-Statements

If-Elif-Else-Statements

21 – If-Elif-Else-Statements

Ternary If-Statement

22 – Ternary If

Match Statements

23 – Match Statements

Nested If-Statements

24 – Nested If-Statements

Nested Match Statements


Get Instant Notification of New Courses on our Telegram channel.


25 – Nested Match Statements

Variable Scope – Overshadowing and Prefix

26-1 – Variable Scope

26-2 – Variable Scope – Part 2 – Variable Overshadowing

26-3 – Variable Scope – Part 3 – Underline Prefix

Helper Functions

27 – Helper Functions

Boolean And

28 – Boolean And

Boolean Or

29 – Boolean Or

Enums

30-1 – Named Enum

30-2 – Unnamed Enum

30-3 – Enum Custom Values

30-4 – Enum Pros and Cons

Break

31 – Break

Continue

32 – Continue

Objects and Classes

33-1 – Objects and Classes

33-2 – Objects and Classes – Part 2

SceneTree and Scene Root

34 – SceneTree and Scene Root

Creating the Player Class

35 – Creating the Player Class

Creating the Wall class

36 – Creating the Wall class

Finalizing Game

37 – Finalizing Game

Trivia Game

Trivia Game 01 – Creating the Main Scene

Trivia Game 02 – FRAME Scene

Trivia Game 03 – BTN Scene

Trivia Game 04 – BTN Hover Signal

Trivia Game 05 – BTN Hover Animation

Trivia Game 06 – BTN Unhover

Trivia Game 07 – BTN Press

Trivia Game 08 – Getting BTN Label Node

Trivia Game 09 – Setting BTN BG Color

Trivia Game 10 – Setting BTN Border Color

Trivia Game 11 – Setting BTN Text Color

Trivia Game 12 – Setting BTN Text

Trivia Game 13 – BTN Color Constants

Trivia Game 14 – BTN Clickable and Hoverable Bools

Trivia Game 15 – LABEL Scene

Trivia Game 16 – BTNGrid

Trivia Game 17 – BTNGrid Script

Trivia Game 18 – Changing the Display Size

Trivia Game 19 – Resizing BTNGrid BTNs

Trivia Game 20 – Questions Singleton

Trivia Game 21 – Questions Singleton – part 2

Trivia Game 22 – Questions Singleton – part 3

Trivia Game 23 – Setting BTNGrid Text

Trivia Game 24 – TriviaGrid

Trivia Game 25 – G.gd Singleton

Trivia Game 26 – Disable and Darken

Trivia Game 27 – GameOverLabel

Trivia Game 28 – GameOverLabel – part 2

Trivia Game 29 – Finishing the Project

Zombie Shooter

Zombie Shooter – Step 1 – Player

Zombie Shooter – Step 2 – Zombie

Zombie Shooter – Step 3 – Pixel Snapping

Zombie Shooter – Step 4 – Bullet

Zombie Shooter – Step 5 – Destroying Bullets

Zombie Shooter – Step 6 – Destroying Zombies

Zombie Shooter – Step 7 – Preventing Crashes

Zombie Shooter – Step 8 – Shooting Automatically

Zombie Shooter – Step 9 – Spawning Zombies

Zombie Shooter – Step 10 – Adding Walls

Zombie Shooter – Step 11 – Collision Layers

Zombie Shooter – Step 12 – Zombie Spawn Speedup

Zombie Shooter – Step 13 – Damaging the Player

Zombie Shooter – Step 14 – GameOverLabel

Zombie Shooter – Step 15 – Restarting the Game

Zombie Shooter – Step 16 – Finishing the Course