After reading the thread about random spawning of units I've slightly modified this to allow spawning to be influenced by the number of players in the mission, and so adjust the difficulty.
Essentailly I use a list of flags to represent a list of units. Everytime a player joins (using Once Unit Alive) I run a lua script which switches on each flag if math.random() is less than x. (x is usually the fraction of units to activate for each player e.g. 0.25 for 4 players, etc.) Hence if this script is run 4 times for each player most (but probably not all) flags should be on. You can obviously increase/dcrease x to modify the behaviour of this. (Also as the time of the player joining is used to seed there should be more variation in the randomness.)
math.randomseed( os.time() )
math.random(); math.random()
for i = 1, 10 do
if math.random() < 0.25 then
trigger.setUserFlag(100 + i, true)
end
end
The above sets a list of ten flags 101-110 to on with a 25% chance and can be run repeatedly on the same set of flags.
Each random unit can then be activated using a ONCE time since flag condition.
No one has mentioned this sort of thing before so thought I'd share and hope someone finds it useful.