Rechnung zur Zivilisationsstufe

Du hast den perfekten Techtree ausgearbeitet oder im LevelEditor eine tolle Karte gebastelt? Nur hier rein damit.
Antworten
Benutzeravatar
cech12
Zwerg
Zwerg
Beiträge: 242
Registriert: Di 9. Jun 2015, 12:18
Kontaktdaten:

Rechnung zur Zivilisationsstufe

Beitrag von cech12 »

Hallo Leute,

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}]
(zu finden in der Datei: Data/Scripts/classes/zwerg/z_spare_main.tcl ca. Zeile 760)

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. :D 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. :D

Euer Chris
Kekosch
Beiträge: 4
Registriert: Sa 1. Dez 2018, 21:25

Re: Rechnung zur Zivilisationsstufe

Beitrag von Kekosch »

das Problem scheint jedenfalls die Ursache dafür zu sein, dass meine Wiggles nun keinen Nachwuchs mehr bekommen.

min exp 3, max exp 8 und max population 40 ist eine ungünstige Kombination. Es bleibt bei den 5 Startwiggeln
Benutzeravatar
cech12
Zwerg
Zwerg
Beiträge: 242
Registriert: Di 9. Jun 2015, 12:18
Kontaktdaten:

Re: Rechnung zur Zivilisationsstufe

Beitrag von cech12 »

Hey!

Leider war in der Version vom aktuellsten DigglesModManager-Release ein Fehler drin, sodass gar keine Kinder mehr gezeugt wurden. :D

Lade dir mal die neuste Version von der Mod herunter.

Viel Erfolg. :D
Kekosch
Beiträge: 4
Registriert: Sa 1. Dez 2018, 21:25

Re: Rechnung zur Zivilisationsstufe

Beitrag von Kekosch »

hm, das könnte das Problem natürlich auch erklären ;)
ZarfaZ
Beiträge: 7
Registriert: Fr 29. Dez 2017, 11:46

Re: Rechnung zur Zivilisationsstufe

Beitrag von ZarfaZ »

Hallo zusammen

Hat es jemand geschafft, einen solchen Mod zu vervollständigen, um Stimmungsprobleme in der späten Phase des Spiels zu beheben?
Benutzeravatar
cech12
Zwerg
Zwerg
Beiträge: 242
Registriert: Di 9. Jun 2015, 12:18
Kontaktdaten:

Re: Rechnung zur Zivilisationsstufe

Beitrag von cech12 »

Hey ZarfaZ,

also die hier beschriebenen Formeln wurden in der ChangeGameSettings-Mod eingebaut. Das hat jedoch nur den Effekt, dass die Stimmung abhängig von der in der Mod eingestellten maximalen Population ist.

Wenn man also in der Mod eine maximale Population von 40 einstellt, sind die Zwerge genauso schlecht drauf bei einer Population von 40 Zwergen wie wenn man das Spiel ohne Mod spielt und das Limit von 22 Zwergen erreicht hat.

Wenn es dir allgemein um eine Verbesserung der Stimmung geht, gibt es hier im Forum einige Tipps oder auch Anpassungen von Spiele-Dateien, die dir dabei helfen. :)

Ich wünsche schöne Weihnachten! :)
Chris
Antworten