Actually, while the topic came up, I'd like to throw in an extra question (and hope the op won't mind):
As has been stated in a
performance discussion thread here on the forum: It would appear, that NPC ships generate a lot of CPU load, while adding little to GPU load, resulting in the CPU becoming the bottleneck in certain scenarios in present alpha builds. (Since I'm only premium beta I can't confirm that myself however.)
So what I'm asking myself are the following questions:
If AI controlled ships add CPU load for player systems while testing online multiplayer, that would suggest that the AI calculations are actually done on the player machine?
However: If that's the case, how do all players in the same instance see the same movement? Even if one were to assume that AI calculations do not have random components there would still be problems like (utterly simplified):
Code:
AI ship calculates course based on movement of player A and player B.
However: Because there is lag, as small as it may be in ideal situations, the present state of player ship B might be different between player A's system and player B's system. So that can't be it.
An alternative scenario would be, that for each instance a single player get's to be designated as the server, but that would not seem feasible, since he would be at a disadvantage because his system would suffer significantly higher load. Also: If he drops out everything would be messed up.
So: IF everything were to be calculated on the server: Why do players experience such significant CPU load? (Well, it IS still alpha ... so there might be that, admittedly.)
One alternative scenario I can think of would be the following, considering FD don't want to run servers that do all calculations for the universe no matter how many players are online. (Remember: Games that have such MMO servers are usually subscription based or ask for microtransactions OR are operated by MUCH larger companies.)
So one alternative scenario I could think of would be the following:
All clients present in a single instance do full calculations
as if they were the server, however only one client acts as primary server and all other systems synchronize to that "reference instance" all the time. If the reference player drops out, another player is designated as the "reference player" That way all would be explained. In particular:
- It would explain why players have high CPU load when there are many AI ships are around.
- It would explain why players have observed much higher traffic generated by ED compared to other online games. (can't find the link right now, will edit this post if I do.)
- It would make sense for FD, since it would allow them to offer a "MMOish" experience without latting a server in their house do massive calculations. Basically they just take over the "matchmaking".
Also, as stated before, it would ensure that problems seen in classic "server calculations run on a single players' computer"-scenario do not occur.
And now, since I wrote too much without actually asking my questions:
Did FD ever specify how they do it?
If not: Can alpha players observe "things" that would contradict my 'guessed' concept laid out above?
Ultimately I'm just curious. ^^