winghunter Posted December 23, 2021 Posted December 23, 2021 (edited) However you are talking about 1000s of AI units. That is relatively easy to overcome with multi cores and CPU optimisations, even though DCS is currently lacking far behind the industry standard here. HOWEVER to have 1000 human players interact on the same map will eventually run into network latency, which is the ultimate barrier. I.e. Planetside 2 divided the map into sectors to sync only players within a sector. HOWEVER maps and game mechanics were specifically designed to allow such trickery. For DCS this is imo not a realistic option as it would cut into the simulation aspects. And regarding 10ms ping, you will not find 1000 players for DCS within 10ms ping so eventually you have to widen your tolerance to fill these servers. That's the other issue with speed of light taking already 20-40ms continent to continent, add on top the delays caused by network hardware. Edited December 23, 2021 by winghunter DCS Web Editor - New 3D Mission Editor for DCS that runs in your browser DCS Web Viewer free browser based mission planner 4090 RTX, 13700KF, water cooled, Quest 3
cfrag Posted December 23, 2021 Posted December 23, 2021 53 minutes ago, winghunter said: And regarding 10ms ping, you will not find 1000 players for DCS within 10ms ping so eventually you have to widen your tolerance to fill these servers. As it stands now, you'd be hard pressed to find 10 players for a server, no matter what ping. So let's cross that bridge when we get to it. Network latency currently is a non-issue for DCS. If someone living in Kapstadt logs into a server hosted in London, their ping is bad - limited by c (20'000 km round trip, a ~70 ping). I believe that is universally understood. Nothing can be done there. IMHO, there are much more pressing issues for ED to focus on rather than netcode. If in 20 years we are still using the TCP/UDP stack and DCS is still using the same infrastructure, and there are finally enough network players to flood our servers by the hundreds, then yes, by all means, let's revisit the latency issue. Still won't be able to change c then either. 1 hour ago, winghunter said: HOWEVER to have 1000 human players interact on the same map will eventually run into network latency, which is the ultimate barrier. Not in any way that the article you kindly linked to describes. In your example above, the network connector (or game code) is simply overloaded by the sheer number of connections - and that is a bandwidth issue, not latency. If all 1000 people sit in a stadium, none more than 200m of cable and one router hop away from the server, it would still overload. That's not a network latency issue. It's Bandwidth - the network connector or server program is swamped and can't handle the amount of data. That's why DDoS attacks are bandwidth attacks, not latency attacks.
winghunter Posted December 23, 2021 Posted December 23, 2021 DDoS is an entirely different thing, latency is a far less important issue for HTTP I think we agree here, DCS has more immediate problems to solve. My point is that we won't get 1000 players in a stadium for this type of game. It will always be a niche product with a physically distributed audience. That means even IF we all have 2Gbit connections this ultimately will not allow us to have such type of battles in this game. DCS Web Editor - New 3D Mission Editor for DCS that runs in your browser DCS Web Viewer free browser based mission planner 4090 RTX, 13700KF, water cooled, Quest 3
Callsign112 Posted December 24, 2021 Posted December 24, 2021 On 12/23/2021 at 6:24 AM, winghunter said: An infantry player costs ~ as much performance as an aircraft. Therefore you could have a 128 player battle with 127 infantry and one aircraft... Because the REAL technical limitation is NETWORK LATENCY. Everything else can be overcome regarding GPU, CPU or memory. But the Internet has real physical limitations, it's extensively discussed in this article: https://www.matthewball.vc/all/networkingmetaverse I would have thought a jet screaming around the battle field at 1.2 mach would have a lot more data being constantly updated then a soldier sitting in a trench, but maybe I am wrong. A 128 player battle though is a lot, even by today's standards. Most online games are 80 or less. I know of a recent game that offers 128, but the majority are still well below that. But the relevant point for me is whatever limitations the internet poses, they are something all game developers will have to contend with. It is up to the individual developer to implement the strategies it needs to deliver the product it wants to the number of people it needs to reach.
winghunter Posted December 24, 2021 Posted December 24, 2021 (edited) 2 hours ago, Callsign112 said: I would have thought a jet screaming around the battle field at 1.2 mach would have a lot more data being constantly updated then a soldier sitting in a trench, but maybe I am wrong. A 128 player battle though is a lot, even by today's standards. Most online games are 80 or less. I know of a recent game that offers 128, but the majority are still well below that. But the relevant point for me is whatever limitations the internet poses, they are something all game developers will have to contend with. It is up to the individual developer to implement the strategies it needs to deliver the product it wants to the number of people it needs to reach. I would have thought the opposite. A jet should take less traffic as its change of direction is slower than a foot soldier. Who can reverse direction in a fraction of a second , therefore being harder to predict and needing more updates per second. An aircraft also has far less animations than typical FPS characters. And most of the aircraft control surfaces are easy to calculate from speed and change of direction. Edited December 24, 2021 by winghunter DCS Web Editor - New 3D Mission Editor for DCS that runs in your browser DCS Web Viewer free browser based mission planner 4090 RTX, 13700KF, water cooled, Quest 3
Callsign112 Posted December 24, 2021 Posted December 24, 2021 25 minutes ago, winghunter said: I would have thought the opposite. A jet should take less traffic as its change of direction is slower than a foot soldier. Who can reverse direction in a fraction of a second , therefore being harder to predict and needing more updates per second. An aircraft also has far less animations than typical FPS characters. And most of the aircraft control surfaces are easy to calculate from speed and change of direction. That may be, but I would still expect movement regardless of its direction to be the issue. A soldier could stand still for any amount of time, a jet can't. The online game isn't predicting where you might be. You as a player provide an input where you want to go, and the online game does the work. And according to the link you provided, the animations are already loaded with the end user and only have to be told to play. But anyway I don't really see what this discussion adds, and your point isn't well made based on the concept of having 1000 human players interacting on the same map. How does this point even relate to the discussion? Regardless of the game/system/internet connection, I would think you aren't going to see 1000 real players on the same map anywhere for a long time to come unless you mean they would be broken up into groups of 30 to 80 players per match/session.
winghunter Posted December 25, 2021 Posted December 25, 2021 (edited) 14 hours ago, Callsign112 said: That may be, but I would still expect movement regardless of its direction to be the issue. A soldier could stand still for any amount of time, a jet can't. The online game isn't predicting where you might be. You as a player provide an input where you want to go, and the online game does the work. And according to the link you provided, the animations are already loaded with the end user and only have to be told to play. But anyway I don't really see what this discussion adds, and your point isn't well made based on the concept of having 1000 human players interacting on the same map. How does this point even relate to the discussion? Regardless of the game/system/internet connection, I would think you aren't going to see 1000 real players on the same map anywhere for a long time to come unless you mean they would be broken up into groups of 30 to 80 players per match/session. Its not about animation loading, but animation sync that takes additional network traffic. My point is for any human infantry you add to the game you loose at least one human aircraft (even if you optimised everything to the limits of current technology). For a game like DCS this imo would'nt make sense. I only worked on the Battlefield games which are not simulations, but I think the same principles apply. Edited December 25, 2021 by winghunter DCS Web Editor - New 3D Mission Editor for DCS that runs in your browser DCS Web Viewer free browser based mission planner 4090 RTX, 13700KF, water cooled, Quest 3
Callsign112 Posted December 25, 2021 Posted December 25, 2021 So which part doesn't make sense, the fact that you could have 60 players in a match, or the expectation that there should be 1000?
cfrag Posted December 25, 2021 Posted December 25, 2021 (edited) 18 hours ago, Callsign112 said: That may be, but I would still expect movement regardless of its direction to be the issue. A soldier could stand still for any amount of time, a jet can't. The online game isn't predicting where you might be. Actually that is exactly how most modern netcode works: predictive positioning, with position sync when they come in from the net. Since you usually can't radically depart from the course you are currently on, netcode can safely predict your next position even if it doesn't hear from you for some time (in most games even more than a full second!). Let's say you synch again after 10 lost frames, that's only 0.25 seconds (assuming a ping of 25, 40 network frames per second) in real time. The predicted and real points are so close together that nobody would notice the correction (even if you are going Mach 2). There will always be outliers to this, but in general, predictive netcode works very, very well even with bad ping and fast aircraft. There simply isn't that much radical change happening inside a second of real-time -- because even if you slam into a wall, ground, or other craft -- that too can be easily predicted. Edited December 25, 2021 by cfrag
Callsign112 Posted December 27, 2021 Posted December 27, 2021 (edited) On 12/25/2021 at 12:18 PM, cfrag said: Actually that is exactly how most modern netcode works: predictive positioning, with position sync when they come in from the net. Since you usually can't radically depart from the course you are currently on, netcode can safely predict your next position even if it doesn't hear from you for some time (in most games even more than a full second!). Let's say you synch again after 10 lost frames, that's only 0.25 seconds (assuming a ping of 25, 40 network frames per second) in real time. The predicted and real points are so close together that nobody would notice the correction (even if you are going Mach 2). There will always be outliers to this, but in general, predictive netcode works very, very well even with bad ping and fast aircraft. There simply isn't that much radical change happening inside a second of real-time -- because even if you slam into a wall, ground, or other craft -- that too can be easily predicted. ??? It still depends on your input. If for example you stop moving, it wont predict that you are somewhere else on the map. You still have to provide input to allow predictive positioning to work. Disconnect your controller/mouse/keyboard and tell me where you think it will predict your player is on the map? The point was that a soldier could be stationary for any amount of time, while a jet in flight can't. But lets say each real player whether in a jet/tank/foot soldier is approximately the same in terms of performance demands, the expectation that there would be 1000 real players interacting on the same map is not part of our reality today. I personally think the better way to go is to have a very functional Ai infantry that can defend/attack real player positions. You should be able to have 25 to 30 real players on each team (mixed air/ground) with 2 to 4 squads of 12 Ai soldiers on the map at any one time. This would allow a good mix of human players while scaling the level/intensity of fighting using Ai soldiers. Edited December 27, 2021 by Callsign112
cfrag Posted December 27, 2021 Posted December 27, 2021 7 hours ago, Callsign112 said: ??? It still depends on your input. If for example you stop moving, it wont predict that you are somewhere else on the map. You still have to provide input to allow predictive positioning to work. Disconnect your controller/mouse/keyboard and tell me where you think it will predict your player is on the map? Indeed. Predictive netcode works only well with occasional drops, and when lucky can cover for up to a second LOC. As with any predictive code, accuracy of the prediction drops with the square of 'distance' (here: time). Beyond a (narrow) threshold predictive is as good/bad as random. My apologies if I were unclear. 8 hours ago, Callsign112 said: The point was that a soldier could be stationary for any amount of time, while a jet in flight can't. But lets say each real player whether in a jet/tank/foot soldier is approximately the same in terms of performance demands, the expectation that there would be 1000 real players interacting on the same map is not part of our reality today. Agreed. I believe the discussion revolved around the question whether latency were the limiting factor for such a game (it may be one some time later, but currently bandwidth is the limiting factor on high-volume connections). IIRC, in 2020 WoW servers were limited to some 1000 active (i.e. connected, concurrent) players per server, and WoW has a 'netcode heartbeat' of about once per second (synchs all player input at least once per second), being able to cast a very wide net (oh, a pun!): high tolerance for latency (allowing both long distance connections) and low data demands (low count of data frames per second). If DCS MP games synch at 40 Hz, that would put the cap for the number of players at around 20-30, 60-100 with reasonably smart net code and optimized data frames - at which point either the server's connector or mission code itself will likely be the bottleneck (I personally have never run a DCS server with more than 10 simultaneous connections so I lack any experience with high-load/high-bandwidth setups).
Recommended Posts