LOGIC MODE

Once you understand how Logic mode works, it is by far the easiest and quickest way to build missions. A platoon with Logic orders will constantly interact with both friends and enemy in a pre-defined way. It's not possible to describe all the possible permutations however, as every other unit in the game then becomes a variable, with each platoon responding to unfolding events.

Actually pretty much the same thing happens when using Waypoint mode, but the positions and actions of Waypoint platoons are largely fixed by the commands given. Logic mode gives a platoon a 'mission' of its own and sends it on its way. The outcome will largely depend upon the actions of others around it and the responses of the enemy and can create a very fluid battlefield.

Waypoint orders micro-manage the movement and actions of platoons between their start position and their final WP. Logic orders allow the platoons to move and respond in a much more flexible way between the same two points, within the general guidelines given in the Logic order. In both cases, the platoon is primarily under the control of the game engine, but a platoon under WP orders will have a restricted response to enemy action. This can be either beneficial or detrimental, depending upon the mission design and if terrain objectives are used, at least some of the platoons should be guided there by WP commands.

I originally wrote that introduction in the certain knowledge that Logic was a dynamic, AI controlled alternative to WP orders...... actually it's no such thing.

 

SOME NEW THINKING

While experimenting with Helo orders, I was tempted to try Logic commands, a practice I had previously believed to be unworkable. The results were quite unexpected. Logic commands don't actually work for Helos, but the AI does generate a string of 'WPs' between the start and 1st WP position. This array of 'WPs' is terrain dependant and will vary according to the Logic command used. More importantly, these 'WPs' and the route followed can be viewed from the map screen. Careful testing has shown that this is exactly the route that would be followed by a ground unit, if given those same orders. What I had stumbled upon, was a method of viewing the results of Logic commands.

To use this, write the header and Logic command for the ground unit concerned, but change the platoon number to 142 ; although any Helo unit will do. Launch the mission and press N to enter the map screen. Click 'next' to find the Helo unit and the route will now be visible. You will see that this is a series of linked WPs, ending with the WP you specified in the header. This is going to cause some confusion, as what should be the 1st WP is now being used as the final WP. To help clarify this, I have retained the name WP for the one written in the header and have called the intermediate ones 'markers'.

Whilst travelling between 'markers', ground units use a fixed set of commands, which are built in to the relevant Logic command. These are actually the same speed, formation, contact and delay commands that are used for normal WP orders.

Far from the dynamic AI control that I thought Logic command represented, they are nothing more than 'batched' WP orders, pre-programmed before the mission starts.

 

HOW LOGICS WORK

The chart below shows how a unit with a Logic command is pre-programmed. The formation, speed, contact action and delays are all preset in the 'packaged' command.

Command Formation Speed Contact Markers Delay
 LOGIC_PROBE  Line  Fast  Assault  3  30 - 50 - 70
 LOGIC_RECON  Line  Fast  Engage  3  30 - 50 - 70
 LOGIC_TANK_ASSAULT (and MECH)  Column  Med  Engage  1 (3 in total)  10
                         ....after 1st marker  Wedge  Fast  Assault  2  10 - 10
 LOGIC_SUPPORT  Line  Med  Engage  0  0
 LOGIC_MAIN_DEFENSE  Line  Med  Engage  1  0
 LOGIC_REF_DEFENSE  Line  Med  DigIn  2 (only 1 used?)  0
 LOGIC_WITHDRAWAL  Line  Fast  Engage  1  0
 LOGIC_OUTPOST  Line        

The number of markers generated for a Logic command are always the same. For instance,  a Recon command will always place 3 intermediate 'markers' before the WP, irrespective of the overall distance travelled.

Also note how the delays are incremented for Recon and Probe. The closer the unit gets to the enemy, the longer the pause at the 'marker'. Tank (or Mech) Assault uses 2 modes, switching to a more aggressive wedge assault only after the first marker.

 

THE LOGIC COMMANDS

