-
Notifications
You must be signed in to change notification settings - Fork 99
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New Density Check System #739
Conversation
+1 |
Thanks daniel, giant monster swarms really annoyed me when I started playing. Hopefully this will get accepted and I won't get annoyed anymore :). |
That is the magic of open source :) |
That's a pretty awesome backscratcher if you ask me ;) |
Well... are there any objections/complaints to this pull? So far I don't see any reason not to merge. |
I like the idea. Did you actually try if this suppresses huge swarms for you? I thought I also saw these swarms when no spawner was near... |
it would be nice to have a switch for this... cause i like it, if you break a wall after some time and get swarmed with monsters |
@master-lincoln I was thinking of adding a delay(ex. only update the density map every 10 ticks, or something like that). I can also go on your idea and do the check in the |
I think swarms are something that need to be considered in the greater scheme of the game design (especially from a single player perspective). The game currently feels somewhat bland as a single player experience precisely because the action is so uniform. Think how much effort Valve put into the Director in Left4Dead to engineer periods of intense activity and moments of calm. Rather than simply suppressing swarms they need to be engineered to occur at the right times. I believe that some of this will take care of itself once mob behaviour is refined, but some of it will come from a more sophisticated level design, where triggers can be added to shape the action. |
@Ampa That sort of system shouldn't be too hard to implement, because the max densities per-difficulty are stored in a simple integer array. We could just get a synchronized random "swarm" timer, and if the swarm mode is on, all the spawners would increase their spawn rate, and the max densities would be raised. However, that is probably another topic for another pull. I might work on that next. |
Slightly off topic but... my candidate for a swarm mob. |
@Ampa +1 |
Heading back to this pull request topic, should I add a tick delay with the density check, or put the check into |
@Elosanda and @Ampa @Flafla2 |
i didn't mean a switch in the options, just a boolean i could change locally to turn this behavior off. |
Okay, just moved the Density logic, see the commit above. Also, @danielduner |
Aah! Well then, in that case there should be no need to add a delay. +1 on merging (again) |
Well then, are there any complaints/suggestions now? |
Yes...please remove the commented code. Then I'll merge this. |
Okay, removed! |
Merging! |
Implemented a new "density detection" system where the level would check to make sure that there aren't too many monsters in each 5x5 set of tiles. The max number of monsters in each set changes per difficulty(easy=3 monsters, normal=7 monsters, hard=12 monsters, and nightmare is 100000 monsters(virtually infinite, pretty much what the game is now)). This system limits the possibility of huge swarms of monsters on easier difficulties.