Vielleicht möchten Sie sich mit objektorientiertem Design befassen . Python hat dafür eine gute Unterstützung.
Darüber werden dicke Bücher geschrieben, die für Anfänger beängstigend sein können, aber die Hauptprinzipien sind ziemlich einfach.
Der Hauptpunkt ist nur, dass Sie identifizieren, mit welcher Art von Objekten Sie arbeiten. Sie sagen nicht, über welche Art von Spiel Sie nachdenken, aber Dinge wie Spieler, Monster, Gegenstand, Ausrüstung, Waffe, Rüstung usw. sind typische Objekte.
Wenn Sie verschiedene Spieltypen möchten, möchten Sie wahrscheinlich ein Spielobjekt, das sich um die Siegbedingung und dergleichen kümmert. Vielleicht auch ein Kartenobjekt?
Manchmal ist nicht klar, ob etwas ein Objekt verdient oder nicht, z. B. Schaden. Wenn Sie einem Objekt keinen Schaden zufügen, wird der Code einfacher, aber wenn Sie es zu einem Objekt machen, wird das Anpassen einfacher.
Unterklassen: Sowohl Waffen als auch Rüstungen sind Ausrüstung. Ausrüstungen sind Einzelteile. Es gibt wahrscheinlich andere Arten von Gegenständen. Sie werden es wahrscheinlich nützlich finden, einen Klassenkämpfer zu definieren, dessen Unterklassen sowohl Spieler als auch Monster sind.
Die Idee ist, dass zum Beispiel Waffen viele Dinge mit allen anderen Arten von Gegenständen gemeinsam haben, sie haben ein Gewicht, eine Größe und andere Eigenschaften wie diese.
Wenn Sie eine Unterklasse wählen, können Sie sagen: "Waffen sind wie andere Gegenstände, aber Sie können sie auch einsetzen, sie wirken sich auf den von Ihnen verursachten Schaden aus, usw. usw."
Durch Unterklassen können Ihre Mod-Builder auch sagen: "Mein neuer Waffentyp entspricht genau den Standardwaffen, nur dass ..."
Dann musst du entscheiden, welches Objekt für was verantwortlich ist. Dies ist nicht so einfach, wie es scheint, und Sie sollten darüber nachdenken. Wenn Sie die falschen Entscheidungen treffen, wirkt sich dies nicht wesentlich auf das Grundspiel aus, es wird jedoch schwieriger, die Einstellungen anzupassen.
Solange Sie nur selber basteln, können Sie Dinge ändern, aber sobald Sie etwas für die Öffentlichkeit freigeben, wird es viel schwieriger, Änderungen vorzunehmen! Die Leute werden Modifikationen machen, die davon abhängen, dass die Dinge so sind, wie sie jetzt sind. Sogar Bugs. Die Leute werden Mods schreiben, die von Fehlern abhängen, die im Code bleiben. Wenn du Dinge änderst, brechen diese Mods und Lynchmobs erscheinen in deinem Haus.
Beispielsweise:
Ein Spieler mit einer Waffe greift ein Monster mit mehreren Rüstungen an. Dies geschieht in einem bestimmten Spielmodus und auf einer bestimmten Karte.
Beide Combatant können Fähigkeiten wie Critical Hit und Dodge haben.
Welches Objekt ist für was verantwortlich?
Darauf gibt es keine richtige Antwort. Viel hängt davon ab, welche Art von Anpassung Sie zulassen möchten.
Wenn Sie niemals ein Objekt aufrufen (z. B. die Karte), kann dieses Objekt den Angriff in keiner Weise ändern.
Nachdem Sie alle diese Entscheidungen getroffen haben, dokumentieren Sie sie . Schreiben Sie ein "Modder-Handbuch", in dem genau aufgeführt ist, über welche modifizierbaren Methoden jedes Objekt verfügt, welche Parameter sie annehmen, was sie zurückgeben sollen usw. usw.
Viel Glück!