A Game Tech Stack

This post was originally published on this site.

Infrastructure has been my focus for an eternity

Full disclosure. I’m not a backend engineer. I just want to make an online MUD that can scale. That was progressing rapidly, I had a full game stack deployed. Frontend to Gameserver. Functional Loop working with LLM (Gemini 1.5) narrative integration.

Knowing I wanted to scale and allow players to host their own servers I began my journey into the backend architecture needs.

It’s been a little frustrating, and there has been a lot of learning. Hopefully other small dev’s can take advantage of my missteps.

To get into the details:

  1. I started by investigating how I could deploy multiple servers. This seemed like the correct path.
  2. I created a Managed Instance Group and started working with a Google Account Manager to adjust my quotas.
  3. After a lot of learning about the Managed Instance Group pattern, I was able to deploy multiple servers and scale the fleet up and down.
  4. This seemed correct so I started developing authorization strategies, how was I going to collect money and authorize players.
  5. CRITICAL ISSUE: I was working with Kiro and it started suggesting authorization code and encryption patterns.

This was the moment I realized. I should absolutely not be dong this. No, No. Not even a little!

I started investigating. This is commonplace. Surely somebody has a payment and authorization implementation that I can use.

I found Firebase. It was exactly what I needed, and I’m already using Google Cloud. That was the inflection point for me. My thinking changed.

What if somebody already had made a Scalable Server Architecture?

This led me to the GKE Autopilot Engine. Then I started asking questions. What if I need to scale to 2 million players on Day 1? Kiro was conclusive on this. My Managed Instance Group pattern would take team of engineers to effectively manage this. But how can I utilize GKE Autopilot? Whats the correct Kubernetes pattern for my game? Then I found the best technical document I’ve ever read, 25 years of game development and this was it: https://cloud.google.com/kubernetes-engine/kubernetes-comic

I was on the road. I’m still hardening the tech stack. I’ve transformed my Gameserver into (6) Microservices and a lite weight central server. I’ll write more in the future on this pattern as I learn. I’m definitely not done with the huge refactor. But here’s a screen of creating and deploying a server from my frontend. Its a little success, but I’ll take it!