Recent Topics

Ads

Mursie's In Game Improvements

Share your ideas and feedback to help improve the game.
Forum rules
Before posting in this forum, please read the Terms of Use.

This section is for providing feedback and sharing your opinions on what could be improved or changed for the Return of Reckoning project.

To ensure your feedback is as helpful as possible, please review the Rules and Posting Guidelines before posting.
User avatar
mursie
Posts: 674

Re: Mursie's In Game Improvements

Post#11 » Tue Dec 01, 2015 5:03 pm

Azarael wrote:
9. Can we get defensive abilities to show up in character sheet - I'd like to know its actually working: Deft Defender / Reflexes / Defender abilities
Next update, because my god am I tired of hearing that these skills "aren't working".
It is interesting that the character sheet doesn't just mirror the .getstats data.

Any rationale for that? I would think this would go a long ways to quieting the masses. I'm sure you have heard my issue with bolster - for whatever reason the .getstats is showing significantly less (like upwards of 100 points) of main stat compared to character sheet for sub 31 level players.

As always - great job and please do not take any points i make as criticism or insult.

Ads
User avatar
Azarael
Posts: 5332

Re: Mursie's In Game Improvements

Post#12 » Tue Dec 01, 2015 5:06 pm

It doesn't because Warhammer doesn't work that way. You're able to directly send the character's base stats + renown stats, which are white. The avoidance stats were missing from that up until about 2 hours ago. The other component of the stats, in green, represents what the client calculates by itself (from buffs, items, etc.) It's necessary that the emulator match what the client expects - it can't be overridden.

This is also how we know how buffs stack with one another.

User avatar
mursie
Posts: 674

Re: Mursie's In Game Improvements

Post#13 » Tue Dec 01, 2015 5:10 pm

Azarael wrote:It doesn't because Warhammer doesn't work that way. You're able to directly send the character's base stats + renown stats, which are white. The avoidance stats were missing from that up until about 2 hours ago. The other component of the stats, in green, represents what the client calculates by itself (from buffs, items, etc.) It's necessary that the emulator match what the client expects - it can't be overridden.

This is also how we know how buffs stack with one another.
Interesting - then is it my client that tells the server how much I hit an opponent for? If so, how does warhammer ensure that I don't cheat my client and send data stats way above intended. (i.e. my base stat for str is 300. I somehow cheat my client to say my strength is 1200, does the server take my client's sent strength value as the determinant to calculate how hard i hit an opponent)??

User avatar
Azarael
Posts: 5332

Re: Mursie's In Game Improvements

Post#14 » Tue Dec 01, 2015 5:12 pm

No. The client contains data regarding buff and tactic effects and how they should stack, and uses these to calculate its own side of the character stat screen. The server is responsible for sending base stats and renown stats to the client, and updating these as necessary. It's additionally responsible for sending the correct info with any buffs it sends to clients, so that the client can use this info in accordance with its own internal rules to calculate stats.

The client never sends its own stats to the server.

Bugs with any of the server's contributions to this are possible.

User avatar
mursie
Posts: 674

Re: Mursie's In Game Improvements

Post#15 » Tue Dec 01, 2015 5:19 pm

Ok - please pardon my stupidity on this topic but I don't understand the following:

If the client calculates its own stats, on top of the server's base stats, but those calculated internal stats are not at all responsible for or determine the actual output that I do to an opponent.... then why have this at all. I would much rather know what the server is actually calculating (both base and buff) for my character. At the end of the day, much like the bolster issue, if my client character sheet is telling me i have 754 strength, this # is irrelevant to me. All that matters is the number the server actually believes I have, as that is the number that will determine how hard I hit an opponent. And it is that server side number that I will want to try and min/max around when making tali/pot/buff/gear choices.

Am I completely missing something? Please help educate me.

User avatar
Azarael
Posts: 5332

Re: Mursie's In Game Improvements

Post#16 » Tue Dec 01, 2015 5:33 pm

I'm not sure how much clearer I can make this.

The server sends base + renown stats (White stats, the x in (x + y)) to the client when they're updated, because the client expects it to do so, and holds no stats of its own. If the emulator updates the stats and doesn't resend them (a bug), the values will mismatch.

The other component of the client-visible stats is automatically generated by the client itself from values received in item and buff packets. The item packets are guaranteed to be right; the buff packets less so. Therefore, the stats could also be wrong on the client under the following conditions:

- The values sent in the buff packets are bad, missing or incomplete; the client's calculation for the effect of the buff is wrong and therefore the implicated stat is displayed wrong on the client.
- The server handling is wrong, and the stat isn't stacking as it should with other contributions to the same stat. In this case, the client is right (as per original WAR) but the server itself is wrong.

There is no option to simply override all of the client's stats from the server. You have to get the buff system and the core / renown stats correct, and send the right data.

