Knowledge Guided Development of Videogames

Due to the changing nature of videogames, the component-based architecture is the design of choice for managing game entities instead of the traditional static class hierarchies. A component-based architecture lets programmers edit entities as collections of components, which provide the entity with new functionalities. Such architecture promotes flexibility but makes the code more difficult to understand because entities are built at runtime by linking components. In this paper we present a semi-automatic process for moving from a class hierarchy to a component-based architecture. Through the application of Formal Concept Analysis we propose a novel technique for automatically identifying candidate distributions of responsibilities among components.