Для обеспечения сохранения данных на диске и загрузки их в игру разрабатываются специализированные интерфейсы. Эти интерфейсы также имеют в архитектуре формализованные спецификации, по которым инструменты метапрограммирова-ния автоматически создают функции записи данных на диск и загрузки их с диска. Таким образом, разработчик освобождается от необходимости учета низкоуровневых деталей механизма хранения данных на диске. Это позволяет ему полностью сосредоточиться на обработке загруженных с диска данных и их подготовке к дальнейшему использованию игровой механикой.
Взаимозависимости
Каждый модуль может импортировать какие-то конкретные интерфейсы. С концептуальной точки зрения это означает, что модуль для обеспечения предоставляемой им функциональности зависит от других реализаций.
На этапе выполнения данная концепция представляется в виде вложенных компонентов (nested component). Иными словами, в тех случаях, когда это нужно для получения конечного результата, выполняется вызов внутренних компонентов. Например, вложенные компоненты могуг использоваться при реализации архитектуры обобщения (subsumption architecture) для навигации или даже в системах управления боем на основе системы голосования (voting system), как это описывалось в предыдущей главе.
На момент написания данной книги была реализована подцержка всех форм арбитража: независимой (independent), подавляющей (supression), комбинированной (combination), последовательной (sequence), поэтому разработчик может реализовать каждый модуль в соответствии со своими предпочтениями.