Difference between revisions of "Mission Editor Tutorial"

From Zero-K
Jump to navigation Jump to search
(Ported from ZK wiki by DotNetWikiBot)
 
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
=Mission Editor Tutorial: Attack of the Chickens.=
+
This is a '''tutorial''' on the basics of using the [[Mission Editor]].
  
Download the mission editor [url=http://zero-k.info/missioneditor/setup.exe]here[/url]
+
==Attack of the Chickens==
 +
Download the mission editor [http://zero-k.info/missioneditor/setup.exe here]
  
 
Install and double-click on MissionEditor.exe
 
Install and double-click on MissionEditor.exe
Line 7: Line 8:
 
You'll see the following screen:
 
You'll see the following screen:
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor1.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor1.jpg
  
If the unitsync box is red, click on browse, go to Spring/engine/[newest version] and select spring.exe.
+
If the unitsync box is red, click on browse, go to <code>Spring/engine/<platform>/<newest version></code> and select spring.exe.
 +
Also edit springsettings.cfg in the same folder, and set SpringData to reference your Spring data directory. Like so:
 +
<pre>SpringData = C:\Users\<my username>\Documents\My Games\Spring;</pre>
 +
This lets it use the same maps and games that you normally play with online.
  
 
Click on New Mission, select an map, a mod, and mission name. They can be changed later.
 
Click on New Mission, select an map, a mod, and mission name. They can be changed later.
We'll call our mission “Attack of the Chickens”
+
We'll call our mission "Attack of the Chickens"
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor2.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor2.jpg
  
 
Once the map and mod have loaded, the main window will appear. On the left you can see a bar that will be filled by our mission logic. Mission logic consists of conditions and actions, contained by triggers. When any of the conditions in a trigger are met, its actions are executed.
 
Once the map and mod have loaded, the main window will appear. On the left you can see a bar that will be filled by our mission logic. Mission logic consists of conditions and actions, contained by triggers. When any of the conditions in a trigger are met, its actions are executed.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor3.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor3.jpg
  
  
First, let's look at the settings dialog. You can reach it by pressing on the “Mission” button in the menu bar, then on “Settings”.
+
First, let's look at the settings dialog. You can reach it by pressing on the "Mission" button in the menu bar, then on "Settings".
 
Fill in the author, description and scoring method. Also, rename the teams by double-clicking on their names.
 
Fill in the author, description and scoring method. Also, rename the teams by double-clicking on their names.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor4.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor4.jpg
  
Dismiss the window by pressing on “OK”. Let's start by adding some units. Click on the “Create Units” action, in the left bar. You'll see the units that are loaded by default.
+
Dismiss the window by pressing on "OK". Let's start by adding some units. Click on the "Create Units" action, in the left bar. You'll see the units that are loaded by default.
  
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor5.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor5.jpg
  
We don't need them. Select them by shift or ctrl-clicking on them, then right-click on one and press on “Delete”.
+
We don't need them. Select them by shift or ctrl-clicking on them, then right-click on one and press on "Delete".
The player will need some units to start with. Let's add some advanced engineers. We could scroll down until we see the Freakers, but it's faster to right-click on the unit list and select “Find”. Type “corfast” in the find dialog and press on enter.
+
The player will need some units to start with. Let's add some advanced engineers. We could scroll down until we see the Freakers, but it's faster to right-click on the unit list and select "Find". Type "corfast" in the find dialog and press on enter.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor6.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor6.jpg
  
 
Now, the Freaker is selected. Pick a nice hill on the South side and click on it a few times to add some engineers.
 
Now, the Freaker is selected. Pick a nice hill on the South side and click on it a few times to add some engineers.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor8.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor8.jpg
  
  
 
It would be cruel to send the player into a chicken-infested area without precautions, so give him a few Outlaws (codename: cormak). Grab them from the top border and rotate them a bit.
 
It would be cruel to send the player into a chicken-infested area without precautions, so give him a few Outlaws (codename: cormak). Grab them from the top border and rotate them a bit.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor9.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor9.jpg
  
  
Time to add something to shoot at! Click on the “New” button in a trigger bar.
+
Time to add something to shoot at! Click on the "New" button in a trigger bar.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor10.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor10.jpg
  
  
 
A new trigger will appear.
 
A new trigger will appear.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor11.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor11.jpg
  
  
It's a good idea to rename triggers to keep them organized. Right-click on the blue trigger bar, press on “Rename” then pick a new name.
+
It's a good idea to rename triggers to keep them organized. Right-click on the blue trigger bar, press on "Rename" then pick a new name.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor12.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor12.jpg
  
  
We want chickens to attack every minute. We'll add a metronome condition. Click on the “New” button in the conditions bar and click on “Metronome Clicks”.
+
We want chickens to attack every minute. We'll add a metronome condition. Click on the "New" button in the conditions bar and click on "Metronome Clicks".
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor13.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor13.jpg
  
  
 
Set it to one minute.
 
Set it to one minute.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor15.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor15.jpg
  
  
Triggers, by default, can only be executed once. Right-click on the trigger then press on “Settings”. Set the execution limit -1, which means that there is no limit.
+
Triggers, by default, can only be executed once. Right-click on the trigger then press on "Settings". Set the execution limit -1, which means that there is no limit.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor16.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor16.jpg
  
  
The trigger still won't have any effect. We'll need to add some actions. Click on the “New” button in the actions bar.
+
The trigger still won't have any effect. We'll need to add some actions. Click on the "New" button in the actions bar.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor17.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor17.jpg
  
  
Line 87: Line 91:
 
Pick a spot in the North and add some chickens.
 
Pick a spot in the North and add some chickens.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor18.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor18.jpg
  
  
Chickens will now spawn every minute, but will just stand there. Add a “Give Orders to Unit” action and select it. If you don't select a group for the action, t will affect any unit created before the action, in the same trigger.
+
Chickens will now spawn every minute, but will just stand there. Add a "Give Orders to Unit" action and select it. If you don't select a group for the action, t will affect any unit created before the action, in the same trigger.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor19.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor19.jpg
  
  
Line 99: Line 103:
  
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor20.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor20.jpg
  
 
The objective is to stop the chickens, so we need to make the player lose points when they get past him. For that, we'll need to first add the chickens to a group.
 
The objective is to stop the chickens, so we need to make the player lose points when they get past him. For that, we'll need to first add the chickens to a group.
Line 105: Line 109:
  
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor21.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor21.jpg
  
 
Right click on them, then select Edit Groups. Type chickens and press on enter.
 
Right click on them, then select Edit Groups. Type chickens and press on enter.
  
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor22.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor22.jpg
  
  
Line 116: Line 120:
  
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor23.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor23.jpg
  
Next, create a new trigger. Add a “Unit Entered Area” condition.
+
Next, create a new trigger. Add a "Unit Entered Area" condition.
  
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor24.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor24.jpg
  
  
Line 130: Line 134:
 
Select the chickens group from the group list. Selecting a group means that only units from that group can meet the condition.
 
Select the chickens group from the group list. Selecting a group means that only units from that group can meet the condition.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor25.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor25.jpg
  
  
 
We want the trigger to last more than one activation.
 
We want the trigger to last more than one activation.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor26.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor26.jpg
  
  
 
Units in Area condition will now active its trigger every second that a chicken is in the rectangle.
 
Units in Area condition will now active its trigger every second that a chicken is in the rectangle.
  
Let's make the player lose points. Add a “Modify Score” action and cause the player to lose a point every time the trigger is executed.
+
Let's make the player lose points. Add a "Modify Score" action and cause the player to lose a point every time the trigger is executed.
 
The score is displayed in the GUI once it's different from zero.
 
The score is displayed in the GUI once it's different from zero.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor27.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor27.jpg
  
  
Let's give reward the player for killing chickens. Create a new trigger. Add a “Units Destroyed” condition. Select the chickens group.
+
Let's give reward the player for killing chickens. Create a new trigger. Add a "Units Destroyed" condition. Select the chickens group.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor28.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor28.jpg
  
  
Create a “Modify Score” action. This time, make the player gain points.
+
Create a "Modify Score" action. This time, make the player gain points.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor29.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor29.jpg
  
  
Line 159: Line 163:
  
  
Maybe we should give the player some time to prepare for the assault. Let's grant the player a minute of truce, and display a countdown for the first attack. Add a “Start Countdown” action to the first trigger. Give it a descriptive name. Choose the duration of the truce.
+
Maybe we should give the player some time to prepare for the assault. Let's grant the player a minute of truce, and display a countdown for the first attack. Add a "Start Countdown" action to the first trigger. Give it a descriptive name. Choose the duration of the truce.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor30.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor30.jpg
  
  
We'll make the “Chickens Attack” trigger that you created earlier start disabled, then activate after a minute. Select it and uncheck the “Enabled” check-box.
+
We'll make the "Chickens Attack" trigger that you created earlier start disabled, then activate after a minute. Select it and uncheck the "Enabled" check-box.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor31.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor31.jpg
  
Create a new trigger. Add a “Countdown Ended” condition.
+
Create a new trigger. Add a "Countdown Ended" condition.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor32.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor32.jpg
  
Add an “Enable Trigger” action. Select the chickens attack trigger.
+
Add an "Enable Trigger" action. Select the chickens attack trigger.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor33.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor33.jpg
  
 
Now the chickens won't attack until the countdown ended. The player will see the time remaining in the GUI.
 
Now the chickens won't attack until the countdown ended. The player will see the time remaining in the GUI.
  
Let's make Spiker waves, too. Create a new trigger. Add a “Create Units” condition. Place a few Spikers near the first chickens and add them to the chickens group.
+
Let's make Spiker waves, too. Create a new trigger. Add a "Create Units" condition. Place a few Spikers near the first chickens and add them to the chickens group.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor34.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor34.jpg
  
Add a “Give Orders to Units” action and make them fight their way to the south border.
+
Add a "Give Orders to Units" action and make them fight their way to the south border.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor35.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor35.jpg
  
 
Let's make the waves occur each couple of minutes, but this time, let's add a bit of randomness to make them less predictable. Add a metronome condition and set it to one minute.
 
Let's make the waves occur each couple of minutes, but this time, let's add a bit of randomness to make them less predictable. Add a metronome condition and set it to one minute.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor36.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor36.jpg
  
 
Go to the trigger options, set the execution count to -1. Also, set the probability to 0.5. It means that half of the times the conditions of the trigger will be met, it will not fire.
 
Go to the trigger options, set the execution count to -1. Also, set the probability to 0.5. It means that half of the times the conditions of the trigger will be met, it will not fire.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor37.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor37.jpg
  
Let's make the Spiker attacks start after 10 minutes. Add a “Wait” action. Move it up until it's the first action in the trigger. You can move triggers up by right-click on them then selecting “Move Up”. Set the time to 10 minutes.
+
Let's make the Spiker attacks start after 10 minutes. Add a "Wait" action. Move it up until it's the first action in the trigger. You can move triggers up by right-click on them then selecting "Move Up". Set the time to 10 minutes.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor38.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor38.jpg
  
Time to add the boss! Create a new trigger. Add a metronome condition set to forty minutes. Add a “Create Units” and a “Give Orders to Units” action.
+
Time to add the boss! Create a new trigger. Add a metronome condition set to forty minutes. Add a "Create Units" and a "Give Orders to Units" action.
Place a queen and order her to fight to the south border. Set her group to “chickens,queen”. This means that she is both in the “chickens” and “queen” groups. The queen group will be needed later.
+
Place a queen and order her to fight to the south border. Set her group to "chickens,queen". This means that she is both in the "chickens" and "queen" groups. The queen group will be needed later.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor39.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor39.jpg
  
Add a “Cause Sunset” action. An ominous darkness will announce the arrival of the queen.
+
Add a "Cause Sunset" action. An ominous darkness will announce the arrival of the queen.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor40.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor40.jpg
  
Let's make the player win and gain a big pile of points if he defeats the queen. Create a new trigger. Add a “Unit Destroyed” condition. Select the queen group.
+
Let's make the player win and gain a big pile of points if he defeats the queen. Create a new trigger. Add a "Unit Destroyed" condition. Select the queen group.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor41.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor41.jpg
  
Create a “Modify Score” action. Set it to “Increase Score” and type a large number. Also add a “Send Score” action.
+
Create a "Modify Score" action. Set it to "Increase Score" and type a large number. Also add a "Send Score" action.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor42.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor42.jpg
  
What if he's defeated? We want to record his score in that case, too. Create a new trigger. Add a “Player Died” condition and select the Robots team.
+
What if he's defeated? We want to record his score in that case, too. Create a new trigger. Add a "Player Died" condition and select the Robots team.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor43.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor43.jpg
  
Add another “Send Score” action.
+
Add another "Send Score" action.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor44.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor44.jpg
  
 
The game will end immediately, if it's tested at this point. That's because the chicken player has no units in the first minute. Go back to the first trigger and create a few chickens that will just stand there and prevent the game from ending.
 
The game will end immediately, if it's tested at this point. That's because the chicken player has no units in the first minute. Go back to the first trigger and create a few chickens that will just stand there and prevent the game from ending.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor45.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor45.jpg
  
You can now test the mission. Click on the Mission menu button and select Test Mission.
+
You can now test the mission. Click on the Mission menu button and select Test Mission.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor46.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor46.jpg
  
 
Resourceful players might make a huge wall to prevent the chickens from getting through. Since we didn't add any digging or climbing chicken, we'd better disable terraforming. Add a Lock Units action to the first trigger and select the terraforming buildings.
 
Resourceful players might make a huge wall to prevent the chickens from getting through. Since we didn't add any digging or climbing chicken, we'd better disable terraforming. Add a Lock Units action to the first trigger and select the terraforming buildings.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor47.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor47.jpg
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor48.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor48.jpg
  
We should tell the player about his objectives. First, let's center the camera on his units, when the game starts. Add a “Point Camera to Map Point” action to the firs trigger.
+
We should tell the player about his objectives. First, let's center the camera on his units, when the game starts. Add a "Point Camera to Map Point" action to the firs trigger.
 
Click on the starting hill.
 
Click on the starting hill.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor49.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor49.jpg
  
 
Add a GUI message action. Explain to the player what he needs to do in great detail.
 
Add a GUI message action. Explain to the player what he needs to do in great detail.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor50.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor50.jpg
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor51.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor51.jpg
  
 
Finally, mark the south border. Add a Show Marker Point action. Type the description and click on the south border of the map.
 
Finally, mark the south border. Add a Show Marker Point action. Type the description and click on the south border of the map.
  
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor52.jpg[/img]
+
http://enalostka.pancakeapps.com/S/Zero-k_editor52.jpg
  
 +
The mission is now ready to be shared! See the [[Mission Editor#Publishing a mission|Mission Editor]] page for instructions.
  
The mission is now ready to be shared! Press on the “Publish Mission” entry in the Mission menu. Fill in the form.
+
[[Category:Mission Editor]]
 
 
[img]http://enalostka.pancakeapps.com/S/Zero-k_editor53.jpg[/img]
 
 
 
 
 
Wait a few seconds...
 
 
 
 
 
and the mission is visible in the Missions module of SpringDownloader.
 
 
 
 
 
If you want to update or delete it, select the Manage Missions item in the Mission menu.
 

Latest revision as of 00:22, 2 April 2017

This is a tutorial on the basics of using the Mission Editor.

Attack of the Chickens

Download the mission editor here

Install and double-click on MissionEditor.exe

You'll see the following screen:

Zero-k_editor1.jpg

If the unitsync box is red, click on browse, go to Spring/engine/<platform>/<newest version> and select spring.exe. Also edit springsettings.cfg in the same folder, and set SpringData to reference your Spring data directory. Like so:

SpringData = C:\Users\<my username>\Documents\My Games\Spring;

This lets it use the same maps and games that you normally play with online.

Click on New Mission, select an map, a mod, and mission name. They can be changed later. We'll call our mission "Attack of the Chickens"

Zero-k_editor2.jpg

Once the map and mod have loaded, the main window will appear. On the left you can see a bar that will be filled by our mission logic. Mission logic consists of conditions and actions, contained by triggers. When any of the conditions in a trigger are met, its actions are executed.

Zero-k_editor3.jpg


First, let's look at the settings dialog. You can reach it by pressing on the "Mission" button in the menu bar, then on "Settings". Fill in the author, description and scoring method. Also, rename the teams by double-clicking on their names.

Zero-k_editor4.jpg

Dismiss the window by pressing on "OK". Let's start by adding some units. Click on the "Create Units" action, in the left bar. You'll see the units that are loaded by default.


Zero-k_editor5.jpg

We don't need them. Select them by shift or ctrl-clicking on them, then right-click on one and press on "Delete". The player will need some units to start with. Let's add some advanced engineers. We could scroll down until we see the Freakers, but it's faster to right-click on the unit list and select "Find". Type "corfast" in the find dialog and press on enter.

Zero-k_editor6.jpg

Now, the Freaker is selected. Pick a nice hill on the South side and click on it a few times to add some engineers.

Zero-k_editor8.jpg


It would be cruel to send the player into a chicken-infested area without precautions, so give him a few Outlaws (codename: cormak). Grab them from the top border and rotate them a bit.

Zero-k_editor9.jpg


Time to add something to shoot at! Click on the "New" button in a trigger bar.

Zero-k_editor10.jpg


A new trigger will appear.

Zero-k_editor11.jpg


It's a good idea to rename triggers to keep them organized. Right-click on the blue trigger bar, press on "Rename" then pick a new name.

Zero-k_editor12.jpg


We want chickens to attack every minute. We'll add a metronome condition. Click on the "New" button in the conditions bar and click on "Metronome Clicks".

Zero-k_editor13.jpg


Set it to one minute.

Zero-k_editor15.jpg


Triggers, by default, can only be executed once. Right-click on the trigger then press on "Settings". Set the execution limit -1, which means that there is no limit.

Zero-k_editor16.jpg


The trigger still won't have any effect. We'll need to add some actions. Click on the "New" button in the actions bar.

Zero-k_editor17.jpg


Select the chicken team in the team list.


Pick a spot in the North and add some chickens.

Zero-k_editor18.jpg


Chickens will now spawn every minute, but will just stand there. Add a "Give Orders to Unit" action and select it. If you don't select a group for the action, t will affect any unit created before the action, in the same trigger.

Zero-k_editor19.jpg


Select the Fight order from the orders list. Click on a spot on the map near the south border. You'll see the player units a bit blurred. It means they were created in another trigger.


Zero-k_editor20.jpg

The objective is to stop the chickens, so we need to make the player lose points when they get past him. For that, we'll need to first add the chickens to a group. Go back to the Create Units action, and shift or ctrl-click on all the chickens. They'll glow to indicate they are selected.


Zero-k_editor21.jpg

Right click on them, then select Edit Groups. Type chickens and press on enter.


Zero-k_editor22.jpg


The group will be displayed under the unit in the map.


Zero-k_editor23.jpg

Next, create a new trigger. Add a "Unit Entered Area" condition.


Zero-k_editor24.jpg


We want to add a rectangle where chickens will cause the player to lose points. Click on the rectangle button in the toolbar. Drag a rectangle in front of the south border. Select the chickens group from the group list. Selecting a group means that only units from that group can meet the condition.

Zero-k_editor25.jpg


We want the trigger to last more than one activation.

Zero-k_editor26.jpg


Units in Area condition will now active its trigger every second that a chicken is in the rectangle.

Let's make the player lose points. Add a "Modify Score" action and cause the player to lose a point every time the trigger is executed. The score is displayed in the GUI once it's different from zero.

Zero-k_editor27.jpg


Let's give reward the player for killing chickens. Create a new trigger. Add a "Units Destroyed" condition. Select the chickens group.

Zero-k_editor28.jpg


Create a "Modify Score" action. This time, make the player gain points.

Zero-k_editor29.jpg


Remember to remove the trigger executions limit.


Maybe we should give the player some time to prepare for the assault. Let's grant the player a minute of truce, and display a countdown for the first attack. Add a "Start Countdown" action to the first trigger. Give it a descriptive name. Choose the duration of the truce.

Zero-k_editor30.jpg


We'll make the "Chickens Attack" trigger that you created earlier start disabled, then activate after a minute. Select it and uncheck the "Enabled" check-box.

Zero-k_editor31.jpg

Create a new trigger. Add a "Countdown Ended" condition.

Zero-k_editor32.jpg

Add an "Enable Trigger" action. Select the chickens attack trigger.

Zero-k_editor33.jpg

Now the chickens won't attack until the countdown ended. The player will see the time remaining in the GUI.

Let's make Spiker waves, too. Create a new trigger. Add a "Create Units" condition. Place a few Spikers near the first chickens and add them to the chickens group.

Zero-k_editor34.jpg

Add a "Give Orders to Units" action and make them fight their way to the south border.

Zero-k_editor35.jpg

Let's make the waves occur each couple of minutes, but this time, let's add a bit of randomness to make them less predictable. Add a metronome condition and set it to one minute.

Zero-k_editor36.jpg

Go to the trigger options, set the execution count to -1. Also, set the probability to 0.5. It means that half of the times the conditions of the trigger will be met, it will not fire.

Zero-k_editor37.jpg

Let's make the Spiker attacks start after 10 minutes. Add a "Wait" action. Move it up until it's the first action in the trigger. You can move triggers up by right-click on them then selecting "Move Up". Set the time to 10 minutes.

Zero-k_editor38.jpg

Time to add the boss! Create a new trigger. Add a metronome condition set to forty minutes. Add a "Create Units" and a "Give Orders to Units" action. Place a queen and order her to fight to the south border. Set her group to "chickens,queen". This means that she is both in the "chickens" and "queen" groups. The queen group will be needed later.

Zero-k_editor39.jpg

Add a "Cause Sunset" action. An ominous darkness will announce the arrival of the queen.

Zero-k_editor40.jpg

Let's make the player win and gain a big pile of points if he defeats the queen. Create a new trigger. Add a "Unit Destroyed" condition. Select the queen group.

Zero-k_editor41.jpg

Create a "Modify Score" action. Set it to "Increase Score" and type a large number. Also add a "Send Score" action.

Zero-k_editor42.jpg

What if he's defeated? We want to record his score in that case, too. Create a new trigger. Add a "Player Died" condition and select the Robots team.

Zero-k_editor43.jpg

Add another "Send Score" action.

Zero-k_editor44.jpg

The game will end immediately, if it's tested at this point. That's because the chicken player has no units in the first minute. Go back to the first trigger and create a few chickens that will just stand there and prevent the game from ending.

Zero-k_editor45.jpg

You can now test the mission. Click on the Mission menu button and select Test Mission.

Zero-k_editor46.jpg

Resourceful players might make a huge wall to prevent the chickens from getting through. Since we didn't add any digging or climbing chicken, we'd better disable terraforming. Add a Lock Units action to the first trigger and select the terraforming buildings.

Zero-k_editor47.jpg

Zero-k_editor48.jpg

We should tell the player about his objectives. First, let's center the camera on his units, when the game starts. Add a "Point Camera to Map Point" action to the firs trigger. Click on the starting hill.

Zero-k_editor49.jpg

Add a GUI message action. Explain to the player what he needs to do in great detail.

Zero-k_editor50.jpg

Zero-k_editor51.jpg

Finally, mark the south border. Add a Show Marker Point action. Type the description and click on the south border of the map.

Zero-k_editor52.jpg

The mission is now ready to be shared! See the Mission Editor page for instructions.