FortressOne is a fork of 1996 QuakeWorld Team Fortress. International tournaments are still played and streamed in Twitch. Next weekend there will be players from around the world meeting in Sydney Australia for a in-person LAN event.
Not really an app, but I really missed playing the 1997 multiplayer-only game QuakeWorld Team Fortress, so I forked it and made FortressOne. It worked! We play most days, and wonderful community has grown around it.
The copied data will one day get out of sync. And you will have a difficult and urgent issue to solve.
Query complexity on the other hand requires knowledge, to make the query work and again to make it fast. But it won’t be urgent, and having made it work you will be a better developer.
Of course, sometimes we need to copy / cache etc. but avoid it if you can.
Yep I’m in this code base a lot, and there’s a lot of this. Some of it by John’s own hand. But you know, if it works, it works. I’ve added plenty of my own bugs in the same spirit.
Modern QuakeWorld has the option of enabling ‘air step’ which allows surfing up stairs. I don’t think the deathmatch purists use it, but it’s become standard in FortressOne (modern QWTF fork).
In 1997 I played my first online multiplayer game. It was QuakeWorld Team Fortress. It was incredible, janky, fast, ugly, complicated and absorbing. I found a community of other players through IRC and devoted 8 hours a day to playing this treasure.
By 2005 (a very decent shelf life), the game was all but dead. This was a significant part of my life gone.
In 2018 I found the source, forked it and began FortressOne, a modern port of this classic game.
There are now a thousand people on our discord channel and daily games in four continents. I’m over the moon but more work needs to be done. This year my goal is to get it on steam.
FortressOne, a fork of the 1996 Quake mod Team Fortress. Though there are only a few dozen players, for them, and me, the game and the friendships that have built up around it means the world.
When your toddler wants something, think very hard before you say no. If any amount of screaming, crying, moaning, is going to change your mind, then just save yourself the hassle and say yes. Meanwhile, your toddler will learn that when you do say no, a tantrum won't change it.
I maintain a free, open source, fast paced shooter that really only works with <100ms pings. To this end I have a dozen servers around the globe. Each server runs a docker-compose with four instances of the game server (each for 24 players), along with some auxiliary services that do things like download updates, upload match demos and statistics.
I frequently need to re-provision new servers and close existing ones.
I've been doing all this with the help of docker-machine (now deprecated), and a collection of handy bash scripts. While this has worked, it's become more and more fragile and I need something better.
For years I've resisted Kubernetes because I keep hearing "premature optimisation", but at this point I'm not sure I have any other options. So before I dive head-long into Kuburnetes by what feels like necessity, how else could I possibly:
- Push button provisioning of new hosts across a number of cloud providers
- Monitoring so I can restart services under certain conditions.
- Notification of failures etc.
- Automatic / continuous deployment across all servers and regions.