That’s the thing, you really don’t need to dig through code, you can just look at the end behaviour.
Ok I think I get your point…
So just to be completely sure: Since the “suspended while falling” is fixed so other people will continue to see you falling and you will be on the ground while dragging your game client to stall network traffic.
Now you will say with a 100% certainty that the game uses server authority on player-movement? Since this is the end behavior we see?
The server by all appearances is an authority on player movement because you rubber band around, which is the server updating the client to over ride your position. It just doesn’t happen for falling.
What is more worrying honestly is the damage you take is calculated based on time in the air, and you can expect that time calculated by the client to be off due to the internal clock still running while the client is unresponsive. However the same cannot be said for the server, the server if it’s calculating everything itself and correcting the client when it’s wrong is not correcting the damage taken from the fall. Which means at least in this case the client is also doign damage calculation.
This is why this is so fishy because the same was true of the damage and healing done of invulnerable players. There’s videos of this done in duels where sufficient damage is done to kill the player, but healing done actually causes them to survive the enocunter, which goes against what AGS said about the client basically catching up after it becomes responsive again.
And it also aligns with the behaviour in wars and ability to prevent caps on points. It’s not just the client that is unresponsive gettng out of sync with the authoritative server side states and then catching up, again it’s observationally not true.
Anyway I think the core point here is that what there’s some inconsistency somewhere with the AGS explanation. Chalk that up to whatever you like. Honestly as long as its fixed it’s all cool with me, I just have enough technical knowledge to know that their explanation doesn’t fit with the observations.
@TheLawRich: The information you’ve posted here tonight has been extremely helpful both in terms of information and, yes, even confidence inspiring. Now, could you please spend a couple of minutes addressing, to the extent you can, the steps AGS is going to take to mitigate the damage already done? I’m not talking about retribution against exploiters, that’s a given. I’m talking about dealing with the economic fallout? Thanks.
Stagger isn’t really the problem, or a good solution because it leads to stagger locking. The souls-like combat is fine for 1v1 or tiny groups where timing and spacing is key, but doesn’t scale well to 50v50. The primary problem is lifestaff healing is too good and always has been. And that people need to be encouraged to break from the giant death ball around the point and interrupt the healers by attacking them. Which forces people to spread out and cover team mates.
This is kind of what happened with Warhammer Online during sieges on keeps. The tanks formed a wall to block players, with the healers on the back line healing them creating unbeatable walls of death. But just a couple of rogues sneaking behind enemy lines and attacking the healers completely disrupted the entire fight, the moment the healing is gone the wall crumbles.
As a developer for over 35 years and an avid MMO player since DAoC, I really appreciate such a clear response to concerns about New World’s design. So given that all important state is handled by the servers, I have to wonder how gold duplication could be possible at all.
By gold duplication, I mean the ability to increase the world’s gold supply outside of design. Doesn’t New World use a simple transaction method to ensure that decreasing player A’s gold and increasing player B’s gold by the same amount must both be successful for the transaction to be successful? If so, wouldn’t just a few Unit Tests catch any bugs in such a transaction?
It’s ok to say you don’t understand something and ask questions rather than saying you don’t believe someone or imply that they are lying.
Speaking about server-authoritative designs in general and to put it simply, the client has its own model of the game world including where objects are and where they are currently moving and uses that to draw at as many FPS as you can achieve, independent of updates from the server. The server updates the client on the authoritative state of the world at something called the “tick rate” which I don’t know what it is for NW but typically something around 30 to 60 times a second. This doesn’t relate to or impact your FPS in the client (if we want to keep the explanation simple anyway). The tick rate may or may not itself be related to how often the server updates each object or actor internally. I’d say in a sophisticated design like this, that is probably not directly linked to tick rate. Then there is this concept in mathematics called interpolation which comes into play.
The actual physics and collision computations involved in a modern game are not the primary thing that is occupying CPU time in the client. It’s quite feasible for both the client and server to simulate those things if necessary, and for the server to tell the client what the truth is regularly, and have the client update its state to match the authoritative version.
It’s easy to lose sight of just how many billions of calculations a modern CPU core can do per second. Also consider what it means when many threads on many cores can share the same system memory as in a server.
That’s in theory how a server side authoritative design would work, but that’s not how New World is working for certain actions like falling, and some other things. It’s quite clear that the server is either not simulating the fall in the first place, or if it is, that it’s letting the clients simulation be the authority on the outcome.
In this kind of server/client relationship, the server doesn’t just update your own simulation with values it considers true, but it updates all players in the local area with the same information. So we know when you pause mid air on someone else’s screen that the server is just trusting the clients last known position and not properly simulating its own version.
There’s video evidence of this happening, I believe this is the original source
And we know something similar is happening for damage as Josh-stupid-face demonstrates here. The client enters an invulnerable state when you drag the window during the iframe of a dodge roll. With an NPC attacking you the server simulation of this would be to simulate you coming out of the roll, for the mob to keep attacking, your health decrease and then eventually die. What you’d resume your window to is your dead body. Instead you return to the fight having taken no damage.
This directly contradicts the dev response
It’s simply not true that the client is merely catching up with the servers calculated state of the game. At least in some contexts/scenarios.
That it’s possible for a glitch caused in a client to affect the server doesn’t mean the server is trusting the client. This software is incredibly complicated and obviously unintended interactions are possible.
Put it another way, let’s say there is a web page that generates an image on a server, and that it definitely generates the image on the server and not in your web browser, your web browser only displays the image afterward. Let’s say you figure out how to inject something into the form you submit to tell the server what you want drawn which causes the image to be glitched or have some content other than intended. That image was still rendered on the server.
can I ask you something? if AGS already has a list of bugs but we scandalize other bugs, doesn’t it end up that no AGS Dev can focus on just one problem? because the priority of bugs as you see always changes based on the damage that is done in the game. Isn’t it wrong to increase the list of bugs before fixing existing ones? or better, wouldn’t it be more positive to fix the most important bugs and slowly focus on the less important ones? for example the server transfer could have been avoided to design if currently AGS knows that it has more serious problems … or is my reasoning wrong? and i know that you are not part of AGS so you could not give me a complete answer, but i want to understand if my thinking is wrong or right since you say you are part of the industry. let me know
To get out of this situation, in my opinion, it would take an intermediary between Dev and PR and manager who goes to meet in emergency situations by evaluating the best thing both in terms of play and financially, because in the end it is like looking at the same infinite cycle, the history that repeats itself again and again. I hope that the same thing does not happen for new world and that they will be able to find a solution as soon as possible.
“Recent” you mean… Since Closed Beta at the very least right?
I realize you obviously have no clue since you had no backend implemented for Wars, ironically enough being your main attraction in the game and all, but really. We have reported this to you guys as Feedback since closed beta and you have yet to listen to us.
We have reported since closed beta that Healing in Heavy gear is way too impactful. There’s no risk and just rewards. Yet, here we are - 4 months later and nothing has changed. Heck, the buffs on Light and Medium armor don’t even work correctly - we did the math - it’s not very difficult.