It's been more than 4 years since I worked on @vanguardsoh, but I think about that game a lot. Was my first professional gig, and a lot of things were new to me. As a junior engineer, many things seemed stupid and to be honest, many things were. 1/?
Which seemed stupid. If the entity you're attacking is in your zone (99.9% of the time that was the case), just handle the attack message immediately. Today, in multi-threaded games, message passing from one sub-system to another is foundational. 4/?
-
-
Lots of Vanguard was kinda "one level too low" in terms of abstraction. Serializing messages was a chore and error prone. It got better over the years, but that was well after launch. And this is only discussing the server code of the game. Nevermind other issues. 5/?
Näytä tämä ketju -
I take a lot of lessons from that codebase with me in my career. Many things multithreaded concepts were easier to understand because of my experience with it, despite being only running on basically 1 thread. 6/?
Näytä tämä ketju -
Vanguard gets a lot of crap, especially for it's spaghetti code. But really, I think the original authors of the (server) codebase saw a future few other engineers could, including myself until recently. It was ambitious and in ventured into untreaded waters.
Näytä tämä ketju -
/Thread I guess. As an afterthought, I hope I one day work on a project with similar ambitions as Vanguard. The enormous seamless world could be done at the scale Vanguard aimed for.
Näytä tämä ketju -
Want to clarify about this tweet. Maintaining the separation of subsystems via a message was a boon, just one I didn't see at the time. With the experience of working on multi-threaded game engines, this was actually the best way to go.https://twitter.com/tloch14/status/978814775785394176 …
Näytä tämä ketju -
Mostly the benefits were in regards to code clarity, and knowing where and when data would be handled.
Näytä tämä ketju
Keskustelun loppu
Uusi keskustelu -
Lataaminen näyttää kestävän hetken.
Twitter saattaa olla ruuhkautunut tai ongelma on muuten hetkellinen. Yritä uudelleen tai käy Twitterin tilasivulla saadaksesi lisätietoja.