1. Доработка системы задач: класс Task, новые задачи, проработка старых; 2. Доработка движка и приведение его структуры в порядок: - вынос всех функций карты в карту, объекты знают свою позицию и им этого хватит. взаимодействия с картой и другими объектами должно происходить только в методе движения, остальные методы должны абстрагироваться от карты; - вынос рендера в класс Render. Карта занимается только своими клеткам. Метод draw_map должен только готовить текстуру для Render, который будет ее рисовать; - мини-движок поиска пути. class Pathfinder, который хранит в себе кэши, выбирает оптимальный способ поиска пути для конкретной ситуации. Для этого нужно ещё раз протестировать все способы, привести к единообразию интерфейсов. Задокументировать. Возможно понадобится вынос поиска пути в отдельный движок на другом языке и многопоточностью; - привести в порядок Main Loop; - вынести хранение и обработку объектов из карты в ObjectManager; - сделать фундамент для MapManager, пока не развивать, но надо исходить из того что одновременно может рендериться несколько карт; 3. Оптимизация.