Twilight Grove Online
https://twilightgrove.tbat.me
Twilight Grove Online was my obsession for the end of 2024 and the start of 2025. I had just, for the past few months, finished prototyping a toy Agar.io clone and writing and extensive tutorial series on how I built it. I wanted a creative outlet, and I wanted to make something I thought would be a very comfortable fit for my new skills. It would also serve to be a sort of poster child for the tutorial series.
So, I made a tiny MUD that in about a month, and spent another month delivering small fixes and polish. It’s web first, works great on mobile, but also has a desktop build. It only has one quest and two skills, and a few levels. But it has a persistent world and economy, and has over 150 players (only a couple have completed the quest, but it is a very grindy game).
Some fun facts about TGO:
- The levels (tilemap, entities) are designed in Godot and uploaded straight to the server as .tscn files, straight from the game itself when logged in as the special admin user.
- All the database interactions are done with handwritten SQL queries.
- The server is authoritative, so all game logic is done in Go and the client is just a display and input layer.
- There’s a profanity filter for usernames, but only a slur filter for the chat. I was able to download a list of these words from a GitHub repo and reference them in the game’s config file.
- The whole game server runs in a docker container with persistent storage on a PostgreSQL database.
- I got jumpscared by my friend who decided to log in as an undead and chase me around the spawn area while I was testing a new feature at 3am.
Screenshots

Spawn area

The mines

Trading with Mud

The main quest start
Resources
- Play now: twilightgrove.tbat.me
- Source code: github.com/tristanbatchler/TwilightGroveOnline
- How I made it: Godot + Golang MMO tutorial series