Some history around Titanfall and Apex Legends multiplayer
In a past life, I worked on Titanfall and Titanfall 2
Hi, I'm Glenn Fiedler, I'm a professional game developer working on a 1000 player multiplayer space game.
Way back in a past life, I worked on Titanfall and Titanfall 2.
There's some interesting history here that's especially relevant now that AWS has announced free egress bandwidth for GameLift, and I'm in a position to share it.
Read on if you'd like to know more about what it was like when we shipped these games, and how Jon Shiring's work on Titanfall 2 spawned the game server hosting company Multiplay and set the standard pattern for game server hosting for the next 10 years, only recently being disrupted by the free egress bandwidth announcement from AWS GameLift.
Here is my story.
Going back to March 2013, God of War: Ascension launched to good but not great reviews. I think we hit a peak of 10k CCU for the multiplayer and at the time this was quite impressive for a Sony game. After this, as is so common with multiplayer games, the CCU slowly deflated post launch and no matter what we did, we couldn't fix it.
I had just spent 5 years of my life working on this netcode as lead network programmer, diving into absurdly complex P2P asynchronous multiplayer netcode, networking a game engine that really had no right to ever be networked, working with a team that had no experience in multiplayer, and who at their core didn't really want to make a multiplayer game (I don't blame them).
Leading up to launch I crunched so hard I had walking pneumonia. Post-launch I received a decent bonus combined with a lukewarm performance review "you just kinda checked out in the run up to launch" – yeah, I nearly fucking died – and started looking for other work.
I interviewed with Respawn, who were ramping up to the launch of Titanfall. I was quite burned out still, but thought, look, this is clearly a team of experts who know how to ship a multiplayer game (they were all ex-Infinity Ward and Call of Duty, so I figured at worst this was going to be a good learning experience.
In the interview I said "look, you're about to launch and there's going to be a ton of grunt work needed that nobody wants to do, let me work on that stuff so you guys can focus on making the game fun".
Sure enough, I got the job and proceeded to work on absolutely the worst tasks I had ever worked on in my entire career. I wrangled with the terrible Xbox One session system at launch, got the game invite and party system working, drove the "Smart Glass" companion app for Titanfall to completion, and fixed bugs. Along the way I developed a deep and lasting hatred for whoever designed the Xbox One session and party system APIs.
I got to work alongside Jon Shiring who did all the netcode for Titanfall 1, Drew McCoy as producer, Rayme Vinson (gameplay code and weapons) and John Haggerty (Titanfall movement system and wall running).
Jon in particular was a character. At some point during development the game became Xbox exclusive and he somehow convinced Microsoft to host all the dedicated servers for the game for free on their new Azure backed game hosting system called Thunderhead. There were even ads on TV for Azure Cloud with Jon sitting there with a big mohawk making Microsoft look cool.
The phrase "infinite servers" was thrown around a lot in meetings with Microsoft and it became a bit of an inside joke on the programming team. Still, for a person who had just shipped a traditional P2P NAT-punching game, the idea of launching a AAA game with only dedicated servers was revolutionary. At this time, even Call of Duty was still doing player hosted servers.
Titanfall launched to critical acclaim and the servers were indeed infinite enough to handle demand. I spent the next year fixing bugs and optimizing CPU and bandwidth. Eventually, we transitioned to working on Titanfall 2, and after the birth of my daughter, I came to the attitude of, fuck it, I'm just going to do the work that I think is most important and if they don't like it they can fire me.
So I just focused on what I thought was important and after all the bandwidth and CPU optimizations I had done on Titanfall 1, I realized talking with Drew McCoy (who was an ex-pro Quake player), that I could do a few key targeted things to substantially improve the quality of the network play for Titanfall 2.
Over the next year I completely rewrote the server-side snapshot and delta compression system, more than halving bandwidth and CPU use on the server, and fixing pervasive kill replay bugs we'd had since Titanfall 1.
With this new snapshot system in place I was able to double the server tick-rate from 10HZ to 20HZ for multiplayer and enable the large single player levels by Christopher "Soupy" Dione in Titanfall 2 (single player in Titanfall 2 is a client connecting to a local server on a separate thread, so all the netcode, yes, even client-side prediction, lag compensation, and the snapshot delta system, were fully active in single player).
I also prototyped a new jetpack-based character class called the "boost pilot" that ended up being cut (so it goes), and designed and implemented the ADS-hover and holopilot abilities in Titanfall 2. The holopilot was the very last thing I worked on at Respawn and it would later turn into "Mirage" in Apex Legends 😄.
Having completed all of this, I decided to leave. I had achieved all I wanted to and needed to work on something new. The team would go on to get acquired by EA and ship Titanfall 2 without me.
Meanwhile, Titanfall 2 was no longer Xbox exclusive. Previously infinite servers became not so infinite and a cross-platform server hosting option was needed for the game. Jon being Jon, convinced Multiplay to implement a system where game servers would run on a mix of bare metal and cloud. The idea was that the steady state load for the game would be handled by bare metal with effectively free egress baked in to the monthly cost, and the game would only spill over to the cloud when bare metal was exhausted or not available.
The motivation for all this was the high cost of egress bandwidth from clouds.
Multiplay went on to become somewhat dominant in game server hosting in the following years hosting Rocket League, Apex Legends, Knockout City, Multiversus, REMATCH and many others. They were acquired by Unity in 2017, and just recently (2026) were shut down, with the name "Multiplay" being taken over by Rocket Science who are now running their own version of the service.
The team at Respawn went on to launch Apex Legends in 2019 hosted on Multiplay with spill over to Google Cloud. I had absolutely nothing to do with this game but am immensely proud that I contributed a small amount of netcode used by it.
With the scale of Unity and EA, I can only assume that a pretty good deal on egress bandwidth was reached at the time, but it's notable that the egress cost was still significant enough to stick with a mix of bare metal and cloud, instead of fully committing to cloud hosting. Still, Apex Legends scaled up perfectly to a peak of several million CCU and the rest is history.
So what does this all have to do with the AWS announcement?
Simply put, the entire thesis for Multiplay is now obsolete.
There is no reason to launch a game and use bare metal and spill over to cloud only when necessary, because now you can simply use AWS GameLift, scale up to however many instances you need and your egress bandwidth is completely free.
This is remarkably democratizing, because it's been somewhat of an open secret in the industry that larger games (Fortnite, Rocket League and Valorant to name a few) have been enjoying heavily discounted and/or close to free egress bandwidth from AWS for quite some time.
Now this same benefit is available to the smallest indie game developer.
And for all of this you can thank Jon Shiring and Michael Jackson who have worked tirelessly over the past 4 years to make this free egress deal happen.