Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
The description logic handbook: theory, implementation, and applications
The description logic handbook: theory, implementation, and applications
The next mainstream programming language: a game developer's perspective
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Model-Driven Architecture in Practice: A Software Production Environment Based on Conceptual Modeling
Influence points for tactical information in navigation meshes
Proceedings of the 4th International Conference on Foundations of Digital Games
Smart composition of game objects using dependency injection
Computers in Entertainment (CIE) - SPECIAL ISSUE: Games
Ontology-Based inconsistency management of software requirements specifications
SOFSEM'05 Proceedings of the 31st international conference on Theory and Practice of Computer Science
Hi-index | 0.00 |
The state-of-the-art in software engineering for game engines, recommends the use of a component-based software architecture for managing the entities in a game. A component-based architecture facilitates the definition of new types of entities as collections of components that provide basic pieces of functionality, providing a flexible software that can adapt to changes in game design. However, such flexibility comes with a price, both in terms of software understanding and error checking: a game where entity types are just run-time concepts is harder to understand than one with an explicit hierarchy of entity types; and error checking that, in a more traditional inheritance-based architecture, would come from type safety at compile time is now lost. To alleviate these problems, a component-based architecture employs blueprints, external data files that specify the particular combination of components for every entity type. In this paper we propose an extension to the component-based architecture, substituting blueprints with a full fledged domain model in OWL, including a description of the entities, its attributes and components, along with the messages they exchange. We also describe authoring tools for building such a model and show how the model improves software understanding and error checking.