At the moment, all units are created in a single trigger cycle. If you need to spawn 50 marines and 50 BC, the BC are prioritised first and 100% of them will spawn before any marines do. So if we only had space for 80 units, then we'd get 50 BCs and 30 marines. Most importantly is that 1 team must always spawn before the other team gets a chance to spawn. So say in this example the bottom team is spawning first and there are 80 slots left and they try to spawn 50 BCs and 50 marines: they'll get 80 as outlined above, and the top team wants to spawn 25 archons/high templar and 50 zealots but will get absolutely nothing because map max was already reached during the bottom team's spawn.
In contrast diffused spawning will spawn a small proportion of units in 1 trigger cycle, and the remainder of units in the 2nd cycle (note that the strict unit preference still exists: all BCs will attempt to spawn before any marines do). The maximum number of units it will spawn of any type in 1 cycle is 9, and not all units have a chance to spawn in the first cycle (weak ones like marines, reapers, marauders, zealots, zerglings, broodlings, anything that isn't very strong late-game). So in this example, on the first trigger cycle the bottom team will spawn 9 BCs, then the top team will get a chance to spawn 9 archons and 9 high templars, then the bottom team will spawn their remaining units, which means they will spawn another 41 BCs and then 12 marines before map max is met. In this case we've gone from 50 BCs / 30 marines and nothing, to 50 BCs / 12 marines and 18 archons/high templars.
In this example it may seem rather lame, but the thing to note is that it happens for all unit types: so really the top team may have gotten to spawn 9 archons/high templar, 9 dark archons/11 dark templar, 6 carriers, 4 reavers/immortals and 3 void rays and (assuming bottom units are still the same) the bottom team would only have spawned a total of 28 BCs: 9 from the first trigger cycle and 19 from the 2nd.
It's not perfect, but it's a step in the right direction. Specifically it does mean that in the late game a zerg will have a much harder time preventing you from spawning anything by building lots of cheap zerglings, broodlings and hydralisks, because all of those units will spawn strictly in the 2nd trigger cycle, meaning more powerful units will get a chance to spawn in the 1st cycle.
The existing alternation, where bottom team spawns first then top team spawns first will continue to exist, but that mechanic should be much less important because each team will get a chance to spawn a few units in the first trigger cycle. Obviously in cases where map-max is very close, eg team 1 will spawn 30 units on the first spawning cycle but there is only room for 20, will the other team fail to spawn any units. The alternation will still help with this, and obviously it also determines which team gets first chance to spawn their 'remaining' units (in my example above, bottom team got to spawn the remaining 41 BCs and 12 marines while top team didn't spawn anything else).
There is also another benefit in that because I have 2 cycles of creating units in the spawn box, I will now be able to clear out (some/most of) the units from the 1st cycle before attempting to spawn the 2nd. This should reduce the likelihood of unit unplaceable errors. This is part of the system that I haven't yet implemented.
Post has been edited 1 time(s), last time on Feb 20 2012, 9:36 pm by Lanthanide.
None.