Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 22

Thema: Frage: Adaption-Teilmod fehlerhaft?

  1. #1
    Ein Platz an der Sonne Avatar von Commander Bello
    Registriert seit
    05.06.05
    Ort
    Nähe Koblenz
    Beiträge
    6.209

    Frage: Adaption-Teilmod fehlerhaft?

    Gucke mir gerade die "adaption.py" an.

    Es wird über folgende Felder abgeprüft, ob sie
    hill=0
    tree=0
    sea=0
    flat=0
    dry=0
    jungle=0
    cold=0
    sind.

    Das erfolgt nach diesem Schema
    (2= 2 Felder entfernt, 1 = 1 Feld entfernt, X = Stadtfeld, _ = nicht geprüftes Eckfeld):
    _222_
    21112
    21X12
    21112
    _222_

    Bei 2 Feldern Abstand wird das entsprechende Feld mit "1" bewertet, bei 1 Feld Abstand mit 3, nur für "See" wird der Wert 2 genommen.
    Für das Stadtfeld wird "4" veranschlagt.

    Ich glaube, die Berechnung für das Stadtfeld ist fehlerhaft. Der Trigger für die Prüfung ist "def onCityBuilt(self, argsList):"
    Damit müssten aber "tree" und "jungle" jeweils den Wert "0" liefern, denn dort steht nun die Stadt (die Prüfung erfolgt ja erst nach der Gründung!).
    Ich denke, in den entsprechenden Block gehört noch eine Schleife:
    If
    Hill AND Sea AND Flat AND Dry AND Cold == 0
    Tree = Tree +4 AND Jungle = Jungle +5

    (ich habe Jungle auf +5 gesetzt, weil es sonst zu einem "unentschieden" kommen könnte und ich in diesem Fall die "jungle"-Adaption für wichtiger halte, damit man etwas mit Dschungel anfangen kann. Wald ist ja schließlich auch nicht adaptiert besser als Dschungel)

    Ergänzung:
    Ich persönlich halte die See-Adaption für so wenig sinnvoll, daß ich deren Wert auf 1 auch für 1-Feld-Abstand setzen würde. Das mag gelegentlich auf Inselkarten schlechter ausgehen, aber ich vermute, daß die meisten Leute auf Kontinentalkarten irgendeiner Ausprägung spielen. Dennoch kann es passieren, daß man an einer "ungünstig" geformten Küste hochkommt, und dann als Kontinentalmacht mit der "See-Adaption" behaftet ist...

    Weiterhin sind da 21 Blöcke mit Prüfungen angelegt, die 1) nicht ordentlich sortiert sind, und 2) ständig durchlaufen werden.
    Könnte man da nicht eine Schleife bauen:
    FOR i=-2 to i=+2
    DO
    if x=i
    if y=i
    ....
    (Pseudo-Code, aber ich hoffe, es ist klar, was ich meine...)

    Und als letztes, mir ist nicht klar, ob die ganze Prüfung nach "if(city.isCapital()):" = FALSE abgebrochen wird, oder dennoch die Untersuchung für jede Stadtgründung durchgeführt wird.

    Könnte jemand, der besser in Python ist als ich, meine Überlegungen mal prüfen?

    (Muß mich wohl doch mal mit Python beschäftigen )
    Geändert von Commander Bello (13. Juni 2006 um 20:38 Uhr) Grund: Markierung der maßgeblichen Fragestellung


  2. #2
    the cosmos rocks Avatar von Caesium
    Registriert seit
    08.12.03
    Ort
    Faerûn
    Beiträge
    9.104
    Die Adaption stellt einzig und allein dar, wie deine Nation vor Gründung der ersten Stadt gelebt hat. Wenn du nun Siedler aussendest, leben die nicht erst hunderte oder tausende von Jahren unorganisiert, sondern gründen direkt eine Stadt.

    Edith sagt auch, dass die Schleifen, von denen du sprichst, nur für den Fall aufgerufen werden, dass die Hauptstadt gegründet wird, von daher läuft sie also pro Spieler einmal ab.

    Sabine widerum spielt mit dem Gedanken, die Adaption komplett abzuschaffen.
    Geändert von Caesium (13. Juni 2006 um 20:12 Uhr)
    Caesium Mod v2.4 (für Civ4 WL v2.13)

  3. #3
    Ein Platz an der Sonne Avatar von Commander Bello
    Registriert seit
    05.06.05
    Ort
    Nähe Koblenz
    Beiträge
    6.209
    Zitat Zitat von Caesium
    Die Adaption stellt einzig und allein dar, wie deine Nation vor Gründung der ersten Stadt gelebt hat. Wenn du nun Siedler aussendest, leben die nicht erst hunderte oder tausende von Jahren unorganisiert, sondern gründen direkt eine Stadt.

    Edith sagt auch, dass die Schleifen, von denen du sprichst, nur für den Fall aufgerufen werden, dass die Hauptstadt gegründet wird, von daher läuft sie also pro Spieler einmal ab.

    Sabine widerum spielt mit dem Gedanken, die Adaption komplett abzuschaffen.
    Bitte gucke noch mal den markierten Bereich an. Der Trigger ist ja die Stadtgründung. Damit sind aber nach meinem Verständnis ehemals bestehende Wald- oder Dschungelfelder auf dem Stadtfeld weg. Für alle anderen Geländeformen gilt das nicht, die bleiben ja auch "unter" einer Stadt bestehen.

    Die Schlußfolgerung wäre, daß die Modifikation Wald und Dschungel benachteiligt (und, wie ich im ersten Posten in gebrochenem Deutsch versuchte zu erklären, die See ist m.E. noch zu stark).

    Weitere Frage (die muß nicht Caesium beantworten, der hat gewiß besseres zu tun, als mir auf die Sprünge zu helfen, aber es wäre nett, wenn die anderen Python-Freaks mich erleuchten könnten):
    Mit def onCityBuilt(self, argsList):
    wird doch eine eigene Funktion definiert?

    In dieser wird geprüft, ob es sich um die Hauptstadt handelt, soweit ist mir das auch schon klar. Aber: diese Funktion ist ja irgendwann zu Ende, und dann folgt die nächste Funktion
    def whatPlot(self, rPlot):
    und danach diese hier:
    def toggleAdaption(self, rCity):
    Und in der werden dann all die Prüfungen durchlaufen.

    Nun meine eigentliche Frage:
    Wenn die Prüfung, ob es sich um die Hauptstadt handelt, die ganze Python-Datei beendet, dann werden die Funktionen in einer solchen Datei also sequentiell durchlaufen, jeweils von oben nach unten?
    Habe dazu leider keine Antwort in den Python-Tutorials gefunden, oder es überlesen. Jedenfalls bin ich ratlos. Aber das kennt man ja schon von mir...


  4. #4
    the cosmos rocks Avatar von Caesium
    Registriert seit
    08.12.03
    Ort
    Faerûn
    Beiträge
    9.104
    whatPlot wird von toggleAdaption und das wiederum von onCityBuilt aufgerufen.
    Wenn definierte Funktionen nicht aufgerufen werden, so werden sie auch nicht ausgeführt.

    Was die Adaption auf Wald angeht, so habe ich in Zeiten, da ich auch mal zum Spielen kam, oft genug die Adaption auf Wald gehabt.
    Caesium Mod v2.4 (für Civ4 WL v2.13)

  5. #5
    Minion Avatar von Tzu Iop
    Registriert seit
    28.10.05
    Ort
    Im EG ohne Aufzug *schulterzuck*
    Beiträge
    6.377
    Zitat Zitat von Caesium
    Sabine widerum spielt mit dem Gedanken, die Adaption komplett abzuschaffen.
    Tzu findet, dass Sabine das machen sollte, da die Adaptionen für Wald und Dschungel spätestens im Mittelalter obsolet sind, da es effektiver ist zu roden.
    Papoy!

  6. #6
    1. Mose 9,6 Avatar von gruenmuckel
    Registriert seit
    22.12.01
    Ort
    Halle NRW
    Beiträge
    3.028
    Die Adaption bleibt drin.
    Die macht den ganzen Mod (naja, die Sammlung) ja erst so richtig interessant da es so relativ egal ist ob man auf grünland oder in der Tundra startet.
    "Nur der HSV!" - Verstehe ich nicht, es steigt doch mindestens noch einer mit ab.
    S.D.G.
    My sysProfile !
    "Gute Fahrer haben die Fliegenreste auf den Seitenscheiben" - Walter Röhrl
    Lattenrost ist keine Geschlechtskrankheit
    Zitat Zitat von Frederick Steiner (der jüngere) über den Kader des BVB 2007/2008 Beitrag anzeigen
    Och, wenn Du die alle klein hackst, in nen Topf wirfst und daraus ein Konzentrat machst, bekommst Du sicher ein oder zwei ordentliche Fußballspieler raus. Und rund 9 Pfadfinderinnen mit spektakulärem Bartwuchs. :D

  7. #7
    Im Ruhestand Avatar von chemosh
    Registriert seit
    26.04.06
    Ort
    Oldenburg
    Beiträge
    114
    jo, bin auch definitiv dafür die drin zu lassen.

    Wer die nicht mag kann die ja noch immer über die ini Datei ausschalten.

  8. #8
    Ein Platz an der Sonne Avatar von Commander Bello
    Registriert seit
    05.06.05
    Ort
    Nähe Koblenz
    Beiträge
    6.209
    Zitat Zitat von Caesium
    Jetzt bleibt nur die Frage, WARUM du das überhaupt wissen willst?
    Weil mich immer noch der Gedanke umtreibt, die Adaption mehrfach durchlaufen zu lassen. Daher möchte ich verstehen, wie sie geschrieben ist.

    Ich denke immer noch, es wäre logisch und würde interessant sein, wenn man sie alle 100 Züge, oder jedesmal, wenn die Klassifizierung als stärkste, größte, wohlhabendste usw. Nation kommt, aufruft.

    Ist ja unlogisch, daß die ersten 21 Felder für das ganze Spiel bestimmend sein sollen....


  9. #9
    Im Ruhestand Avatar von chemosh
    Registriert seit
    26.04.06
    Ort
    Oldenburg
    Beiträge
    114
    Zitat Zitat von Commander Bello

    Ist ja unlogisch, daß die ersten 21 Felder für das ganze Spiel bestimmend sein sollen....
    Nicht wirklich, die ersten Schritte einer Nation prägen oft die ganze Denkweise, und wenn du am Anfang halt in Wäldern rumhockst dann wird das die Vorgehensweise prägen auch wenn man später ne Stadt in ner Wüste hat.

    Desweiteren bin ich mir davon abgesehen nicht wirklich sicher ob die Berechnung, die ja aufwendiger wird je mehr Städte es gibt, wirklich mitten im Spiel durchgeführt werden sollte. Gerade auch in MP Partien mit schwachen PCs könnte das die Reaktionszeit so erhöhen das ein PC ausgetimed wird.

  10. #10
    SDK-Gott Avatar von MatzeHH
    Registriert seit
    31.10.05
    Beiträge
    759
    Zitat Zitat von chemosh
    Desweiteren bin ich mir davon abgesehen nicht wirklich sicher ob die Berechnung, die ja aufwendiger wird je mehr Städte es gibt, wirklich mitten im Spiel durchgeführt werden sollte. Gerade auch in MP Partien mit schwachen PCs könnte das die Reaktionszeit so erhöhen das ein PC ausgetimed wird.
    Das ist unkritisch. Es gibt im Code wesentlich umfangreichere Berechnungen.
    Die KI berechnet beispielsweise regelmäßig für jedes einzelne Feld einen Wert, der aussagt, wie lohnenswert es wäre, dort zu siedeln. Zu jedem Feld werden dann wiederum die umliegenden 21 Felder mit in die Berechnung einbezogen.

    Da ist eine Berechnung, die nur 3-4 Mal pro Spiel gemacht wird und nur eigene Stadtfelder einschließt ein Klacks.

    Matze

  11. #11
    the cosmos rocks Avatar von Caesium
    Registriert seit
    08.12.03
    Ort
    Faerûn
    Beiträge
    9.104
    Zitat Zitat von MatzeHH
    Das ist unkritisch. Es gibt im Code wesentlich umfangreichere Berechnungen.
    Die KI berechnet beispielsweise regelmäßig für jedes einzelne Feld einen Wert, der aussagt, wie lohnenswert es wäre, dort zu siedeln. Zu jedem Feld werden dann wiederum die umliegenden 21 Felder mit in die Berechnung einbezogen.

    Da ist eine Berechnung, die nur 3-4 Mal pro Spiel gemacht wird und nur eigene Stadtfelder einschließt ein Klacks.

    Matze
    Dennoch bleibe ich bei meinem Standpunkt:
    Zitat Zitat von Caesium
    Die Adaption stellt einzig und allein dar, wie deine Nation vor Gründung der ersten Stadt gelebt hat. Wenn du nun Siedler aussendest, leben die nicht erst hunderte oder tausende von Jahren unorganisiert, sondern gründen direkt eine Stadt.
    Caesium Mod v2.4 (für Civ4 WL v2.13)

  12. #12
    SDK-Gott Avatar von MatzeHH
    Registriert seit
    31.10.05
    Beiträge
    759
    Zitat Zitat von Caesium
    Dennoch bleibe ich bei meinem Standpunkt:
    Habe ich auch gar nicht in Frage gestellt. Ich bin hier nur für das Technische zuständig, nicht für das Sinnvolle.

    Matze

  13. #13
    the cosmos rocks Avatar von Caesium
    Registriert seit
    08.12.03
    Ort
    Faerûn
    Beiträge
    9.104
    Zitat Zitat von MatzeHH
    Habe ich auch gar nicht in Frage gestellt. Ich bin hier nur für das Technische zuständig, nicht für das Sinnvolle.

    Matze
    Danke für die Mühen
    Caesium Mod v2.4 (für Civ4 WL v2.13)

  14. #14
    Im Ruhestand Avatar von chemosh
    Registriert seit
    26.04.06
    Ort
    Oldenburg
    Beiträge
    114
    Zitat Zitat von MatzeHH
    Das ist unkritisch. Es gibt im Code wesentlich umfangreichere Berechnungen.
    Die KI berechnet beispielsweise regelmäßig für jedes einzelne Feld einen Wert, der aussagt, wie lohnenswert es wäre, dort zu siedeln. Zu jedem Feld werden dann wiederum die umliegenden 21 Felder mit in die Berechnung einbezogen.

    Da ist eine Berechnung, die nur 3-4 Mal pro Spiel gemacht wird und nur eigene Stadtfelder einschließt ein Klacks.

    Matze
    Das ist auch schon klar, aber ich weiss zum Beispiel aus MP Partien mit Opferlamm das man öfter auf den Mitspieler, in dem Fall ich auf Opferlamm, wartet.
    Und wenn da so eine Auswertung kommt wer wo der beste ist, oder sich die AI meldet, dann dauert schon länger und es kommt durchaus vor das ich dieses "Timeout-Menu" sehe.
    Und wann da nun noch zusätzlich eine Berechnung kommt, sehe ich das durchaus als belastend an.

    Klar gibt es aufwendigere Berechnung die öfter passieren, aber man muss das Spiel ja trotzdem nicht noch zusätzlich belasten.

  15. #15
    sehr stylisch Avatar von Polly
    Registriert seit
    11.08.02
    Ort
    Kall
    Beiträge
    14.715
    Der Aufwand einer mathematischen Berechnung ist im Vergleich zum Aufwand der Darstellung eines Diplomatie-Fensters oder eines Statistikfensters nicht vorhanden.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •