ich habe mal eine Frage zur Zivilisationsstufenberechnung und deren Auswirkungen. Ich habe im DigglesModManager die Mod Spieleinstellungen hinzugefügt, wo man die Anzahl der maximalen Wiggles (POP_SOLL) und die maximalen (EXP_MAX) und minimalen Erfahrungswerte (EXP_MIN) anpassen kann.
Nun habe ich darüber nachgedacht, ob bei einer Änderung große Änderungen im Spiel auftauchen. Bei den Überlegungen bin ich auf die Zivilisationsstufe gestoßen. Diese beeinflusst die momentan angestrebte Wiggle-Population (siehe hier) und den Fun-Verlust und die Bedürfnisse der Wiggles. Sie berechnet sich wie folgt:
Code: Alles auswählen
set civ_state [expr {([gamestats attribsum $own expsum]+[gamestats numbuiltprodclasses $own])*0.01}]
Also die Zivilisationsstufe (ZS) berechnet sich aus der Summe aller Erfahrungspunkte (SaE) der eigenen Wiggles (ein Erfahrungspunkt enspricht hier einem Wert von 0.01) plus der Gebäude-Produktionsklasse (GPK) (am Anfang des Spiels gleich 1). Und das Ergebnis davon wird nochmal mal 0.01 gerechnet.
ZS = (SaE + GPK) * 0.01
Nun kommen wir zu meiner Überlegung: Wenn sich nun die maximale Anzahl der Wiggles (Standard 22) erhöhen, wird es also passieren, dass die Zivilisationsstufe höher steigt, als von den Entwigglern vorgesehen, da jeder Wiggle ja eigene Erfahrungspunkte hat, die in diese Rechnung einfließen. Nehmen wir also an, dass wir die doppelte Anzahl von Wiggles (also 44) haben. Dann müsste auch der Wert von SaE das Doppelte sein. Also müsste man das in die ZS-Berechnung einfließen lassen. Dann würde die Formel so aussehen:
X = SaE * (22 / POP_SOLL)
ZS = (X + GPK) * 0.01
So weit so gut. Nun widmen wir uns den EXP_MIN (Standard 1 für 100) und EXP_MAX (Standard 2 für 200) Werten. Ein Wiggle startet am Anfang des Spiels mit 0 Erfahrungspunkten. Wenn er geboren wird, übernimmt er Erfahrungspunkte der Eltern. Wenn man nun beispielsweise den EXP_MAX Wert auf 3 erhöht, dann sind pro Wiggle maximal 300 Erfahrungspunkte möglich. Dies ist auch ein höherer Wert als von den Entwigglern erwartet. Wenn man nun die selbe ZS Berechnung haben möchte, muss man die 300 auf die 200 herunterbrechen. Für die erweiterte Rechnung sollte dann ungefähr so aussehen:
X = SaE * (22 / POP_SOLL) * (2 / EXP_MAX)
ZS = (X + GPK) * 0.01
Ich hoffe, man konnte soweit meinen Überlegungen folgen. Natürlich kann man jetzt noch darübernachdenken, wie sich die Erhöhung von EXP_MIN (die maximale Erfahrung, mit der die Start-Wiggles anfangen) und die Differenz von EXP_MIN und EXP_MAX auswirkt. Darüber habe ich mir noch keine Gedanken gemacht.
Viel interessanter finde ich die Frage, ob das erstmal soweit nachvollziehbar war und ob ihr noch Ideen und Änderungsvorschläge für die Formel habt. Ich denke vor allem daran, dass ja bei der Erhöhung der EXP_MAX jeder Erfahrungspunkt, den ein Wiggle erlangt, weniger zu der ZS beiträgt.
Also wenn EXP_MAX bei 4 ist, dann ensprechen 2 erlangte Erfahrungspunkte genauso viel Beitrag zur ZS wie 1 Erfahrungspunkt bei EXP_MAX gleich 2.
Kann es also passieren, dass man auf einer ZS stehen bleibt, weil die Wiggles nicht mehr Erfahrungspunkte bekommen können und die ZS nicht mehr Wiggle (Populationslimit) zulässt?
Ich verknote meine Gedanken gerade damit. xD
Ich hoffe, ich habe mein Problem halbwegs verständlich formuliert und hoffe, dass jemand das nachvollziehen kann und mit mir zusammen eine schöne Formel ausarbeitet, sodass alles passt.
Falls etwas nicht verständlich war, dann fragt bitte, was ich meine.
Euer Chris