-
Notifications
You must be signed in to change notification settings - Fork 184
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
place refueling waypoints intelligently #2542
Comments
This should be fairly easy now that #3085 is done. |
I started taking a look at this again after your waypoint solver improvements (though the need to do this feels quite a bit reduced due to the infinite fuel setting in the AI now, I'm still a bit disappointed with my current placement of the refuel points). At first I thought this would be somewhat simple but now after thinking a bit about it maybe not. I feel like the conditions for a refuel point would ideally be:
And now I have a bunch of questions that I don't fully know the answers to.
|
In case you need more motivation, unlimited fuel doesn't actually change this much. The waypoint exists whether or not the AI will use it, and may drag the AI (and players) places they should not go. Unlimited AI fuel offers an alternative fix: remove the refueling waypoint entirely. Players can find the tanker themselves with TACAN (or whatever system Russia uses), and the AI doesn't need it. That's optional of course, so it'd take fuel away from AI flights that might need it if players disable that option. You also still need to place some sort of refueling waypoint for the tanker itself, but it might be an easier problem if it's just for the tanker and doesn't need to be a reasonable location relative to split aside from being near and safe. I actually quite like that plan, FWIW. If that's as easy as it sounds to me, I think the regression in AI behavior when unlimited fuel is off is worth it since it cleans up flight plans considerably. Adding refueling points back to the flight plan for players is something more easily tackled post #270.
This isn't actually a condition in the sense of being a requirement for the solver. That wouldn't cause the waypoint to be optional when the route/TOS was short, it would cause it to be unsolvable in that case. In any case, it can't be optional (see below).
Until #270 is fixed, these can't be conditional. All flight plans of the same type will either have them or not have them. The AI tasks could be skipped conditionally, but the waypoint must always exist.
If it's placed before the split (idr how we order them currently, but you could change it if it makes sense to do so), you'll need to also move the split point, because the split point is typically the first safe location in the egress route. Placing refuel before split without moving split would mean refuel is unsafe. It may be easier (and safer, since it'll be farther from the threat boundary) to place it after, but either option would work.
The refuel waypoint was intended to match with a package refueling mission. I think currently the AI tasks are unconditional, so sometimes they'll wander a long way to find a tanker, but that's a different issue. The refuel waypoint should be roughly colocated with the package's tanker. The other kind of refueling flight (the kind that loiters over a CP and is intended to be usable by all flights), shouldn't impact this.
They refuel on the way out, and refueling the whole package could take quite some time. Not everyone's home base will be in the same direction, so without a racetrack the refueling would potentially drag flights an extra hundred miles farther from home. I'd keep the racetrack. Unless we don't currently have a race track, in which case I'd say leave it as-is and we'll deal with it if it starts causing problems. |
dcs_liberation/game/flightplan/refuelzonegeometry.py
Line 24 in 38f4b27
Aside from avoiding threats, they should also be placed to avoid making bizarre flight plans. The current refueling waypoint placement undoes a lot of the backtrack-avoidance that was done in 5.0 since it uses arbitrary distance and positions.
The text was updated successfully, but these errors were encountered: