Кто знает, как в Cultist Simulator карты находят свободное место?

Пытаюсь понять, как карты определяют, куда им сдвинуться на столе, если на них бросаешь другую карту.

Хочу в своей игре сделать похожее перетаскивание объектов по столу по двум осям. Если игрок вдруг бросает один объект на другой, как в Cultist Simulator карты, то тот объект, который внизу, должен сдвинуться на ближайшее свободное место. При этом, кажется, сетка тут не используется, так как саму карту можно поставить в любую точку на столе.

По разному пытался реализовать это, но такого эффекта, как в Cultist Simulator не добился - чтобы без привязки к ячейке сетки объекты можно было ставить в любое место на столе. Уроков на Youtube по этой теме тоже не обнаружил.

В связи с этим и вопрос, кто-нибудь понимает, как карты в Cultist Simulator находят ближайшее свободное место, на которое им сдвинуться? Через что это может быть реализовано?

31
19 комментариев