Category Game Programming