Вам необходимо построить многоразветвленную древовидную структуру (а не простое двоичное дерево). Узлы - это локации в игре. Каждый узел может содержать несколько простых указателей структур / объектов (в зависимости от вашего языка программирования). Когда игрок перемещается по игре, вы перемещаете указатель позиции своего игрока на узел дерева, представляющий местоположение. Когда вы запускаете игру, эта структура типа дерева заполнена вещами, которые нужно подобрать, монстрами и т. Д. Случайное семя также можно использовать для рассеивания монстров.
Это помогает повысить скорость игры, поскольку вам нужно только искать текущий узел и узлы на расстоянии одного шага от вашего текущего местоположения / узла. Любые подпрограммы, вызывающие продвижение или отступление монстров, просто перемещают указатель монстров к следующему узлу или узлам. Если используется медпакет, его указатель уничтожается из комнаты / узла, в котором он находится.
Удачи