I recall one of the devs posting about the limitations on the number of mechs, and the things they had to cull from the engine to be able to run 12 vs 12. Stuff like inverse kinematics and the glorious damage textures we had were just too resource hungry on both the game client and server side when all the extra CPU cycles from extra mechs were crammed in.
It's been said that 12v12 is the limit of what can currently be run with any kind of stability, with the current state of the game engine and the average hardware level of players running it.
It's apparently a netcode thing - and not upstream and downstream data (modern PC's and data networks are
easily able to cope with staggeringly large packets), but in the amount of information that has to be handled and processed quickly by the game servers and systems like HSR, and relayed to all clients attached to that particular game instance.
It all boils down to the design of the mechs and the nature of Battlemech warfare. Each mech is a huge collection of separate moving parts and draw calls, and while this is taxing by itself, it's the weapons systems that really put the screws to server hardware. Take your average CS game, with maybe 24 players. If they all lined up, firing all their weapons at the one time, they wouldn't come
close to the stress put on HSR and hit detection on MWO servers - not to mention the fact that players would be dying very rapidly, and reducing the tax on their servers, where MWO slugging matches (despite a lower TTK than 8v8) can be drawn out for a long time.
Each mech has a potentially
huge number of weapons, all emitting from different locations, many with very different fire modes requiring very different calculations on the game servers. Though lasers are hitscan, they are also DOT weapons, and each TIC has to be accounted for. Missile flight paths have to be tracked, and the location and impacts from every single missile have to be calculated. Gauss shells and rounds with different velocities need to be tracked. RANGES OF IMPACTS need to be tracked, and damage numbers modified and applied on the fly. There are TWO separate tracking systems linked to the crosshairs, for the arms and torsos. Convergence has to be taken into account. Damage has to be applied to very specific locations - including armour, internals, and equipment. Heat has to be tracked. AMS damage to missiles needs to be tracked. The status of ammo bins in different locations needs to be tracked. Targeting data has to be relayed - including sensor ranges, ECM concealment, and the effect of stuff like radar deprivation, TAG and NARC.
People often use newer shooters like Titanfall as a point of comparison, or even WOT, but they really don't relate to each other, especially in the pace of battle, the amount of weapons fire occuring at any one time, and the amount of terrain visible to the player. Titanfall crams in all that glorious detail by restricting the amount of architecture viewable at any one time to cut down on rendering and draw calls. How many huge, open expanses of land do you fight over? Chances are you're only viewing a small part of the overall battle, and most of your view of the map is obstructed by the cluttered design of the levels. Mechwarrior maps however are (usually) a lot more open, as you don't really get a sense of scale unless you're towering over buildings. It can make rendering expensive.
It's probably why the newer maps are so much bigger and more detailed than they used to be, while still running close to the same way they used to (or better, in my case) - their firing lines and general fields of view are generally similar to what they were before despite the increase in map size, cutting down on draw calls. It's why our larger maps still aren't hugely open. You can indeed make maps
enormous, but they can't really be
open and enormous without taxing hardware to the point where the minimum requirements have to be raised.
People complain a lot about the current level of optimization and the state of the engine, but there really is a lot going on under the hood. I'm not saying this from the point of view of a professional wikipedia-researching-opinion-forming nerd either; a few of the electives I took in my degree were Games engine related, and a few of my friends work in the industry and take particular glee in exposing and berating any ignorance I express. LOL, I totally just said 'trust me, i'm practically an expert'. This is all IMHO I guess, but a slightly more informed than normal level of IMHO.
TL;DR - 12v12 is probably as large as we're going to get with this engine. We can have huge maps, but fields of view still need to be restricted. The game would absolutely run better on a newer engine, but not nearly as much as people would think. In the future when the average level of game hardware raises, things could get more complex.
Edit: JESUS CHRIST I TYPED A THESIS.
Edited by Kiiyor, 13 October 2015 - 02:06 AM.