A herança em jogos é, na verdade, uma das piores coisas que você pode fazer - em particular no que diz respeito às entidades. Leia isso por que. Composição sobre herança leva um longo caminho com os jogos. Quanto a outras áreas do seu motor, isso realmente não importa. Digamos, por exemplo, que você esteja fazendo uma chamada para algum tipo de serviço de rede externo, e você poderá herdar um tipo de serviço genérico para, por exemplo. HTTPService e SocketService - da mesma forma que nos aplicativos corporativos aos quais você está acostumado.
A menos que seu jogo é muito simples, você vai querer usar uma entidade arquitetura baseada em componentes (CBE). A idéia geral é que, com as entidades, a razão pela qual elas são tão comumente compostas e não herdadas é porque você não pode saber até o tempo de execução quais recursos uma determinada entidade terá. Por exemplo, pegue a nave do jogador em um atirador espacial. Você não sabe até certo ponto durante o jogo, quais armas, armaduras, sistemas (ou seja, componentes) que o jogador vai pegar, comprar, vender, perder, destruiu, etc. Portanto, a única maneira realista de modelar isso é através da composição de objetos. O lado positivo desse cenário é que você também pode ter inimigos totalmente personalizáveis, criados da mesma maneira, em vez de inimigos que são sempre exatamente iguais sempre que você vê esse tipo de inimigo. Assim, com os CBEs, você pode ver um cargueiro marciano e pensar: "Ah, ele só tem pequenos lasers, eu vou derrubá-lo", e geralmente isso seria verdade, mas quando você entra no alcance de repente, percebe que ele tem uma bunda grande. arma de buraco de minhoca. Surpresa surpresa!
A componente está removendo o acoplamento implícito da lógica, e isso é BOM.