Just some small tweaks and fixes today. I fixed the entity ambient so it doesn't blink anymore. Turns out I was using one of the functions normally used for the ambient occlusion calculation. Because that function randomized the normal direction for occlusion hemisphere sampling, and this caused blinking. I added an extra parameter than controls the randomness, which the player lighting version turns off.
The randomness is good to add some noise to the sampling in order to break up banding in the occlusion maps with fewer samples.
I also fixed a bug with the decals, and local bounding boxes in general, where the AA bounding boxes would not get recomputed properly after being transformed, but only in the case of an anisotropic scaling.
Tonight I adjusted the spark parameters so that they have less gravity applied and last longer. This helps them show up better.
Additionally, I tuned the glowspheres for explosions and laser bolts to make them brighter.
On the AI front, I added an alertness threshold for the enemies, and now have them pathfind to the last known location of the player if he goes out of LOS. I need to re-write the AI logic for sure, to include sounds, ai->ai communication, etc.
I also turned back on the frame buffer post-processing effect, that really helps to make the screen a bit more alive and colorful, without overdoing it to produce blur-o-vision. It also looks much better with the lasers.
Here is a shot of the post-processing set to a low level :
And a high-level :