Post by Zensi on Jan 30, 2017 7:22:06 GMT
This guide is for formulating an advanced repair AI tailored to your ship. For most encounters, the repair AI is completely autonomous and works equally well in attack and defence situations. To get good results the AI requires some tuning - this will depend on your opponents and your ship layout. You should perform tuning on defending battles rather than offensive battles, as you will want to see how it performs with human feedback in the loop with the enemy ship.
--- Generating the AI ---
The maximum potential of the AI is as follows:
A. When your ship is getting to the end of an equally matched battle, healers will attempt to heal en-mass weak crew in co-operation with (B)
B. Provides an exit plan, healthy crew are cycled through rooms with weak crew to equally distribute the remaining HP
C. Rooms that are suffering a high rate of damage are repaired first, in a given priority order -- for example heavy damage from lasers
D. Rooms that are damaged but not being blitzed are repaired second, when time allows -- for example light damage from penetrator missiles
E. If your reactors are damaged, but the damaged reactors rooms already have crew en-route, remaining assigned repair crew will setup a boarder ambush in other reactors
F. When rooms are damaged, repair crew will stay inside the room for a small time, about 6 seconds, ensuring that hull blitz are ineffective. This works extremely well with rooms like anti-air and turrets as it gives superior hull damage prevention
G. Repair crew can be assigned with an idle room which they will return to eventually if fire dies down, i.e. a weapon or shield room.
To construct the AI, you must first make a blitz priority list. I have put a recommended list below, but you can customize this based on replay feedback:
- AntiCraft
- Lasers
- Teleport
- Shield
- Missile
- Cannon
- Hangar
- Reactor
When making this list there are some guidlines you should follow:
- Include rooms with 2HP or less first. These will always need to be repaired first, otherwise you will take excessive hull damage and lose
- Include rooms that deal short term damage with a high charge time second
- Include long term rooms with high health afterwards (cannon, hangar)
- Always include reactors last. If you don't, your AI will appear glitchy and intermittent because of frequent damage sources like penetrator missiles
Next, generate a list of safe rooms. These are rooms that would benefit from having a cumulation of injured crew members. A recommended list is as follows:
- Lasers
- Missiles
- Cannon
- Shield
- Hangar
If your crew are moving into these rooms and dying, you should modify this list to include rooms that are not damaged frequently. An AoE healer should be responsible for idling in each of these rooms, as the AI will trigger Healing Rain if they are injured and return from repair duty at their _destination_ room, the idle room, rather than the room they are repairing. This will effectively heal the crew in these rooms.
Now, insert the blitz and safe room list into the AI template. The lines responsible for each action are indicated with the action letter:
(A) Your Ship HP < 25% : Use Special Power
Current HP < 50% : Use Special Power (for healer only)
Current HP < 100% : Use Special Power (for gasser only, gives better AoE awareness)
None : Use Special Power (for critter only)
(B) Current HP < 25% : Target your <room from safe room list>
Repeat this in order for each room in the safe list. For example:
Current HP < 25% : Target your Lasers
Current HP < 25% : Target your Missiles
Current HP < 25% : Target your Cannon
Current HP < 25% : Target your Shield
Current HP < 25% : Target your Hangar
(C) Your <room from the blitz list> HP < 50% : Target condition room
Repeat this in order for each room in the blitz list. For example:
Your AntiCraft HP < 50% : Target condition room
Your Lasers HP < 50% : Target condition room
Your Teleport HP < 50% : Target condition room
Your Shield HP < 50% : Target condition room
Your Missiles < 50% : Target condition room
Your Cannon < 50% : Target condition room
Your Hangar < 50% : Target condition room
Your Reactor < 50% : Target condition room
(D) Any Your Room HP < 100% : Target condition room
(E) Your Reactor HP < 50% : Target Your Reactor Room (don't use condition room here)
(F, G) Your Ship has Active Shield : Target your <idle room>
Note the idle room should be selected as the room the crew member is placed into. You may chop and change the AI to remove features you do not wish to have.
To get best value out of the AI, you MUST rotate the first 3-4 entries in the blitz list between crew members. This will mean that if your ship is blitzed in one room while boarders are damaging a room, your crew will split up correctly instead of leaving the blitzed room to take significant hull damage while dealing with the boarders. Rotating the entries is as simple as copying the AI and moving the 4th blitz room into the 1st position. On the next crew member, you can move the 3rd blitz room into the 1st position, etc.
--- Tuning the AI Common Problems ---
Pick the problem and execute the solution.
Problem: my AI are standing around in safe rooms after they are critically injured while my hull gets blitzed
Solution: you require more healers. A good balance of Healing Rain crew members will constantly heal injured crew members in the idle/blitz rooms as they return
Problem: my AI are taking too much damage while standing in blitz rooms
Solution: would you rather your hull? You can remove this behaviour by substituting "Your Ship has Active Shield" with "None" in (F, G) but expect to take significantly more hull damage from blitzes on rooms like AntiAir and Mining Lasers. Perhaps invest in training your repair crew for HP in the gym and running groups of Healing Rain repair crew together (3x turkeys can tank over 100 damage).
Problem: my AI are not splitting up to repair multiple damaged rooms at once / my reactors being damaged are causing my repair crew to spaz out
Solution: you need to rotate your blitz list more. Try rotating more than 4 entries or making a custom list for each crew member according to rooms that are closest to their assigned idle room (best solution). Never put reactors or rooms likely to be touched by pens at the top of the blitz list.
Problem: gassers frequently kill all my boarders while they are standing in reactor rooms
Solution: assign more critters to your ship and remove (E) from the repair AI. Shift your boarder defence to your critters
Problem: the enemy frequently blitzes a room and my repair crew isn't repairing it quick enough
Solution: move the room up the blitz list, it will be prioritized higher
--- Generating the AI ---
The maximum potential of the AI is as follows:
A. When your ship is getting to the end of an equally matched battle, healers will attempt to heal en-mass weak crew in co-operation with (B)
B. Provides an exit plan, healthy crew are cycled through rooms with weak crew to equally distribute the remaining HP
C. Rooms that are suffering a high rate of damage are repaired first, in a given priority order -- for example heavy damage from lasers
D. Rooms that are damaged but not being blitzed are repaired second, when time allows -- for example light damage from penetrator missiles
E. If your reactors are damaged, but the damaged reactors rooms already have crew en-route, remaining assigned repair crew will setup a boarder ambush in other reactors
F. When rooms are damaged, repair crew will stay inside the room for a small time, about 6 seconds, ensuring that hull blitz are ineffective. This works extremely well with rooms like anti-air and turrets as it gives superior hull damage prevention
G. Repair crew can be assigned with an idle room which they will return to eventually if fire dies down, i.e. a weapon or shield room.
To construct the AI, you must first make a blitz priority list. I have put a recommended list below, but you can customize this based on replay feedback:
- AntiCraft
- Lasers
- Teleport
- Shield
- Missile
- Cannon
- Hangar
- Reactor
When making this list there are some guidlines you should follow:
- Include rooms with 2HP or less first. These will always need to be repaired first, otherwise you will take excessive hull damage and lose
- Include rooms that deal short term damage with a high charge time second
- Include long term rooms with high health afterwards (cannon, hangar)
- Always include reactors last. If you don't, your AI will appear glitchy and intermittent because of frequent damage sources like penetrator missiles
Next, generate a list of safe rooms. These are rooms that would benefit from having a cumulation of injured crew members. A recommended list is as follows:
- Lasers
- Missiles
- Cannon
- Shield
- Hangar
If your crew are moving into these rooms and dying, you should modify this list to include rooms that are not damaged frequently. An AoE healer should be responsible for idling in each of these rooms, as the AI will trigger Healing Rain if they are injured and return from repair duty at their _destination_ room, the idle room, rather than the room they are repairing. This will effectively heal the crew in these rooms.
Now, insert the blitz and safe room list into the AI template. The lines responsible for each action are indicated with the action letter:
(A) Your Ship HP < 25% : Use Special Power
Current HP < 50% : Use Special Power (for healer only)
Current HP < 100% : Use Special Power (for gasser only, gives better AoE awareness)
None : Use Special Power (for critter only)
(B) Current HP < 25% : Target your <room from safe room list>
Repeat this in order for each room in the safe list. For example:
Current HP < 25% : Target your Lasers
Current HP < 25% : Target your Missiles
Current HP < 25% : Target your Cannon
Current HP < 25% : Target your Shield
Current HP < 25% : Target your Hangar
(C) Your <room from the blitz list> HP < 50% : Target condition room
Repeat this in order for each room in the blitz list. For example:
Your AntiCraft HP < 50% : Target condition room
Your Lasers HP < 50% : Target condition room
Your Teleport HP < 50% : Target condition room
Your Shield HP < 50% : Target condition room
Your Missiles < 50% : Target condition room
Your Cannon < 50% : Target condition room
Your Hangar < 50% : Target condition room
Your Reactor < 50% : Target condition room
(D) Any Your Room HP < 100% : Target condition room
(E) Your Reactor HP < 50% : Target Your Reactor Room (don't use condition room here)
(F, G) Your Ship has Active Shield : Target your <idle room>
Note the idle room should be selected as the room the crew member is placed into. You may chop and change the AI to remove features you do not wish to have.
To get best value out of the AI, you MUST rotate the first 3-4 entries in the blitz list between crew members. This will mean that if your ship is blitzed in one room while boarders are damaging a room, your crew will split up correctly instead of leaving the blitzed room to take significant hull damage while dealing with the boarders. Rotating the entries is as simple as copying the AI and moving the 4th blitz room into the 1st position. On the next crew member, you can move the 3rd blitz room into the 1st position, etc.
--- Tuning the AI Common Problems ---
Pick the problem and execute the solution.
Problem: my AI are standing around in safe rooms after they are critically injured while my hull gets blitzed
Solution: you require more healers. A good balance of Healing Rain crew members will constantly heal injured crew members in the idle/blitz rooms as they return
Problem: my AI are taking too much damage while standing in blitz rooms
Solution: would you rather your hull? You can remove this behaviour by substituting "Your Ship has Active Shield" with "None" in (F, G) but expect to take significantly more hull damage from blitzes on rooms like AntiAir and Mining Lasers. Perhaps invest in training your repair crew for HP in the gym and running groups of Healing Rain repair crew together (3x turkeys can tank over 100 damage).
Problem: my AI are not splitting up to repair multiple damaged rooms at once / my reactors being damaged are causing my repair crew to spaz out
Solution: you need to rotate your blitz list more. Try rotating more than 4 entries or making a custom list for each crew member according to rooms that are closest to their assigned idle room (best solution). Never put reactors or rooms likely to be touched by pens at the top of the blitz list.
Problem: gassers frequently kill all my boarders while they are standing in reactor rooms
Solution: assign more critters to your ship and remove (E) from the repair AI. Shift your boarder defence to your critters
Problem: the enemy frequently blitzes a room and my repair crew isn't repairing it quick enough
Solution: move the room up the blitz list, it will be prioritized higher