Prometheus: Reverse-Engineering Overwatch

Day 2 20:10 Zero en Hardware
Dec. 28, 2025 20:10-20:50
Fahrplan__event__banner_image_alt Prometheus: Reverse-Engineering Overwatch
This talk explores the internals of Overwatch which make the game work under the hood. We will primarily discuss STU, the proprietary data format as well as various systems built on top off it, like Statescript, Viewmodels and Dataflow. Besides this there are also a few other very interesting systems, like the ECS (Entity-Component structuring), JAM (Networking) and Managers. The end goal is to democratise development of Overwatch. Being able to host your own servers and modify the game client to your liking should not be up for discussion for a game many people have paid money for. All research presented in this talk was done on the first archived, still publicly available version which I could find, 0.8.0.0 Beta (0.8.24919), which got uploaded to archive.org.

Hey you! Yes you! Do you want to pay for a game which gets forcibly taken away from you after only six years? Do you want to buy lootboxes in order to unlock cosmetics faster in the game you „own“?

Overwatch 1 was released in 2016 to critical acclaim and millions of sales globally. It has permanently changed the hero-shooter landscape which was in much need of a fresh new game and playstyle. After a few hard years plagued with infrequent updates, long overdue hero nerfs / reworks and broken promises, Overwatch 1 was finally taken offline on October 3, 2022.

Ever since I started playing Overwatch I was fascinated by the game and it’s proprietary engine, Tank. Not much is known about it, only that core components were reused from the cancelled Blizzard IP, Titan. It’s a shame that this game (engine) is not getting the recognition it deserves. From the entity-component architecture to the deterministic graph based scripting engine which handles (almost) everything which happens ingame, it is a truly refreshing take on networking and game programming rarely seen in games. So, considering this, building a game server from scratch can’t be that hard, riiiight?

Join me in this documentation of my gradual descent into madness while I (jokingly) roast Overwatch developers for code which they probably do not even remember that theyve written 10+ years ago :)

Speakers of this event