Jump to content

Prefab Editor (Alpha)


Pille

Recommended Posts

Ohhhhh.... it wasnt a dream it wasn't a dream lol..... there really is a sleeper generator. Sweeeeet.

 

Few questions now lol -

 

1. The inactive list and the active list. If I move some groups over to the active side and leave others in the inactive. Do the inactive generate woth the active but don't get used or.... how does that work.

 

2. I generated sleepers and sleeper volumes lol and there is literally thousands of zs generated lol...... yet when I generate sleeper volumes it doesn't do the whole prefab only like 5 levels.. there is still 15 levels that didn't get generated even tho when I generated sleepers they generated on all levels.

Link to comment
Share on other sites

I am going to make a tutorial ^^(hopefully today or tomorrow).

 

1. The inactive list and the active list. If I move some groups over to the active side and leave others in the inactive. Do the inactive generate woth the active but don't get used or.... how does that work.

 

Fixed in version 0.3z(b).

Edited by Pille (see edit history)
Link to comment
Share on other sites

I am going to make a tutorial ^^(hopefully today or tomorrow).

 

.

 

I'll get back to you with some more constructive feedback, but at first glance the sleeper generator is doing a good job of seeding plenty of sleeper blocks throughout the prefabs I've tested on. The volumes look rather crazy, it created 39 separate ones (vanilla shamway factory is my test piggy) and although some are quite clearly not placed well I can't wait to load a few of these up and see how it works out.

 

Can't wait for your tutorial, I think it may help me refine things a little but honestly as it is, I think this is looking pretty damn sweet (and a bloody huge timesaver). I'll run this through the whole south side of Slaanhatten for the next release (soon ) as we're due to be setting up another playthrough soon on our server It will give you and others the opportunity to see you magic at work on a reasonably large scale.

 

Thanks!

Link to comment
Share on other sites

at first glance the sleeper generator is doing a good job of seeding plenty of sleeper blocks throughout the prefabs I've tested on. The volumes look rather crazy, it created 39 separate ones (vanilla shamway factory is my test piggy) and although some are quite clearly not placed well I can't wait to load a few of these up and see how it works out.

 

This is great news... as I have been hovering over that "generate" button but never had the guts to click it, and so I have no sleepers yet, in any of my prefabs. I'll be keeping an eye on this post for sure as I would like to know how things work out for your testing.

I've avoided sleepers in my Ancient Tomb prefab mainly because I thought it was a complicated procedure, but after a few YT videos from Guppy and others Im not "scared" anymore.

Link to comment
Share on other sites

I think manually doing sleeper volumes will always yield much better results, especially so if you're trying to setup a particular story or theme.

 

However, I have literally 100's of prefabs that could do with some kind of sleeper love but I can't spare the time to invest in decent setups for things that will most likely be replaced in the future so this generator is a dream come true in those circumstances. I'll take zombie spawns in whatever shape possible when the choice is between that and nothing.

Link to comment
Share on other sites

I think manually doing sleeper volumes will always yield much better results, especially so if you're trying to setup a particular story or theme.

 

However, I have literally 100's of prefabs that could do with some kind of sleeper love but I can't spare the time to invest in decent setups for things that will most likely be replaced in the future so this generator is a dream come true in those circumstances. I'll take zombie spawns in whatever shape possible when the choice is between that and nothing.

 

I am with you slaan on the taking whatever zombie spawn over none to. I can def understand with your slaanhatten lol. I gave the same challenge with my airport lol

Link to comment
Share on other sites

The Sleeper Generator

 

Hey Guys,

 

that's not really a tutorial but a quite detailed explanation of functions and settings of the sleeper generator (not done yet).

 

(To-Do: check grammar, check content, improve layout, add pics and links)

 

 

What's the purpose of the Sleeper Generator?

 

* It's a fast and simple way to create working sleeper spawns (sleepers + sleeper volumes).

