Evolution and Evaluation of the Model-View-Controller Architecture in Games
Paper in proceedings, 2015
In game software it is important to separate game-play code from rendering code to ease transitions to new technologies or different platforms. The architectural pattern Model-View-Controller (MVC) is commonly used to achieve such separation. We investigate how the MVC architectural pattern is implemented in five game projects from a small development studio. We define a metrics-based quality model to assess software quality goals such as portability and rendering engine independence and perform an architectural analysis. The analysis reveals three different evolutions of the pattern. We also assess the quality and find that 1. the evolutions of the architecture differ in quality and 2. an architectural refactoring to a newer version of the architecture increases the software quality.