We may earn an affiliate commission when you visit our partners.
Kaan Alpar and GameDev.tv Team

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…

Read more

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. ?

Enroll now

What's inside

Learning objectives

  • Get the most out of the new godot 4 game engine by making 2d video games
  • Make 3 different awesome games, while learning the fundamentals and key concepts of godot 4
  • Learn key concepts of godot such as using nodes, scenes, scripting & signals
  • Use godot’s built-in scripting language, gdscript, to create interesting game mechanics
  • Learn the fundamentals of programming such as if statements, loops, functions, coroutines, and more
  • Discover how to use the new tilemap, the animation player and other important nodes you need to know to make amazing games

Syllabus

Introduction & Setup

In this video (objectives)…

  1. Welcome to the course

In this video (objectives)…

  1. In this lecture we will download and install Godot.

Read more

In this video (objectives)…

  1. In this lecture we will learn how to create a new project.

In this video (objectives)…

  1. In this lecture we will take a look at the different parts of Godot’s editor interface

In this video (objectives)…

  1. In this lecture we continue our exploration of the interface

In this video (objectives)…

  1. 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)…

  1. 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.

Speedy Saucer

In this video (objectives)…

  1. In this lecture you will learn about the section contents and learning goals.

In this video (objectives)…

  1. In this lecture we will create a new project and do some setup!

In this video (objectives)…

  1. We learn about nodes and scenes, Godot’s fundamental building blocks!

In this video (objectives)…

  1. This lecture is an intro to physics in Godot and we learn about rigid bodies and collision shapes.

In this video (objectives)…

  1. In this lecture we learn how to use scenes inside of other scenes via instancing.

In this video (objectives)…

  1. We learn how to edit and change instanced scenes.

In this video (objectives)…

  1. 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)…

  1. 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)…

  1. This lecture is an introduction to scripting in Godot. Scripting allows us to add our own custom logic to nodes.

In this video (objectives)…

  1. In this lecture we learn about functions and how to print text to the output console.

In this video (objectives)…

  1. 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)…

  1. 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)…

  1. 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)…

  1. 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)…

  1. 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)…

  1. In this lecture we learn the if statement and comparison operators. These are important fundamental programming concepts.

In this video (objectives)…

  1. In this lecture we set up our player so we can move it around using keyboard input.

In this video (objectives)…

  1. 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)…

  1. 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)…

  1. 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)…

  1. 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)…

  1. 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)…

  1. 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)…

  1. Wrapping up the section with some final thoughts!

Alien Attack

In this video (objectives)…

  1. In this lecture we will create a new project and create the Player scene!

In this video (objectives)…

  1. In this lecture we will implement the player movement code

In this video (objectives)…

  1. 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)…

  1. In this lecture we will create the Rocket scene and add the initial movement code.

In this video (objectives)…

  1. 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)…

  1. 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)…

  1. 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)…

  1. 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)…

  1. In this lecture we will create the enemy scene and the script.

In this video (objectives)…

  1. In this lecture we will create the enemy spawner scene and start working on the spawning functionality.

In this video (objectives)…

  1. 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)…

  1. 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)…

  1. In this lecture we will create the deathzone that deletes enemies that go outside of the screen.

In this video (objectives)…

  1. In this lecture we will create the lives functionality with the help of a new concept: custom signals!

In this video (objectives)…

  1. In this lecture we will continue using custom signals and implement the scoring functionality!

In this video (objectives)…

  1. In this lecture we will create the UI for the player’s score.

In this video (objectives)…

  1. In this lecture we will create the UI to display how many lives the player has left.

In this video (objectives)…

  1. 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)…

  1. In this lecture we will add sound effects into our game.

In this video (objectives)…

  1. In this lecture we will create a cool flame effect for the player using Godot’s particle system.

In this video (objectives)…

  1. In this lecture we will create an enemy that moves along a path that we create.

In this video (objectives)…

  1. In this lecture we will add the path enemy to the enemy spawner.

