Архитектура игры
Архитектура компьютерной игры (движка игры) — структура игры, как правило, включающая программные компоненты и взаимосвязи между ними. «Архитектура — это базовая организация системы, воплощенная в ее компонентах, их отношениях между собой и с окружением, а также принципы, определяющие проектирование и развитие системы» (Стандарт IEEE 1471).
По стандарту UML, Архитектура — это «структура организации и связанное с ней поведение системы. Архитектуру можно рекурсивно разобрать на части, взаимодействующие посредством интерфейсов, связи, которые соединяют части, и условия сборки частей. Части, которые взаимодействуют через интерфейсы, включают классы, компоненты и подсистемы.»
Любая игра имеет архитектуру независимо от того, проектировалась она или нет. Архитектура может быть восстановлена по уже имеющейся игре. При создании игры не обязательно прорабатывать ее архитектуру заранее, однако ее проработка может существенно уменьшить объем работ при реализации игры, так как исправление архитектуры в общем случае проще исправления кода реализации. Описание архитектуры позволяет скрыть сложность игры при помощи абстракции и разделения ответственности между подсистемами. Наличие описания архитектуры, как правило, упрощает обсуждение и принятие решений, касающихся разрабатываемой игры.
Архитектура игры определяет из каких элементов состоит игра и как эти элементы взаимодействуют, но при этом описание не обязано быть исчерпывающим, достаточно бывает описания главных структурных элементов, элементов, связанных с основным поведением и элементов, которые определяют значимые свойства игры. Детали реализации как правило отношения к архитектуре не имеют, однако, именно архитектор решает, где заканчивается архитектура и начинается проработка деталей реализации. Таким образом, все описанное архитектором автоматически может считаться архитектурой.
Архитектуру, как правило, представляют в виде разного рода диаграмм, но Архитектура — это не только диаграмма, но и ее логическое обоснование. Для правильного понимания архитектуры игры бывает важно понимание тех решений, которые привели к созданию этой архитектуры, и их логические обоснования.
Литература:
http://www.intuit.ru/department/internet/mwebtech/5/1.html
http://www.ibm.com/developerworks/ru/library/eeles/index.html
Что такое Архитектура игры?
#программирование, #проектирование
10 мая 2010 (Обновление: 17 мая 2010)