Este site começa em uma implementação básica.
A maioria dos itens acima é inspirada neste artigo em T = Machine
Comecei em uma implementação básica inspirada nos dois links acima. Tenho certeza de que desviei muito da teoria pura dos sistemas de componentes e, sem dúvida, há bugs, mas pode ser útil se você estiver procurando por alguns exemplos simples.
Bricle (C # / XNA)
No momento, basta carregar algumas entidades básicas, manipular alguns eventos etc. Os principais locais que você procura são a pasta Engine.EntitySystem e provavelmente a PlayScreen onde as entidades são realmente criadas.
Criar um armazenamento de componentes simples baseado em tipo e ocultar isso atrás de um EntityManager comum era relativamente simples.
O primeiro desafio que encontrei foi quando sistemas individuais podem exigir vários tipos de componentes (por exemplo, componentes físicos e InputMoveable). Para usar a linguagem de banco de dados relacional, tive que encontrar uma maneira de fazer uma consulta JOIN. Para isso, criei outro tipo de coleção para entidades criadas a partir das consultas do tipo de componente correspondente - cada coleção de entidades é conectada a um evento OnEntityCreate e verifica se ela corresponde. Ainda há alguns bugs lá.
O segundo desafio foi realmente criar um 'objeto de jogo' - eu os chamei de modelos. Aqui provavelmente não sou muito puro de acordo com as especificações de T = Machine, mas parece funcionar. Os modelos agrupam instanciações de componentes e permitem uma composição mais fácil da entidade (ou seja, a bola é extraível e física).
Espero que seja útil - os sistemas de entidade / componente podem ser um desafio para superar alguns dos obstáculos iniciais.