The way that the game decides what to spawn is that it assigns a specific budget to each wave, and a cost to each unit. They also assign certain values about how many of a specific unit can spawn at once, or how many can spawn during the entire wave. Once it runs out of budget, you win the wave.
All the information can be found here:
https://docs.google....QlE&output=html
A few notes about waves:
> Objective waves ignore their defined budget. Enemies spawn endlessly until the objective is completed, then no more enemies will spawn and you must finish what is left.
> Units with an unlimited amount of active units at one time have a lower priority to spawn than anything with a limit.
> A maximum of 8 enemies can be spawned at any given time. This does not include summons such as drones or swarmers.
> The game attempts to avoid spawning enemies directly in line of sight of a player, or right on top of them.
Something else I've noted in the past doing runs with Zhhk and crew. If you avoid killing the bigger units and focus on the smaller runs, you can force the wave to run out of its' budget before it can spawn any more of the big guys. Using this we would avoid Banshees and never have to kill more than 2 per wave during the more troublesome challenges.
Update: Added cost information for summons(Drones/Turrets/Swamers). They don't count towards the max 8 units, but spawning them does take away from the budget.
Update: Added Platinum spawns. Due to the nature of Platinum and how every faction spawns, each faction has their own separate spreadsheet.
All of the data in this sheet has been pulled from the Coalesced file or the Weekly Balance Changes thread. If you see something that doesn't match up, then let me know.
Edited by Cyonan, 27 October 2012 - 01:59 AM.