Skip to content

Repository files navigation

Multiplayer First Person Shooter Godot 4 Game

Built in Godot 4.4 for teaching the GodotCon Boston 2025 Multiplayer Basics Workshop.

Gif of the FPS Deathmatch gameplay, two players shooting and running around.

This project demonstrates:

  • How to connect over the network using Godot's high level multiplayer (ENet Server/Clients, MultiplayerSpawner, MultiplayerSynchronizer).
  • Scene Replication (having the scene tree match on all clients, which is needed for MultiplayerSynchronizer to work).
  • Using Remote Procedure Call (RPC) functions to share data across the network.
  • Syncing positions and rotations at a lower frequency and lerping between frames, to reduce network bandwidth.
  • Storing the game state on the Host, and updating clients with the new game states. See PlayerDataMgr
  • Using the Tile Instances addon to speed up testing.

Scene Tree Replication

In order for MultiplayerSynchronizer node to work, the scene tree paths for the networked nodes must match across clients. For example, to sync Player 2088759181's position, the CharacterBody3D on each client must be at the path root/GameTree/PlayersMgr/2088759181/2088759181.

Image of what the scene tree looks like at runtime.

About

Sample Godot 4.4 multiplayer game built for the GodotCon Boston 2025 multiplayer basics workshop.

Resources

Stars

16 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages