Jump to content
xyth

CreaturePacks - A community entity project

Recommended Posts

Pushed version 1.01: Made all bandits, survivors and wandering traders territorial and lowered chase time towards nonplayers to 5 seconds. This will dramatically reduce the ranging of these characters so it then becomes much less likely they will wander into a trading posts protection area. If they do, killing the entity (the console command "killall" works too) will clear the NRE is this rare event should occur.

 

We are still pursuing other fixes as well.

Share this post


Link to post
Share on other sites
Also, Sphereii and I discussed getting the old UMA bandits working again.

 

uRock.jpg.e985114c92471999496dd2e4125fd2a7.jpg

Share this post


Link to post
Share on other sites

Is there a way to make these entities stay within a certain area? Like a Poi; they would guard and only chase you to the front door then turn around and go back? This would be for setting up bases and patrols I guess, among other things. Never leaving a designated area.

Share this post


Link to post
Share on other sites
Is there a way to make these entities stay within a certain area? Like a Poi; they would guard and only chase you to the front door then turn around and go back? This would be for setting up bases and patrols I guess, among other things. Never leaving a designated area.

 

Depending on which type of character you are referring to (bandits, survivors, wandering traders), you will probably need the DMT version to give them specific tasks like that.

Share this post


Link to post
Share on other sites

Without DMT you can't "make them stay" within a certain area, but you can strongly encourage them to do so with just xml edits :-)

 

The territorial AI task is designed to return a character to its starting "area" using its spawn point as a location. This wont return him to the exact spot but he will return to the rough area and remain around there until pulled away. You can remove the breakblock task so the character cant get out of a poi easily. This can be improved by lowering its AI intelligence so it cant find paths out well. You can give them very poor senses so they wont be easily pulled away by chasing targets. You can reduce the chase time as well. There are other xml tricks too, so play with it until you get close to what you want.

Share this post


Link to post
Share on other sites
This can be improved by lowering its AI intelligence so it cant find paths out well. You can give them very poor senses so they wont be easily pulled away by chasing targets. You can reduce the chase time as well.

 

But doing this could be a problem if he really wanted them to be good guards though.

 

they would guard and only chase you to the front door then turn around and go back

 

I mean, if you reduced their intelligence so they wouldn't find paths well and if you gave them poor senses so they wouldn't be easily pulled away by chasing targets, would they still be good as guards at all? Would they still be able to do what he wants them to do? lol

Share this post


Link to post
Share on other sites

SphereII figured out a possible fix, so I am coding up the xml and will push a new version shortly

Edited by xyth (see edit history)

Share this post


Link to post
Share on other sites

Version 1.02 Pushed. The Sphereii method worked great but made the Bandits invulnerable to damage, and that seems a really bad idea, so went old school and made them use the EnemyAnimal class and adjusted targets accordingly. Reduced spawn rates so there are fewer around. Added Icons. The bandits that you can setup to have the game give them weapons were removed from spawning but you can add them back in for testing. The Bandit class provides that weapon spawn, but these guys will NRE if they touch a tradingposts protected area. If you want to use those in your mod, then I recommend you edit all the tradingposts POUI xml to either remove that protection of make it smaller so its inside the walls.

 

Also, those guys drop their weapons and ammo. The club can be used, but i made the AK47 unusable but it scraps to useful parts. The ammo dropped is unusable unless you were to add that item into each weapons ammotypes.

Share this post


Link to post
Share on other sites

Just started playing with this on my heavily modded 18.3(b3) dedicated server, and it seems to be working pretty good! But, the wandering traders were aggressive and indestructible.

Share this post


Link to post
Share on other sites
Just started playing with this on my heavily modded 18.3(b3) dedicated server, and it seems to be working pretty good! But, the wandering traders were aggressive and indestructible.

 

Invulnerable wandering traders is a limit in what vanilla code can do. It's noted in xml documentation. They should not be aggressive to players unless they got hurt then they get a little angry. I will fix that in the next release.

Share this post


Link to post
Share on other sites

