reworks game play loop