Programming for Game Design