Jump to content

Improved Hordes [A20.5]


FilUnderscore
 Share

Recommended Posts

spacer.png

[v1.1.1]

Horde alert, Survivor!

The hordes we've been getting recently seem to be... different. The old scouts seem to have returned alongside the screamer,

and the wandering hordes have been acting smarter-than-usual. The animals seem to have also been affected... what's going on?

 

Backstory:

 

This mod was initially an idea I came up with after playing A19, and reflecting on the past alphas where I felt wandering hordes used to be more dangerous and unpredictable. I wanted to bring this back and focus on improving both wandering hordes and scout hordes, to bring more difficulty (and customization) into the game, as I felt the only real threat was the blood moon.

 

Features:

 

  • Improved hordes
    • Customizable hordes that scale with gamestage progression to always keep the game feeling difficult. (Note: Balancing is still WIP.)
    • Combines a new heatmap system with the vanilla heatmap system for smarter difficulty scaling, taking biomes into account.
    • Additionally, hordes can also be grouped into larger hordes to allow for variations in enemies.
  • Better wandering hordes
    • Wandering hordes work off a schedule generated at the end of every blood moon (except for Day 1/whatever day you are on when the mod is first initialized). This schedule also determines what hordes are feral and which aren't.
      • Feral hordes can sense your location and wander closer to increase the chances of encountering you especially near buildings. Non-feral hordes wander by in more distant proximity and are not as harmful, meaning you might not even notice them sometimes.
  • Refreshed scout hordes
    • Scouts have gotten a refresh, namely the addition of feral scout hordes.
      • The likelihood of a scout horde being feral increases as you hang around in an area.
      • As scouts scream, they contribute more heat to nearby areas which attracts harder hordes in these areas, thereby increasing the likelihood of a feral scout spawning.

      • Feral scouts are much more aggressive and will stick around 2x longer than a regular scout. They have a tendency for attracting more zombies than expected.

        • The benefit of this however is that scouts will now walk away given enough time and no disturbances in the environment are sensed (that means don't use your forges/cement mixers/campfires/augers for a while.) If disturbances are sensed, the scouts will stick around for longer, be warned.
      • On a final note, the original spider zombie scout trio have returned in their original, feral, and radiated variants now.
  • New patrol hordes

    • Utilising the new heatmap system, hordes begin to roam frequently visited areas on a determined frequency depending on the amount of heat generated in an area and biome difficulty. Avoiding detection lowers the heat in surrounding areas.

  • Horde AI
    • Changed some base entity behaviors to allow animals in particular to behave alongside zombie hordes.
    • Smarter AI which allows hordes to make use of the game's sensing systems to detect players through sound and sight, making stealth a much more important area of play.
    • Horde Entities rely on command lists to find out what to do next, this behavior is most noticeable with scouts as they can change what they are doing at any moment if they sense a change in the environment around them.

 

Download/Source:

 

> Latest Release for Alpha 20.5 b2: https://github.com/FilUnderscore/ImprovedHordes/releases/latest/download/ImprovedHordes.zip

 

> Previous Releases & Changelog: https://github.com/FilUnderscore/ImprovedHordes/releases

 

> Source Code: https://github.com/FilUnderscore/ImprovedHordes

 

Add-ons

Spoiler

Note: These are optional. The ImprovedHordes mod must be installed for the add-ons to work. Installation for these add-ons is the same as for the ImprovedHordes mod, the folders prefixed with "IH-" go into your 7 Days to Die "Mods" folder.

 

> Bigger Hordes Add-on: https://github.com/FilUnderscore/ImprovedHordes-Addons/releases/latest/download/IH-BiggerHordesAddon.zip

  • Increases the maximum size of hordes when spawned.

 

> Random Hordes Add-on: https://github.com/FilUnderscore/ImprovedHordes-Addons/releases/latest/download/IH-RandomHordesAddon.zip

  • Removes gamestage dependent spawn count increases and instead lets the zombie hordes occur at random sizes. You could get big or small hordes, totally random.

 

> Reduced Screamer Scout Spawns Add-on: https://github.com/FilUnderscore/ImprovedHordes-Addons/releases/latest/download/IH-ReducedScreamerScoutSpawnsAddon.zip

  • Halves the chance that a screamer will spawn. To further modify the chance, you can modify the XML file included in the "IH-ReducedScreamerScoutSpawnsAddon" folder in your Mods folder.

 

> No Screamer Scouts Add-on: https://github.com/FilUnderscore/ImprovedHordes-Addons/releases/latest/download/IH-NoScreamerScoutsAddon.zip

  • Makes it so scouts no longer spawn.

 

To download all add-ons at once: https://github.com/FilUnderscore/ImprovedHordes-Addons/archive/refs/heads/dev.zip

 

Note: If there are not many zombies, change the max_alive_per_horde_player setting in your "Mods/ImprovedHordes/Config/ImprovedHordes/settings.xml" file.

 

Installation:

 

Note: This mod can be added to existing saves to start working, no new save is required. Testing has been done on removing the mod from an existing save game, and no issues have currently been uncovered.

 

For Clients:

Note: This mod is not client-side EAC-compatible and will not run with EAC enabled due to how mod DLL loading works in A20.

 

Download and extract the latest release into the Mods folder in your 7 Days to Die install folder (create one if it does not exist).

 

To verify you have installed the mod correctly, located inside your Mods folder should be an ImprovedHordes folder (containing the Config folder, ImprovedHordes.dll and ModInfo.xml files).

 

Settings can be modified in the Config/ImprovedHordes/settings.xml file in the ImprovedHordes mod folder.

 

For Dedicated Servers:

The mod only needs to be installed on the server, as it is a server-side mod, so any client that joins your server without the mod installed will be able to experience it. The installation instructions are the same as the above, however it is installed in the Mods folder of the dedicated server.

 

Commands:

 

For more information about the commands, type in the in-game console

help improvedhordes

 

Note: Requires a permission level of 0.

 

Wiki:

 

For information such as changing mod settings or creating your own custom wandering/scout hordes, check out the Improved Hordes Wiki at https://github.com/FilUnderscore/ImprovedHordes/wiki

 

Mod Support:

 

Although mod support has not yet been tested, this should work with other mods that add new entities into the game that use the AI ApproachSpot/Wander properties, and can also be manually added with xpath. Mods that modify AI behavior may not work with this.

 

Screenshots:

 

spacer.png

 

spacer.png

 

spacer.png

 

spacer.png

 

Terms Of Use:

https://community.7daystodie.com/topic/26781-improved-hordes-a20/?do=findComment&comment=463276

Edited by FilUnderscore (see edit history)
  • Thanks 2
Link to comment
Share on other sites

6 hours ago, HYper said:

debating getting this, lol.. got murdered at wasteland, if its like that, i may get tight and quit game haha...

 

I’ve tried to ensure that the hordes start out easy as you progress, by default the hordes will always be somewhat easier than the blood moon hordes around the same gamestage (still working on the balancing part though). Part of the challenge is not only the difficulty of the zombies but also the unpredictable nature of when they appear. You can also tweak a lot of the settings as well in the XML files if you want to make them easier/more difficult if the default options don’t work for you.

  • Like 1
Link to comment
Share on other sites

thanks for replying. ive been using anothers mod for horde x2 i think but likely change to yours to see since it seems more progress based than just straight random x2

 

thanks for modding!

Link to comment
Share on other sites

I am having a bit of trouble with this mod, every now and then it continuously spawns screamers and then I get a never ending horde and the only way to get rid of it is to run away.... (character level is ~100) any ideas?

Link to comment
Share on other sites

32 minutes ago, LongParsnip said:

I am having a bit of trouble with this mod, every now and then it continuously spawns screamers and then I get a never ending horde and the only way to get rid of it is to run away.... (character level is ~100) any ideas?

 

I'm releasing a fix for this in a couple of hours that should address this, usually around 10 or so zombies should be spawning at this level (not an infinite amount). In the meantime if anyone else is experiencing this, rejoining the game will end any infinite occurring scout hordes. Sorry about that.

Link to comment
Share on other sites

1 hour ago, LongParsnip said:

I am having a bit of trouble with this mod, every now and then it continuously spawns screamers and then I get a never ending horde and the only way to get rid of it is to run away.... (character level is ~100) any ideas?

 

11 minutes ago, Espio said:

I ended up getting my console flooded with GameUpdate errors and needing to alt-f4, dunno if it's a mod conflict or due to an infinite amount of hordes being spawned from screamers.  I can give my modlist if necessary unless this is known about already.

 

https://www.youtube.com/watch?v=CEVT33xzcXY have a video if that does anything.

 

A new update has been released (1.0.0-PRE5) that should address both of these issues and a few others. Please let me know if you continue to have the same issues after trying the new version.

Link to comment
Share on other sites

Found another GameUpdate bug.  Using 1.0.0-pre5, this time occuring on world load after manual exit.

 

https://imgur.com/W1f3iuh

 

2022-01-03T03:10:20 3375.974 INF [Improved Hordes] [Wandering Horde] Occurrence 2 Spawning
2022-01-03T03:10:20 3375.976 ERR [MODS] Error while executing GameUpdate on mod "ImprovedHordes"
2022-01-03T03:10:20 3375.979 EXC Object reference not set to an instance of an object
  at ImprovedHordes.Horde.HordeSpawner.GetNearbyPlayers (EntityPlayer player) [0x00000] in <825ddc16f322453cbbf25ff25535f0e8>:0 
  at ImprovedHordes.Horde.HordeSpawner.GetAllHordeGroups () [0x0004c] in <825ddc16f322453cbbf25ff25535f0e8>:0 
  at ImprovedHordes.Horde.Wandering.WanderingHordeSpawner.SpawnWanderingHordes () [0x00036] in <825ddc16f322453cbbf25ff25535f0e8>:0 
  at ImprovedHordes.Horde.Wandering.WanderingHordeManager.Update () [0x0007a] in <825ddc16f322453cbbf25ff25535f0e8>:0 
  at ImprovedHordes.ImprovedHordesManager.Update () [0x00014] in <825ddc16f322453cbbf25ff25535f0e8>:0 
  at ImprovedHordes.ImprovedHordesMod.GameUpdate () [0x00007] in <825ddc16f322453cbbf25ff25535f0e8>:0 
  at ModEvent.Invoke () [0x00011] in <2ba1bc1bbbe64fe49f53fe5235fb7038>:0 
UnityEngine.StackTraceUtility:ExtractStringFromException(Object)

 

Edited by Espio
some actual log to help a bit more (see edit history)
Link to comment
Share on other sites

Just now, Espio said:

Found another GameUpdate bug.  Using 1.0.0-pre5, this time occuring on world load after manual exit.

 

https://imgur.com/W1f3iuh


Alright, could you post your output log (the one found in 7DaysToDie/7DaysToDie_Data starting with output_log…) either here (or put it on https://pastebin.com/ and share it here). That should help me pinpoint where this is happening.

Link to comment
Share on other sites

Posted (edited)

Terms of Use:


Definitions:

Use:

  • You are allowed to use Improved Hordes with or without any kind of modifications made to its source material.

Distribution:

  • You are not allowed to distribute the Binaries and/or Source Code and/or XML Files of Improved Hordes in exchange for payment.
  • You are allowed to distribute modifications made to the XML Files of the Improved Hordes mod provided you give appropriate credit to the Mod Author and provide a link to the original sources of Improved Hordes and these Terms of Use.
  • You are not allowed to distribute the original nor modified Binaries and/or Source Code of the Improved Hordes mod without prior written consent from the Mod Author.
  • You are allowed to distribute links to the original sources of Improved Hordes.

Modification:

  • Any modifications made to the Improved Hordes Source Code and Binaries are limited to private use only if not stated otherwise with written consent from the Mod Author.

Liability:

  • Mod Author is not responsible for any damage that may be caused during an incorrect or correct installation of Improved Hordes.

Written Consent:

  • If you have been given written consent from the Mod Author to do one or more of the following: use, reuse, distribute, duplicate, copy or modify Improved Hordes outside of private use only, you are obligated to give appropriate credit to the Mod Author, provide a link to the original sources of Improved Hordes and these Terms of Use, and indicate if changes were made. You may do so in any reasonable matter, but not in any way that suggests the Mod Author endorses you or your use.

 

All rights to the Improved Hordes Binaries, Source Code, and XML Files are shared with The Fun Pimps.

 

Edited by FilUnderscore (see edit history)
  • Like 1
Link to comment
Share on other sites

9 hours ago, Espio said:

Got another mini-bug loading up a world on latest pre-6:

 

2022-01-04T23:57:17 14502.052 ERR [MODS] Error while executing GameStartDone on mod "ImprovedHordes"

2022-01-04T23:57:17 14502.057 EXC Variable week is already defined.

 

https://pastebin.com/vyXeTeL5

 

Thanks for reporting this, released a fix for it in 1.0.0-PRE7.

Link to comment
Share on other sites

8 hours ago, Surf said:

Would anyone happen to know if this mod works with enZombies?

If not I will test and report back 🙂

 

7 hours ago, Surf said:

Update: Someone on the enZombies thread has confirmed that the two are compatable.

That's good to hear, though some of the zombies may not appear in the hordes that the mod generates due to the fact that hordes need to be manually set up. I've put up a guide on the wiki on how to go about adding new horde groups in the hordes.xml file for anyone interested in that. I'm looking into integrating XPath as well if mod authors of these zombie mods would be interested in some kind of feature like that to include as an add-on to integrate with Improved Hordes. The only mods that might not work would be ones that drastically change how Zombie AI pathing works.

  • Like 3
Link to comment
Share on other sites

16 hours ago, FilUnderscore said:

 

That's good to hear, though some of the zombies may not appear in the hordes that the mod generates due to the fact that hordes need to be manually set up. I've put up a guide on the wiki on how to go about adding new horde groups in the hordes.xml file for anyone interested in that. I'm looking into integrating XPath as well if mod authors of these zombie mods would be interested in some kind of feature like that to include as an add-on to integrate with Improved Hordes. The only mods that might not work would be ones that drastically change how Zombie AI pathing works.

That would be awesome!

Link to comment
Share on other sites

Posted (edited)
1 hour ago, Rodent said:

Quick question, can the friendly animal portion of this mod be disabled?

Absolutely, are you talking about the friendly animal wandering hordes (stags, boars, etc.)? You can edit them out in the Config/ImprovedHordes/hordes.xml file found inside the mod folder.

 

Here's a version of the hordes.xml without the friendly wandering hordes. The changes are applied on game restart.

Spoiler
<?xml version="1.0" encoding="UTF-8"?>

<!-- Define horde enemies for Improved Hordes. -->
<hordes>
	<horde type="wandering">
		<hordegroup name="ZombieDogs" prefWeekDay="3,6,7" maxWeeklyOccurrences="2">
			<gs min="5" countIncPerGS="0.1">
				<entity name="animalZombieDog" minCount="1" maxCount="20"/>
			</gs>
		</hordegroup>
		
		<hordegroup name="Wolfs" weight="0.5" prefWeekDay="1,2,3,6" maxWeeklyOccurrences="1">			
			<gs min="10" countIncPerGS="0.033">
				<entity biomes="desert,snow" name="animalCoyote" minCount="1" maxCount="6"/>
				<entity biomes="pine_forest,burnt_forest" name="animalWolf" minCount="2" maxCount="6"/>
			</gs>
			
			<gs min="50" countIncPerGS="0.025">
				<entity biomes="pine_forest,desert,wasteland,burnt_forest" name="animalDireWolf" minCount="1" maxCount="3"/>
				<entity biomes="snow" name="animalMountainLion" minCount="1" maxCount="3"/>
			</gs>
		</hordegroup>
		
		<hordegroup name="Bears" weight="0.5" prefWeekDay="1,2,3" maxWeeklyOccurrences="1">
			<gs min="50" countIncPerGS="0.02">
				<entity biomes="pine_forest,snow" name="animalBear" minCount="1" maxCount="6"/>
			</gs>
			
			<gs min="100" countIncPerGS="0.02">
				<entity biomes="wasteland,burnt_forest" name="animalZombieBear" minCount="1" maxCount="7"/>
			</gs>
		</hordegroup>
		
		<hordegroup name="Deserted" weight="0.1" prefWeekDay="4,5" maxWeeklyOccurrences="1">
			<gs min="20" countIncPerGS="0.03">
				<entity biomes="desert,burnt_forest,wasteland" name="animalZombieVulture" minCount="1" maxCount="4"/>
				<entity biomes="desert,pine_forest" name="animalSnake" minCount="1" maxCount="3"/>
			</gs>
				
			<gs min="100" countIncPerGS="0.025">
				<entity biomes="wasteland" name="animalZombieVultureRadiated" minCount="1" maxCount="4"/>
			</gs>
		</hordegroup>
		
		<hordegroup name="Zombies">
			<!-- Standard Zombies -->
			<gs max="100" countIncPerGS="0.417" countDecGS="48" countDecPerPostGS="0.417">
				<gs min="15" max="75">
					<entity name="zombieScreamer" chance="0.1" minCount="1" maxCount="1"/>
				</gs>
			
				<entity group="ZombiesAll" minCount="3" maxCount="20"/>
			</gs>
			
			<!-- Example of GS
			Start spawning at GS100 and increase count by 0.02 per GS from there, 
			at GS400 start decreasing spawn count by 0.1 per GS after 400, 
			then cease any remaining spawns at GS700.-->
			<!-- Feral Zombies -->
			<gs min="50" max="375" countIncPerGS="0.18" countDecGS="160" countDecPerPostGS="0.18">
				<gs min="75" max="250">
					<entity name="zombieScreamerFeral" chance="0.2" minCount="1" maxCount="1"/>
				</gs>
				
				<entity group="IHZombiesAllFeral" minCount="1" maxCount="20"/>
			</gs>
			
			<!-- Radiated Zombies -->
			<gs min="166" countIncPerGS="0.18">
				<gs min="250">
					<entity name="zombieScreamerRadiated" chance="0.25" minCount="1" maxCount="1"/>
				</gs>
			
				<entity group="IHZombiesAllRadiated" minCount="1" maxCount="40"/>
			</gs>
		</hordegroup>
		
		<!-- <hordegroup name="Stags" weight="0.75" parent="Farm" maxWeeklyOccurrences="1">
			<entity biomes="pine_forest,snow" name="animalStag" minCount="1" maxCount="2"/>
			<entity biomes="pine_forest,snow" name="animalDoe" minCount="1" maxCount="1"/>
		</hordegroup>
		
		<hordegroup name="Boars" weight="0.75" parent="Farm" maxWeeklyOccurrences="1">
			<entity biomes="pine_forest" name="animalBoar" minCount="1" maxCount="2"/>
		</hordegroup>
		
		<hordegroup name="Farm" weight="0.5" maxWeeklyOccurrences="1">
			<entity horde="wandering" group="Stags" maxCount="2"/>
			<entity horde="wandering" group="Boars" maxCount="2"/>
			<entity name="animalChicken" minCount="2" maxCount="3"/>
			<entity name="animalRabbit" minCount="1" maxCount="2"/>
		</hordegroup> -->
	</horde>
	
	<!-- Scouts -->
	<horde type="scouts">
		<hordegroup name="ScreamerScout" weight="0.75">
			<!-- Standard Screamer -->
			<gs min="25" max="75">
				<entity name="zombieScreamer" minCount="1" maxCount="1"/>
			</gs>
			
			<!-- Feral Screamer Scout -->
			<gs min="76" max="250">
				<entity name="zombieScreamerFeral" minCount="1" maxCount="1"/>
			</gs>
			
			<!-- Radiated Screamer Scout -->
			<gs min="251">
				<entity name="zombieScreamerRadiated" minCount="1" maxCount="1"/>
			</gs>
		</hordegroup>
		
		<!-- Classic spider zombie trio -->
		<hordegroup name="SpiderScouts" weight="0.25">
			<gs min="25" max="100" countIncPerGS="0.042">
				<entity name="zombieSpider" minCount="1" maxCount="3"/>
			</gs>
			
			<gs min="101" max="250" countIncPerGS="0.035">
				<entity name="zombieSpiderFeral" minCount="1" maxCount="3"/>
			</gs>
			
			<gs min="251" countIncPerGS="0.03">
				<entity name="zombieSpiderRadiated" minCount="1" maxCount="3"/>
			</gs>
		</hordegroup>
	</horde>
	
	<!-- Scout horde spawned by scouts -->
	<horde type="scout">
		<hordegroup name="Zombies">
			<gs min="25" max="200" countIncPerGS="0.075" countDecGS="151" countDecPerPostGS="0.075">
				<gs min="50">
					<entity horde="scouts" chance="0.1"/> <!-- Entity types allow you to integrate other hordes into different hordes -->
				</gs>

				<entity group="ZombiesAll" minCount="2" maxCount="8"/>
			</gs>
			
			<gs min="151" max="400" countIncPerGS="0.075" countDecGS="301" countDecPerPostGS="0.075">
				<gs min="175">
					<entity horde="scouts" chance="0.25"/>
				</gs>
			
				<entity group="IHZombiesAllFeral" minCount="2" maxCount="8"/>
			</gs>
			
			<gs min="301" countIncPerGS="0.075">
				<gs min="301">
					<entity horde="scouts" chance="0.5"/>
				</gs>
			
				<entity group="IHZombiesAllRadiated" minCount="1" maxCount="10"/>
			</gs>
		</hordegroup>
	</horde>
</hordes>

 

 

Edited by FilUnderscore (see edit history)
  • Like 1
Link to comment
Share on other sites

IMPROVED HORDES 1.0.0-STABLE RELEASED FOR A20 B238.

 

Changelog:

 

Added

  • XPath support for modlet integration with Improved Hordes. Check out the wiki page for more information.
  • Hordes can now be customized to support different groups of zombies for both day and night, see the wiki page for more on implementation.
  • The wasteland now has its own unique group of zombies in wandering/scout hordes, to further enhance the wasteland experience.
    • Utilizing the new day/night functionality, more dangerous zombies will be roaming the wasteland at night when hordes occur.

Changed

  • Default setting max_alive_per_horde_player changed from 8 to 10. This can be changed in the settings.xml file, see the wiki page for more information.
  • The friendly animal wandering hordes will now only spawn primarily in the pine forest, snow, and desert biomes once in a while.
  • Scouts now start spawning sooner at gamestage 15 (previously gamestage 25).
  • Scouts now have an increasingly likely chance of summoning more scouts as your gamestage increases, topping off to 50% at gamestage 200.
  • Scouts now linger around for longer periods of time instead of immediately walking away when reaching their destination.
  • Scouts can now summon multiple zombie hordes given enough time.
    • To combat this, scouts now have a prolonged delay on screaming depending on the number of zombie hordes summoned per scout.
    • A maximum of 3 hordes can be summoned by any scouts in an area by default, for more information on changing this setting, check the wiki page here.
  • Horde group balancing changes.

 

Install Instructions are now additionally included in a readme.txt file inside the zip. The updated install instructions are to extract the contents of the zip into your 7D2D Mods folder, as with every other mod.

Edited by FilUnderscore (see edit history)
  • Like 2
Link to comment
Share on other sites

First off, i'm loving this mod for how it alters the normal play patterns when dealing with zombies. Thank You for your efforts!

I downloaded the latest version because i was going to let you know that attempting the settime console command on version 0.0.7 caused the game to crash and kill the save. No big deal as i was only testing hordes spawning ratios for entities, but thought i should let you know. 

That being said, i opened the new download before deleting the old version and my download from github has no .dll file anymore. In fact the ImprovedHordes folder only has xml files. Does this mod no longer need the .dll file?

Link to comment
Share on other sites

3 minutes ago, magejosh said:

First off, i'm loving this mod for how it alters the normal play patterns when dealing with zombies. Thank You for your efforts!

I downloaded the latest version because i was going to let you know that attempting the settime console command on version 0.0.7 caused the game to crash and kill the save. No big deal as i was only testing hordes spawning ratios for entities, but thought i should let you know. 

That being said, i opened the new download before deleting the old version and my download from github has no .dll file anymore. In fact the ImprovedHordes folder only has xml files. Does this mod no longer need the .dll file?

I've packaged the mod differently since I had a few complaints with issues on installing the mod. There should be an ImprovedHordes folder inside the zip that contains the files (and the DLL), not sure if people prefer this way or the old way. Just checking, you did download the zip from the releases page?

  • Like 2
Link to comment
Share on other sites

  • FilUnderscore changed the title to Improved Hordes [A20.5]

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...