Page 1 of 1

Jackal's server - Spawner

Posted: Tue Apr 30, 2019 7:27 pm
by VooDoo-(DOG)-
Now that we have the new map rotation in place, it is time for us to turn our attention to the new spawner system.

Under the new spawner system, special attention has been paid to the types of enemies spawned and on what particular style of map, this is particulary true for the stock maps and larger campaigns, although of course every single map has been playtested and has it's own "MobsSet" assigned. This effort is to ensure that the map is more immersive and truer to the author's initial intentions. We have playtested each map with no spawner enabled, to see exactly what (and how many) monsters are in the map to start with. Next we noticed if the map had a certain style, ie. skaarj/mercenary base/spaceship, temple, cave, outdoor map, mine etc. The NPController.ini by Masterkent allows us to assign certain MobSets to certain "style" of maps.

For example on the Vortex2 map, only skaarj or pupae are spawned. This makes more sense than using a generic list of all regular enemies (Mobs). when creatures such as mantas, sliths, brutes are being spawned on the Vortex Rikers a certain amount of immersion is lost, therefore enemies are now more appropiate to any given map. For example a "MobsSet" called "SkaarjMaps" is applied to maps like IsvDeck1, ExtremeCore, and QueenEnd.

Similarly, things like no mercenaries or brutes on Chizra. On the Chizra map a different MobsSet will be in use. For example Chizra is much more engaging as a map when the enemies spawned are sliths, any other water creatures, a few extra skaarj, tentacles, the occasional spider or a rare chameleon. It's an atmospheric wet temple and hearing many brutes or mercenaries firing over and over again maybe detracts from that atmosphere and the original author's intent. This is especially true for the stock maps and initially, a lot of attention will be paid to the stock maps first. Of course every map will be given equal consideration, but the stock maps and some of the larger campaigns deserve a greater initial consideration.

Having viewclassed the pawns on all maps, it has been obvious to see that some map authors purposefully omitted brutes for example, so the MobSet applied to that map will contain no brute classes. Similarly, a lot of map authors omitted mercenaries and for those maps, no mercenaries will be spawned. Many of the older maps often contain just about every standard Unreal pawn and these maps will use the default MobSet called "MixedMaps". These are just a few examples of how many degrees of variation can be attained for any given map.

The large campaigns will also definitely benefit from the new spawner system because custom MobsSets can be designed to suit those maps. As an example there is a custom MobsSet called "7BTempleMaps" which is used for the magnificent temples in the Seven Bullets campaign. Maps like these deserve their own MobsSets. It can be seen therefore that we can have a much greater and finer control over the spawner now.

In terms of number of enemies spawned on maps, the first thing we did is make the decision that the number spawned should be a multiple of 5. Dealing with multiples of 5 is much easier to deal with and easier on the eye to work with. So for example any previous number of 21 was rounded down to 20 and any 22, 23 or 24 was round up to 25.

Generally, I would say that about 50% of the maps have retained the previously used number of enemies, rounded up (occasionally down) to the nearest 5 or 10. Below is a brief description of most of the notable changes of the rest of maps in rotation :-

Spawner changelog

The stock maps, Vortex2 - NaliC2 have a significantly higher amount of enemies than previously spawned. These maps are known so well that even on difficulty=3 they are very easily won, especially with 3 or more in the map, hence the marked increase of enemies on these maps.

ExtremeDGen - spawner removed - not needed.

QueenEnd spawns only skaarj and pupae. Drew's "Skaarj General" also has a very small chance of appearing. This is a nod to Andrew "Drew" Ross who allowed us to alter the map SkaarjCastle so it could include an image of OldSparky-(DOG)- at the end for our servers.

The spawner has been disabled on the following Ron maps :-


The Ron maps above have a vast amount of enemies already or have high concentrations of enemies in smaller enclosed areas and do not require more spawns.

shrak4 is removed from the spawner because it's already very full of gunners and snipers.

trap2_NPF removed this from the spawner because there is enough monsters in this map without the spawner.

BeamOut removed because it is a tiny 1 room map. Not needed.

S1SkyShip removed because of the never-ending Pupae.

S3Toys removed, there are more than enough enemies on this map already and this map is all about the coloured Kralls so why spoil the atmosphere!

42Gateport removed. There's enough marines (even at the start of this map) that even more random enemies seems unnecessary. We all die a lot here even without a spawner in operatoin.

