суббота, 21 декабря 2013 г.

День восьмой и девятый - лень и дела

Отголосок ленивой сонной расслабленности продолжает преследовать. Уникальное состояние на самом деле - когда не тревожат горящие дела. Наверно оно было несколько раз в жизни.
Тем не менее немного полезного сделано. Начала писать костяк квестов, писать / удалять. Хочу сделать так чтобы оно было максимально подготовлено к внезапным хотелкам, было по возможности стабильным и при добавлении конструктора уровней для игроков чтобы не переписывать слишком много.
Будет очень много статики, и не будет синглтонов. Опыт показывает что приложение достаточно крупное выдерживает без архитектурных фреймворков если статические ссылки на классы собраны в нескольких местах. Да, я не буду скорее всего использовать что то стороннее, очень не хочется разбирать и отлаживать чужое, разве что с минимал компс украду пару идей.

Меня последнее время очень беспокоит мысль про дырявые абстракции. Есть ощущение что когда все запихиваешь в черный ящик то расслабляешься и позволяешь делать странные вещи, думая что все равно апи скроет. Вот есть желание не притворяться, а показывать что делает объект и какими механизмами. И инструментом предупреждения ошибок делать здравый смысл и простоту.
К тому же не сильно удачные абстракции усложняют жизнь больше чем упрощают. Есть ощущение что на старте нам показывают хороший инструмент, он помогает, и его начинают использовать везде где нужно и не нужно. Получается как то так : создаем красивое обобщение, натыкаемся на исключение, дописываем, дописываем, дописываем, получаем сферического монстра который уже не может использоваться и начинаем заново. Как то так.

Зы. Как это касается квестов. Я разделила их на две части данные присущие любой сущности которая описывает игровые правила и на специфические классы для которых скорее всего в интерфейсе будет только геттер на основную часть (уникальный айдишник и тип пока)Ю Один уровень - один уникальный класс который моделирует все что угодно внутри используя графические и логические компоненты, имеет доступ к данным системы, имеет свой уникальный набор данных. Посмотрим что из этого выйдет.

Комментариев нет:

Отправить комментарий