Hordes of zombies. Balance

Talk is cheap… Show me the code.

https://github.com/Reaper42/Cataclysm-DDA/tree/hordes
TODO:
-Save hordes status.
-Make more realistic hordes movememt:
-Hordes must move on sound, light, smell.
-Dependence of the detection of the weather and terrain. (!underground)
-Make optionaly horde generation
-Debug in overmap window.[/quote]

Kinda what I meant by “I couldn’t do it” But hey, if you can, more power to you man. One note though, we’ve got enough enemies that telepathically know the player’s location at all times, it’d be nice if I didn’t have to worry about an impending horde dropping on my ass at all hours of the night along with Zombears, Wolves, and thousands of other random creatures out of the blue.

Hold up, am I misreading or did Reaper actually just code the foundation of hordes for us?

If so, Bravo!

[quote=“Reaper, post:17, topic:5388”]Ok. Today i make simple algorithm:

  1. Add attr horde to monster group (respawn point)
  2. Add hordes to cities in mapgen.
  3. Move all hordes to player (I think 1 overmap tile every hour, but they move faster…)
    I compile it, run, wait it shelter 2-3 hours and…THEY CAME!!! and i ran…[/quote]

That sounds…horrifying…

[quote=“Fniff, post:16, topic:5388”]As do I. Plus he’s basically a devil’s advocate, and everyone needs one of those.[/quote]Yeah, Inadequate does tend to vet out the loosers who would’ve just wasted our time if he didn’t run them off. Most of the people who survive Inadequate’s scathing criticism are the type of people we want on this forum.

And in fact he actually is sometimes helpful in explaining why something wouldn’t work, now if he could just learn to do so in at least a slightly less assholeish way we wouldn’t have cause to complain about him.

Sometimes, though, seeing as he hasn’t been banned yet, I sometimes wonder if maybe Kevin created him when he was bored just to screw with us.

Or we could you know, try for a friendly and positive environment?

Or we could you know, try for a friendly and positive environment?[/quote]

I don’t know which Internet you came from, but I wouldn’t mind moving over there myself.

Or we could you know, try for a friendly and positive environment?[/quote]
I don’t know which Internet you came from, but I wouldn’t mind moving over there myself.[/quote]
Bay12 Forums does a pretty good job at that I find.

Reaper: cool! looking forward to taking a look at the code! As a general principle I’d rather the zombies not “magically” know the character’s location, but that can be implemented as loud noises and possibly other things things attracting them from a distance. Also I was thinking they could keep moving in the last known direction of the player for a while on the overmap. Once zombies completely lose track of the player, they can wander at random, head for a nearby human habitation, or other stuff.
One thing I’d like it to do is have existing zombies loaded back into something similar to a spawn group for this purpose when the player moves out of range.
The reason Inadequate is not banned is he toned it down after being warned, and pretty much rides the line between unplesant and banned.

I know the game has a scent map.

Does it also have a ‘sound’ map?

That is, where noise has been generated?

If not, could one get made? Because I feel that could be useful to determine /where/ to send a horde. They should be drawn towards sounds they’ve heard, and perhaps a horde will always go towards where the single loudest sound has been made and then mill around there. once spawned. That seems better than just always throwing them at the player, and makes Hordes more a consequence of your actions.

“Shit. All that vehicle construction I was doing in the garage brought a horde.”

“Shit, that lab I stormed yesterday is crawling with zombies now.”

And so on.

Or we could you know, try for a friendly and positive environment?[/quote]
I don’t know which Internet you came from, but I wouldn’t mind moving over there myself.[/quote]
Bay12 Forums does a pretty good job at that I find.[/quote]

Yeah, I look for friendly & positive as well.

As for the merits, yeah, hordes have been desired for a while; they should NOT home on the player and “loud noises” should probably be controlled such that you don’t get a horde just for building/attempting to build a vehicle/fort.

Bear in mind that noise currently only propagates as far as its volume, so you’d need J-hammer level noise to be audible. I don’t know how loud vehicle/construction/crafting work is and suspect it’s not defined. We should shake that out first. After all, nothing like attacking in the middle of a megaproject to discourage players from what appears to be one of the most satisfying parts of DDA.

Agreed on spawngroup.

On the other hand, shouldn’t tackling a mega project /have/ some potential risk to it?

sound is currently event-based, it’s mostly processed immediately when it happens.
re volume level, yea we’re talking about gunshots and explosions here.
re interruptions, that’s what traps are for :smiley: (or low spawn rates if that’s what you really want)

See, my concern is this:

