Book Image

The Essential Guide to Creating Multiplayer Games with Godot 4.0

By : Henrique Campos
3 (2)
Book Image

The Essential Guide to Creating Multiplayer Games with Godot 4.0

3 (2)
By: Henrique Campos

Overview of this book

The Essential Guide to Creating Multiplayer Games with Godot 4.0 guides you in exploring the built-in network API for online multiplayer games, offering practical knowledge through concrete use cases. Throughout the book, you'll assume the role of a network engineer in a fictional indie game studio, tackling real-world requests from your peers and gaining expertise in adding new network features to the studio's games. Following step-by-step instructions, you’ll go from making your first network handshake to optimizing online gameplay. You’ll learn how to sync players and pass data over the internet as you add online multiplayer features to a top-down shooter adventure game. This book puts you in a fictional game project team where you set up your first online server before advancing to creating an online chat system and transitioning local gameplay to go online. With a focus on implementing multiplayer features, you’ll create shared world adventures and learn optimization techniques to allow more players to join your virtual world. By the end of this book, you’ll have learned how to set up a client-server network, implement remote procedure calls (RPCs), sync node properties remotely, and optimize your games to create smooth online multiplayer experiences.
Table of Contents (19 chapters)
1
Part 1:Handshaking and Networking
6
Part 2:Creating Online Multiplayer Mechanics
12
Part 3:Optimizing the Online Experience

Storing and retrieving data on the server

It’s time to handle a sensitive topic when it comes to online adventure games: databases. Note that in this book, we are not focusing on the best and most secure way to handle and protect a database. Instead, we are practicing and understanding what the Godot Engine Network API allows us to achieve and exploring its possibilities.

That said, in this section, we are going to implement the necessary steps to establish a communication channel where the client can retrieve its quests data from the server and send their progress updates to the server.

To do that, we are going to work with the two main classes in our quest system, QuestSingleton node and the QuestDatabase node. But before we set these classes up for this new challenge, we need to change how the database is structured. Since now the QuestDatabase node will work by delivering and handling multiple players’ data, the PlayerProgress.json file needs to have its data...