* In terms of quality, the sleeper generator cannot match up to manually placed sleepers but it's much faster.

 

 

How to use this thing?

 

  1. Load a prefab
  2. Click on the tab 'Sleeper Generator' (see pic.)
  3. Adjust the sleeper density (see explanation below) and click on 'Auto-generate sleepers'
  4. Adjust all other settings and click on 'Auto-generate Sleeper volumes' (may take a while)
  5. If the result is not satisfying click on 'Remove all sleepers' and 'remove all volumes', change the settings and start over

 

 

Functions (Buttons)

 

 

Auto-generate Sleepers

 

  • The function replaces a certain amount of all air blocks that meet certain criteria (see list bellow) with sleeper blocks.
  • The sleeper blocks are randomly chosen (there're 6 different species of sleeper zombies).
  • The likelihood that an air block will be replaced is called 'Sleeper Density'. So if you set the text field 'Sleeper Density' to 100 (100 %) all air blocks fulfilling the conditions stated bellow will become sleepers. The default value 5 may be a bit too high.

 

Criteria for air blocks (air blocks that meet these conditions may be replaced with sleepers):

  • There is a non-air block beneath the block (because we want to spawn the sleepers on the ground. Without this condition they would appear in mid-air).
  • There's no sleeper block directly below the air block (since we don't want to spawn sleepers on the heads of earlier placed zombies).
  • There's a non-air block somewhere above the block (the zombies are supposed to occur inside buildings or at least in roofed areas. This criterion prevents spawn under the open sky).
  • There's is an air block directly above the block (since some sleepers are two blocks high).

 

 

Settings:

 

Sleeper Density:

  • (see Auto-generate Sleepers)

 

 

Auto-generate Sleeper volumes

  • Generates sleeper volumes using the methods and settings listed below.

 

Settings:

 

GameStageAdjust (simple method only):

  • This setting assigns random 'SleeperVolumeGameStageAdjust' values to the automatically generated sleeper volumes using a normal distribution (link). I think sigma is GameStageAdjust/5.
  • The GameStageAdjust is the avarage 'SleeperVolumeGameStageAdjust' value of your sleeper volumes.
  • Using the default value of 300 you will see number between 150 and 450 for the most of your volumes.
  • For some reason this function is only avaiable in simple mode (you have to select the 'Volume placing method simple'). That's not intended. :)

 

SleeperIsLootVolume prob. (or SleeperIsLootVolume probability in percent.):

  • Should be self-explaining: randomly checks the checkboxes 'SleeperIsLootVolume' of your auto. generated volumes.

 

Volumes size (horizontal) ('Volume placing method simple' only)

  • (see 'Volume placing method simple')

 

Volumes size (vertical) ('Volume placing method simple' only)

  • (see 'Volume placing method simple')

 

Volume placing method 'simple':

  • The underlying algorithm of this method is quite simple.^^
  • The algorithm places sleeper volumes around certain zombies.
  • The size of those volumes is defined in the text fields 'Volume size (horizontal)' and 'Volume size (vertical)'.
  • Not everyone gets its own volume but a certain amount of all sleepers.
  • The likelihood that a volume will spawn around a zombie is called 'Volume probability'. So a probability of 100 means that each zed will get a volume (only true in simple method).

 

Volume placing method 'smart':

  • This method tries to place the volumes room-wise (the simple placing method is a 'zombie-wise' approach) using a random-walk based algorithm.
  • It works quite well for rooms with a simple geometry and should be superior to the other method in most cases. However, complex areas and large openings to other rooms or to the outside may lead to strange looking results.
  • The size of the rooms roughly determines the size of the volumes. The volume size is equal to the room size for simple rectangular rooms.
  • The results in smart mode are non-deterministic
  • The likelihood that a volume will spawn in the room around a zombie is called 'Volume probability'. Zeds already assigned to a volume will not generate new vol. (prevents clone volumes)

 

