Game Development Reference
The architecture presented in Figure 8.1 is not for every tool, but should be used
when possible to promote enhanced reusability and easier maintenance. On
another note, this architecture is one that can be built upon over time, and if the
design remains loosely coupled, new layers can be added as the tool matures, and
more entry points can be defined as needed.
Figure 8.1 Overview of the proposed architecture.
Core components, labeled “Reusable Functionality” in Figure 8.1, are the core libraries
that all your tools can reference when needed and are designed to be loosely coupled
and modular. Such functionality can include regular or virtual file system access, user
security, data compression and encryption, string parsing, image processing, and other
common code that can be useful to a variety of tools in your projects.