По сути, вам понадобятся две структуры данных (логическая, навязчивая или реальная, в зависимости от остальной части вашего кода). Первый будет отслеживать цепочки объектов, а другой путь.
Цепочка Просто вам нужно знать, какие объекты следуют за другими объектами. В простейшем случае это будет просто А следует за В, но может включать больше последователей. В цепи есть назначенный лидер .
Путь Для каждой цепочки вам понадобится путь. В зависимости от того, как ваша игра работает, будет зависеть, как она будет структурирована. В большинстве случаев это будет какой-то связанный список. Это позволит отслеживать позиции, которым должны следовать все в цепочке.
Теперь лидер в цепочке будет добавлять предметы на путь . Каждый раз, когда он перемещается, он добавляет что-то в начало списка. Каждый объект в цепочке запоминает, где он находится в списке. Когда дело доходит до перемещения, он просто перемещается к следующему элементу в списке (при необходимости интерполируется соответствующим образом). Когда последний элемент в цепочке проходит мимо элемента в списке, этот элемент можно отбросить (он будет в хвосте).
Метафорически лидер оставляет след своих последователей. Последний последователь в списке потребляет хлебную крошку.
Содержит ли ваш список отдельные точки, или только вершины пути, или что-то еще, полностью определяется вашим игровым движком. Но в любом случае я не вижу, что вы сможете избежать самого списка.