почему не работает то?
А внутри контроллера все создается программно или к сториборду подвязан?
Это что за ужас вообще: "смена vc происходит с помощью (UIApplication.shared.delegate as! AppDelegate).window?.rootViewController = GameViewController()" ?
Можно, но будет ли оно так же хорошо работать?