44OldSection has it's own custom MobList where other types of Marines are spawned, so this map now only has extra Marines. It breaks immersion when mantas, brutes etc. are spawned on this map.

45HighTown (as 44OldSection)

lssg13 removed because there are enough Krall already and it is a Krall map, so spawning others seems inappropiate.

lssg13c removed from spawner, it's just a tiny 2 room map to activate the stargate to the final map.

lssg14 removed from spawner. This map is entirely krall based and there's a decent number of them, so extra different enemies here seems unnecessary and it would slightly spoil the atmosphere of this map.

DawnoftheDead removed because there is more than enough enemies on this map and they are all "zombie" monsters, so adding more regular enemies kind of detracts from the author's original intentions.

Snipervalley2 removed from spawner. There are more than enough Snipers and other pawns on this map. I've heard a few players grumbling about this map being too full of pawns...

Altar-III had no monsters spawning. I can't see why monsters shouldn't spawn on this map, but someone else may know the reason why it was set to 0, so it will be left at 0 for now.

Noon map has many enemies already and it's nearly impossible not to die at the start already so it is removed from the spawner.

Nightfall (as Noon)

Added 10 more monsters to all the Herd Coop maps. These maps are large - seems justified.

The Wanderer of Na Pali series has had the amounts increased. These maps were lacking in enemies generally for Coop play.

Phoenix Mission Pack 1 amounts increased to help Coop play.

Sinistral's "Unreal Forgotten" maps mostly have roughly double the amount of enemies now.

The Rob 'Doublez-Down' Collins maps (Ehactora series + others) have had their enemies increased from the previous default of 20. These maps deserve more enemies for Coop play.

ChapelOfTheElders' amount of enemies increased a lot, it's a big map.

CryoRaktar_2_NPF removed from spawner. Enough mercenaries spawn as part of 2 creature factories on this map and as Jackal-(DOG)- mentioned once, it's just too busy. Spawner removed.

Global_NPF removed from spawner. This is a very brief map with 1 central room which is already full of mercenaries and behemoths, any more enemies is just overkill and messy.

Dead Star Map-pack enemies have been increased, most of these are big open maps that required more enemies.

The huge temple maps in the Seven Bullets campaign have had many additional appropiate enemeis added using their own special MobsSet. These temples are huge and deserved more enemies for Coop play.

Also in the Seven Bullets campaign, the maps Jones-07-Noork, Jones-08-Pirate, Jones-08-Pirate2 and Jones-08-Pirate3 have been removed from the spawner. Although there are relatively few enemies in these 4 maps, the Terrans are extremely tough and spawning others seems inappropiate somehow. It's enough of a fight as it is.

UB-NexusEnd uses the SkaarjMaps MobSet, because when non-skaarj monsters are spawned the battle with the 2 Berserkers invariably ends up in a fight between the spawned pawns and the Berserkers, which kind of defeats the point of this final tough encounter.

As requested, MrC-(DOG)-s maps all run without the spawner.

--------------------- end of changelog ---------------------

We understand that some players would like huge amounts of extra enemies, but for example, if every little area of water in every map is always inhabited by devilfish, sliths and squids then the "danger" is that any map with water will feel the same, although it was funny in testing to see a Devilfish squashed into the tiny water basin on the map Ruins; unable to move.... Sometimes it's just as great to see a few calm and enemy-free small areas of water also. We think it's important to have this contrast of pace.

Obviously this is quite early days for the new spawner system and some rigorous testing will be required, so all players are invited to join the Workbench2 server where further refining to the spawner is currently taking place. Thanks to the players who have so far joined the Workbench2 server to give their thoughts and contributions. Note that the spawner changelog can also be found at the foot of the maplist.

The map list and the amount of enemies spawned can be found in the column "Enemies spawned" on the current map list, which can be found under the GameServer heading on the website's main page.



Re: Jackal's server - Spawner

Posted: Tue Apr 30, 2019 10:53 pm
by strategy-(DOG)-
awesome work!! :flap:

i'd really like to thank Masterkent for programming the new mods that give our servers a huge improvement on all edges! a new spawner-system, new dynamic maprotation-system and a new, innovative voting-system. your coding-skills are unreached! THANK YOU VERY MUCH!! :Drogar-BigGrin:

