Les règles à retenir concernant les nains sont les suivantes : lorsqu'ils atteignent un certain niveau de faim (lorsqu'ils sont oisifs) ou un niveau de faim légèrement supérieur (lorsqu'ils travaillent), ils tentent de se diriger depuis leur emplacement actuel vers la nourriture disponible la plus proche. Une fois qu'ils ont atteint cette nourriture, ils se dirigent à nouveau vers l'endroit le plus proche où ils peuvent manger la nourriture qu'ils viennent de ramasser (c'est-à-dire une table et une chaise).
La nourriture disponible signifie que la nourriture ne doit pas être signalée comme interdite ou pourrie, qu'elle ne doit pas être déjà réservée pour une autre tâche (comme cuisiner, brasser, manger par un autre nain, ou être transportée (ou réservée pour être transportée) de son emplacement vers une réserve, une brasserie ou une cuisine).
L'algorithme de cheminement de Dwarf Fortress vérifie l'objet libre le plus proche vers lequel un nain souhaite se diriger (dans ce cas, de la nourriture), mais ignore le chemin utilisable que le nain doit emprunter (en raison des murs, des niveaux Z ou de l'absence d'escaliers proches) pour atteindre cet objet. Cela conduit bien sûr à un comportement de cheminement sous-optimal (idiot) de la part des nains, puisqu'un algorithme de cheminement plus optimal mesurerait en fait la distance de déplacement du nain plutôt que la distance cartésienne à l'objet.
Un exemple de cheminement idiot est illustré par l'exemple suivant :
Un nain se trouve au 'niveau Z 50' et se tient dans une salle à manger avec une table et une chaise libres. À trois cases de là, il y a de la nourriture disponible sur une pile. Directement sous le nain (un niveau Z en dessous) se trouve un repas disponible (au niveau Z 49). Le nain tentera de se diriger vers la nourriture située directement en dessous de lui, plutôt que vers celle qui se trouve à trois cases de là, car elle est "plus proche". Si le nain peut calculer un chemin vers cette nourriture directement en dessous de lui, même si pour l'atteindre il doit marcher jusqu'à un escalier situé à l'autre bout de la carte, c'est ce qu'il fera. Une fois qu'il aura pris la nourriture, il retournera à la salle à manger (en supposant qu'il n'y ait pas de table et de chaise plus proches), en traversant une fois de plus toute la carte, afin de pouvoir manger la nourriture.
Maintenant que vous savez comment un nain calcule les chemins, vous pouvez rechercher certaines conditions dans votre forteresse pour convertir un chemin de nain complètement idiot en un comportement de chemin simplement sous-optimal/ennuyeux.
Comme Antipattern l'a suggéré, placer une zone de rencontre dans votre salle à manger principale fera que tous les nains désœuvrés se rassembleront à cet endroit (avant même d'avoir faim). S'il y a à la fois un stock de nourriture et d'alcool (qui contient de la nourriture et de l'alcool disponibles) à l'intérieur ou très très près (le même niveau Z est recommandé) de cette salle à manger, et que des tables et des chaises (disponibles/gratuites) ont également été placées dans la salle à manger, tous les nains oisifs dans la zone de réunion devraient les utiliser.
Malheureusement, les nains qui travaillent décideront de se diriger vers la nourriture ou l'alcool gratuit le plus proche de leur lieu de travail lorsqu'ils décideront qu'ils ont faim ou soif. Une fois qu'ils se seront dirigés de l'endroit où ils ont arrêté de travailler vers la nourriture ou l'alcool le plus proche, ils se dirigeront ensuite vers la table libre la plus proche pour le manger ou le boire. Si les tables/chaises de votre bibliothèque sont plus proches (selon l'algorithme de cheminement ci-dessus) que les tables/chaises de la salle à manger, ils utiliseront votre bibliothèque pour manger plutôt que votre salle à manger.
La seule façon de garantir que les nains n'utiliseront pas votre bibliothèque pour manger est d'entourer la bibliothèque (au-dessus, au-dessous et sur tous les côtés) de salles à manger (qui comprennent également des réserves de nourriture). Et même dans ce cas, vos nains chercheurs peuvent décider de manger dans votre bibliothèque si et quand ils ont faim (si le stock de nourriture le plus proche de la bibliothèque est plus proche d'une table de bibliothèque libre que d'une table de salle à manger libre).