In this video (objectives)…

  1. Wrapping up Alien Attack with some final thoughts.

Martian Mike

In this video (objectives)…

  1. In this lecture we will create a new project, do some setup and start working on the Player scene!

In this video (objectives)…

  1. In this lecture we will learn how to create animations from a sprite sheet using a AnimatedSprite2D node

In this video (objectives)…

  1. In this lecture we will implement the players movement logic

In this video (objectives)…

  1. 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)…

  1. 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)…

  1. In this lecture we will create the Deathzone. An Area2D that resets the players position and velocity

In this video (objectives)…

  1. 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)…

  1. 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)…

  1. 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)…

  1. 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)…

  1. In this lecture we will finish the trap auto signal connecting by learning how to use the for loop

In this video (objectives)…

  1. In this lecture we will learn how to use the tilemap node, one of the most powerful nodes in Godot

In this video (objectives)…

  1. In this lecture we will learn how to use autotiling with terrains

In this video (objectives)…

  1. In this lecture we will learn how to create a scrolling background effect using parallax bacground and region rect

In this video (objectives)…

  1. In this lecture we will create a better looking start area for the player

In this video (objectives)…

  1. In this lecture we will create the exit area scene

In this video (objectives)…

  1. In this lecture we will learn how to change scenes from a script

In this video (objectives)…

  1. In this lecture we will create more levels

In this video (objectives)…

  1. In this lecture we will learn how to create nodes in a script and implement a level timer

In this video (objectives)…

  1. 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)…

  1. 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)…

  1. In this lecture we will create the start menu of the game

In this video (objectives)…

  1. 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)…

  1. 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)…

  1. 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)…

  1. Wrapping up Martian Mike with some final thoughts

Bonus
Bonus: Access to C# Conversions of GDScript Projects

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Provides a comprehensive introduction to Godot 4, covering fundamental concepts like nodes, scenes, scripting, and signals, which are essential for building 2D games
Teaches GDScript, Godot's built-in scripting language, which allows learners to create interesting game mechanics and interactive elements within their games
Explores core programming concepts such as if statements, loops, functions, and coroutines, which are transferable skills applicable to other programming languages and game engines
Features hands-on projects where learners create three different 2D games, including a collision avoidance game, a side-scrolling space shooter, and a platformer, reinforcing learned concepts
Uses Godot 4, which is a relatively new version, so learners may need to be aware that some online resources and community support might still be catching up
Covers topics such as tilemaps, animation players, and UI creation, which are essential for developing engaging and polished 2D games within the Godot engine

Save this course

Save Complete Godot 2D: Develop Your Own 2D Games Using Godot 4 to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Complete Godot 2D: Develop Your Own 2D Games Using Godot 4 with these activities:
Review GDScript Fundamentals
Reinforce your understanding of GDScript syntax and basic programming concepts before diving into the course.
Show steps
  • Read the official GDScript documentation.
  • Practice writing simple scripts in Godot.
  • Review basic programming concepts like variables, functions, and control flow.
Read 'Learning GDScript'
Deepen your understanding of GDScript by studying a dedicated resource on the language.
Show steps
  • Obtain a copy of the book.
  • Read through the chapters on GDScript fundamentals.
  • Experiment with the code examples provided in the book.
Read 'Godot Engine Game Development Projects'
Gain a broader perspective on game development in Godot by exploring different project examples.
Show steps
  • Obtain a copy of the book.
  • Work through one or two of the projects in the book.
  • Compare the book's approach to the course's approach.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Practice GDScript Coding Challenges
Improve your GDScript proficiency by solving coding challenges related to game development concepts.
Show steps
  • Find a website or resource with GDScript coding challenges.
  • Solve a few challenges each week.
  • Focus on challenges related to topics covered in the course.
Document Your Game Development Journey
Enhance your learning by documenting your progress, challenges, and solutions throughout the course.
Show steps
  • Start a blog or online journal.
  • Write about your experiences with each project.
  • Share your code and assets with others.
