update obstacle generation