Hello, I'm currently working in the AI from several aspects.
Feel free to drop in the discussion (it's in the 'Coding' section of the forum). I make a fugly introduction to how the AI seems to work and then try to explain why many (including wall-shooting) bugs exists/how to fix em.
Atm I'm working on some fixes for the AI that should improve the difficulty factor and stop aliens from shooting into walls. Specifically on wall-shooting, I actually let them take 10 imaginary shots using the real shooting mechanics so they pretty much know exactly what's going to happen. It makes sense that they would stop shooting through walls, right?
Wrong, kinda. The classic maps where silly wallshooting happened a lot (africa map) has ceased, but now aliens keep shooting through walls in rivertown. Did you notice I skipped the "try to"? Yes, the little critters actually found a bug in the code and are actively exploiting (damn cheaters!). I'd challenge you to cross the river in that map without loosing half your squad...
So the issue may not exactly be an AI one. Also, that shot sampling cannot be used in the real AI since it's too slow.
I'm still looking for someone into the math of simple geometry and the error function (CDF), to fix some math that make that UI hit-predictor behave improperly (so we can use it in the AI).
I know that the alien god-o-vision (call it wallhack if you may), is kinda cheesy. The problem at this point is that if we drop that, the aliens will become even dumber and the workload will be immense just to bring it in line with th current piece-of-cake difficulty. The plan is to buff it as much as we can, then once we can provide a very strong challenge, try to drop things like this (maybe based on difficulty?). All game AI more often than not knows where you are, it's how it uses that information that makes you aware of it. If it wasn't for this wallbug, you probably wouldn't have noticed it.
You can take a look at the new AI yourselves, but it needs trunk ver and/or some minor coding. See the discussion.