That looks very good and playable (already). Mustang mentioned it looks "retro-ish", I agree; it looks like a cross between Encounter, Beamrider and Fort Apocalypse! :)
I think that as long as the player does not notice the AI is cheating, it's ok. Of course, if the enemy tanks just know where you are without seeing you and actually *act* on this knowledge, that would be bad cheating. Often much (quadratic) time is lost with every object checking the location of every other object, but again often it is enough to have the enemies check only the location of the human player (however, to have team-play they would have to do more). And a shortcut I used in some experiments (otherwise known as unfinished games) is to check which objects could be spotted by the player (potentially), and to mark these objects right away as being able to spot the player (if they were to look in a certain direction). Well this is probably not relevant to your game, the AI you are talking about may already be a bit more complex!
edit; indeed, your game looks like it has teams fighting each other, so just taking care of "the" human player will not work, in that case...
I've been pretty stringent in not 'cheating' with the AI
I think that as long as the player does not notice the AI is cheating, it's ok. Of course, if the enemy tanks just know where you are without seeing you and actually *act* on this knowledge, that would be bad cheating. Often much (quadratic) time is lost with every object checking the location of every other object, but again often it is enough to have the enemies check only the location of the human player (however, to have team-play they would have to do more). And a shortcut I used in some experiments (otherwise known as unfinished games) is to check which objects could be spotted by the player (potentially), and to mark these objects right away as being able to spot the player (if they were to look in a certain direction). Well this is probably not relevant to your game, the AI you are talking about may already be a bit more complex!
edit; indeed, your game looks like it has teams fighting each other, so just taking care of "the" human player will not work, in that case...