3 ms·
My work on League of Legends came as a direct result of a contract gig building an extranet for a gas pipeline company: Java and Activescript is Java and Active
by SoftwareMaven 14y ago
My work on League of Legends came as a direct result of a contract gig building an extranet for a gas pipeline company: Java and Activescript is Java and Activescript.
In fact, you could argue we were solving the much harder problems in that game, since we had to deal with the massive scaling, while the game engine only had to deal with 10 people at a time.
- jacques_chester 14y agoThough the problem space is already partitioned for you, to some extent, on a per-game basis. Have you written anything on it?
- SoftwareMaven 14y agoThe game is partitioned, but the lobby is not. The lobby is where all the concurrent players have to split into groups of roughly similar capabilities while now allowing anybody to wait too long. Our team was responsible for partitioning things for the game team. I haven't written anything on it. I'm not convinced my piece of it was really interesting enough to warrant it. :) There were a lot of far smarter people than I on the team (it was one of the best software engineering teams I've ever worked on).
- jacques_chester 14y agoI know the guy who writes the GameRanger lobby service (it's literally a single guy - Scott Kevill - for the whole thing). He's got about 3 million users. Not sure how many concurrent users he gets -- probably an order of magnitude or two less than LoL does. Nevertheless, it all runs on I think one or two beefy servers. There's a very high fanout of game-available messages and they need to be addressed based on user-registered preferences as to the games they want to play. From what he tells me, most of his secret sauce is network hackery. Batching up carefully-sized packets and so on. All that stuff I was basically awful at in uni.