The client's stats are not involved in any way with the combat calculation, which is done with the server's version of the stats.

User avatar
Genisaurus
Former Staff
Posts: 1054

Re: Mursie's In Game Improvements

Post#17 » Tue Dec 01, 2015 6:02 pm

mursie wrote:Ok - please pardon my stupidity on this topic but I don't understand the following:

If the client calculates its own stats, on top of the server's base stats, but those calculated internal stats are not at all responsible for or determine the actual output that I do to an opponent.... then why have this at all. I would much rather know what the server is actually calculating (both base and buff) for my character. At the end of the day, much like the bolster issue, if my client character sheet is telling me i have 754 strength, this # is irrelevant to me. All that matters is the number the server actually believes I have, as that is the number that will determine how hard I hit an opponent. And it is that server side number that I will want to try and min/max around when making tali/pot/buff/gear choices.

Am I completely missing something? Please help educate me.
I think I read your question a little differently than Aza. If you are asking, What is the point of having the client calculate stats separate from the server, then the answer is probably, "Performance."

The single packet taking the largest amount of bandwidth by far is the packet that sends a player's active buffs to the client every second. If I'm remembering Aza's lectures correctly, the client is completely incapable of remembering buffs. It needs to be refreshed constantly, and the packet that carries this data is very bloated. After all, it not only needs to carry your buffs, but also the buffs of all the players near you.

So if you need to send a player's stats to them in the buff-update packet (which you have to, because stats change as soon as buffs change), you'd add another 20 some key-value pairs and the size of the packet data increases by about 64B per player... Which doesn't seem like a lot, but in RvR, with 200 players fighting at a keep... that's 12.5KB per packet, and you're sending 200 packets... Oh look, you're using an extra 2.5MB of bandwidth every second.

Instead, just let the client calculate that data and take the load off the servers. Who care's if it's not 100% accurate all the time, at least it means you're getting more than 5 fps.

User avatar
mursie
Posts: 674

Re: Mursie's In Game Improvements

Post#18 » Tue Dec 01, 2015 6:10 pm

Genisaurus wrote:
mursie wrote:Ok - please pardon my stupidity on this topic but I don't understand the following:

If the client calculates its own stats, on top of the server's base stats, but those calculated internal stats are not at all responsible for or determine the actual output that I do to an opponent.... then why have this at all. I would much rather know what the server is actually calculating (both base and buff) for my character. At the end of the day, much like the bolster issue, if my client character sheet is telling me i have 754 strength, this # is irrelevant to me. All that matters is the number the server actually believes I have, as that is the number that will determine how hard I hit an opponent. And it is that server side number that I will want to try and min/max around when making tali/pot/buff/gear choices.

Am I completely missing something? Please help educate me.
I think I read your question a little differently than Aza. If you are asking, What is the point of having the client calculate stats separate from the server, then the answer is probably, "Performance."

The single packet taking the largest amount of bandwidth by far is the packet that sends a player's active buffs to the client every second. If I'm remembering Aza's lectures correctly, the client is completely incapable of remembering buffs. It needs to be refreshed constantly, and the packet that carries this data is very bloated. After all, it not only needs to carry your buffs, but also the buffs of all the players near you.

So if you need to send a player's stats to them in the buff-update packet (which you have to, because stats change as soon as buffs change), you'd add another 20 some key-value pairs and the size of the packet data increases by about 64B per player... Which doesn't seem like a lot, but in RvR, with 200 players fighting at a keep... that's 12.5KB per packet, and you're sending 200 packets... Oh look, you're using an extra 2.5MB of bandwidth every second.

Instead, just let the client calculate that data and take the load off the servers. Who care's if it's not 100% accurate all the time, at least it means you're getting more than 5 fps.
This is the meat of the matter :D :D

Thank you - I now understand the "why" to my question. Makes sense.

Ads
User avatar
Azarael
Posts: 5332

Re: Mursie's In Game Improvements

Post#19 » Tue Dec 01, 2015 6:51 pm

Yes, I read your post incorrectly. My apologies. It's more efficient to send the data in the buff packet, so that it can be used on the tooltip as well as the character stat screen, rather than sending out an extra packet every time a stat changes.

User avatar
Uchoo
Posts: 547

Re: Mursie's In Game Improvements

Post#20 » Tue Dec 01, 2015 7:50 pm

Haha Mursie, you just learned online game rule #1: Put as much load on the client as possible, and keep as much off of the server as possible.
"They're gonna die if we kill them" - Klev on strategy
RoR Memes
https://www.twitch.tv/uchoo
https://www.youtube.com/@UchooGaming
https://twitter.com/UchooGaming
The RoR Guide
https://shorturl.at/ouGH8

Who is online

Users browsing this forum: No registered users and 6 guests