procedurally generated 2d shooter