To setup starting settings open WICT_data\startSettings.sqf. There you will find everything explained. I will refer to some of those settings further in this manual, so there is no need to explain it here.
The game type and auto start optionEdit
You don’t have to setup anything –WICT detects game type for you. Just make sure that if you intend to make MP check the auto start option (it is useful since there is no reason for using triggers in MP).
If there is any active base, every turn it spawns something.
Each turn ONLY ONE BLUFOR base and ONLY ONE OPFOR base can spawn units.
WICT_time is the time in seconds that passes between two successive spawns.
It is made variable by adding WICT_timeRand, so if WICT_time = 2.5 and WICT_timeRand = 5, time that passes between two successive spawns will be between 2.5 and 7.5 seconds + 1 second for actual spawning (and "clutching" of scripts) :
- 1 fixed second + 2.5 fixed seconds + random(0-5) seconds = 3.5 - 8.5 seconds between two successive spawns
Spawning and scanning distanceEditTake a look at this simple graphical example (on the right) Velocity made:
Two squares are bases, blue is BLUFOR, red is OPFOR.
P1 is player 1.
BOTH BASES WILL SPAWN UNITS (TWO STARTS on the image are fictional spawning places) --- WHY ?!?
There are THREE CONDITIONS for deciding WHETHER THE BASE WILL SPAWN UNITS :
- Larger circle is SCAN DISTANCE = bases further than that distance won't be active for spawning. These two bases are INSIDE that SCAN CIRCLE, therefore both will spawn units. (the first condition).
- Smaller circle is SPAWN DISTANCE = bases closer than that won't be active for spawning. These two bases are NOT INSIDE that SPAWN CIRCLE, therefore both will spawn units (the second condition).
- The third condition is that the base is nearest --- if there are SEVERAL CANDIDATES (according to previous two conditions), ONLY NEAREST will spawn.
- Caution / hint : Two bases near each other will both spawn units if the player is far away enough, units of one side will spawn "in the courtyard" of the other side...
In other words a base will be active (it will spawn units) if,
- 1) it is the nearest
- 2) it is further than WICT_sd
- 3) it is closer than WICT_scandist
You can edit these settings in startSettings.sqf.thumb|300px|right
There is one FORMULA that DETERMINES WHERE WOULD SOMETHING BE SPAWNED :
- NOTHING WILL SPAWN INSIDE SPAWNING DISTANCE CIRCLE (orange circle in Debug demo)
- spawn will always take place BETWEEN FRONTLINE (player) and BASE that is spawning
Actual spawn distance can vary, because it is COMPOSED OF WICT_sd and WICT_sdRand.
For example, if WICT_sd = 250 and WICT_sdRand = 100
than actual spawn distance will be random between 250 and 350 m, because it is calculated as: 250 + random(0-100) in this case!
Note: there is also WICT_displace - fixed displacement for aircrafts that will increase spawn distance, so it won't be obvious that they pop up in the air.
zapat: what does the AI aim for when trying to get a base? The base or the trigger? Or how does it know where to go for a base capture?
All bases and tasks are found relative to the player's position. The AI is aiming for a marker = base.
This process is more dynamic than it looks like at the glance.
Let us assume there are two bases b_1 for west and b_2 for east. Now, west captures the base b2. In the next turn west base will be b_1 or b_2 (depending on which is active and I explained what that mean), but east base will be some b_3, b_4 or "next nearest".
The effect that player experiences will be coming of "reinforcements" from the other base that will try to re-capture b_2 or capture b_1.
Of course you can regulate how close base must be to send "reinforcements" by setting WICT_scandist :
- -- lower values will give you more local battles
- -- higher values will give you reinforcements from distant bases
If you configure lower values you can provide the player with opportunities to catch breath, but only friendly units will be spawned until you approach enemy bases. So be careful not to fill the script only with friendly units. If you want to create safe zones there are other ways to fulfill that.
- Hint : The easiest way to check perimeters is to create one "dummy-trigger" which has the size of WICT_scandist and move it over the map to see whether the base is in range. Be sure to have at least one enemy base in range. Or just set WICT_scandist to 10km and don't worry about anything.
Changing the number of AI groupsEdit
Depending on what you want to create you can change the number of AI units that will be spawned. You can make a large battle with a maximum number of AIs or just spawn some patrols, thus preserving space for large scale missions.
Open WICT_data\startSettings.sqf. Find a part with WICT_numAIg. This means that this script won't spawn anything or proceed further if the number of groups is greater than the limit. It will call the script which will try to remove groups, in order to spawn some more. It operates in 5 and/or 10 sec intervals.
- If all units in the group are dead, remove them and delete group and its waypoints
- sometimes bodies will stay on the ground – why? Living or not doesn't matter - you can't delete the group while it contains any units - even dead ones. It takes few seconds until a dead unit is automatically removed from its group (source). It seems that body will stay in that case. I integrated all spawns with F2, so it will do the body removal after 3 min (default)
- If some of the members are alive, if there is an enemy base in range delete all old waypoints and make new ones, so that global assault begins
- if there is a unit that cannot stand, heal him because there is no point of having injured soldier crawling that will lag a game in the middle of nowhere
- Check all vehicles and delete them if they have no alive crew and they are damaged or, are destroyed or cannot move – only intact empty nameless vehicles will stay.
Clearly, with setting this value you can tweak how many units you want on the field, thus making casual patrols or large battles. Moreover, no unit will be wasted (except mounted gunners maybe). They will participate in the warfare all the time.
Also, WICT_removeMan and WICT_removeVehicle are useful for removing soldiers and vehicles that are far away and not in range. Just be sure that these values are greater than WICT_scandist, because opposite situation will lead to malfunction -- spawned units could be deleted the moment they are created.
You don’t have to change spawning time if you want fewer units. Better solution is to change spawning probabilities, so that particular base has x% of not spawning anything and some other has y% of not spawning anything. This way you can make gradation between small camps and large bases.
Note: just take into account units that are already spawned via editor and do not push it to more than 140 groups – let the script breath a little bit. In 5 sec it will clear the trash and spawning will continue.
From the version 2.32 I introduced Anti-Jam setting. Be sure that you set up WICT_jam correctly. For example, numAIg could be 55 and jam could be 65. What does it mean?
- The script is spawning units.
- It detects that numAIg limit is reached and it starts global assault and clears the memory for spawning more.
- But it is not jammed in that process like it was in the versions before.
- This script will run once, but it will let spawning process continue.
- It will jam on the second limit which is higher and then it will wait there until there is room for spawning more units.