Skip to content
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

Adding SSpathfinding. #4302

Open
wants to merge 1 commit into
base: dev
Choose a base branch
from

Conversation

MistakeNot4892
Copy link
Contributor

@MistakeNot4892 MistakeNot4892 commented Aug 7, 2024

Description of changes

  • Adding a subsystem to handle scheduling/tick checking of A* pathfinding.
  • Converts bots and ICs to use the subsystem.
  • Adds handling for paths to mob automove.

TODO

  • Coarse implementation.
  • Get bots to actually work again.
  • Test cleanbot.
  • Test farmbot.
  • Test medibot.
  • Test secbot.
  • Test floorbot.
  • Test mulebot.
  • Get path following, updating and invalidation working on a test mob controller type.
  • Test asynchronous/tick checked AStar().

Why and what will this PR improve

  • Allows use of A* without locking up the entire game.
  • Generalizes pathfinding off the bot subtype so mob controllers in general can use it.

Authorship

Myself.

Changelog

Nothing player-facing.

@MistakeNot4892 MistakeNot4892 added the work in progress This PR is under development and shouldn't be merged. label Aug 7, 2024
@MistakeNot4892 MistakeNot4892 force-pushed the feature/astarautomove branch 4 times, most recently from 00f1b91 to e07f166 Compare August 9, 2024 05:07
@MistakeNot4892 MistakeNot4892 force-pushed the feature/astarautomove branch 2 times, most recently from 663dbee to 3e0bf7e Compare September 24, 2024 02:50
@PsyCommando
Copy link
Contributor

I don't know if it's in the plans down the road, but having some way to prioritize some movers above others would be great. Since, having a lot of idle mobs running their idle or like fluff pathfinding over mobs in active combat would probably be a bit problematic.

Like say, if there's 12 cleaner and farm bots bots trying to get a path and then there's 2 medbots trying to path to heal people, and 2 hostile mobs trying to path to attack players, you probably don't care much about the cleaner and farm bots pathing really long paths over those that need to react quickly?

@MistakeNot4892
Copy link
Contributor Author

I am not planning on adding pathfinding priority in this PR. I just want it subsystemised and tickchecked, if someone wants to implement scheduling down the track then they can, but I am not adding more scope to this PR, I am already struggling to get through it.

@MistakeNot4892
Copy link
Contributor Author

Splitting the bot aspect out of this for a separate PR.

@MistakeNot4892
Copy link
Contributor Author

  • Need to test the IC aspect.
  • Need to test the basic mob behaviors to ensure automove isn't broken.
  • Need to remove or integrate/test the asynchronous A* for bot code.

@MistakeNot4892 MistakeNot4892 force-pushed the feature/astarautomove branch 3 times, most recently from e3abb9e to 2700e4f Compare November 2, 2024 05:04
@MistakeNot4892
Copy link
Contributor Author

This has broken bot behavior, but I can't tell if it was my changes or if bots were already screwed. Need to test bots on clean dev I guess.

@noelle-lavenza
Copy link
Contributor

works perfectly with #4586 in.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
work in progress This PR is under development and shouldn't be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants