I’m making a 3D space game that has an emphasis on realtime combat and I’ve got rudimentary enemy AI working. One problem is that with fixed forward-firing projectile weapons, they are terrible shots. The issue seems to stem from the fact that I’m using AddForce and AddTorque along with drag and angular drag settings. Drag isn’t strictly realistic in space of course, but I justify it by thinking of it as “braking thrusters” or something. Actually, the player can optionally turn off drag, but it’s hard to play that way. The player ship controls well with some drag, so my initial thought process was to have the enemies use the same “Ship” class with the same movement code. Enemies will try to predict where the player will be in the near future based on their current heading, taking into account the player’s speed and the speed of the projectiles. What’s tricky is that when they rotate into position, there’s a constant lag because of leftover momentum. It actually looks kind of cool, since they can sometimes sort of slide sideways for a bit in a realistic manner (though realism isn’t that important to me). But it makes hitting the player with projectiles really tough. Now I don’t want the AI to necessarily be TOO good, so it could be a way to adjust enemy accuracy. It seems that the higher the drag, the more accurate they are, but then I have to increase the forces to compensate. So I’m wondering if I should treat enemy ships differently than the player and just set their drag settings to infinite and move and rotate them around directly. It kind of feels like giving up, but under the circumstances, maybe it makes sense. Any suggestions on a good approach to this?