and a huge thank you from my side goes to VooDoo-(DOG)- of course! she spent endless hours in testing all maps to work out optimal spawner-settings and mobsets for every single map - and notice, we run 800+ maps!!! besides that she also reworked the new maprotation to give credits to the authors' work by sorting the maps so that maps that belong to the same mapset can now be played in a row! THANK YOU VERY MUCH!! :Drogar-BigGrin:


Re: Jackal's server - Spawner

Posted: Wed May 01, 2019 1:24 am
by AndréRhineDavis-(DOG)-
wow, great work VooDoo!

just a few things come to mind.
firstly, for the ONP series, i would recommend stopping mercenaries being spawned altogether, since mercenaries are meant to be "good" in that series, and it is confusing having hostile mercenaries spawned combined with the non-hostile mercenaries already part of the maps.

secondly, when this is implemented on all servers, what will happen when maps are loaded that are not on the maplist / have not been allocated a "MobsSet"? For instance, suppose you load one of the Zora maps, will it by default spawn monsters from "MixedMaps" (like it would before) or would it spawn no monsters (which is what I would personally recommend)?

Re: Jackal's server - Spawner

Posted: Wed May 01, 2019 8:51 am
by VooDoo-(DOG)-
AndréRhineDavis-(DOG)- wrote:
Wed May 01, 2019 1:24 am
...... since mercenaries are meant to be "good" in that series, and it is confusing having hostile mercenaries spawned combined with the non-hostile mercenaries already part of the maps.

Yes that's already been taken care of. No hostile mercenaries are spawned on maps with "friendly" mercenaries"

AndréRhineDavis-(DOG)- wrote:
Wed May 01, 2019 1:24 am
secondly, when this is implemented on all servers...........

You might be getting a little bit confused Andre. The title of the post is "Jackal's server - Spawner", so this won't be implemented on all servers. The Zora maps won't form part of the rotation on Jackal's server.

AndréRhineDavis-(DOG)- wrote:
Wed May 01, 2019 1:24 am
For instance, suppose you load one of the Zora maps, will it by default spawn monsters from "MixedMaps" (like it would before)....

The MobSets "MixedMaps" is one of the many MobsSets that has been introduced very recently, so I am not sure what you mean by "like it would before". If the Zora maps are put on (say) the XPerience server for example, they can be assigned any MobsSet or none at all. Sure I also would recommend 0 spawns for the Zora maps but this thread is all about Jackal's server.

The XPerience server and the Advanced server will be dealt with independently and have different spawner setups, although the first (approx.) 800 maps will be the same on each server.


Re: Jackal's server - Spawner

