Vous voudrez peut-être examiner la conception orientée objet . Python a un bon support pour cela.
Des livres épais sont écrits à ce sujet, ce qui peut être effrayant lorsque vous êtes nouveau, mais les principes fondamentaux sont assez faciles.
L'essentiel est simplement d'identifier le type d'objets avec lesquels vous travaillez. Vous ne dites pas à quel genre de jeu vous pensez, mais des choses comme le joueur, le monstre, l'objet, l'équipement, l'arme, l'armure et ainsi de suite sont des objets typiques.
Si vous voulez différents types de jeu, vous voudrez probablement un objet de jeu qui prend en charge la condition de victoire et autres. Peut-être aussi un objet Map?
Parfois, il n'est pas clair si quelque chose mérite d'être un objet ou non, par exemple des dommages. Si vous n'endommagez pas un objet, le code sera plus simple, mais en faire un objet le rendra plus facile à personnaliser.
Sous -classement : les armes et les armures sont des équipements. Les équipements sont des articles. Il existe probablement d'autres types d'articles. Vous trouverez probablement utile de définir un combattant de classe dont les joueurs et les monstres sont des sous-classes.
L'idée est que, par exemple, les armes auront beaucoup de choses en commun avec tous les autres types d'objets, elles ont un poids, une taille et d'autres propriétés comme ça.
Ainsi, le sous-classement vous permet de dire que "les armes sont comme les autres objets, mais en plus vous pouvez les manier, elles affectent les dégâts que vous faites, etc."
Le sous-classement permet également à vos constructeurs de mod de dire "Mon nouveau type d'arme est comme les armes standard, sauf que ..."
Ensuite, vous devez décider quel objet est responsable de quoi. Ce n'est pas aussi facile qu'il y paraît et vous devriez y réfléchir. Faire les mauvais choix n'affectera pas beaucoup le jeu de base, mais il sera plus difficile à personnaliser.
Tant que vous bricolez vous-même, vous pouvez changer les choses, mais au moment où vous publiez quelque chose au public, faire des changements devient beaucoup plus difficile! Les gens feront des mods qui dépendent des choses comme elles sont maintenant. Même des bugs. Les gens écriront des mods qui dépendent des bogues restant dans le code. Si vous changez les choses, ces mods se briseront et des monstres de lynchage apparaîtront chez vous.
Par exemple:
Un joueur brandissant une arme attaque un monstre portant plusieurs armures. Cela a lieu dans un mode de jeu particulier et sur une certaine carte.
Les deux combattants peuvent avoir des compétences comme Coup critique et Esquive.
Maintenant, quel objet est responsable de quoi?
Il n'y a pas de bonne réponse à cela. Cela dépend beaucoup du type de personnalisation que vous souhaitez autoriser.
Si vous n'appelez jamais un objet (par exemple la carte), cet objet ne peut en aucun cas modifier l'attaque.
Après avoir pris toutes ces décisions, documentez-les . Écrivez un "manuel Modders" qui répertorie exactement quelles méthodes moddables chaque objet possède, quels paramètres ils prennent, ce qu'ils doivent renvoyer, et ainsi de suite et ainsi de suite ...
Bonne chance!