Back End and Computer Networking Learning Resources for Game Devs

Echo Yin
Women in Technology
4 min readMar 11, 2024

Ever since I started volunteering as Back End Engineer at Froglet Games. Aside from PlayFab and Firebase integration into Unity projects, by looking at conventional Backend developer roadmap. It’s inevitable that Networking is crucial to understand how to successfully build a scalable system in this type of role.

It’s great to see nowadays we have mature SDKs such as PlayFab, GameLift, EOS such that for a reasonable price plan we can have a reliable Live-Ops and Multiplayer features for our games without worrying about the nitty-gritty details setting up infrastructure for a small game project.

That been said, the fundamental do not matter now, do they? Well, no. Without them it’s like stacking Lego blind-folded. That’s why I’m sharing some resources specifically have helped me greatly in understanding what’s going on behind the hook.

I’ve skimmed through quite a lot materials. What I have listed here are the ones most helpful.

Computer Networking: A Top-Down Approach

It’s a very thorough educational material on computer networking, and a general approach for IT technicians and backend developers. What’s great about the book is that the author [Jim Kurose] has his own channel explaining the terminologies written in the book.

The book provides a comprehensive and in-depth exploration of computer networking, covering a broad range of topics from the application layer down to the physical layer. This top-down approach allows me to understand the overall architecture before delving into the details.

What’s great about the book is that it uses our day-to-day events as analogy to explain how data transmitted along with protocols. Beyond Chapter 4 the book demonstrates the details about layer operation details. It provides the relevance of the material and how it applies to the design and implementation of actual networks.

I admit learning computer networking sometimes is dry and disassociating, mostly because in writing software nowadays does not require the developer to touch too much on the hardware. For understanding networking, we have multiple layers of protocols including physical layer. Without much hands-on hardware tinkering, it will take some time to process how and why computer network is built in the way it is.

Multiplayer Game Programming: Architecting Networked Games

This book takes you on a deep dive into the world of multiplayer game development. It doesn’t just scratch the surface — it goes into the nitty-gritty details, making it perfect for developers hungry for in-depth knowledge.

Real-world examples and case studies that bridge the gap between theory and practice. No more scratching your head, wondering how to apply what you’ve learned — this book shows me how with relatable examples.

One thing I admire this book is that, it breaks down complex networking protocols and communication patterns into digestible nuggets. Suddenly, terms like “client prediction” and “server reconciliation” become my buddies.

Two things that can make or break a multiplayer game. This book guides you through the challenges of handling loads of players, optimizing bandwidth, and ensuring low-latency gameplay. Spoiler alert: it’s a game-changer.

Of course, practical code samples and examples in your favorite programming languages, you’ll be implementing what you’ve learned in by looking at them. It’s like having a personal coding coach at your fingertips.

LiveOverflow

Visual learning materials are great supplementary to the books and they connect the gaps to what are missing from reading books.

This is a great channel for multiple reasons:
- A gamer for sure (very important!)
- Extremely approachable way to explain networking terminologies.

Be mindful looking for the content you need to learn about computer networking. As a neurodivergent person I did find myself hyper focusing on and absorbing everything in a channel. Prioritizing on the more important content is a great usage of time and energy.

What Else?

The rest is hands-on programming. Nothing magical except consistent practice and coding. The routine of a backend developer is a dynamic blend of problem-solving, code optimization, and adapting to evolving technologies.

By now well-documented SDKs are god-send. One problem I’ve encountered when integrating Firebase in Unity was exactly the mis-match between the changes within SDK and the documentation. Firebase discontinued custom parameters support but the docs do not follow suit. It took me a while working with the Analytics on our team to figure out what works and what’s not.

It’s a long and lonesome journey, hopefully sharing my personal experience here will help like-minded people who are tackling the same problems.

In the future I will start sharing more reality proven development experiences here. Stay tunned :)

--

--