From: Brooklyn, NY
I thought about this quite a lot when designing The Silent Service scenarios. Scale is really important, probably the most important factor in deciding how to handle spurious contacts. In a single-unit scenario it's better to have more spurious contacts; both to keep the player interested and in suspense, and to add some variability to small scenarios so they don't have an essentially predetermined course. In a large theater-level scenario there's already a lot going on and adding too many spurious contacts might overwhelm a player, not to mention the CPU. If they serve an effect like masking enemy movements, providing tactical uncertainty, or simply just improving immersion by being realistic window dressing then it's worth having them. The trick is to balance the two.
When it comes down to which DB entities I use to model spurious contacts, that's also situation dependent. There's the old stand-by of biologics (we recently improved the AI of these entities so they better mirror the behavior of their real life counterparts, as well as adjusting the sonar model to better account for their unique sound-generating properties), which work especially well in submarine-centric scenarios. There are also various combinations of acoustic, magnetic, visual and active-sonar false contacts, including new-ish entities like lost shipping containers, wreckage, oil slicks, etc. You can strategically place these, but I find it better and far quicker to use a Lua script. Check the .lua files included with the CMO install to see some examples, particularly in Game_Setup.lua scripts.
You can definitely add in platforms as spurious contacts, but it starts to get a bit tricky there. With using actual false contact entities (whales, rocks, whatever) the simulated narrative is basically:
Contact detected ('It's underwater') -> Classified type ('It's probably nothing') -> classified class ('It's a rock'); all simulated using the sensor models and AI.
If you use a proxy to ensure you get a specific kind of false positive, the simulated narrative is:
Contact detected ('It's underwater') -> Classified type ('It's a diesel sub!') -> classified class ('It's a romeo!'); all simulated using the sensor models and AI.
You then have to make that work for the player's understanding of how the scenario is panning out. I prefer to just use the false contacts and let the players imagination run wild in the unknown phase