SmartlyDressedGames / Unturned-3.x-Community

Community portion of the Unturned-3.x repo. If you have access to the source code you can find it here:
https://github.com/SmartlyDressedGames/Unturned-3.x/
83 stars 17 forks source link

Assorted visual disrepancies/glitches #4409

Closed DerpyHoowes closed 1 month ago

DerpyHoowes commented 1 month ago

In this issue I combined several visual related bugs/abuses/questionable game mechanics and their impact on gameplay/visual integrity of the game, that I've been noticing for some time now.

I didn't look into it as thoroughly, but basically from several players of my server I know, that it's possible to somehow remove muzzle flashes and cartridge casings from the game files (Probably by deleting the asset files, I guess) to gain severe PvP advantage, especially if the guns used on server rely on visual muzzle flash size as a serious gun balance factor. For example, one of the very controversial guns we use has extreme firerate and low recoil, but comes with a big muzzle flash and casings ejecting on the top, instead of the right side, along with other balancing factors such as high aim and hip spread, damage falloff. By exploiting this issue they make it significantly easier to efficiently use this gun, breaking one of the balance points. Since it's not something that was ever intended to be customizable, I think that the game should guarantee the integrity of these files just as much, as important data such as gun stats.

Adjustable hand position can be used as a good tool of customization for some people, but without limits it can lead to some complete broken hand placements, that break some of the more complex item animations, but I guess some people will go for any kind of visual abomination for extra 2-3 of unobstructed view pixels, lol. For servers, that want people who care about visual integrity of the game and those who can easily trade it for even the smallest advantage in PvP have equal conditions, this option can cause serious issues. While I personally see this entire mechanic as unfitting for the game, and would like it to be completely removed, if you disagree with me, at least a Force_Conventional_Hand_Placement rule could be added to server config, so that people can choose whether they want or not.

изображение

Scope actual visual magnification disrepancy between Scope Quality settings is something I already commented on in other issue, but since we still didn't get any solution to that, it would at least be nice to be able to limit the lowest Scope Quality setting on server in config. Its one thing when people use the Scope Quality Off due to having performance issues, which is totally understandable, and a different thing when people abuse it simply because it provides better visual magnification, because your view cone takes bigger portion of screen, especially if the custom scopes are made to have big eye relief distance (vanilla ones seem to have an incredibly low one, yet even with they provide a picture about 20% bigger in Scope Quality Off mode).

2024-04-01_09-39-15 2024-04-01_09-39-44

Left handed characters seem to cause issues for some of custom made animations. Don't know what exactly could be causing it, because I have another gun item using the same animation clips, yet it doesn't cause these issues.

изображение изображение

DanielWillett commented 1 month ago

I know it'll definitely be a controversial change but I do agree that custom viewmodels should maybe be considered for removal, maybe only having a few more reasonable presets instead of full customization.

For scope quality off, would it be possible to disable the background (main) camera while aiming and only leave the viewmodel camera active so you can still use the scope's render target in scope quality off without extra FPS drop? I don't know if this would look too jarring (or even be possible) but may be worth trying and would have a similar (but more consistent) effect as the current UI overlay.

Otherwise, a server option would be nice, as I've seen modded content before that just puts text as the scope image that says something along the lines of 'you must enable scope quality to play on this server', which is a bit of a hacky workaround.

On that topic, it may be a good idea to make some kind of universal way for a server to override or disable certain options from all players options and graphics settings (excluding some settings, like resolution, refresh rate, vsync, volumes, ui scale, etc). Example:


// server config
{
  "DisabledOptions": [
    // not allow players to choose classic, falling back on the next available enum if they have it chosen,
    // but wouldn't actually permanently change their settings. This would probably only work for enums or booleans.
    // you could disable multiple enums if needed for the same option by just adding a new element to the list
    "hitmarkerStyle::Classic", 
    "scopeQuality::OFF",
    "scopeQuality::LOW"
  ],
  "OverridedOptions": [
    "fov::0.5" // force FOV to 50 or whatever unit this number is in
  ]
}
MoltonMontro commented 1 month ago

On that topic, it may be a good idea to make some kind of universal way for a server to override or disable certain options from all players options and graphics settings (excluding some settings, like resolution, refresh rate, vsync, volumes, ui scale, etc). Example:

I've seen this suggestion over the years, but I think it's better to suggest that minimum graphical settings are increased instead (or reducing the range/leniency available for options). I don't believe servers / other players should be able to heavily alter someone else's settings. Although gameplay advantages are one reason to change settings; players also do this for graphics, performance, and accessibility.

Customizing your settings and then having them differ from server-to-server is confusing – perhaps dangerously so, if a player had lowered their settings to improve performance based on our or other players' advice. It will cause players to believe they've encountered a graphical bug or some hardware issue.

FOV is understandably a very contentious setting in PvP games/modes, but it's very important as an accessibility setting for players who get motion sick. (Stretched resolution is similarly contentious in PvP games, although it's not as frequently discussed.) I've seen some games handle this by allowing first-person FOV to be changed, but restricting third-person or having separate sliders with different leniency/ranges.

SDGNelson commented 1 month ago

I agree with Molt - per-server restrictions to players' settings isn't something I want to do. Removing the "off" grass setting was a step toward raising the minimum graphics level in keeping with similar requests, and that was very controversial. Even now I still get upset messages about it from time to time.

Most effect spawning has asset validation now, but locally spawned gun effects would still be one of the exceptions. (so makes sense if they delete those files it isn't kicked for unless server requests spawning them)

Perhaps one thing to note for the animation is that left-handed characters have the prefab scaled (-1, 1, 1). There's an option to disable this in the item asset which might prevent the issue.

Also, in the future, I'd appreciate if you keep to one topic per issue because it's easier to keep track of.