Подскажите как правильно готовить.

Доброго всем времени! Пилю top-down 2D на libgdx, штука довольно низкоуровневая и вот возник вопрос как правильно реализовывать получение инфы о сущностях другой сущностью, к примеру чтобы проверить какие из игровых объектов попадают в поле зрение npc, проблема в том что объекты(как и npc) находятся в списках сущности level которая на пару уровней абстракции выше. Быстрое гугление, впрочем как и штатная реализация в libgdx.ai предлагают дичь вроде blackboard паттерна, которая нахрен ломает все принципы ООП. Хотел спросить - кто нибудь сталкивался в реализацией подобного функционала? Как сделали?

И да, я пробовал нейросети - там еще большая дичь например предлагается событийная модель, когда у меня по сути задача это query.

30 комментариев