gridworld project from 2013; requires the gridworld library but code still readable