Hordes need some mechanic that will send them towards the player to make them relevant to gameplay, or else the player has an excellent chance of never seeing one. Tying it to the amount of noise a player makes over a stretch of time, or a lifetime, or by a region, or something, and giving them a point to go to has a higher chance of making them relevant to gameplay. They shouldn’t be attracted to the player for just existing. That’s kinda bleh. The threat would change how players need to consider their moves, of course. Either by utilizing more traps, or perhaps by spreading out their construction. Don’t poop where you eat, don’t make noise where you live.

I apologize if this has been talked to death before. I’m new to the forums. :slight_smile:

[quote=“Goombah, post:33, topic:5388”]See, my concern is this:

Hordes need some mechanic that will send them towards the player to make them relevant to gameplay, or else the player has an excellent chance of never seeing one. Tying it to the amount of noise a player makes over a stretch of time, or a lifetime, or by a region, or something, and giving them a point to go to has a higher chance of making them relevant to gameplay. They shouldn’t be attracted to the player for just existing. That’s kinda bleh. The threat would change how players need to consider their moves, of course. Either by utilizing more traps, or perhaps by spreading out their construction. Don’t poop where you eat, don’t make noise where you live.

I apologize if this has been talked to death before. I’m new to the forums. :)[/quote]

Search tool works about half the time. Welcome. :wink:

The construction thing came up tonight on the IRC. It’s less fun making a zed-proof Fort if zeds don’t attack it. But if you’re attacked whilst the fort’s only half-built, then you’ll likely have to abandon it and lose everything, and losing is only Fun so many times.

Something like felling a tree should make some noise, yeah. Powered tools certainly should as well, and hammering stuff together might be an issue as well. So unless you haul logs from a logging site to your fort site, you’re gonna have noise as part of the fort-building. (And if you do, they’ll probably follow your vehicle… )

So I’m thinking a cumulative model is probably the way to go. Every week/season/wev total up how often the player made noise above V volume & in what map tiles, and then make a (total_noise)in(horde_members) check or something to see whether the Horde triggers, and if so to what location.

So we’d have something like “you logged a lot over there, but you blew up a block here, and you jackhammered up some stuff on your Fort’s construction site. Most of the horde is around the blast, but about (say) 75 hit the logging site, and maybe 20 noticed your fort itself.”

Feel free to tweak that: I just worked it up whilst compiling, it’s purely hypothetical.

I was actually thinking a cumulative model as well. I was just trying to come up with how I wanted to phrase it and break it down, and you’re not far off from where what I was thinking when I first mentioned tracking sound via a sound map.

You’d probably also want to tie that into how big and how frequent the hordes are.

You’d want some kind of random chance for a horde to show based off the total amount of sound over a day, with the size being determined perhaps by the total amount of noise you’ve made in a region. If you’ve been setting off explosives, you should probably batten down for a large attack. After such an attack, the ‘pool’ would get back to 0 and start to build back up towards your next horde. Perhaps horde chance could be determined by the single loudest noise you’ve made. I dunno. :slight_smile:

You’d also probably want some sort of ‘decay’. A horde isn’t garaunteed, and if you get real quiet, you might reduce your risk of a horde or at least how big it is.

It’s gonna be complicated, either way. xD

Hordes should not be just magical things that spawn whenever you make noise, but should be static things that wander around the map and either spawned in cities at the start or potentially wander in from off of the overlap edge. Sound might attract them, but you should not just be like "you made over X sound so a horde magically spawns and attacks you.

I would see Hordes as coming from the edge and going towards noises. That’s thematic for zombie stories.

Making them static would sort of defeat the point of adding them, IMO.

I’d like hordes to appear on the map in the same way NPCs do and move towards anything resembling a survivor settlement to attempt to overwhelm it. But for that to happen, settlements would need to exist, which would necessitate work on NPCs and factions.

I’d like the ability to gather survivors together and build a fortified settlement that can withstand multiple attacks from hordes to be an endgame scenario for Cataclysm.

True. I was thinking more in terms of targeting, but yeah, didn’t explain how the things would start. Off-map is probably better unless you’ve got a Huge city or you’re planning on making cities no-go zones, since city-spawned hordes would theoretically just be a far more densely populated version of the current Dynamic Spawn.

(If I go where the horde is, I’d expect a horde.)

Off-map has the further advantage of letting the player clear a buffer zone. If I’ve got an overmap explored in each direction, I can build my Fort in relative security: it’ll be a while before a Horde makes it in range. (Yeah, possible metagaming as a downside. Maybe start within X range of unexplored territory?)

That seems reasonable, but you might consider a variable of ‘length since last visit’. I mean, just because I explored a spot weeks ago doesn’t mean the horde can’t come from there. It just means they came from ‘that direction’. That said, taking advantage of unexplored map is probably the best way to go there. The Horde /should/ come from ‘someplace’. You don’t want it too static, but they definitely should feel like they’re coming from somewhere.