AI Techniques for Game Programming