I must say I have been very impressed by Bobby and his ability to steer any form of ship and turret nearly flawlessly, so as the first thing let me thank you for that impressive AI that we can use even at this early alpha time.
There are however a few things where I think Bobby can be improved further:
Bobby currently absolutely needs to aim at his target, whether or not the weapon actually requires that. So if you for example use heat-seeking missiles, Bobby refuses to fire if he cannot aim at his target. This is especially noticeable if you lock-in a turret into your ship so that it cannot move at all. Then even if you rotate the ship to perfectly aim your weapons, Bobby refuses to shoot. That got me thinking about how the logic for Bobby should be internally, and I cam up with the following list of actions:
Bobby action priority:
- If Bobby has a non-targeting weapon (currently only heatseekers) he will fire the weapon as soon as any enemy is in range. Optionally (if there is nothing else to do), he will also try to face the enemy.
- If Bobby has an auto-targeting weapon (lock-on missiles), he will lock onto an enemy and immediately fire, then try to rotate the turret towards the enemy.
- If Bobby has any weapon that needs to look at the target, he will try to rotate the turret towards the target first, then checks if it is in range and within a reasonable target direction, and if that is the case, he will fire (even if the turret is not fully aimed at the target).
Furthermore it should be possible to switch on the AI on a ship and set it to "Turret" mode, while you simultaneously steer the ship manually. In this case Bobby would go through the list as above, but skip any movement otherwise required.
While this looks like a minor change, it would actually be a significant improvement over the current behavior. If Bobby is allowed to fire while manually targeting the turret/ship, many new builds would be possible. Immovable in-door turrets, auto-targeting missile turrets integrated into the ship, and many more.
There are however a few things where I think Bobby can be improved further:
Bobby currently absolutely needs to aim at his target, whether or not the weapon actually requires that. So if you for example use heat-seeking missiles, Bobby refuses to fire if he cannot aim at his target. This is especially noticeable if you lock-in a turret into your ship so that it cannot move at all. Then even if you rotate the ship to perfectly aim your weapons, Bobby refuses to shoot. That got me thinking about how the logic for Bobby should be internally, and I cam up with the following list of actions:
Bobby action priority:
- If Bobby has a non-targeting weapon (currently only heatseekers) he will fire the weapon as soon as any enemy is in range. Optionally (if there is nothing else to do), he will also try to face the enemy.
- If Bobby has an auto-targeting weapon (lock-on missiles), he will lock onto an enemy and immediately fire, then try to rotate the turret towards the enemy.
- If Bobby has any weapon that needs to look at the target, he will try to rotate the turret towards the target first, then checks if it is in range and within a reasonable target direction, and if that is the case, he will fire (even if the turret is not fully aimed at the target).
Furthermore it should be possible to switch on the AI on a ship and set it to "Turret" mode, while you simultaneously steer the ship manually. In this case Bobby would go through the list as above, but skip any movement otherwise required.
While this looks like a minor change, it would actually be a significant improvement over the current behavior. If Bobby is allowed to fire while manually targeting the turret/ship, many new builds would be possible. Immovable in-door turrets, auto-targeting missile turrets integrated into the ship, and many more.