Таблицы с высокой семантической точностью
Семантическая точность1 - это точность/гранулярность/специфичность, с которой объявлены термины/абстракции в системе. Высокая семантическая точность подразумевает оперирование конкретными экземплярами.
Применительно к этому проекту высокая семантическая точность означает, например, что каждое действие с любым игровым объектом (например, покупка здания) должно быть описано с помощью отдельной таблицы, да еще и с использованием максимально конкретных функций.
В фазе “Строитель” игрок может приобрести / построить любое из доступных на рынке зданий. Здания на рынке не уникальны, может существовать до 4 экземпляров одного и того же здания. Более того, в зависимости от разных факторов (наличие у игрока ролевой привилегии или активных каменоломен) цена постройки здания может существенно изменяться.
Таблицы с высокой семантической точностью в таком случае будут описывать какие-то такие кейсы:
- Построить малую фабрику индиго №1 за 1 дублон
- Построить малую фабрику индиго №3 бесплатно
- …
Вообще говоря, высокая семантическая точность не дает создавать легко расширяемые системы 2. Зачем же тогда она нужна? Поскольку весь этот проект - это мое первое исследование применимости табличной логики, я еще не знаю, какими могут / должны быть полезные абстракции и обобщения. Поэтому я хочу описать базовый, максимально конкретный уровень, чтобы выявить паттерны и создать абстракции на основе реально зафиксированной логики, а не предварительных (и часто ошибочных) умозаключений 3.