Want to create your own multiplayer masterpiece, where players unite, solve puzzles and embark on adventures together?
We’re here to guide you from solo to multiplayer game development using Godot 4. Get ready to make an online game that players won’t want to leave.
Imagine crafting puzzles where players truly need each other. Pressure plates, movable objects, locked doors—you name it, you'll create it.
The course tackles the techy stuff, like connecting players over the internet, head-on. While we perfect this feature, get excited for the endless possibilities it’ll bring to your game world.
Want to create your own multiplayer masterpiece, where players unite, solve puzzles and embark on adventures together?
We’re here to guide you from solo to multiplayer game development using Godot 4. Get ready to make an online game that players won’t want to leave.
Imagine crafting puzzles where players truly need each other. Pressure plates, movable objects, locked doors—you name it, you'll create it.
The course tackles the techy stuff, like connecting players over the internet, head-on. While we perfect this feature, get excited for the endless possibilities it’ll bring to your game world.
You’ll build an engaging multiplayer game with Godot’s latest multiplayer framework. From syncing game mechanics to global player collaboration, you’ll master it all.
Once you've created your game, you'll have a bunch of options for taking it online: Port Forwarding, Relay-Servers, or Dedicated Hosting.
We'll also be diving into using the newly launched W4 Games lobbies to get you connected with others around the globe.
Multiplayer game development sounds daunting, right? Data syncing, server-client authority, and the hassle of hosting. We’ll break these down into manageable lessons, turning challenges into your new strengths.
This course is for those who’ve dabbled in single-player games and are itching to explore the online multiplayer universe. It’s a step up, a way to connect and share your creations with the world.
All you need to start is a basic grasp of Godot and GDScript, plus some experience in single-player game making. We’re building on your knowledge to open new doors in game development.
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.
So, are you ready to transform your game dev dreams into reality? Join us and lets create gaming experiences that bring players together, one puzzle at a time.
In this video (objectives)…
Nathan welcomes you to the course.
In this video (objectives)…
We learn about how online multiplayer games work behind the scenes and discuss how we are going to structure our project.
In this video (objectives)…
We introduce the ways that you can get help, support and contribute to the community.
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.
Sign up for the W4 Game services early to avoid waiting later in the course.
In this video (objectives)…
Nathan introduces you to the section of the course where you’ll be creating the Player Character features such as movement and animation.
In this video (objectives)…
We create our project and import sprites that we’ll be using for the players, terrain, and objects in the world.
In this video (objectives)…
We set up Tile Sets to allow for quick iteration when designing our scenes.
In this video (objectives)…
We create the Player scene and set up their animations that will later be controlled by our movement code.
In this video (objectives)…
We set up input bindings for moving and jumping.
In this video (objectives)…
We play animations based on what kind of movement the player is performing.
In this video (objectives)…
We extend our player movement code to allow for as many consecutive jumps as you want.
In this video (objectives)…
We have our player spawn in their own camera which follows them.
In this video (objectives)…
We add two layers to our background that we can move at different speeds to create a parallax effect.
In this video (objectives)…
We refactor the player script so that the physics_process method doesn’t end up becoming too bloated.
In this video (objectives)…
Nathan introduces you to the section of the course where you’ll be connecting players together and will be syncing game state.
In this video (objectives)…
We create main menu where players will be able to host a match or enter the IP address of the server they wish to join.
In this video (objectives)…
We allow players to start hosting a game that others will be able to connect to.
In this video (objectives)…
We take a quick break to look at Remote Procedure Calls (RPC) before using them in the following lectures.
In this video (objectives)…
We allow players to join a game and then they will be sent to the gameplay scene when the host hits start.
In this video (objectives)…
When the host is ready, then can hit the start button to send all players to the level scene.
In this video (objectives)…
Now that players are sent to the level scene, they need to each have a player spawned in for them to control.
In this video (objectives)…
For data to be synced over the network, we need to assign authority to the correct client for each player, which will let them take control of their own character.
In this video (objectives)…
Nathan introduces you to the section of the course where you’ll be creating puzzle mechanics for our platformer.
In this video (objectives)…
We refactor the player movement logic into a simple, enum based state machine.
In this video (objectives)…
We create our first object to be used in puzzles, a pressure plate that players can stand on to trigger events.
In this video (objectives)…
We create a door that can be opened by other objects in our game, such as the pressure plate we created in the previous lecture.
In this video (objectives)…
We hook up our pressure plate to our door so that one player can stand on it whilst the other walks through into a locked room.
In this video (objectives)…
We create a treasure chest that can be opened when interacted with by a player to reward them with an item.
In this video (objectives)…
We give the player the ability to press a key to interact with objects, such as the treasure chest.
In this video (objectives)…
We create the key item that will be rewarded when the treasure chest is opened
In this video (objectives)…
We create a door that can be opened with a key to exit the level.
In this video (objectives)…
We use our tilemap, along with all our puzzle objects that we’ve been creating to build out an interesting level.
In this video (objectives)…
We create a bridge that requires both players to be present on pressure plates to make the bridge appear.
In this video (objectives)…
We create a pushable object that is synced over the network, but that causes us some interesting problems.
In this video (objectives)…
We use transferal of ownership over the object to allow pushing clients to move the object without network delay or any glitchy movement.
In this video (objectives)…
We change how we are applying forces to our pushable object to make sure that it doesn’t flip or launch into the sky.
In this video (objectives)…
We create an indicator for when players are off of the screen so you can easily find where they are.
In this video (objectives)…
We implement interpolation for any movement that is being synced over the network to make it all look smooth for all clients.
In this video (objectives)…
We set up a second character that has different stats and sprites. Players are now assigned different characters when starting a game.
In this video (objectives)…
We add the ability to change levels or exit the game when the level has been finished,
In this video (objectives)…
Nathan introduces you to the section of the course where you’ll taking your game online to have people connect from all around the world.
In this video (objectives)…
We have a look at some of the options we have available for implementing online gaming services.
In this video (objectives)…
We get our W4 Games account set up and install their Godot plugin.
In this video (objectives)…
We authenticate players when they launch the game, before giving them access to the main menu buttons.
In this video (objectives)…
We create a W4 lobby when starting to host a game that will be joinable by other players.
In this video (objectives)…
We use a host’s code to join their lobby and start playing with them.
In this video (objectives)…
We add a way for players to leave the lobby and return to the main menu, ready to play again.
In this video (objectives)…
We're finished with the course - good luck with your Godot Multiplayer projects, and please share what you come up with!
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.