{"id":"d08f6f41-a731-57f7-ba40-8f38464f2dcd","kind":"official","name":"Prometheus: Reverse-Engineering Overwatch","slug":"prometheus-reverse-engineering-overwatch","url":"https://api.events.ccc.de/congress/2025/event/d08f6f41-a731-57f7-ba40-8f38464f2dcd/?format=json","track":"hardware","assembly":"ccc","room":"62251a07-13e4-5a72-bb3c-8528416ee0f2","location":null,"language":"en","description":"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“?\r\n\r\nOverwatch 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.\r\n\r\nEver 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?\r\n\r\nJoin 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 :)\r\n\r\nAll 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.","schedule_start":"2025-12-28T20:10:00+01:00","schedule_duration":"00:40:00","schedule_end":"2025-12-28T20:50:00+01:00"}