I have to say, I'm really liking where this is going. I did like your DMT NPCs as well, but the lack of NPC variety was limiting.

 

I have a couple of general questions:

 

  1. How will other modders create additional NPCs? Through XML only (similar to UMA) or will they need to create new Unity assets? You mentioned custom weapons through XML, but not things like different clothing, armor, skin color, etc.
  2. Is there a plan for adding these NPCs to POI sleeper volumes (EDIT: for NPC-only POIs)? For instance, a set list of groups and spawners for gamestages.xml and the matching entity groups?
  3. Is this in the Mod Launcher yet? :smile-new:
  4. EDIT: forgot one... Are the characters that are currently in your DMT NPC pack, going to be ported to this mod?

 

Obviously this is all still pretty new, so if I can offer any help or suggestions, let me know.

Edited by khzmusik (see edit history)

Share this post


Link to post
Share on other sites

Once the testing shows this is something worth building one I will do some classes or videos on how to build these new entity models. I will likely port over all my existing characters from the bandits, traders and NPC modlets. Likely I will organize this into sub modlets like humanoids, animals, mechs, and fantasy characters. Then moders can just submit the .unity3d files and matching xpath xml for adding into each. These entities work great in pois as sleepers. You can add these to the sleeper gamestage so they appear randomly later in the game or directly add them to specific pois. I may add a sample xpath to add them to gamestages later.

 

I checked on the mod launcher and the current version is there.

Edited by xyth (see edit history)

Share this post


Link to post
Share on other sites
Once the testing shows this is something worth building one I will do some classes or videos on how to build these new entity models. I will likely port over all my existing characters from the bandits, traders and NPC modlets. Likely I will organize this into sub modlets like humanoids, animals, mechs, and fantasy characters. Then moders can just submit the .unity3d files and matching xpath xml for adding into each. These entities work great in pois as sleepers. You can add these to the sleeper gamestage so they appear randomly later in the game or directly add them to specific pois. I may add a sample xpath to add them to gamestages later.

 

I checked on the mod launcher and the current version is there.

 

All of this is good to hear.

 

But, regarding question 2 - I probably wasn't clear enough, even with the edit. My question was about creating "categories" of sleeper volumes, specifically for POI designers, so they can make a creature-dedicated POI that wouldn't have to be changed if another modder adds different creatures. (By "creature-dedicated" I mean things like a bandit camp, survivor-owned house, bunker guarded by mechs, etc.)

 

I'm sure you know this, but for the benefit of people who don't, this is what you need to do to create a custom sleeper volume that spawns (certain kinds of) creatures:

 

  • In gamestages.xml, a named group node, which includes a spawner node, referencing a spawner node (below) by name
  • In gamestages.xml, a named spawner node (usually with "horde" in the name), which includes one or more gamestage nodes, referencing one or more entity groups (below) by name
  • In entitygroups.xml, one or more entitygroup nodes, which includes one or more entity nodes, referencing an entity_class node by name (those are created by the creature designers)

 

Here is the issue. The POI designers will only see the names of the group node in the UI. So, in order for POI designers to have consistent spawn groups, and for creature designers to add their NPCs to this group, the names of all those nodes should be standardized.

 

TFP do this by creating "categories" of each. For example, the group nodes have names that describe their general "context" (purpose, or "kind" of POI): "abandoned house," "ghost town," "lab worker," and so forth.

 

If we all could come up with a standardized name for all of these XML nodes, then creature designers could simply add their creations to the related entitygroup nodes - and they would automatically show up in sleeper volumes of POIs, without either modder even having known about the other.

 

But, to do this, we'd need input from POI designers, since they'd know best what "kind" of creature they'd want to add to their sleeper volumes. As only one example: if you're converting one of the existing "survivor" POIs to include friendly NPCs, you'd want at least one spawn group for the NPCs in the lookout towers, and a different spawn group for the NPCs hanging out in the tents.

 

That's probably not something that needs to happen until all these NPCs are stable. But if this is going to be the "semi-official" way to include NPCs (and if you can pull off what you want, I hope it will be), then it will be something we all should start thinking about.

