Quote:
Originally Posted by Kich867
[You must be logged in to view images. Log in or Register.]
Because it's incredibly common to have your client share the same code with your back end.
If your client is simulating the same thing the server is simulating, you can create the feeling of near instantaneous response times by having your client guess what is about to happen with a certain degree of confidence, then show the client that is what is happening, and then the server validates that was the correct thing to have happened. And if it's wrong, you essentially roll back what the client did to what actually happened.
If you ever played Counter-Strike, for instance, it's rare but you have moments where you snipe someone with an AWP (1-shot kill sniper) and you see the blood, you see their character react as if they're dead, and then they kill you. Because client prediction showed what it thought should've happened, and its correct more than 99% of the time, but in that instance it isn't and gave you a false positive.
Unity for instance essentially bakes this into their game engine, with tags basically where you can indicate what needs to be secret and only runnable by the server and what the client should try to simulate.
IDK if this is exactly the answer, but, it's what people have been doing for ages. Most good websites do this as well, they just presume what button you're pressing worked because in reality it takes about half a second to confirm but you can feel half a second of delay, instead why not just presume it worked and move forward assuming it did because the overwhelming majority of the time it does, so that the end user feels zero disruption and instantaneous response time as far as they know.
|
I agree that it's not weird for server-side code artifacts to be there. My contention was more that they can't be trusted since they aren't used by the client and might be stale/ect. I think it's fairly obvious that the titanium client doesn't do spell channel prediction? Generally speaking, you would never try to predict 50/50 server-side dice rolls on your client.
I concede that it's a pretty safe bet if the magic numbers from the classic-era decompile matched up well with observed behavior on Live servers (maybe that's what nilbog meant by testing?), but the use of the decompile seems very hand-wavy in everything presented.