I studied the moving platform example and the corresponding code. Since there is no corresponding system for follower entities atm, I wonder what can be done.
Background:
I have multiple ships moving around and being constructed/destroyed dynamically. I’d like units to be able to move both on land and water (no problem), but also on deck of the ships. On the ships, it’s not necessary to have a complex navmesh, it even could que as simple as a rectangle (if I can integrate a “real” navmesh though, of course the better). Also, to enter the ships or jump from one ship to another, it could be done with proximity checks in case node links will over-complicate things.
I just wonder what would be the best strategy implementing that and I’ve identified these options:
-
A custom simple navigation system: A custom ecs system that moves the agents around on the ships collider or on a simple navmesh, integrating the ships world position.
Pros: Probably the easiest to implement
Cons: Dedicated solution, systems for animations, destination setting etc need to integrate additional interfaces -
Using the A* pathfinding solution partly:
This could consist in using the movement systems of the package, but e.g. manipulating the paths and positions to integrate the ships world position.
Pros: Make use of existing systems, can be integrated seamlessly to the rest of the framework
Cons: Complicated to integrate, error prone for breaking changes with future package upgrades -
Custom graph:
A custom graph dedicated entirely to moving platforms.
Pros: Best integration, portability for other projects, “professional” solution
Cons: Probably requires the most work and will be complicated to develop
From your extensive experience with pathfinding, maybe you can give me a hint what would be the best call to make here? Or can you think of another solution not mentioned?
And more general:
Are you planning to integrate moving platforms for follower entities at some point yourself? I think it’s actually quite a common challenge.