Room size parameter (smart method only):

  • Affects the size of the sleeper volumes (higher values result in bigger volumes).
  • Don't touch it unless your rooms are very big and you want volumes completely covering these rooms.

 

Random SleeperVolumeGroups (Inactive and active list):

  • You can randomize the 'SleeperVolumeGroup' of your automatically generated volumes by moving elements from the inactive list to the active list.
  • So the 'SleeperVolumeGroup' are randomly selected from the active list.
  • If the active list is empty the SleeperVolumeGroups will be set to S_LootRoom_XS.
  • Make sure you're using Zombie v0.3z(b). Otherwise this feature won't work with the smart method.

 

Remove all sleepers

  • Deletes all sleepers (no matter if automatically or manually placed)

 

Remove all Sleeper volumes

  • Deletes all sleeper volumes (no matter if automatically or manually placed)

 

Remove sleepers outside volumes

  • Deletes sleepers without volumes (since these guys will never spawn)

Edited by Pille (see edit history)
Link to comment
Share on other sites

Hey Guys,

 

that's not really a tutorial but a quite detailed explanation of functions and settings of the sleeper generator (not done yet).

(To-Do: check grammar, check content, improve layout, add pics and links)

 

 

What's the purpose of the Sleeper Generator?

 

* It's a fast and simple way to create working sleeper spawns (sleepers + sleeper volumes).

* In terms of quality, the sleeper generator cannot match up to manually placed sleepers but it's much faster.

 

 

How to use this thing?

 

  1. Load a prefab
  2. Click on the tab 'Sleeper Generator' (see pic.)
  3. Adjust the sleeper density (see explanation below) and click on 'Auto-generate sleepers'
  4. Adjust all other settings and click on 'Auto-generate Sleeper volumes' (may take a while)
  5. If the result is not satisfying click on 'Remove all sleepers' and 'remove all volumes', change the settings and start over

 

 

Functions (Buttons)

 

 

Auto-generate Sleepers

 

  • The function replaces a certain amount of all air blocks that meet certain criteria (see list bellow) with sleeper blocks.
  • The sleeper blocks are randomly chosen (there're 6 different species of sleeper zombies).
  • The likelihood that an air block will be replaced is called 'Sleeper Density'. So if you set the text field 'Sleeper Density' to 100 (100 %) all air blocks fulfilling the conditions stated bellow will become sleepers. The default value 5 may be a bit too high.

 

Criteria for air blocks (air blocks that meet these conditions may be replaced with sleepers):

  • There is a non-air block beneath the block (because we want to spawn the sleepers on the ground. Without this condition they would appear in mid-air).
  • There's no sleeper block directly below the air block (since we don't want to spawn sleepers on the heads of earlier placed zombies).
  • There's a non-air block somewhere above the block (the zombies are supposed to occur inside buildings or at least in roofed areas. This criterion prevents spawn under the open sky).
  • There's is an air block directly above the block (since some sleepers are two blocks high).

 

 

Settings:

 

Sleeper Density:

  • (see Auto-generate Sleepers)

 

 

Auto-generate Sleeper volumes

  • Generates sleeper volumes using the methods and settings listed below.

 

Settings:

 

GameStageAdjust (simple method only):

  • This setting assigns random 'SleeperVolumeGameStageAdjust' values to the automatically generated sleeper volumes using a normal distribution (link). I think sigma is GameStageAdjust/5.
  • The GameStageAdjust is the avarage 'SleeperVolumeGameStageAdjust' value of your sleeper volumes.
  • Using the default value of 300 you will see number between 150 and 450 for the most of your volumes.
  • For some reason this function is only avaiable in simple mode (you have to select the 'Volume placing method simple'). That's not intended. :)

 

SleeperIsLootVolume prob. (or SleeperIsLootVolume probability in percent.):

  • Should be self-explaining: randomly checks the checkboxes 'SleeperIsLootVolume' of your auto. generated volumes.

 

