Found on a Hard Drive: The 20-Year Journey to Building My Dream Game in Go
The Spark in the Early 2000s
If you were online in the early 2000s, you’ll remember a special kind of magic. The internet was a frontier, and browser-based games were our portals to persistent worlds. I was completely hooked on one called Project Rockstar, a game where you took on the role of a band manager.
Logging on was a daily ritual. The game's world ticked forward once every 24 hours, and you’d wake up to see if your single had climbed the charts or if your gig had sold out. But the real magic was in the forums. They weren’t just a feature; they were the heart of the game, a vibrant hub where a real community formed, friendships were made, and strategies were shared. It was immersive in a way that felt completely new.
Inspired, I went to a bookshop, bought an O'Reilly guide to PHP, and started teaching myself to code. A friend and I began designing a game that would capture that same spirit, but for business instead of bands. We even bought the domain. We were going to build the next great PBBG.
But life, as it does, got in the way. School, adolescence, and a million other distractions came along, and the project was abandoned, eventually becoming just a fond memory.
The Jolt of Rediscovery
Fast forward to 2021. I became seriously ill and had to take a significant amount of time off work. It was a difficult period, but it also gave me something I hadn't had in years: time. Time to rest, and eventually, time to think. And in that quiet space, the old idea came back.
Fuelled by nostalgia, I went digging through old backups. In a dusty corner of an old hard drive, I found it. A folder containing our original PHP files, design documents, and screenshots pieced together from the Wayback Machine. Seeing it all again was like a jolt of recognition. The passion was still there, waiting.
I knew, right then, that I had to finish it.
The Technical Crossroad: Why I Chose Go
Finding that old code was one thing, but building a modern, scalable web application was another. My teenage PHP skills were a relic. If I was going to do this right, I wanted to learn a language that was powerful, modern, and built for the kind of backend systems a game like this would need. I asked a developer friend for his advice. "Learn Go," he said.
He was right. As I dove into books and online courses, I realized Go was the perfect tool for this specific job, for three main reasons:
-
Concurrency is a Superpower. A PBBG that runs daily updates for every single player is a classic concurrency problem. Go's native
goroutinesandchannelsfelt like they were purpose-built for this. I knew I could build background workers to handle nightly calculations, hourly chart updates, and send emails without ever slowing down the main web server. -
Performance and Simplicity. As a solo developer on a hobby project, I couldn’t afford to get bogged down in a complex framework. Go’s simple, readable syntax was a massive advantage, making the code easier to maintain in the long run. Plus, the fact that it compiles down to a single, high-performance binary meant incredible performance right out of the box.
-
A Robust, Modern Ecosystem. The rich standard library meant I could build most of the core functionality—from the web server to templating—without heavy dependencies. For everything else, the Go ecosystem has mature, well-regarded libraries like
gorilla/sessionsfor session management andbcryptfor security.
So, in November 2021, I started from scratch. Feature by feature, starting with the core user and mailing systems, "Operation Corporation" slowly began to take shape. It was a journey of stops and starts, with intense periods of coding followed by months of inactivity, but I kept at it.
What's Next?
And that brings us to today. The beta version of Operation Corporation is now complete and ready for its first wave of testers. I’ve built it not just as a game, but as an engine—a flexible platform where I can add new company types, skills, and features based on the feedback of the community I hope to build.
It has been an incredible journey bringing a childhood idea to life with modern tools. This blog will document the road ahead as I refine the game, share technical deep dives, and hopefully, build the kind of community that made Project Rockstar so special all those years ago.
If you’re interested in beta testing "Operation Corporation," please reach out and let me know! In my next post, I’ll be diving into the game's architecture and how I handle the nightly game turn updates using Go.
0 Comments
Be the first to leave a comment!
Leave a Comment