Incorporated factory design pattern along with OO principles like Encapsulation, abstraction and inheritance while creating the game.