Вы не дали язык, но он может быть довольно простым или довольно сложным. Если это = жесткое = расстояние, вы можете выразить это как:
друг х: = основной х - фиксированное расстояниеX.
friend y: = main y - fixedDistanceY.
(синтаксис типа Smalltalk.)
Это будет выглядеть довольно жестко и создает проблемы, если относительные положения между основным спрайтом и другом должны быть в состоянии измениться, то есть друг иногда находится к северу от основного спрайта, но другие времена могут быть южными из-за препятствие.
Более естественный подход - сделать что-то подобное после перемещения основного спрайта:
(друг дальшеThan: fixedDistance from: Main) ifTrue: [friend moveToward: Main).
Тогда любой ИИ, который у вас есть для движущегося независимо друг от друга спрайта, может быть использован в этом контексте для поддержания его близко к основному спрайту.
Надеюсь, это поможет.