Difference between revisions of "Proposals/Pathfinder wishlist"

From Minetest Developer Wiki
Jump to navigation Jump to search
(Add width clearance)
Line 6: Line 6:
 
* '''Custom nodes''': Select which nodes to consider free (can move through), blocking (can not move through) or walkable (can walk upon)
 
* '''Custom nodes''': Select which nodes to consider free (can move through), blocking (can not move through) or walkable (can walk upon)
 
** Important because: You want to teach mobs to avoid lava or other nasty blocks
 
** Important because: You want to teach mobs to avoid lava or other nasty blocks
 +
* '''Width clearance''': Require the path to have at least a certain width e.g. between columns
 +
** Important because: Mobs need to avoid narrow paths they can't fit through, especially if they are more than 1 node thick
  
 
== Movement options ==
 
== Movement options ==

Revision as of 00:29, 12 February 2020

This is a list of wishes for pathfinder.

Basics

  • Height clearance: Require optional height clearance for tall objects (e.g. can only proceed if 2 nodes height are clear)
    • Important because: Mobs and players rarely are only 1 node high
  • Custom nodes: Select which nodes to consider free (can move through), blocking (can not move through) or walkable (can walk upon)
    • Important because: You want to teach mobs to avoid lava or other nasty blocks
  • Width clearance: Require the path to have at least a certain width e.g. between columns
    • Important because: Mobs need to avoid narrow paths they can't fit through, especially if they are more than 1 node thick

Movement options

These change how the pathfinder can move through the world. They are supposed to be toggable on/off.

  • Fly
  • Swim in liquids
  • Climb in climbable nodes
  • Move diagonally

Movement contraints

Add a couple of options to add rules to constrain movement. These should be toggable on/off.

  • Avoid nodes with damage_per_second > 0
  • Avoid nodes with drowning > 0
  • Avoid liquids
  • Avoid non-liquids
  • Don't jump on or in disable_jump nodes

Other

  • Support nodeboxes (but how?)
  • Time out when search takes too long (with parameter?)

Issues

https://github.com/minetest/minetest/issues/5479