Nous utilisons comme langage (ou « méta-modèle ») UML depuis le commencement pour traduire nos besoins et tous nous comprendre. Les choix ci-dessous se prêtent particulièrement bien au jeux.
Architecture MVC
Notre architecture logicielle et méthode de conception.
MVC comme Modèle-Vue-Contrôleur. Wikipedia (un idiome
GRASP Patterns

Les 5 patterns GRASP (Expert, Créateur, Contrôleur, Faible couplage, Forte cohésion) sont particulièrement utiles dans une architecture MVC pour identifier les responsabilités des classes Model, Control et View, notamment par les patterns Expert et Contrôleur. NB : les patterns Faible couplage et Forte cohésion sont deux des trois métriques de mesure de la qualité de conception.
Symfony
Symfony est un framework écrit en PHP 5 pour pondre du code.
Les gros bénéfices pour nous :
- Le code est séparé dans les trois couches de notre bon vieux modèle MVC
- Il crée une bonne partie du code des trois couches à partir du schéma YML de notre base de données, on gagne ainsi beaucoup de temps en évitant de coder beaucoup de code récurrent et répétitif, surtout dans notre architecture MVC où l’on doit se coltiner toutes les classes métiers de la couche Modèle (squelettes des classes, assesseurs, mutateurs, etc.) avec tous les insertions/suppressions/modifications des données métiers situées dans la base de données.