Volumes size (horizontal) ('Volume placing method simple' only)

  • (see 'Volume placing method simple')

 

Volumes size (vertical) ('Volume placing method simple' only)

  • (see 'Volume placing method simple')

 

Volume placing method 'simple':

  • The underlying algorithm of this method is quite simple.^^
  • The algorithm places a sleeper volume around certain zombies.
  • The size of those volumes is defined in the text fields 'Volume size (horizontal)' and 'Volume size (vertical)'.
  • Not everyone gets its own volume but a certain amount of all sleepers.
  • The likelihood that a volume will spawn around a zombie is called 'Volume probability'. So a probability of 100 means that each zed will get a volume (only true in simple method).

 

Volume placing method 'smart':

  • This method tries to place the volumes room-wise (the simple placing method is a 'zombie-wise' approach) using a random-walk-based algorithm.
  • It works quite well for rooms with a simple geometry and should be superior to the other method in most cases. However, complex areas and large openings to other rooms or to the outside may lead to strange looking results.
  • The size of the rooms roughly determines the size of the volumes. The volume size is equal to the room size for simple rectangular rooms.
  • The results in smart mode are non-deterministic
  • The likelihood that a volume will spawn in the room around a zombie is called 'Volume probability'. Zeds already assigned to a volume will not generate new vol. (prevents clone volumes)

 

Room size parameter (smart method only):

  • Affects the size of the sleeper volumes (higher values result in bigger volumes).
  • Don't touch it unless your rooms are very big and you want volumes completely covering these rooms.

 

Random SleeperVolumeGroups (Inactive and active list):

  • You can randomize the 'SleeperVolumeGroup' of your automatically generated volumes by moving elements from the inactive list to the active list.
  • So the 'SleeperVolumeGroup' are randomly selected from the active list.
  • If the active list is empty the SleeperVolumeGroups will be set to S_LootRoom_XS.
  • Make sure you're using Zombie v0.3z(b). Otherwise this feature won't work with the smart method.

 

Remove all sleepers

  • Deletes all sleepers (no matter if automatically or manually placed)

 

Remove all Sleeper volumes

  • Deletes all sleeper volumes (no matter if automatically or manually placed)

 

Remove sleepers outside volumes

  • Deletes sleepers without volumes (since these guys will never spawn)

 

Very nice explanation and guide Pille

Link to comment
Share on other sites

Very nice explanation and guide Pille

Working with this damn forum editor was a pita.^^ So I am glad that you like it.

 

 

I'll get back to you with some more constructive feedback, but at first glance the sleeper generator is doing a good job of seeding plenty of sleeper blocks throughout the prefabs I've tested on. The volumes look rather crazy, it created 39 separate ones (vanilla shamway factory is my test piggy) and although some are quite clearly not placed well I can't wait to load a few of these up and see how it works out.

 

Can't wait for your tutorial, I think it may help me refine things a little but honestly as it is, I think this is looking pretty damn sweet (and a bloody huge timesaver). I'll run this through the whole south side of Slaanhatten for the next release (soon ) as we're due to be setting up another playthrough soon on our server It will give you and others the opportunity to see you magic at work on a reasonably large scale.

 

Thanks!

 

Nice! Maybe I can improve the sleeper generator a bit more before your next release. I have plenty of ideas. :) But first I have to implement the maze generator.^^

Edited by Pille (see edit history)
Link to comment
Share on other sites

I got questions and haven´t found an answer in the forum yet. I ask here because i use this editor to make my sleeper spawns. Don´t want to use the auto generate feature. But thats awesome and works good. I just want to do them per hand because i want to decide what zombie to spawn and where.

 

 

- is there any explanation of the sleepervolumegroups? what zombies are in these groups. how is the difference between S/M/L/XL groups

 

- how can a sleeper only spawn as bear? as example

i have a room and i want to sapwn a specific zombie in there , possible?

 

- can i make own sleepervolumegroups? will it still count as vanilla if possible?

 