Edited by khzmusik (see edit history)

Share this post


Link to post
Share on other sites

I agree standards are critical for reuse and scalability, and I appreciate you bringing this one up as I had no idea it will be an issue. We are discussing and vetting standards on this Discord thread. https://discord.gg/DWTnyVh

 

I encourage anyone interested to share their thoughts there.

Share this post


Link to post
Share on other sites
Invulnerable wandering traders is a limit in what vanilla code can do. It's noted in xml documentation. They should not be aggressive to players unless they got hurt then they get a little angry. I will fix that in the next release.

 

Possible eta? Love this mod so far. World feels way more dynamic.

Share this post


Link to post
Share on other sites
Possible eta? Love this mod so far. World feels way more dynamic.

ETA for what exactly? I haven't gotten much feedback yet and I'm traveling this week so next week I will pull this version and release the base version of the 5 creaure packs. I started the tutorial videos to teach others this character creation method so it might be several weeks after that before folks contribute addition characters to the packs.

Share this post


Link to post
Share on other sites
ETA for what exactly? I haven't gotten much feedback yet and I'm traveling this week so next week I will pull this version and release the base version of the 5 creaure packs. I started the tutorial videos to teach others this character creation method so it might be several weeks after that before folks contribute addition characters to the packs.

 

As ironxlings85 said, I was referring to the invincible hulk traders. I aggroed one and it spelt the end of that play through. I appreciated the roadmap you just laid though. Excited for the tutorials.

Share this post


Link to post
Share on other sites
ETA for what exactly? I haven't gotten much feedback yet and I'm traveling this week so next week I will pull this version and release the base version of the 5 creaure packs. I started the tutorial videos to teach others this character creation method so it might be several weeks after that before folks contribute addition characters to the packs.

 

Just the news that you'd be releasing the base version is very welcome news indeed. "Several weeks" is also not very long in the grand scheme of things.

 

This is really starting to look like a game changer, literally. Can't wait to see where it ends up.

Share this post


Link to post
Share on other sites
As ironxlings85 said, I was referring to the invincible hulk traders. I aggroed one and it spelt the end of that play through. I appreciated the roadmap you just laid though. Excited for the tutorials.

 

Oh sorry. The work around is to edit the xml so he will not attack the player when he is hurt. I can push that edit when I get back.

Share this post


Link to post
Share on other sites

Planning on pushing the release version of this mod soon, no later than tomorrow. I will need to delete the old creature pack and replace it with 5 new packs:

 

0-CreaturePackAnimals - Release 1.0 adds a snowfox and a goat

0-CreaturePackFantasy - Adds 2 different "swarms", which are flying things like vultures but more annoying

0-CreaturePackHumans - Various bandits, traders, and survivors

0-CreaturePackMechs - A robot, drone and 2 SphereBots, the avatar of my modding partner SphereII

0-CreaturePackZombies - A Santa zombie and the reference template "Nurse"

 

I may add a few more before release but these are ready to go now.

 

It is important that you remove the old creaturepack modlet from your mods folder before adding these modlets, otherwise expect duplicate files and bad results.

 

As always, these have had little testing so let me know what you find. The xml isnt fancy, as thats not my thing, but it serves to show things off in game, and I expect folks will send me better xml soon.

Edited by xyth (see edit history)

Share this post


Link to post
Share on other sites

The packs are pushed to the Repo, First post updated. If you find anything strange, let me know.

Share this post


Link to post
Share on other sites

Nice! I like how you put the goat pic in the center and a bit bigger than the other characters, it show how much you care about them, lol. I'll try it out:tickled_pink:

Share this post


Link to post
Share on other sites
Nice! I like how you put the goat pic in the center and a bit bigger than the other characters, it show how much you care about them, lol. I'll try it out:tickled_pink:

 

You caught me. That goat was made for my Grand Daughter ;-)

Share this post


Link to post
Share on other sites

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

×
×
  • Create New...