In order to use logic commands, the platoon header line is written in the same way as if using Waypoint orders. See the Waypoint Orders section for more details. This header is then followed by a single line logic command. Each platoon can only be given a single Logic command and be careful of spelling and syntax. For a long time, I made the mistake of closing the Logic command lines with a colon and that just produced default WP orders (if GS doesn't understand the command, it defaults). I had actually misread the Mission Editing Guide. The Logic example shows the Logic command without the colon, but the paragraph headings include them. Don't make the same mistake!

example

PLATOON: 1 20000 75000 0 6 21000 69000 2 1401
LOGIC: LOGIC_PROBE

 

Nine separate Logic commands exist within Gunship and while most can be applied to any of the platoons, certain commands do lend themselves to specific types of troops. For instance a Tank Assault or Probe order is much more effective if applied to massed platoons than just one. Logic commands can be applied to static platoons, such as SAM batteries, but as movement is impossible, most of it will be wasted. So issuing a Recon command to Tents is fairly pointless (I tried it.....they don't). Note that while logic commands can be issued to platoons marked for SUPPORT, they actually have no effect..

To illustrate how the different Logic commands function, the following overlays were taken from an actual GS map using a Helo unit to generate the 'markers' in the map screen.

The overlays show the WP (as written in the header), the 'markers' (indicated by circles) and the routes between. Identical sets of co-ordinates were used throughout, with the start position at 2000 75000 and the 1st WP at 21000 69000.

 

LOGIC_PROBE

This is a wide area assault with the goal of finding a weakness in the enemies line. Once a weak point has been discovered, units will redirect their movement to the weakness. Air Support and Artillery will be used at this point in massive attacks......from M1TP

Three intermediate 'markers' will be generated, which will always lie on higher ground. The position and separation of these markers will be determined by the AI to suit the intervening terrain.

Throughout its travel, the unit will advance Fast in Line and will Assault any enemy that is located.

The unit will wait at the 1st 'marker' for 30 seconds, scanning for targets. It then waits at the 2nd for 50 and at the 3rd for 70.

Upon reaching the WP (which by default is the final WP) the unit will adopt standard default orders, of Line and Engage.

Despite its purpose, the Assault option can often cause inaction and delay. After destroying or loosing contact with an enemy, the unit will return to its path and continue on to the next marker. This can produce anomalies, where the unit looses contact in low ground and backtracks only to sight them again and re-mount the assault. The unit can also assault an enemy located to its front and then retire to its previous position, only to turn around and advance back to almost the same spot. Multiple targets can also generate confusion, with the unit making rapid direction changes as it tries to assault both at once.

This in fact applies to the Assault option, wherever it is used.

 

When multiple units use the Probe command and are given the same co-ordinates, the positions of the 'markers' can often vary. The effect can be similar to bounding overwatch, with one unit halted and scanning from high ground, while others move forward.

Multi-unit Probes can be very impressive to watch. This is Recon with teeth and is a good command for ferreting out a hidden enemy.

 

 

 

LOGIC_RECON

Reconnaissance mission. Recon units will advance stealthily across terrain to scout for enemy forces, if sighted units will call artillery and retreat to report.....from M1TP

Three intermediate 'markers' will be generated, which will always lie on the highest ground. The position and separation of these markers will be determined by the intervening terrain.

Throughout its travel, the unit will advance Fast in Line and will Engage any enemy unit that is located.

The unit will wait at the 1st 'marker' for 30 seconds, scanning for targets. It then waits at the 2nd for 50 and at the 3rd for 70.

Upon reaching the WP (which by default is the final WP) the unit will adopt standard default orders, forming into Line and using the Engage option.

 

As can be seen from the diagram, movement will rarely be in a straight line and as the object is to find the enemy, the highest ground and the densest woods will attract 'markers'.

Artillery will be called (if available), but there is no apparent priority given and this function is freely available to all units. I have never seen a unit show any signs of retreat and units will engage just like any other.

 

 

 

 

 

 

 

 

LOGIC_TANK_ASSAULT

The following also applies to MECH_ASSAULT, which is the IFV alternative command.

This is an all out frontal assault by a tank unit. The units will start in travel columns and as they move closer to the enemy, change into extended line formation and proceed to attack enemy position with the intention of destroying them.......from M1TP

Three intermediate 'markers' will be generated and the position and separation of these markers will be determined by the intervening terrain. The route will be a relatively straight line, as this a deliberate attack and there is no intention here to 'seek out' the enemy.

The 1st 'marker' will usually represent the longest portion of the route, with the last 2 often being closely grouped when the terrain allows.

Unlike the Recon and Probe commands, where possible the 2nd and 3rd 'markers' will be placed in hidden ground, so that during the pause before the final assault, the unit may well be concealed. This will vary considerably, due to the available terrain, but hidden ground is certainly favoured for the last 2 'markers'.

During the unit's travel to the 1st marker, the unit will advance at Medium speed in Column and will Engage any enemy unit that is located.

After the 1st 'marker' the unit moves into a Wedge and will Assault any located enemy.

The unit will wait at all of the three intermediate 'markers' for 10 seconds, scanning for targets.

During the final assault, the unit will invariably overshoot its WP and occupy more advantageous terrain. Upon arrival the unit will adopt standard default orders of Line and Engage.

The same behaviour applies to IFVs with the MECH_ASSAULT command. During an assault, the IFVs slow down (they don't stop) and the grunts tumble out of the back.

Do be aware that IFVs will not hold back during an assault and if they can outpace accompanying tanks, they will happily charge out in front (usually with disastrous consequences). Take note of the relative speeds in a combined assault and if necessary, make sure that the IFVs start the move from further back.

 

 

 

LOGIC_MAIN_DEFENSE

This will put the units into an extended line formation, hull down, with infantry deployed if applicable to the unit. Infantry will stay deployed for the entire battle. If another unit reports contact and the unit with MAIN_DEFENSE as a logic can not engage, it will move to support the unit under fire. ......from M1TP

 

A single 'marker' will be generated near to the start position, favouring high ground and will be determined by the surrounding terrain. Note that the 'marker' is not actually connected to the WP position.

The unit moves to this 'marker' at Medium speed in Line formation. It will retain the Line and will Engage any enemy unit located. Rarely have I seen Tanks adopt a hull down posture. More often, after finding the high ground, they will deploy on the crest or on the forward slope.

I have also yet to see an unengaged unit move to support another that is under fire. If a second unit actually sees the same enemy unit, it will turn and will reposition, which could include forward movement. If the second unit can't see it, it will completely ignore it unless fired upon first.

 

The WP is ignored for movement purposes and the unit remains throughout the battle at the 'marker' position.

I did notice in the example shown, that the unit would always deploy facing North, even though it had to move East to get into position. Surprisingly, changing the compass heading in the mission Engagement line had no effect. Something else was obviously forcing it to face North.

That something was the WP. After moving the WP to 23000 75000, the unit deployed facing East.

This command now starts to make more sense. The start position tells the unit roughly where to 'defend' and the position of the WP tells it in which direction to face.

 

 

 

 

LOGIC_WITHDRAWAL

Units will start to retreat and at a rapid pace. Infantry will board carriers if possible. Immobile vehicles will cover the retreat for as long as possible. Infantry without carriers will cover until retreating units are 2km away and then start to retreat.....from M1TP

 

A single 'marker' will be generated nearby, favouring high ground and will be determined by the intervening terrain.

The WP is almost always set beyond the co-ordinates given, causing the unit to overshoot in an attempt to find hidden ground.

 

This command is unusual as the unit ignores the 'marker' and proceeds directly from the start position to the WP.

During its travel, the unit will move at Medium speed (not a particularly rapid pace), in Line and will Engage any located enemy.

Immobile vehicles will do what all immobile vehicles always do. They will continue to fire, until they are destroyed.

 

The reason for the 'marker' is still unclear.

 

 

 

 

 

LOGIC_OUTPOST

This will put the unit into an extended line formation, hull down. Once the enemy has been seen, Artillery and Air Support will be called and the unit will fire until fired upon, they will then fall back to a new position and defend it.....from M1TP

A single 'marker' will be generated close to the start position and favouring the highest ground. The position will be determined by the intervening terrain.

Movement to the 'marker' position is in Line at Medium speed and the contact option is Engage. The unit halts in Line, facing away from the WP. This is the reverse of MAIN_DEFENSE, but this time the WP is connected to the 'marker'.

The intention seems to be that after taking fire, the unit will withdraw to the WP, where it will once again deploy in Line, facing back towards the marker. The positioning of the WP therefore decides both the direction the Outpost faces and the position to which it will retire.

I suspect that this how it should work, but so far I've found it impossible to make the unit withdraw.

The only movement that occurs is when the platoon commander takes a hit. The rest of the platoon will then move, remounting infantry where necessary, but they invariably just contract the formation and reform in their original position. 

I suspected that there was some formula, whereby the unit would decide its course of action based upon the relative strengths of the two sides. Unfortunately, despite the numerous combinations of opposing units that I have tried, they will always stand, Engage and fight it out.

I also tried varying the mission Engagement options and positioning the WP inside an Objective radius, but nothing I've tried so far seems to 'trigger' the withdrawal.

 

 

 

 

 

LOGIC_SUPPORT

Support will give orders to support or reinforce another unit throughout the battle.......from M1TP

 

This command generates no 'markers', only the single WP. The unit will move from the start position to the WP in Line formation, at Medium speed and with Engage orders.

Movement is in an absolute straight line, with no regard for intervening terrain.

This same behaviour can be produced by just using the platoon header and missing out the Logic command entirely.

Despite numerous tests involving placing friendly units alongside, in front or behind, the unit shows no signs of any behaviour beyond that of any other platoon with default movement  orders.

 

 

 

 

 

 

 

 

 

 

 

LOGIC_REF_DEFENSE

There is no description for this one in M1TP, which leads me to suspect that this is/was new for GS.

 

I have to confess, I don't know what it means, nor what it actually does.

Two 'markers' will be generated and surprisingly, these follow after the WP. The route will always be in straight lines, suggesting that this is a purely movement function with no intention of seeking combat.

Initial movement to the WP is in Line at Medium speed with the contact option of Digin. A very defensive posture, so they are definitely not looking for a stand up fight.

 

Once at the WP, the unit deploys in Line, facing in its direction of travel and will now Engage. If there is a delay here, then it is a very long one. I cancelled the test after 37 minutes!

I have played with various ideas, including fixing a radius Objective around the final marker'. The hope was that they would then rush back to defend it from attack. Sadly...no.

 

I have no idea how to trigger the move back to 'markers' 2 and 3. Actually, it seems very unlikely that they can, as arrival at the one and only WP will always invoke the final WP defaults. No further movement is possible

 

 

 

 

 

 

MODIFYING LOGIC COMMANDS

Fortunately, all the defaults adopted by the various Logic commands can be changed by adding standard WP commands. I take no credit for this discovery, as it was used by Tim Goodlett in 'Boots and Saddles'. The following example uses the same map overlay shown above.

The commands below are separated into four Blocks for clarity. The Default orders for Probe are Fast, Line and Assault, with delays of 30, 50 and 70.

PLATOON: 1 20000 75000 0 0 21000 69000 3 21
LOGIC: LOGIC_PROBE
ORDER_WPT_CURRENT: 1
ORDER_WPT_SETDELAYTIME: 10
ORDER_FORM_COLUMN:
 
ORDER_WPT_CURRENT: 2
ORDER_WPT_SETDELAYTIME: 20
 
ORDER_WPT_CURRENT: 3
ORDER_FORM_EXTLINE:
ORDER_ADV_SLOW:
ORDER_WPT_CURRENT: 4
ORDER_FORM_COLUMN:
ORDER_ADV_SLOW:

Block 1 The unit moves out from its start position at fast speed (default) formed in column. It arrives at 'marker' 1 and waits 10 seconds.

Block 2 The unit moves off from 'marker' 1 at fast speed in line (both defaults). It arrives at 'marker' 2 and waits 20 seconds.

Block 3  The unit moves off from 'marker' 2 in extended line at slow speed. It arrives at 'marker' 3 and waits 70 seconds (default).

Block 4 The unit moves off from 'marker' 3 at slow speed in column. It arrives at the WP, forms into line and will now engage (final WP defaults).

 

Unlike normal WP orders, the commands are not carried over and at every WP (read marker), the defaults are always re-applied. If you want a particular speed or contact option throughout, you will have to write it for each marker.

It is also possible to change a single 'set' of commands, as in the following example.

PLATOON: 1 20000 75000 0 0 21000 69000 3 21
LOGIC: LOGIC_PROBE
ORDER_WPT_CURRENT: 3
ORDER_FORM_COLUMN:
ORDER_ADV_SLOW:

Here the unit obeys its default orders, except that it travels in a slow column between 'markers' 2 and 3.

I must confess at this point, I have not tested every single Logic command with every permutation of WP order (I have to sleep sometimes!), but I see no reason why the system should not work throughout. Logic commands can now be used much more efficiently, as not only can you observe both the route they will take and the stops they will make, but you can modify their actions.

Changing Logic commands will not be required in every case, as Logics do tend to take care of themselves, but there are instances where their behaviour can interfere with a well planned mission. Probe commands can often be troublesome, as a unit can waste a lot of time trying to chase bits of the enemy you don't want it to. You may not have noticed, but a unit with Assault as a contact option will actually chase after enemy Helos. Many times when building missions, I've completely scrapped Logics and reverted to back to WP orders, simply because a unit or two goes schlepping off in the wrong direction. It's actually doing what it's supposed to do; it's just not doing what I wanted. Tank Assault is a case in point. Despite careful planning and unit positioning, I've often had these fail, when the attacking units spot a row of hostile tents off to the right and blindly obey their Assault command. Being able to modify Logic commands makes them much more usable.

 

USING LOGIC COMMANDS

In the past, the practice when using Logic units was to add them to a mission and hope that somewhere between the start and final positions, they would do something useful.  The ability to view the marker points used by Logic units, now makes them much more controllable. The following method works well and is one that I recommend.

  1. Set up the Logic units first. If the mission already has some content, copy the mission header and create a new blank mission file. Decide on the start and finish positions and add the 'Logic units' using Helo platoon numbers instead of ground units.
  2. Launch the 'new mission', go to the map screen (N) and clicking through the Helo units (NEXT), write down the WPs shown. These WPs represent the markers that the ground units will use. It's often helpful to Pause (Alt + P) or the Helos will overshoot the first WP before you're finished.
  3. Change any set of Co-ordinates you don't like, until the WPs fall in roughly the right areas. Then copy the Helo platoon commands back to the original mission, but remember to change them back to ground units.
  4. Now you can add the defending units to the mission, placing them in the path of the attack. I know it sounds the wrong way round, but it does work and it's fast.

I always print off a copy of the map and draw in the connected WPs for each Logic unit. It's an optional step, but it actually saves a lot of time. Using the map, I can then decide how to time the attack by altering the delays at each WP (marker). The formation, speed and contact commands can also be altered to avoid unwanted contacts or to keep the timing on track.

This is a much quicker method than blindly adding Logic units to an existing mission and then having to make multiple alterations to make it all work.

 

THE POOR RELATION

Having now spent many hours (too many hours!) trying to find out how these things work, I can't help feeling that it's all a bit incomplete. I think Microprose left some of this unfinished and originally intended Logics to play a much greater role. Whether this was due to lack of time or the intended function was beyond the scope of the AI, I simply don't know, but it's obvious that a great deal of work went into designing the Logic function.

Interestingly (and surprisingly), Microprose themselves made relatively little use of logic commands in either the single battles or the campaign missions. Of the 1589 platoons used in the 74 missions released with the game, only 231 platoons use Logic commands, 14% of the total. See GS Missions.

If someone from Microprose would like to explain that, I'd be mighty interested.

 

BACK TO HOME  PAGE