Learn how to get the most out of the new Godot 4 game engine by making 2D video games.
We take you through the fundamentals and key concepts of Godot. You’ll use Godot’s built-in scripting language, GDScript, to create interesting game mechanics.
Plus, you’ll learn the fundamentals of programming such as if statements, loops, functions, coroutines, and more.
By the end you know how to use the new Tilemap, the animation player and other important nodes to make amazing games.
You’ll create 3, yes 3. , games in Godot 4…
Learn how to get the most out of the new Godot 4 game engine by making 2D video games.
We take you through the fundamentals and key concepts of Godot. You’ll use Godot’s built-in scripting language, GDScript, to create interesting game mechanics.
Plus, you’ll learn the fundamentals of programming such as if statements, loops, functions, coroutines, and more.
By the end you know how to use the new Tilemap, the animation player and other important nodes to make amazing games.
You’ll create 3, yes 3. , games in Godot 4…
Speed Saucer: a Collision Avoidance Game where you’ll learn Godots fundamentals, scenes, nodes, instancing, scripting and more
Alien Attack: 2D Side Scrolling Space Shooter Game covering physics, movement logic, creating UI (user interface), particles and more. You’ll be shooting projectiles and keeping score.
Martian Mike: 2D Platformer Game packed full of new skills including animations, scene management, tilemap and many more
Whether you’re a complete beginner or have dabbled in Godot before, this course will have something for you.
You’ll get full lifetime access for a single one-off fee. The creators are qualified and experienced with modelling and coding, so are able to explain complex concepts clearly, as well as entertain along the way.
And you’ll get access to the Q&A where our Instructors, Teaching Assistants and Community are ready to help answer your questions and cheer on your success.
Godot 4 is an amazing engine and this course is the perfect place to dive into it. ?
In this video (objectives)…
Welcome to the course
In this video (objectives)…
In this lecture we will download and install Godot.
In this video (objectives)…
In this lecture we will learn how to create a new project.
In this video (objectives)…
In this lecture we will take a look at the different parts of Godot’s editor interface
In this video (objectives)…
In this lecture we continue our exploration of the interface
In this video (objectives)…
Lucy invites you to join us in our various community support forums in order to ask questions, connect with other students and share your progress.
In this video (objectives)…
Any time we change our project during a lecture we will commit that change to a public source control repository for students to access. In this video we show you how to access that content.
In this video (objectives)…
In this lecture you will learn about the section contents and learning goals.
In this video (objectives)…
In this lecture we will create a new project and do some setup!
In this video (objectives)…
We learn about nodes and scenes, Godot’s fundamental building blocks!
In this video (objectives)…
This lecture is an intro to physics in Godot and we learn about rigid bodies and collision shapes.
In this video (objectives)…
In this lecture we learn how to use scenes inside of other scenes via instancing.
In this video (objectives)…
We learn how to edit and change instanced scenes.
In this video (objectives)…
In this one we look at the relationship between a parent and a child node. We learn how they behave and react to each other.
In this video (objectives)…
In this lecture we learn about the order nodes are drawn in a scene and how to manipulate this with ordering and z index.
In this video (objectives)…
This lecture is an introduction to scripting in Godot. Scripting allows us to add our own custom logic to nodes.
In this video (objectives)…
In this lecture we learn about functions and how to print text to the output console.
In this video (objectives)…
In this lecture we explore the basics of number operations and understand the most common operations you’ll use in Godo
In this video (objectives)…
In this lecture we discuss how variables work in Godot and experiment with the syntax used for declaring and assigning variables.
In this video (objectives)…
In this lecture we understand how to pass in arguments to functions so that we can use additional data to change what our function is doing.
In this video (objectives)…
We learn how to push objects in our game by using apply_impulse(). We also discuss how to use a Vector2 to determine what direction the object will be pushed.
In this video (objectives)…
We learn that apply_force() is a better function to use for ongoing movement for our player and see why it is important to use _physics_process to make our object framerate independent.
In this video (objectives)…
In this lecture we learn the if statement and comparison operators. These are important fundamental programming concepts.
In this video (objectives)…
In this lecture we set up our player so we can move it around using keyboard input.
In this video (objectives)…
In this lecture we learn about the scope of variables and how to use global scope to use variables in all of our functions in a script.
In this video (objectives)…
In this lecture we learn about how to return values from functions and use the value returned to improve the control we have over our code.
In this video (objectives)…
We create a camera that follows the player and play with the values of the camera to get it looking how we like.
In this video (objectives)…
In this lecture we will learn how to use the CollisionPolygon2D and Polygon2D nodes in order to create our maze/race track!
In this video (objectives)…
In this lecture we will learn about signals in Godot. Signals let us react to events and we will use a signal of Area2D to reset the game when the player goes outside of the maze.
In this video (objectives)…
In this lecture we will create a parallax effect using the CanvasLayer node and learn how to add text to our scene with the Label node
In this video (objectives)…
Wrapping up the section with some final thoughts!
In this video (objectives)…
In this lecture we will create a new project and create the Player scene!
In this video (objectives)…
In this lecture we will implement the player movement code
In this video (objectives)…
In this lecture we will make it so that the player can’t leave the gameplay area. We will also learn how to create export variables so that we can change a variable from the inspector.
In this video (objectives)…
In this lecture we will create the Rocket scene and add the initial movement code.
In this video (objectives)…
In this lecture we will learn what delta time is and use it to create consistent movement at different frame rates.
In this video (objectives)…
In this lecture we will learn how to instance a scene within a script. And we will implement shooting into our game.
In this video (objectives)…
In this lecture we will learn how to reference a node in our script. This will allow us to access and modify nodes that are inside of the scene from our code. We will use this to fix the rockets position.
In this video (objectives)…
We need to get rid of rockets that go outside of the screen. Otherwise we will run into performance issues! In this lecture we learn how to do this with a VisibleOnScreenNotifier node!
In this video (objectives)…
In this lecture we will create the enemy scene and the script.
In this video (objectives)…
In this lecture we will create the enemy spawner scene and start working on the spawning functionality.
In this video (objectives)…
In this lecture we will write the spawn_enemy function which will spawn an enemy at a random spawn position each time the timer times out!
In this video (objectives)…
In this lecture we will use the rocket scenes area entered signal and delete the enemy and the rocket when they touch each other.
In this video (objectives)…
In this lecture we will create the deathzone that deletes enemies that go outside of the screen.
In this video (objectives)…
In this lecture we will create the lives functionality with the help of a new concept: custom signals!
In this video (objectives)…
In this lecture we will continue using custom signals and implement the scoring functionality!
In this video (objectives)…
In this lecture we will create the UI for the player’s score.
In this video (objectives)…
In this lecture we will create the UI to display how many lives the player has left.
In this video (objectives)…
In this lecture we will create the game over screen. This will be displayed when the player has no lives left.
In this video (objectives)…
In this lecture we will add sound effects into our game.
In this video (objectives)…
In this lecture we will create a cool flame effect for the player using Godot’s particle system.
In this video (objectives)…
In this lecture we will create an enemy that moves along a path that we create.
In this video (objectives)…
In this lecture we will add the path enemy to the enemy spawner.
In this video (objectives)…
Wrapping up Alien Attack with some final thoughts.
In this video (objectives)…
In this lecture we will create a new project, do some setup and start working on the Player scene!
In this video (objectives)…
In this lecture we will learn how to create animations from a sprite sheet using a AnimatedSprite2D node
In this video (objectives)…
In this lecture we will implement the players movement logic
In this video (objectives)…
In this lecture we will learn about boolean operators and use one of them to fix a bug in the jumping code
In this video (objectives)…
In this lecture we will flip the player sprite based on the direction and then we will play animations at the correct time
In this video (objectives)…
In this lecture we will create the Deathzone. An Area2D that resets the players position and velocity
In this video (objectives)…
In this lecture we will create the Jump Pad. This is an Area2D that the player uses to jump really high
In this video (objectives)…
In this lecture we will start working on the traps. These have Area2D’s that “kill” the player when the player touches them.
In this video (objectives)…
In this lecture we will learn a really important node, the AnimationPlayer. We will use this to create animations for our traps
In this video (objectives)…
In this lecture we will start implementing a system that will connect the traps’ signal at the start of the game. We will need learn about arrays and groups to do this
In this video (objectives)…
In this lecture we will finish the trap auto signal connecting by learning how to use the for loop
In this video (objectives)…
In this lecture we will learn how to use the tilemap node, one of the most powerful nodes in Godot
In this video (objectives)…
In this lecture we will learn how to use autotiling with terrains
In this video (objectives)…
In this lecture we will learn how to create a scrolling background effect using parallax bacground and region rect
In this video (objectives)…
In this lecture we will create a better looking start area for the player
In this video (objectives)…
In this lecture we will create the exit area scene
In this video (objectives)…
In this lecture we will learn how to change scenes from a script
In this video (objectives)…
In this lecture we will create more levels
In this video (objectives)…
In this lecture we will learn how to create nodes in a script and implement a level timer
In this video (objectives)…
In this lecture we will create the HUD that is going to display how much time is left to the player
In this video (objectives)…
In this lecture we will create the win screen that will be shown when the player reached the end of the last level
In this video (objectives)…
In this lecture we will create the start menu of the game
In this video (objectives)…
In this lecture we will put on our level design hats and use everything we built so far to make interesting levels
In this video (objectives)…
In this lecture we will learn about autoloaded scenes and create a music player that doesnt get affected from scene changes
In this video (objectives)…
In this lecture we will learn about autoloded scripts in order to create a system to play sound effects the good way
In this video (objectives)…
Wrapping up Martian Mike with some final thoughts
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.