I’ve been a fan of the Titanfall video game since the original trailer release in 2013; I got my hands on it as soon as I could, from the first beta on February 2014. Its gameplay mixing wall-running pilots with giant badass mechs got me playing for years.
Titanfall 2, a sequel to the original game, released in October 2016 and was praised by all critics, despite poor sales. The game was also target of vast, automated DDoS attacks that kept it unplayable for months through 2020 and 2021.
Northstar to the rescue
In December 2021, a user named bob released
Northstar1, a modding framework that would allow people to host their own servers, thus removing the need for official servers. Moreover, it allowed custom content addition to the vanilla game, such as custom gamemodes.
Note: since community has full control over game clients and servers, they could fix some issues that are still present in the vanilla game…
I contributed several times to Northstar, adding some scripts and translations every now and then.
Most valuable contributions
Northstar installation is not that hard, all you have to do is download zip archive from latest GitHub release, and extract its content into the game folder -the same for Northstar mods too, actually- but this proved to be somehow complicated to do for some people.
As as Blizzard games enjoyer, I wanted to create a Battle.net-like software that would automatically do all of the above. Fortunately, 0neGal already started to work at the time on a similar project, called Viper.
I took inspiration from a Battle.net mockup to rework Viper UI; from this:
I proposed (and merged) this:
Newest interface allows Northstar mods management, checking on release notes and ensures a better UX experience.
Titanfall 2 developers had lots of gamemode ideas, but they didn’t all make it in the final game due to time constraints; some files were still put in the client, and by dumping its files, we could get some code and some voicelines related to a cancelled gamemode called “RAID” (“Plant a bomb at the enemy hardpoint. Protect yours from the same.”): developers wanted to create a CS:GO gamemode in Titanfall 2.
I’m trying to recreate server logic based on the client-side files. It is funny to do this, because gamemode coding is done with Squirrel2, or more exactly the Respawn fork of Squirrel, which obviously is not documented; the only way to write code is to check on already existing code, then try and run it to see if it compiles and executes correctly.
“Squirrel is a high level imperative, object-oriented programming language, designed to be a light-weight scripting language that fits in the size, memory bandwidth, and real-time requirements of applications like video games.” More info on the language website ↩