OK. Does anyone here know what exactly is the reason why we dont have 1000 players per instance action games? Bandwidth of the client? Bandwidth of the server? Computational power of the client, or server? What is the main bottleneck? Preferably with reliable sources. It is an interesting question, not even limited to SC.
I mean, I played games like Planetside and there were some massive battles but I dont actually know if there are thousands of players fighting at once in that game.
Quick googling failed me.
You need to do some math.
Say you wish to have a hundred players in an instance. All they share is position, orientation, and a movement vector. That's 9 floats, or 36 bytes per player. Because you're making a game for the 60FPS crowd, you will need to send out an update 60 times a second.
This means that each client needs to receive 36 * 100 * 60 = 216000 bytes each second. Conversely, that means that a server will need to send out 21.6 million bytes per second, just to keep track of all that information. This would require that the server have a 170 MBPS upload speed, which while not impossible to achieve is still pretty costly (Especially for games that are expected to scale into tens of thousands of concurrent players).
Of course, that's a naive calculation: On one hand, you generally neither want nor need to maintain such a high resolution stream to each client; on the other, the actual amount of data to be sent out per update packet is much higher (because you need to communicate status flags and the like), and a 100 players can easily translate into thousands of entities that need to be kept in sync (think bullets etc). Then there's all the processing that needs to happen in order to maintain a coherent view of the game space on the server, as packets from players will arrive at varying degrees of latency (and I have not factored in the frame overhead for each packet).
Games like Planetside (or Elite) get around this by using a peer-to-peer network model, but that carries its own sets of pitfalls: Chief among them that the quality of the worst connection in any given p2p group determines the quality of the connection for all players, and the cheating that is enabled by treating the game clients as reliable sources of data.