Estou com um dilema sobre como certos componentes do mecanismo - como câmera e interface do usuário - sabem quem seguir, cuja saúde e outros atributos devem ser exibidos na tela.
Como você arquiteta um sistema em que ocorre a comunicação entre esses componentes e as entidades? Eu poderia ter uma entidade separada que representa o jogador, mas isso parece um pouco "codificado". E se eu quiser mover a câmera? E se o jogador começar a controlar outra entidade?
Em outras palavras, como abstraio as fontes de dados de componentes como a câmera e a interface do usuário, para que eles não se importem com a entidade que representam?
Um sistema de eventos funciona em muitos casos, mas é mais adequado para propagar informações que mudam ou são geradas 'raramente' (como a morte do jogador). Para algo como integridade e posição da entidade - que precisa ser conhecida em todos os quadros - um sistema de eventos não é adequado.