Jump to content

/e food does not appear the same for user and observer


Recommended Posts

When using /e food, a random piece of food (hot dog, burger, triangle sandwich) appears in the character's hand. However, an outside observer will see the specific item as a different one than the user sees.

 

An easy fix for this would be to split /e food into, say, /e burger, /e hotdog, /e sandwich, and only have those specific items appear when those specific emotes are used. This would also make it less of a hassle to get the food item that you want, rather than relying on RNG. This was done with ledgesit previously, so it should be easy to do for the food emote.

 

image.png.3382f6f2527998ef5189007f01947581.pngimage.png.f06a30b8e2194e32218aab43bb5a437d.png

Link to post
Share on other sites

When you use the emote, your client generates a random food item for you to eat. Anybody watching you has the server send "XXX performs the 'eat' emote", and their client generates a random food item that they see you eating. Passing the food item from your client to the server, then to the client of everyone who can see you adds delay, and adding more emote types makes things like the emote menu off the chat window bigger. Neither of which are necessarily reasons not to do it, just warning about the side effects.

Link to post
Share on other sites

It also means this is more of a feature request than a bug report. The fact that everyone sees a different item is working as intended. That it's not necessarily working as players probably expect is notable, but not always an indication of a bug.

 

A similar but probably less applicable example is the persistent debris created by certain powers / animations is also different for every client. You may be running around bumping a pool table on your screen, but someone else may see it as a roll of insulation. I believe that some more particulate debris, like leaves or small rocks, is actually totally random, and where you see a piece of it, others may see nothing at all.

  • Like 1
Link to post
Share on other sites
  • Developer

I think these could be added at some point.

 

The 'pick random object' thing doesn't translate very well for emotes.

 

A more accurate system might have been to use seeding, so every client that gets it can generate the same 'random' result of a set group of objects.

Link to post
Share on other sites

One mechanically simple way to address the issue is to create command IDs for each of the random power/emote effects -- for example, Propel would have separate messages for 'throw car', 'throw fan sculpture', 'throw pool table', 'throw dumpster', etc. -- and either have the server generate the random item and pass the correct command ID back to the originator and everyone who can see the power activation, or have the client where the user is activating the power generate the random item and pass the correct command ID to the server to be forwarded to everyone who can see the power activation. The latter relies on the client to generate a correct command ID, and goes against the "never trust the client" principle of online game design, while the former adds a trip to the server and back for the power animation, potentially adding lag. Since the message has to go to the server and back to the user originating the power use anyway to generate the correct 'hit/miss' animation, I think that putting the object determination on the server and passing it back to all the clients is going to be the best way to go in the long run, avoiding the possibility of the process being hacked.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...