Create a Simple Platformer Prototype
Solidify your understanding of Tilemaps, animations, and player movement by building a basic platformer game.
Show steps
  • Create a new Godot project.
  • Design a simple level using Tilemaps.
  • Implement basic player movement and jumping.
  • Add simple animations for the player character.
Contribute to a Godot Open Source Project
Gain practical experience and contribute to the Godot community by participating in an open-source project.
Show steps
  • Find a Godot open-source project on GitHub or GitLab.
  • Review the project's documentation and contribution guidelines.
  • Identify a bug or feature to work on.
  • Submit a pull request with your changes.

Career center

Learners who complete Complete Godot 2D: Develop Your Own 2D Games Using Godot 4 will develop knowledge and skills that may be useful to these careers:
Game Developer
A game developer designs and builds video games, and this course may be useful for those entering the field, particularly if they want to work on 2D games. This role involves programming game mechanics, user interfaces, and implementing visual elements and game logic, all of which are covered in the course. The course specifically uses the Godot 4 game engine and its scripting language, GDScript, teaching core concepts like nodes, scenes, and signals. With the course, a game developer learns how to use Tilemaps, animation players and other nodes to make games. The three games developed during the course directly align with the practical skills needed in this role.
Hobbyist Game Developer
A hobbyist game developer creates games for personal enjoyment and learning. This course is very well aligned with the interests of a hobbyist game developer, as it provides the necessary skills to start creating 2D games using Godot 4. The course teaches the fundamentals of Godot, including its scripting language GDScript, and programming concepts. The course gives students the chance to build three different games, which may be a fun challenge for an aspiring hobbyist game developer. The course's accessible approach may be ideal for those who want a fun introduction to game development.
Indie Game Developer
An indie game developer creates games independently, often handling multiple aspects of game development. This course directly aligns with the needs of an indie game developer, as it teaches how to build 2D games using Godot 4. A key part of this role is programming, and the course emphasizes GDScript and fundamental programming concepts like if statements, loops, and functions. Creating three complete games in the course may help indie game developers hone their skills in game mechanics, UI creation, and animation. This course may be particularly useful for those going alone who need to learn the technical skills to build the game.
Game Programmer
A game programmer focuses on the technical aspects of game development, such as implementing game mechanics, artificial intelligence, and user interfaces. This course will help build a foundation in game programming, teaching the use of Godot's GDScript to create game mechanics. A game programmer would find the course's coverage of programming concepts such as if statements, loops, and functions to be valuable. The course's hands-on approach, where students build three different games, may be a critical resource for building a portfolio that demonstrates the required skills.
Gameplay Programmer
A gameplay programmer specializes in creating the interactive and engaging elements of a game, such as character movement, combat systems, and user interactions. This course may help those who wish to enter this role, as it covers core mechanics using the Godot 4 engine. The course's focus on scripting with GDScript and using nodes and scenes in Godot directly translates to the practical skills needed for a gameplay programmer. The three projects in the course are examples of gameplay, and the course gives a programmer hands on experience.The course may be a great place to start for an aspiring gameplay programmer.
Game Designer
A game designer is responsible for creating and planning the mechanics and systems of a game. This course may be useful for those wishing to become game designers, as it provides direct experience with the Godot 4 game engine. The course introduces students to scripting in GDScript with a focus on building gameplay. The course is structured around building three games, which may be a helpful way to understand game design. A game designer who wishes to work in 2D game design may find this course useful.
Level Designer
A level designer creates the environments and levels within a game. This course may be useful for aspiring level designers as it explores the tilemap node in Godot, and gives an understanding of level design. The course introduces students to the Godot 4 game engine, and teaches node organization and scene management, which are core concepts for level design. Students also create three different games of increasing complexity, which may be a helpful way to understand how levels get designed. This course may provide a good foundation for those who wish to work as level designers.
Technical Artist
A technical artist bridges the gap between art and programming, focusing on optimizing game assets and implementing visual effects. This course may be useful for those who wish to become a technical artist, in particular because the course teaches how to use the animation player, nodes, and the tilemap to create games, which are all important skills for this role. The course, which explores Godot, also teaches scripting with GDScript, and programming concepts such as if statements, loops, and functions. The course provides a good framework for those looking to develop a base of technical skills.
Software Developer
A software developer designs, develops, and maintains software applications. A software developer who wishes to understand the basics of game development may find this course useful. It will provide experience in programming game mechanics using GDScript and core programming concepts. The course structure, which involves creating three games with Godot, may improve a software developer's understanding of software construction. A software developer may also benefit from learning about game engine architecture. This course may serve as a good introduction to a new domain.
Software Engineer
A software engineer applies engineering principles to software development, focusing on the design, implementation, and testing of software systems. A software engineer interested in game development might find this course to be an introduction to game specific programming concepts, using GDScript and using the Godot game engine. The course's emphasis on building games from the ground up, may help a software engineer learn about systems design and software architecture. Software engineers may appreciate the course's hands-on, practical approach.
Animator
An animator creates moving images for games. An animator who wishes to work in the games industry may find this course useful as the course covers game animation fundamentals using the Godot engine. The course also covers animation players and creating sprite animations, which may help an animator transition into games. This course, which focuses on building three games, provides a practical basis for integrating animation and gameplay. It may be a helpful stepping stone for those who want to animate for games.
User Interface Designer
A user interface designer focuses on creating user interfaces for software and games. Though this course does not explicitly focus on UI design, a UI designer who wishes to work in the game industry may find this course useful. The course does teach UI implementation using Godot, specifically teaching how to build user interfaces. The course also uses game design and software development principles that will be relevant to the designer. Though this course may not be a perfect fit, it may be a good way for a user interface designer to pivot into the domain of games.
Project Manager
A project manager oversees the planning, execution, and completion of projects. A project manager may find this course helpful, as the course presents hands on experience with game development, and may help the project manager better understand the game development process. The course covers aspects like game mechanics and scripting, which a project manager might need to understand to manage a game project. The practical experience of building three games throughout the course may give a project manager better hands on experience with the pipeline. This may be a useful course for a project manager pivoting to the gaming industry.
Educator
An educator designs and delivers learning experiences, and this course may be useful for educators looking to teach introductory game design. The course structure, with its focus on hands-on projects and the Godot 4 game engine, may be insightful for developing a game design curriculum. An educator will learn about GDScript, the structure of game development using nodes and scenes and how to create multiple 2D games. The practical skills learned by creating three different games during the course may be helpful for an educator to teach in their lessons. This course may be useful for an educator who wants to start teaching game design.
Quality Assurance Tester
A quality assurance tester focuses on finding bugs and areas for improvement in software. This course may be useful for a tester wishing to transition to the video game industry. The course provides an understanding of the game development process, and experience with game mechanics. A quality assurance tester may improve their ability to assess games after taking this course. Since the course covers the development of three full games, it may be useful for a tester looking for a good base of reference.

Featured in The Course Notes

This course is mentioned in our blog, The Course Notes. Read one article that features Complete Godot 2D: Develop Your Own 2D Games Using Godot 4:

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Complete Godot 2D: Develop Your Own 2D Games Using Godot 4.
Comprehensive guide to GDScript, Godot's built-in scripting language. It covers the fundamentals of the language and provides practical examples of how to use it in game development. This book is helpful in providing background and prerequisite knowledge. It is also a useful reference tool for GDScript syntax and best practices.
Provides practical examples of game development projects using Godot Engine. It's a great resource for learning by doing and seeing how different game mechanics can be implemented. While the book may not be specifically tailored to Godot 4, the core concepts are transferable. It serves as valuable additional reading to solidify your understanding.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

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.

Affiliate disclosure

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.

© 2016 - 2025 OpenCourser