CleverRaven / Cataclysm-DDA

Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.
http://cataclysmdda.org
Other
10.72k stars 4.2k forks source link

Zombies should not be expert deep sea divers #53851

Open NetSysFire opened 2 years ago

NetSysFire commented 2 years ago

Describe the bug

I am on a secluded island in my debug world (which has hordes enabled) and roaming zombies continue to emerge from the lake.

Steps to reproduce

  1. Create a world with hordes enabled.
  2. Find a lake with an island you can teleport on.
  3. Wait for stuff (in this case, I had to wait 105 ingame hours until the moonshine was fermented).
  4. See zombies emerging from the lake, especially if a city is nearby.

image

(Yes, the island right next to the shore should not exist, this is wacky mapgen)

Expected behavior

Zombies should not wander through hundreds of tiles of deep water. I get that they can wade through moats but this is too much in my opinion.

Screenshots

No response

Versions and configuration

Additional context

No response

Terrorforge commented 2 years ago

Zombies should not wander through hundreds of tiles of deep water.

Why not? What is it you imagine stopping them?

NetSysFire commented 2 years ago

Logic. Pressure. Currents. Sight.

Zireael07 commented 2 years ago

Currents, I imagine, and pressure would be the biggest obstacles, indeed.

PatrikLundell commented 2 years ago

Zombies do not apply logic, there wouldn't be much in the way of currents in lakes (but it could in rivers), and I don't see pressure being an issue unless your lake is many thousands of meters deep.

However, there should a a reason for zombies to travel anywhere, i.e. something that attracts (or controls) them. I could imagine a zombie master detecting activity on your island and take its horde there, for instance.

NetSysFire commented 2 years ago

Focusing on the actual mechanics, zombies wander through deep water because they do not need to breathe and a single one tile moat should not stop them. I would want them to stop wandering into water if they are already N tiles away from land.

This also introduces the hilarious, but rather annoying, issue of zombies killing all the aquatic creatures, such as fish (if they corner it).

Another major issue would be the mass of water. Zombies appear to not float but rather walk across the seafloor. They would be deprived of smell, hearing (not completely though) and can not see very well depending on how clear and deep the water is. Their speed would also be drastically reduced.

I would not let them walk into lakes, but swamps may be perfectly fine. Imagine a zombie chasing its prey through the swamp and it getting stuck and eventually sinking. More zombies could get stuck there (due to the initial zombie making noise trying to free itself) and we have a nice mess of arms spontaneously emerging from the puddles, trying to grab the player and pull them into the depths. Would be fun to have.

Yet another practical annoyance from having hordes enabled and trying to clean the area around your base from zombies is that it is extremely difficult to find all of them due to them aimlessly wandering through the depths of the lake.

spamman63 commented 2 years ago

I'm sorry but all I can think of is this https://www.youtube.com/watch?v=OjJuZCECRu4

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not \'bump\' or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.

xrogaan commented 2 years ago

Computing pressure for each object at every Z- level may not be the best of ideas, given the computation cost and the amount of critters existing around water bodies.

A way to resolve the adventurous zombies, without utterly smashing all of them with high pressure, would be to limit their movement to a maximum distance from a shore. This soft limit would allow the zombies to traverse rivers and streams, while preventing them from walking twenty thousands leagues under the sea. To fine tune, the zombie's pathing should get more costly the closer they are to the limit. In doing so, the zombies would naturally want to stay on the shores and only venture in deep water for exceptional reasons.

In lore reason may be the blob influence, or the individual zombie self preservation kicking in (if that's even a thing), or just them simply using the path of less resistance.

Now, if the pressure does become a thing, it would create an emergent situation where enough zombies pile up and die to form a bridge of flesh. Or maybe an unmovable giant sea monster.

github-actions[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not bump or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.