- COMP.SE.210
- 5. Interactions
- 5.3 Exercises
Exercises¶
- Fig. Interfaces
Multichoices¶
Design¶
Pre-lecture question - Architectural styles
Take a look at how wikipedia describes what architectural styles are. What makes them different from software patterns? You can also take quick look at the different styles listed underneath.
Draft a layered architecture as UML component diagram for an adventure game which runs on one computer only (so no online multiplayer stuff).
Try to separate layers, e.g., in UI, application logic, and data persistence layers. Each layer should communicate with its neighbouring layers through API. You are free to add more layers if feasible, you are also free to decide the level of detail. Examples of implementation details may include game characters, other in-game objects, NPCs, GUI menus, GPU processing, graphics engine. Your task is to decide which components your game consists of and divide them in appropriate layers.
Game logic changes are very likely to happen, so take that into account when planning your system's architecture. In addition, it would be nice to be able to use parts of the system as base for different games.
<https://en.wikipedia.org/wiki/Software_architecture#Architectural_styles_and_patterns>_
A+ presents the exercise submission form here.