Dan Albert bff905fae5 Use navmeshes to improve TARCAP flight plans.
Started with TARCAP because they're simple, but will follow and extend
this to the other flight plans next.

This works by building navigation meshes (navmeshes) of the theater
based on the threat regions. A navmesh is created for each faction to
allow the unique pathing around each side's threats. Navmeshes are built
such that there are nav edges around threat zones to allow the planner
to pick waypoints that (slightly) route around threats before
approaching the target.

Using the navmesh, routes are found using A*. Performance appears
adequate, and could probably be improved with a cache if needed since
the small number of origin points means many flights will share portions
of their flight paths.

This adds a few visual debugging tools to the map. They're disabled by
default, but changing the local `debug` variable in `DisplayOptions` to
`True` will make them appear in the display options menu. These are:

* Display navmeshes (red and blue). Displaying either navmesh will draw
  each navmesh polygon on the map view and highlight the mesh that
  contains the cursor. Neighbors are indicated by a small yellow line
  pointing from the center of the polygon's edge/vertext that is shared
  with its neighbor toward the centroid of the zone.
* Shortest path from control point to mouse location. The first control
  point for the selected faction is arbitrarily selected, and the
  shortest path from that control point to the mouse cursor will be
  drawn on the map.
* TARCAP plan near mouse location. A TARCAP will be planned from the
  faction's first control point to the target nearest the mouse cursor.

https://github.com/Khopa/dcs_liberation/issues/292
2020-12-23 17:09:34 -08:00
2020-10-30 13:51:18 -07:00
2020-08-22 20:00:07 -07:00
2020-12-21 14:08:21 +01:00
2020-12-21 14:14:37 +01:00
2020-12-21 14:14:42 +01:00
2020-12-19 11:56:13 -08:00
2020-12-12 02:31:43 +01:00
2020-12-18 13:10:05 -08:00

Logo

Donate Patreon

Download

Discord

GitHub pull requests GitHub issues GitHub stars

About DCS Liberation

DCS Liberation is a DCS World turn based single-player or co-op dynamic campaign. It is an external program that generates full and complex DCS missions and manage a persistent combat environment.

Logo

Downloads

Latest release is available here : https://github.com/Khopa/dcs_liberation/releases

To download preview builds of the next version of DCS Liberation, see https://github.com/Khopa/dcs_liberation/wiki/Preview-builds.

Bugs and feature requests

If you need to report a bug or want to suggest a new feature, you can do this on our bug tracker. In either case, please use the search bar at the top of the page to see if it has already been reported. Note that you may need to remove the filter for open bugs if it's something we've recently fixed.

Roadmap

Our plans for future releases can be found on our Projects page. Each planned release has a Project, and the page for that project has columns for to do, in progress, and done. Items in the Done column are in the preview build for that release. Items in the To do column are planned to be added to that release.

Resources

Tutorials, contributors and developer's guides are available in the project's Wiki

Special Thanks

First, a big thanks to shdwp, for starting the original DCS Liberation project.

Then, DCS Liberation uses pydcs for mission generation, and nothing would be possible without this. It also uses the popular Mist lua framework for mission scripting.

Excellent lua scripts DCS Liberation uses as plugins:

  • For the JTAC feature, DCS Liberation embeds Ciribob's JTAC Autolase script.
  • Walder's Skynet-IADS is used for Integrated Air Defense System.

Please also show some support to these projects !

Description
Dynamic campaign mission generator for DCS World
Readme 386 MiB
Languages
Lua 60.2%
Python 38.3%
TypeScript 1.1%
Jinja 0.2%
CSS 0.2%