- any advice for the sleepervolumegamestageadjustment? i have no idea hows that affected ingame

 

- SleeperIsLootVolume ? yes or no ? i have no clue

Link to comment
Share on other sites

Most of your answers are in gamestages.xml, but I'll see what I can elaborate on:

 

So the group names are just that, group names that can be edited and whatnot. The loot ones use the zombie lists that are in the SleeperGSList from entitygroups, and I find it weird that they're named "loot" when they have nothing to do with loot.

 

So let's look at S_Default_XS, here are the comments in the xml:

 

1. emptyChance:	the chance of the entire sleeper VOLUME having no zombies
2. count:			after emptyChance has been checked, the total number of SLEEPERS spawned is determined by the count
3. decoyChance:	determines how many OF the spawned sleepers will be DECOYS
4. decoy1hpChance:	determines how many OF the spawned decoys will be ONE HIT POINT DECOYS

Full hit point decoys:	Will never wake up due to sight/sound events. Will wake up if attacked.
1 HP decoys:			Will never wake up due to sight/sound events. Will die instantly if attacked.

 

That should help with that.

 

You can make a custom sleeper group in the xml to call from, so yes you can have your bear; just edit the prefab xml to point to it. My ranger station has a nice beary surprise. =)

 

The gamestage adjustment really only affects WHICH actual zombies can spawn from the SleeperGSList, so that if you enter say, the pharma building at level 1 you probably won't get radiated spiders in those harder areas, because you'll be at a GS 0, so even if the modifier is "hard" you'll only get an additional 500, making your GS in that area 500, which gives you a football player, skateboarder, steve and a nurse.

 

Hope the info helps.

Edited by Guppycur (see edit history)
Link to comment
Share on other sites

So my example custom sleeper volumes are as follows:

 

<!-- Begin Guppy -->

<group name="S_GuppyBear" emptyChance="0" decoyChance="0" decoy1hpChance="0">
	<spawner name="SleeperGuppyBear" count="1,2"/>
</group>

<group name="S_GuppyDiner" emptyChance="0" decoyChance="0" decoy1hpChance="0">
	<spawnwer name="SleeperGuppyDiner" count="3,7"/>
</group>

<group name="S_GuppyWights" emptyChance="0" decoyChance="0" decoy1hpChance="0">
	<spawner name="SleeperGuppyWights" count="1,2"/>
</group>

<group name="S_GuppyCop" emptyChance="0" decoyChance="0" decoy1hpChance="0">
	<spawner name="SleeperGuppyCops" count="1,2" />
</group>

<!-- End Guppy -->

 

...then

 

<spawner name="SleeperGuppyBear">
	<gamestage stage="1"><spawn group="SleeperGuppyBearGroup" num="1" maxAlive="1" duration="1"/></gamestage>
</spawner>

<spawner name="SleeperGuppyDiner">
	<gamestage stage="1"><spawn group="SleeperGuppyDinerGroup" num="1" maxAlive="8" duration="1"/></gamestage>
</spawner>	

<spawner name="SleeperGuppyWights">
	<gamestage stage="1"><spawn group="SleeperGuppyWightsGroup" num="1" maxAlive="1" duration="1"/></gamestage>
</spawner>

<spawner name="SleeperGuppyCops">
	<gamestage stage="1"><spawn group="SleeperGuppyCopGroup" num="1" maxAlive="1" duration="1"/></gamestage>
	<gamestage stage="400"><spawn group="SleeperGuppyCopGroupFeral" num="1" maxAlive="1" duration="1"/></gamestage>
	<gamestage stage="600"><spawn group="SleeperGuppyCopGroupRadiated" num="1" maxAlive="1" duration="1"/></gamestage>
</spawner>

 

- - - Updated - - -

 

As you see, you need first the Group name, then the Spawner name, in order for them to work. I do not believe Pille's editor can yet handle custom sleeper volumes, but it may, but it's also not hard to edit the prefab xml manually. Just choose say, S_Badass_L and copy/replace with the custom one inside the prefab's xml.

