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/?
-
Näytä tämä ketju
-
But the more experience I get the more I realize how brilliant the codebase was, especially the server code. This may be surprising to fans of the game. Vanguard was notorious for spaghetti code, but I think that's because it was ahead of it's time. 2/?
1 vastaus 0 uudelleentwiittausta 0 tykkäystäNäytä tämä ketju -
Quite frankly, I don't think I'm at liberty to divulge details, but generally, Vanguard was in concept, a multi-threaded server, where each zone (chunk) was a thread. There was lots of message passing, even if you weren't actually crossing server lines. 3/?
2 vastausta 0 uudelleentwiittausta 0 tykkäystäNäytä tämä ketju -
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/?
1 vastaus 0 uudelleentwiittausta 0 tykkäystäNäytä tämä ketju -
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/?
1 vastaus 0 uudelleentwiittausta 0 tykkäystä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/?
1 vastaus 0 uudelleentwiittausta 1 tykkäysNä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.
2 vastausta 0 uudelleentwiittausta 1 tykkäysNäytä tämä ketju -
Vastauksena käyttäjälle @tloch14
I wasn't in game dev at the time, but I think MMOs in general really pushed the game industry to understand distributed processing before it became common to employ those techniques within a single machine.
2 vastausta 0 uudelleentwiittausta 1 tykkäys -
Vastauksena käyttäjille @kurtismcc ja @tloch14
It scratches a very special itch, though. Thinking about other approaches to massively distributed simulations challenges the little gray cells in ways other things don't.
1 vastaus 0 uudelleentwiittausta 1 tykkäys
I think that once you buy into it, your code becomes simpler. Things become easier to reason about. The net effect that your brain ends up freer to think about actual difficult things. The key to thinking about huge simulations is only having to think about a slice at a time.
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.