RE-SS3D / SS3D

Space Station 3D, another remake of SS13, but with an extra D.
https://ss3d.space/
258 stars 137 forks source link

Indicate to the user that they can't interact outside range #189

Closed TimFinucane closed 1 year ago

TimFinucane commented 4 years ago

There's currently no clear communication that interaction is impossible outside a given distance, except for at some point interactions do show up, and at other points they don't.

We should ensure that it's clear this is a distance problem by actively showing the user when they are in the range and when they are out of it.

Some options:

  1. Grey out the cursor when outside interaction range
  2. When the user right clicks, or holds an interaction key, a circle is shown indicating build radius.
  3. When user holds interaction button, object being hovered over is highlighted differently if not interactable

My preference is for option 1 so far, but open to more options. In the future, some interactions will have non-standard interaction ranges. These should be thought about for future extension, but do not need to be implemented.

Acceptance Criteria

TO FILL WHEN OPTION IS CHOSEN

spaceman2289 commented 4 years ago

I was thinking that to help the player see which item the mouse is over, it would be best to write a shader that draws an outline around the item. See https://www.patreon.com/posts/weekly-updates-17177148 or https://roystan.net/articles/outline-shader.html.

Hovering over an item beyond the interaction distance would cause the color to change, or the outline to dim, or whatever. Shaders look like a lot of work and I've never done anything with them, but in a game that's all about clicking lots of objects in the world (which may be small or piled up), it seems like it's almost required to have item outlines at some point.

TimFinucane commented 4 years ago

I would agree with that if we had an 'interaction button', e.g. pressing shift. Will add as an option

cosmiccoincidence commented 4 years ago

I'm not sure this is needed. Most physical interactions will be within a short range which makes logical sense. While most of the interactions not bound by this distance are also logically obvious (shooting, throwing, examining, telekinesis).

Once we get further and more interactions have sounds (including picking/dropping items, construction, etc etc) the player will be more in tune with what works and doesnt.

I saw SS14 make a shader outline for items and I don't think it looks good and also see it being hindering. Our case is slightly different in 3d so not as severe of an issue but still applies... With an outline on an item it may be more difficult seeing and clicking on the item you really want which is beneath it.

Finally, after nearly 20 years, most ss13 servers have never done this. I think because it looks bad, interaction distance is fairly intuitive, and outlines can be more issue than it solved.

cosmiccoincidence commented 4 years ago

If this does get implemented, it should be made a user setting so people who do not want it can turn it off.

cosmiccoincidence commented 3 years ago

Seems we may be doing a 'specific placement' system in addition to the normal (ss13 like) placement system. The specific one will allow users to more accurately choose where to place an item by holding down a key and seeing a ghost of the item where they are pointing. This system would in fact need something like this. Simple thing to do would be use the ghost (wireframe maybe) of the item and color it green or red depending if the spot is acceptable or not.

Edit: Hit the wrong button cause I'm drunk, didn't mean to close this, reopened.