Link to comment
Share on other sites

Thanks Guppycur.^^

 

As you see, you need first the Group name, then the Spawner name, in order for them to work. I do not believe Pille's editor can yet handle custom sleeper volumes, but it may, but it's also not hard to edit the prefab xml manually. Just choose say, S_Badass_L and copy/replace with the custom one inside the prefab's xml.

 

I don't know. According to the source code, the sleeperGroupVolume List is created using the xml handler. So I think the editor should be able to use custom volumes (not tested yet).

 

 

@Andyjoki

Let me know if you have more questions.

 

 

 

Edit:

 

S_LootRoom_XS and the other vanilla volumes are not defined in the code. Thus, the editor is reading them from the xml files.

Edited by Pille (see edit history)
Link to comment
Share on other sites

The loot ones use the zombie lists that are in the SleeperGSList from entitygroups, and I find it weird that they're named "loot" when they have nothing to do with loot.

 

Probably a naming convention from game design. "Loot" areas have harder spawns and such to protect the booty :p

Link to comment
Share on other sites

Thanks for the explanations pille.

 

The results are really good so far. I think as far as covering an area with 'base' sleeper volumes goes this is a big success, the area's within my prefabs that I feel need a particular setup need to be done manually but for pretty much everything else this really is a huge time saver.

 

The condition that prevents sleepers being spawned in areas that have only air blocks above is a great idea but would it be possible to make this a check box? the reason being, the advantage of having my actual roads and terrain as part of my prefabs mean I can dump sleeper volumes in streets, alleyways, hills and pretty much everywhere else that the game would normally not be able to, and all of these areas are exposed (no blocks above).

 

My work around atm is to build some temporary blocks on the top layers over such places, generating the sleepers and removing them which is still far more time efficient than doing the volumes manually. It's a tough call as I don't want zombies spawning on the roofs of most buildings and the need to disable the check for blocks above is largely dependant on the sections I'm working on.

 

Either way, amazing work.

Link to comment
Share on other sites

Update Time

 

Changelog v0.3z(b) and 0.3z© (Dec. 12, 2017) (uncomplete atm.):

- added checkbox 'allow outdoor spawns' to sleeper generator (sleepers can spawn outside buildings and roofed areas)

- added text field 'forbidden ids' (enter a list of block ids separated by , that prevents sleeper spawns. Sleepers will not spawn on blocks from this list)

- fixed smart mode in sleeper generator doesn't use the 'GameStageaAjust text field and 'SleeperIsLootVolume probability' text field.

 

 

Sorry guys the autoupdater doesn't work atm. due to an issue with mediafire.

 

You can download the update files though (or just wait till they fix their damn website :) ):

 

(32 bit)

 

http://www.mediafire.com/file/bhejz0peqarh2wj/Zombie_%2832_bit%29.zip

 

(64 bit)

 

http://www.mediafire.com/file/0bn5d6r2g2sx0un/Zombie_%2864_bit%29.zip

 

 

(Replace the zombie.exe to install the update)

 

 

 

 

@Guppycur

Mhh I cannot reproduce the problem atm, sorry. Any further hints?

 

 

@VooDoo

I think there is no video showing this feature but the function can be found in the tools tab. I hope it's self-explaining.^^

 

sk1Wq3m.png

Edited by Pille (see edit history)
Link to comment
Share on other sites

@VooDoo

I think there is no video showing this feature but the function can be found in the tools tab. I hope it's self-explaining.^^

 

thanx for the reply

 

tryed to to see if i can do just one block but after reading this but

 

after downloading the new one

 

im getting this error and

764189281_bandicam2017-12-1911-19-53-794.jpg.9d89b7920589b16a8a28ccb1b6c5b9e4.jpg

 

it takes 4 clicks for it to go away..

 

me

Link to comment
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...