• Excrubulent@slrpnk.net
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    2 天前

    You know why villagers cause so much lag if there’s too many and they’re allowed to roam free? Well, rather than optimise their pathfinding logic they just… recalculate their paths every goddamn frame. They also take shortcuts in calculating their paths to reduce this overhead, so their movement is derpy and frequently kills them.

    You could make the path then record all the blocks they will interact with, and only recalculate if one of those blocks changes. Boom, millions of operations eliminated, and you’ve got some spare time to make sure the paths will actually work. You could also stagger pathfinding so if a bunch of villagers need a path all at once - like you just blocked a path to where they were all going - you could spread out that load, and prevent lag spikes.

    But they don’t do that, so people end up sticking them in tiny boxes on top of carpets so they stop trying to pathfind. Just absurd stuff.