Objetos de Jogo
Use o padrão game object para tornar seu código mais legível e fácil de escalar.
À medida que sua cena se torna mais complicada, é útil colocar parte da lógica em arquivos separados de game object. Fazendo isso, você pode manter o código principal da cena limpo e fácil de ler, ao mesmo tempo que encapsula partes reutilizáveis que controlam várias entidades na cena.
Um Game Object contém todas as propriedades e métodos para um tipo de entidade que você pode encontrar na sua cena, por exemplo uma porta, um botão ou um monstro. Graças a essa abstração, os arquivos com a lógica principal da sua cena podem instanciar game objects completos com apenas uma linha de código. Você também pode chamar os métodos desses objetos com a mesma facilidade.
Recomendamos manter as definições de game objects cada uma em um arquivo separado.
O Padrão Type Object
Se sua cena usa vários tipos de game objects que têm muito em comum, talvez você queira refatorar ainda mais e definir um base tipo de game object com tudo o que eles têm em comum. Você pode então criar subclasses que herdam dessa classe base.
Você pode ler mais sobre esse padrão em Game Programming Patterns.
Atualizado