The typical maps, consist of a number of rounds that always start in a linear way (e.g. round 28 is always after round 27). Such maps usually utilize a Custom Scoreboard to keep track of the number of rounds already played. Basically, if any player wins the round, the scoreboard is increased by 1. Consequently, other triggers fire when the scoreboard reaches an exact number – e.g. “scoreboard is 2” -> create 6marines for player1 and 2 lurkers for player2. Scoreboard is 3: 6marines for player2 and 2 lurkers for player1…
If you want to make such a map, I recommend you to copy the triggers from a simple map such as MicroWars136kbsound.scm (can be found in my pack). Starforge even allows you to copy+paste the triggers.
The “pick round type” maps, start with a selector unit (e.g. scv) and allow the player(s) to pick the type of battles they want. Basically move the scv near the zealots and vultures and you will have 1 (or more) TvP battles. Move the scv somewhere else (e.g. near hydras and HTs) and you will have ZvP battles etc.
Such maps require more complicated triggers – I will describe a basic loop in this article.
There are also “other” maps – basically the sky is the limit.
***
Warrior Madness has requested me to help him make a map, where player1 will select the desired type of battle(s) at the start of each game.
He did not mention 2 things:
Should the players play both types of battles each time – if round1 is lurkers vs marines – should both player 1 and player 2 cotrol the lurkers, or only player1.
What about additional rounds – does selecting “TvZ” mean only 1 single round, or 5 different types of battles (e.g. mnm vs lurker, mnm vs ling etc.) This actually complicates the triggers.
************
Here is the pseudo-algorythm telling you how to build a basic “level selection” microwars map.
It uses some switches, as I like them, because they are quite clear for me. You just have to remember to reset them when needed.
What are switches? If switch "electricity" is set – the bulb will emit light. If it is cleared, it will not. Note that a combination of two switches A and B, gives you 4 combinations already (S-set, C – clear: SS, SC, CS, CC)
I like switches, they make everything clear, but I think some of them could be deleted – I just put them, to be sure that hypper triggers will work ok.
What are hyper triggers?:
http://www.starcraft.org/maps/MappingFAQ/TriggeringTricksFAQ/16
**********
So what to do to create the map..:
1. Create a map in the editor. Or get LT/luna etc.
2. Delete the triggers from the map.
3. Set up the player settings.
-I advice you to get 4 forces, force1- player1, force2-player2, force3-observers (and players 3-7), force4 –computer –player8
-Force 3 gets vision from players 1/2 (so that the invisible wrights controlled by human players can be seen by the observers).
-Player 8 might have map revealers placed all over the map and give the vision to all players, or just for the obs. -Alternatively you can reveal the fog of war in the editor, or give vision for a moment after the start of each round. Personally I don’t like maps with vision turned on all the time, it’s like microwars for maphackers..
4. The first trigger – it’s purpose is to “reset everything” when the game starts.
condition:
always
actions:
-set switch "selection" to set (this switch means that the player is selecting units, not fighting)
-set switch "battle1 to clear" (this means that we are not having the first type of battle to take place – player1 mnm, player2 lurker)
-set switch "battle2 to clear"" (this means that we are not having the second type of battle to take place – player2 mnm, player1 lurker)
-set switch "transition" to clear (not to fuck up the hyper triggers)
-spawning1 to set (basically, can the units be spawned or not? this is used so that the -units are not spawned 10 times which might be caused by hyper triggers)
-spawning2 to set (as above, might be not needed, read below)
5. The following trigger is used to spawn the selector unit somewhere on the map, as well as some neutral units controlled by the computer – so that the player knows what type of battle does he choose with his selector.
Conditions:
selection is set
spawning1 is set
actions:
create scv (or whatever) for player1 at location scv_spawning_point (you have to draw this location on the map of course, it can have a different name)
create (say) 2 lurkers and 4 marines for neutral comp player8 at "battle_type_lurker_mnm", so the player1 knows what is he choosing
[create 5 other unit combinations at other locations e.g. 2 zealots and 3 vultures at battle_type_vulture_zealot
4scourge and 2 corsair at “battle_type_scourge_cors”
etc]
The last two actions in the trigger are to be:
-clear spawning1 switch (so that the hypper trigger does not spawn us the above mentioned units 20 times)
-preserve trigger (basically, make the trigger work again, in the future).
Please note, that the editor might tell you that you cant create all the units at the “battle_type” locations, because there is a limit of units that can be created in each trigger - so just create them using a 2nd trigger, but use the switch "spawning2" instead of spawning1. (if you still need more.. make another switch..)
6. This trigger works when player1 selects some type of battle with his selector - note that this trigger has to be repeated for each type of battle. After it fires, the battle starts.
conditions:
selection is set
player1 brings exactly 1 terran scv to "battle_type_lurker_mnm"
actions:
-remove the scv
-create x marines at "battlefield1" for player1
-create y lurkers at "battlefield2 for player2
[[ok, here is the first hard part, basically we need to alternate the battles between the players somehow - so that in first round player 1 controls the lurkers and p2 the marines and in the next round the opposite. I went the easiest route, but its not too elegant]
-create marines at "hidden_place1" for player8 (set them to invincible so that the players wont kill them)
-create lurkers at hidden_place2 for comp (make them invincible too)
-set battle1
-clear selection
-preserve trigger
7)Player 2 wins - player 1 has no units:
conditions:
-battle1 is set
-transition is clear
-selection is clear
-player1 commands exactly 0 units
-player 2 commands at least 1 any unit
actions:
-set transition
-remove all units for player2
-clear battle1
-set battle2
-clear transition
-preserve trigger
8)Player 1 wins - player 2 has no units
cond:
-battle1 is set
-transition is clear
-selection is clear
-player2 commands exactly 0 units
-player1 commands at least 1 any unit
actions:
-set transition
-remove all units for player1
-clear battle1
-set battle2
-clear transition
-preserve trigger
9) This trigger is used to alternate the battles - basically I divided each "level" into two rounds, "battle1" and "battle2".
cond:
-battle2 is set
-transition is clear
-selection is clear
action:
-set transition
-take the lurkers (or whatever, the opposite) from that hidden location (described in point 6) from the computer, set them to being mortal and give them to player1.
Do the same for player 2 (he gets mnms or whatever). Basically we do not know what units did the player receive. We just take them away from the computer and make them mortal.
clear transition
preserve trigger
10)Player 2 wins the 2nd batlte - player 1 has no units:
cond:
-battle2 is set
-transition is clear
-selection is clear
-player1 commands exactly 0 units
-player 2 commands at least 1 any unit
actions:
-set transition
-remove all units for player2
-clear battle2
-set selection
-set spawning1
-set spawning2
-clear transition
-preserve trigger
11) Player 1 wins the 2nd battle - player 2 has no units:
cond
-battle2 is set
-transition is clear
-selection is clear
-player2 commands exactly 0 units
-player 1 commands at least 1 any unit
actions:
-set transition
-remove all units for player1
-clear battle2
-set selection
-set spawning1
-set spawning2
-clear transition
-preserve trigger
12) Not necessary, but useful - hyper triggers - add them for player 8 (the comp)
http://www.starcraft.org/maps/MappingFAQ/TriggeringTricksFAQ/16