Design Patterns : Implementation in video game programming
Le, Cuong (2016)
Le, Cuong
Metropolia Ammattikorkeakoulu
2016
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201605188476
https://urn.fi/URN:NBN:fi:amk-201605188476
Tiivistelmä
The goal of this thesis was to develop Last Planets, a social mobile game for iOS devices. The game development theory and the design patterns are portrayed in the first part of this study. The second part presents how such theories are put into practice during the development of Last Planets.
The completion of the project resulted in the launch of Last Planets during spring 2016. Multiple design patterns were chosen to be implemented within the code base. Patterns such as Observer, Strategy and Model-View-Controller create the foundation architecture and convention for the code base. Meanwhile, various other support systems are implemented with the help of Singleton and Decorator pattern. However, the implementation process did not occur instantaneously nor at the beginning of the project but was rather a gradual realizing and refactoring effort.
Applying these design patterns has helped ease up maintenance work as well as improved the readability of the source code. Additionally, these design patterns have also enabled several major functionalities of both client and server sides. However, in a few cases of overusing design patterns, the game source code has actually become more complex and tangled.
Since the materials of this thesis are limited, readers are highly recommended to study design patterns further. Careful consideration before applying design pattern is also vital for project success. Insightful decisions can both maximize the values of design patterns as well as avoiding the risk of abusing them.
The completion of the project resulted in the launch of Last Planets during spring 2016. Multiple design patterns were chosen to be implemented within the code base. Patterns such as Observer, Strategy and Model-View-Controller create the foundation architecture and convention for the code base. Meanwhile, various other support systems are implemented with the help of Singleton and Decorator pattern. However, the implementation process did not occur instantaneously nor at the beginning of the project but was rather a gradual realizing and refactoring effort.
Applying these design patterns has helped ease up maintenance work as well as improved the readability of the source code. Additionally, these design patterns have also enabled several major functionalities of both client and server sides. However, in a few cases of overusing design patterns, the game source code has actually become more complex and tangled.
Since the materials of this thesis are limited, readers are highly recommended to study design patterns further. Careful consideration before applying design pattern is also vital for project success. Insightful decisions can both maximize the values of design patterns as well as avoiding the risk of abusing them.