Pour la réalisation de ce jeu, j'utilise un système de composants (Component)
Pour la définition des composants j'ai utilisé l'atomic design adapté aux composants de jeu video.
L'idée était donc de développer des composants (atomes) (images, text, sons, etc) qui peuvent être combinés pour créer des composants (molécules) plus complexes (bouton, menu, etc) pour ensuite les combiner a nouveau dans des elements plus complexe du jeu (organismes) (joueur, ennemi, interface, etc) pour finalement les combiner dans des scènes (templates, pages)
Les classes de bases de l'architecture sont 5 classes qui gèrent les interactions entre love et le framework du jeu
Voir une description plus détaillée
Les atomes de base du framework se trouvent dans le répertoire /framework/...
Les atomes sont les composants de base, ils ne contiennent pas d'autres composants
Voir une description plus détaillée
Les molécules de base du framework se trouvent dans le répertoire /framework/...
Le molécules utilisent les atomes pour créer des composants plus complexes
Voir une description plus détaillée
Les molécules de base du framework se trouvent dans le répertoire /models/...
Les organismes sont des composants plus complexes qui contiennent des molécules et des atomes
Voir une description plus détaillée
Les templates/scènes de base du framework se trouvent dans le répertoire /scenes/...
Les templates/scènes sont des composants plus complexes qui contiennent des organismes, des molécules et des atomes
Voir une description plus détaillée
Les classes de base du framework se trouvent dans le répertoire /framework/tools et /framework/drawing
Les classes utilitaires sont des classes qui apportent des fonctionnalités partagées par les composants du framework