Computing Techniques For Game Design