Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Create a Complete Online Co-Op Multiplayer Game in Godot 4
Rating: 4.8 out of 5(306 ratings)
4,816 students

Create a Complete Online Co-Op Multiplayer Game in Godot 4

Learn how to create a complete 2D online cooperative multiplayer game in Godot 4.4+!
Last updated 7/2025
English
English [Auto],

What you'll learn

  • Server-authoritative architecture for online multiplayer games using Godot’s high-level networking tools.
  • Remote Procedure Calls (RPCs) to synchronize game state across clients and the server.
  • MultiplayerSpawner and MultiplayerSynchronizer for scene tree and state synchronization.
  • Compose game scenes using modular components to create a flexible and maintainable project structure.
  • UI creation using Godot’s Control nodes and UI theming system.
  • Gameplay systems including a multiplayer lobby, multiplayer connections, combat, & more!

Course content

7 sections88 lectures18h 27m total length
  • Godot Setup and Orientation10:22

    Launch a 2D multiplayer arcade twin-stick shooter in Godot 4.4.1, set up the editor, create a new project, write GDScript, and run your first hello world scene.

  • Creating a Basic Player Scene16:48

    Create a basic player scene in Godot 4, with a physics body 2D, a sprite and collision shape, and explore scene trees and instancing for a multiplayer top-down twin-stick shooter.

  • Adding Basic Movement and Input Handling to the Player10:59

    Implement a basic player movement system in Godot 4 by attaching a script, configuring move left/right/up/down actions, calculating a movement vector, and applying velocity with move_and_slide.

  • Laying the Groundwork for Multiplayer Connection15:47

    Create a basic multiplayer groundwork by building a main menu with host and play buttons, wiring button signals in Godot to prepare for servers and clients.

  • Writing Our First Multiplayer Code17:11

    Learn to set up a basic Godot 4 multiplayer connection by creating a host server and a join client, using port 3000 and localhost, and validating with peer IDs.

  • Basic State Synchronization and First RPC Call15:44

    Learn how to synchronize host and client scenes in Godot 4 by loading a packed main scene and making the first RPC call to notify readiness.

  • Replicating Players Across the Network12:29

    Replicate a player instance for every connected peer using a custom multiplayer spawner and spawn function, naming each player by its peer ID for consistent RPCs across clients.

  • Input Authority20:20

    Enable server authoritative gameplay by routing player inputs to the server, synchronize movement vectors with a multiplayer synchronizer, and replicate authoritative positions to all peers.

  • Synchronizing Player Positions4:10

    Learn to synchronize player positions across clients in Godot using the multiplayer synchronizer and global position to broadcast server moves to all clients.

  • Display Configuration7:17

    Configure Godot's window display to 640 by 360 using viewport width and height, with stretch mode to achieve pixelated rendering; set startup size to 1280 by 720 for testing.

  • Adding Player Art6:40

    Download the assets, replace the placeholder with player medium.png in entities/player, set nearest texture filtering, and align the feet origin with integer offsets for the host/join test.

  • Adding a Weapon to the Player18:54

    Add a weapon to the player, create a weapon root to control aiming, and synchronize the aim direction across clients using the input synchronizer, with server-authority guarding gameplay logic.

  • Firing Bullets from the Weapon16:05

    Create a bullet shooting system in Godot 4: a bullet scene with constant speed and direction, moved by delta, spawned on attack input at the weapon root, with correct rotation.

  • Synchronizing Bullets11:32

    Synchronize bullets in a Godot 4 online co-op game by enforcing server-authoritative bullet spawning from the attacking client, and replicating bullets with synchronized global position, rotation, and direction across peers.

  • Creating Bullets at Proper Intervals12:08

    Limit bullet creation with a 0.25 second fire rate timer, add a two-second life timer to despawn off-screen, and ensure server authority frees bullets across clients.

  • Beginning Work on an Enemy4:21

    Create a basic enemy in Godot 4 by adding an enemy scene under entities/enemy, using a character body 2D with a circle collision shape and a sprite.

  • Implementing Bullet Collision14:55

    Implement basic bullet collision using area 2D with shapes, layers, and masks; detect with area entered signals, print collision, and free the bullet, with server-side authority in multiplayer.

  • Adding Basic Enemy Health & Synchronization7:23

    Implement a basic health system for enemies, decrementing health on bullet hits and removing enemies when health reaches zero, with network synchronization of spawn and position.

  • Adding an Arena11:56

    Import and center the arena asset, then lock it to preserve its position. Add static bodies with collision shapes to bound players, then spawn at the arena spawn marker.

  • Spawning Enemies18:07

    Forge a server authoritative enemy spawner for a complete online co-op multiplayer game in Godot 4, spawning enemies at random positions inside a spawn rect and syncing across clients.

  • Basic Enemy AI14:28

    Implement basic AI for enemies in Godot 4 for online co-op multiplayer by targeting the nearest player with a target acquisition timer, using groups and server authority to synchronize movement.

  • Adding Round Structure for Enemy Spawns9:01

    Add a round structure for enemy spawns by implementing a round timer and an enemy spawn timer in the enemy manager, enabling wave-based rounds.

  • Creating a Health Component9:50

    Learn to compose reusable health components for enemies and players in a Godot 4 co-op game, including damage, clamp, and died signal.

  • Global Signals and Advancing Rounds9:40

    Learn to implement a global signals broadcaster with an autoload game events node, emit enemy died, and connect to advance rounds by tracking spawned enemies and the round timer.

  • Hurtbox and Hitbox Components12:44

    Build a reusable hitbox component and hurtbox component to detect bullet and enemy collisions, apply damage via the health component, and enforce multiplayer authority.

  • Making Enemies Damage The Player6:13

    Apply a health component to the player and a hurtbox on enemies, configure collision layers and masks, and test that enemy collisions damage and can trigger player death.

  • Addressing Warnings4:39

    Learn to manage Godot 4 warnings by configuring gdscript warnings, fixing shadowing with renamed variables or self, and suppressing unused parameters with underscores to avoid narrowing conversions in debug output.

