enowars / EnoEngine

MIT License
12 stars 2 forks source link

Don't getflag in the same round you putflag #102

Open ldruschk opened 4 years ago

ldruschk commented 4 years ago

Dividing the round into four quarters makes it quite hard to cut down the round time below 60 seconds when considering that each task only gets one quarter of that.

By not running getflag in the same round you putflag you can run all getflag and putflag tasks in parallel, allowing each task to have double the time (one half), which would be 15 seconds for 30 second rounds and should still be sufficient

Trolldemorted commented 4 years ago

What is your intended goal? Decreasing the round time for a better UX without compromising stability?

ldruschk commented 4 years ago

Yes, exactly that

Trolldemorted commented 4 years ago

Would you change the service status formula or should teams where all getflags fail be considered recovering?

ldruschk commented 4 years ago

That's a good question. I would consider a team to be recovering if the last getflag that is executed (so the one for the previous round) is successful and all putflags/putnoises/havocs are successful.

Trolldemorted commented 4 years ago

So we split a round into two parts, and start everything in the first part. Should we use 0..(roundTime - maxTaskRunningTime - safetyMargin) and (roundTime - maxTaskRunningTime - safetyMargin)..roundTime or 0..(roundTime/2) and (roundTime/2)..roundTime?

I think the answer depends on what our desired round time is.