Posted: Thu May 09, 2019 8:06 pm
by Masterkent
AndréRhineDavis-(DOG)- wrote:
Wed May 01, 2019 1:24 am
secondly, when this is implemented on all servers, what will happen when maps are loaded that are not on the maplist / have not been allocated a "MobsSet"?
For unlisted maps, the number of spawned mobs is determined by customizable parameter DefaultMobUnits (I didn't check the actual settings on your servers). It can be zero. You can't choose what kinds of mobs can be spawned on such maps, the spawner may add only non-boss mobs of the same classes as those which are already present on the map; the odds of spawning a mob of a particular class is proportional to the initial amount of such mobs on the map (in case of maps with CreatureFactory actors the algorithm is a bit more complicated). For example, if


and the map initially contains 10 Brutes and 5 Tentacles, then the spawner will try to spawn 30 mobs in total, and the set of spawned mobs can include only Brutes and Tentacles. The number of spawned Brutes may vary from 0 to 30, same for Tentacles; however, when you run the given map many times, the average proportion between Brutes and Tentacles will be close to 2:1.

If a map contains a CreatureFactory, then some amount of mobs that could be spawned by such a factory is added to the initial set of mobs for the purposes of determining the total amount and the final set of classes of the spawned mobs.

If a map is present in the list and its MobsSet is not specified or it's empty, the classes of spawned mobs and their odds of appearing are determined in the same way as for unlisted maps, but the total number is determined by parameter MobUnits for the given map.

Re: Jackal's server - Spawner

Posted: Fri May 10, 2019 6:02 pm
by VooDoo-(DOG)-
All maps in rotation on Jackal's, XPerience and the Advanced server will either have their own custom MobsSet, or no MobsSet will be specified at all, such as Zora's "Episodes" maps on XPerience where we require 0 spawns. So for our purposes, the parameter of DefaultMobUnits will not be used for any of the 3 Coop servers and will be set to DefaultMobUnits=0, because all maps in all rotations have been assigned individually.

We will likely only use this default setting for the Test server for those of us who play/test some of the maps there that are not currently in a rotation on any server. For the Test server, we may use a default setting of something like 0.5x, which would seem reasonable.

It was tempting to go the easy way for all the custom maps and simply use this default setting with a sensible value. However all custom maps deserved to be considered individually, particularly with regards to amounts and types spawned of course, but amounts/ types were not the only things taken into consideration. Size of map, distance between enemies, layout of map and (approximate) time taken to complete a map were other considerations also. One map played with a 100 enemies can be vastly different to another map with 100 enemies, depending how the enemies are "concentrated".

Map series/campaigns will be given extra consideration also. For example "Kews" Illhaven (and his other) maps have a certain feel to them, so it was worth looking at all his maps as a whole and then creating a MobsSet particular to his maps and therefore a "KewMaps" MobsSets is applied to his maps.

Over time, more custom MobsSets will be created and gradually tweaked to achieve the finest possible control over any given map. The stock maps will be given particular emphasis in this regard, as will the larger campaigns. Given how configurable the implementation is, I think it makes sense for Newbies to make full use of as many customizations as possible and not have a DefaultMobUnits value for any map in rotation.

This high level of configurability is a joy to work with, as is the new map voting system and I personally would like to say thank you to Masterkent for these implementations and also for his unparalleled documentation.


Re: Jackal's server - Spawner

Posted: Mon Jun 03, 2019 11:50 am
by £éè£å-(DOG)-
Hi :)

Here are some infos about two maps.


With the setting of PlayerStartSafeRadius in the TKR Spawner it was not possible to get a single valid spawnpoint in this map.


Using the spawner in this map makes not much sense, because you won't get any additional monsters in it.
I assume, the new spawner would not spawn monsters into SkyBoxes. That's the problem with this map, it's a huge SkyBox. The only place where you'll get spawns is a building box near start, but of course unreachable for players.

Re: Jackal's server - Spawner

Posted: Mon Jun 03, 2019 5:47 pm
by VooDoo-(DOG)-
Ok thanks Leela!

Well Altar-III is fine now with the new spawner so let's go ahead and add 30 to spawn here now.

With regards to OnceGreatTemple, there was talk about a fix for OnceGreatTemple, so the spawner was left active until the fix appeared, so that we didn't forget to reactivate it later. I'll ask the person concerned if they still intend to do anything with this map. That's quite a coincedence actually because I was just playing this on Advanced server recently and with the boots there, spent some time head-butting the very "low sky" - kind of funny! The monsters here have very high health anyway so losing the spawner won't be a big deal for this map of course.

Re: Jackal's server - Spawner

Posted: Tue Jun 04, 2019 7:59 am
by Masterkent
It's possible to allow spawning new mobs inside sky zones which initially contain any mobs. I guess, this should work fine until you find any weird maps which would use mobs inside unreachable sky zones.

NPMapController v1.4 has been uploaded to the TestServer. It never spawns mobs in the following regions:

- out of world (ZoneNumber is 0),
- if region's Zone is a pain zone (bPainZone is true),
- if region's Zone is a kill zone (bKillZone is true),
- if region's Zone is a neutral zone (bNeutralZone is true),
- if region's Zone is of type CloudZone,
- if region's Zone is of type SkyZoneInfo and there are no detected mobs in that zone,
- if region's Zone is of type WarpZoneInfo.

Re: Jackal's server - Spawner

Posted: Tue Jun 04, 2019 10:32 am
by strategy-(DOG)-
thank you very much!
i copied current NPMapController.u to JackalsCoop, XPerienceCoop and Workbench3.

Re: Jackal's server - Spawner

Posted: Tue Jun 04, 2019 11:24 am
by £éè£å-(DOG)-
I have a fixed version of OnceGreatTemple.unr now.

- The building box outside of the map has been deleted.
- The big HOM on the ground is fixed.
- The doors got an additional Trigger, they can be triggered and also still can be bumped.
- Monsters or Players falling down to the canyon are killed now as soon as they reach the fog.