Skip to content

Software Architecture

With this skill, you design the global architecture of the game software and clearly visualize it. This includes identifying main components and layers (e.g., gameplay logic, AI, graphical rendering, physics, audio, UI, and database/networking) and documenting how these interact with each other. The result is a kind of blueprint of the software.

The importance of this is that all team members gain insight into the structure of the application before deeper programming begins. This makes collaboration easier (everyone understands where certain functionality should be) and changes or additions can be implemented with minimal impact.

Starting Points

Key Points

  • You divide the application into logical modules/components with clear responsibilities. You demonstrate understanding of separation of concerns in the architecture.
  • You create a schematic overview (such as a UML component diagram or layered model) of the software architecture. This shows which components exist and how data/flows run between these components.
  • You justify choices.
  • You take into account common architecture patterns where relevant.