SoftbearStudios / mk48

Mk48.io ship combat game
https://mk48.io
GNU Affero General Public License v3.0
314 stars 60 forks source link

Sub stealth #176

Closed mitm001 closed 2 years ago

mitm001 commented 2 years ago

I am not certain but either there is a bug in stealth or there is a trick I am missing.

The issue is with one certain player they are never visible to me until my sub sinks. This happened half a dozen times last night. They would be almost within the sea wolf speed ring and I couldn't see them. This is with both of us not using sonar and with them using ships or subs. They can see me though as they are firing on me when we are 1 to 2 inches apart. Their torpedoes don't show red triangles either until the very last moment. He says its working that way for him against me also but he obviously sees me every time before I see them as they are firing on me first.

One particular battle I attacked a destroyer close range at a dock, sinking it, I immediately attacked a sub right next to that ship, sinking it. I turned on sonar, saw nothing and surfaced. As soon as I surfaced, his ship turned visible, I was right at his bow but never saw them yet I was so close I could see docks without sonar, just not his ship.

On another occasion, I had attacked a ship but as I was out of ammo so I decided to move under the ice around an large ice island and circle around to allow ammo to restore. This trip took about 45 seconds to a minute. The entire time I was doing this I kept seeing torpedoes appear without the red triangle every 10 seconds or so. I thought at first it was from the sea side being fired by others in a battle and it was just coincidence they were tracking on me. After about the fourth decoy, realized it was this same person chasing me the whole way. I only saw who it was after they were almost on top of me, which was weird as we both had the same sub yet they caught up to me and they could see me the whole time obviously as they were firing away.

This same pattern repeated itself a few other times where I would never see their sub until after I was sunk. Even the torpedoes would stay masked until right before impact.

You cannot defend against what you don't see so I figure there must be some trick to doing this type of strong stealth where they can fire away and I never even see them. I questioned them on this and they said they were using no sonar also and the sub itself was stealthy. Whats weird is I could see them perfectly fine half a screen away with a golf submarine. This makes no sense that a golf sub could see them but my sea wolfs vs sea wolfs couldn't.

I can tell that others can see me when attacking without sonar a little over two inches away most ships as they start evasive maneuvers before I fire torpedoes.

finnbear commented 2 years ago

This is with both of us not using sonar and with them using ships or subs

Turning off your active sensors might as well have the following disclaimer: "By clicking this button, you void your expectation to see enemy ships. The developers make no representation or warranty of any kind, express or implied, regarding the accuracy, adequacy, validity, reliability, availability, or completeness of any passive sensor detection information. I understand that I will promptly get sunk if I don't use this feature properly."

there must be some trick to doing this type of strong stealth where they can fire away and I never even see them

Yes, there are some tricks, that roughly correspond to characteristics of real naval battles.

The visibility of an enemy ship to you is determined by:

As you can see, if you assume passive sensors only (no active), then you are very much at the mercy of your speed vs. their speed. Speed generates noises. On your end, noise significantly impedes your passive sonar. On their end, a lack of noise also impedes your passive sonar.

If I had to guess, most of what you observed has to do with a combination of 0) relying on passive sensors to detect a stealth ship 1) your speed being relatively high 2) their speed being relatively low (below the cavitation threshold of ~12-15kn, the exact number depends on depth and ship type.

To give an analogy, two warships are like two people in a very-dimly lit room. Active sensors are like flashlights. If you both have your flashlight off, you can get within inches without making a detection. Passive sensors are like your ears. You can hear the other person making noise if they move quickly, but if you make too much noise, your hearing is washed out.

mitm001 commented 2 years ago

I think that your first statement covers it.

Looking at the list, even when all things are equal, there must be a use case I am falling into as it happens with this one person almost every engagement.

As I reported, there have been two times subs have disappeared right before I engaged them in close combat only to re-appear right before sinking me with me out of position.

I guess I am going to have to go through the code now to see if I can figure out why.

mitm001 commented 2 years ago

It just occurred to me while going through code that perhaps the fact I am using old onboard graphics vs someone who probably uses a graphics card may be part of the problem for me.

finnbear commented 2 years ago

Graphics card should not affect which enemies you see, although low FPS may affect how much delay you have before you see them. There are multiple settings which can improve FPS, most notably turning off animations (although it may default to off on your hardware). Turning off other stuff helps a little bit too. You can turn on the fps counter setting to measure the effect.

mitm001 commented 2 years ago

Testing shows speed makes a huge difference.