the R-Type project has a particular architecture that is widely used in video games
This architecture model is really useful for a modular program. Video games in general use this model as a lot of elements are reused with some modified properties ECS stands for Entity Component System. Meaning it has three types of data structures :
Entity : could be the player's ships, the enemies, the bosses, the projectiles etc... in this architecture, they are only names but have to be unique.
Component : could be any properties from an entity like position x,y, the health points, the attack, the pace... they are a set of data structures that contains the aforementioned stats.
System : could be any functions that is applied to a single entity. It could be the movements, the shoot command, the health deduction... they have a direct impact on the entity's component.