Requirements

  • Familiarity with general programming concepts

Description

This course teaches you everything you need to know to create a fully playable online cooperative multiplayer game from start to finish using the Godot Engine (version 4.4 or newer).

Core features and mechanics you'll learn include:

  • Server-authoritative multiplayer architecture

  • Remote Procedure Calls (RPCs) for state synchronization

  • Godot’s high-level multiplayer networking system

  • Twin-stick shooter controls

  • Modular scene composition

  • UI layout with Control nodes and theming

  • Gameplay programming with GDScript

This is just a highlight - check out the full course outline for a complete list of topics covered!

I'm Firebelley. I have over 7 years of experience using the Godot Engine and have published multiple commercial games to Steam. You'll be learning from someone who has used Godot to ship real games. I'm also the instructor behind several other highly-rated Udemy courses.

Whether you're just getting started with Godot or looking to get into online multiplayer game development, this course will walk you through the entire process. By the end, you’ll have a solid understanding of the key concepts and systems needed to build and publish a complete online 2D co-op game.

This course is perfect for you if:

  • You’re new to Godot and want a hands-on project

  • You’re interested in building multiplayer games

  • You have basic programming experience and want to apply it to game dev

Note: This course focuses on building an online multiplayer game in Godot 4.4+. It does not cover programming fundamentals. Familiarity with coding concepts is strongly recommended before enrolling - any programming experience will do. GDScript is easy to learn!

Several lessons are available for free preview - watch them to see if the course pace and teaching style are a good fit for you!

Who this course is for:

  • Aspiring game developers who want to make multiplayer games
  • Seasoned Godot developers with an interest in multiplayer
  • Beginner to intermediate Godot users looking for a complete, hands-on project
  • Programmers new to game development
  • Hobbyists and developers looking to learn Godot in a comprehensive way