Programming for game designers