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

Thema: Wartezeiten zwischen den Runden

  1. #1
    Registrierter Benutzer
    Registriert seit
    23.11.08
    Ort
    NRW
    Beiträge
    115

    Wartezeiten zwischen den Runden

    Ich bin sicher, dieses Thema ist schon das ein oder andere Mal diskutiert worden, trotzdem möchte ich die Thematik hier nochmal aufgreifen in der Hoffnung, Lösungsansätze zu finden.

    Die Wartezeiten zwischen den Runden sind im späteren Spielverlauf meines Erachtens viel zu lang, bei mir hat's jetzt auf einer riesigen Karte mit 9 Gegnern so an die 2 Minuten gedauert, bis ich wieder am Zug war.
    Ok, mein Rechner (Athlon II X2 240, 2,81 GHz, 3GB-Ram, WinXP, Radeon HD6570) ist zwar schon ein älteres Schätzchen, reichte bisher aber immer (noch) für meine Zwecke.

    Ok, jetzt aber - neues Spiel angefangen, Kartengrösse diesmal nur "gross" mit einem Wasseranteil von ca. 30-40%, und nur vier Gegner (Zur Info: spiele meine eigene Mod mit sehr langen Forschungszeiten, um die einzelnen Epochen länger ausleben zu können). So weit so gut. Lange Zeit waren die Wartezeiten durchaus passabel - so bis zur Erfindung des Schiesspulvers, von da an dauerte es immer länger und länger...

    Das Spiel (Schw. "Prinz") lief zu diesem Zeitpunkt eigentlich ziemlich gut für mich. Mit England und Elisabeth als Oberhaupt hatte ich in Runde 860 eine stattliche Armee von 152 Musketieren und 16 Kürassieren aufgebaut. Deren Unterhalt konnte ich so gerade noch bezahlen, ohne dabei forschungstechnisch zu weit abzufallen (60-70% Forschungsleistung). Neben mir waren die Zulu mit Shaka, der mir im Mittelalter ein paar mal den Krieg erklärt hatte, aber dabei nie ernsthaft bedrohlich wurde. Seit längerer Zeit war ein friedfertiger Nachbar.

    Doch mittlerweile war ich wieder bei 1 Minute Wartezeit und ich dachte mir: Das kann doch nicht wahr sein bei dieser Kartengrösse mit nur vier Gegnern! Genervt habe ich den Spielstand aufgegeben und dachte, schau ich mal in den Wordbuilder - und da hat mich fast der Schlag getroffen:


    (so wie in diesem Screenshots sieht's im gesamten Zulu-Reich aus)


    (Eine Wahnsinns-Armee - wie kann der die unterhalten und trotzdem noch gut forschen?)

    Im Territorium von Shaka war so gut wie kein Land-Plot nicht mit Militäreinheiten besetzt, insgesamt hatte der gute Mann eine Armee von 452 Musketieren und 41 Langbogenschützen aufgestellt. Ähnlich sah es auch bei den Franzosen unter Napoleon aus.

    Also da wunderte mich die lange Wartezeit nicht mehr, denn wenn jede gegnerische Fraktion ähnliche Massen an Einheiten besitzt, die von der AI in jeder Runde - aus welchem Grund auch immer - von Feld A nach Feld B und in der nächsten Runde wieder zurück bewegt werden, bleiben diese Ladezeiten nicht aus.

    Zu Testzwecken habe ich mal kurz Gott gespielt und Shaka's Armee via Worldbuilder bis auf ein paar dutzend Einheiten von der Weltkarte getilgt. Zum Spiel zurückgekehrt - und sieh da: die Wartezeit betrug beim Rundenwechsel nur noch an die 20 Sekunden.

    Also mal abgesehen davon, dass ich mit meinen mickrigen 152 Musketieren und 16 Kürassieren die ich - wie gesagt - gerade noch unterhalten konnte, wahrscheinlich nicht den Hauch einer Chance gegen Shaka im Kriegsfall gehabt hätte, frage ich mich nebenbei natürlich auch, wie die KI eine derartige Masse an Einheiten aufstellen kann und dabei gleichzeitig forschungstechnisch noch weiter oben mitspielen kann?

    Mein Gedanke ist nun folgender:

    - In der CIV4HandicapInfo.xml den Wert im Tag iAIUnitSupplyPercent von 50% auf 100% hochsetzen, damit die KI für ihre Einheiten höheren Unterhalt bezahlen muss und sich deshalb nicht mehr diese Riesen-Armee "leisten" kann.
    - In der CIV4LeaderHeadInfos.xml den Wert im Tag iBuildUnitProb von 40 (Shaka + Napoleon) auf 20 oder 25 runterzusetzen mit dem Hintergedanken, das die AI dann überhaupt nicht mehr derartige Gewalt-Armeen aufstellt.

    Ob das was hilft? Fällt euch sonst noch etwas ein? Eines ist sicher: die Wartezeiten stehen im direkten Zusammenhang mit dieser gigantischen Armee-Grösse der Gegner.

    Danke im Voraus!
    Geändert von stefancoe (29. Januar 2014 um 18:20 Uhr)

  2. #2
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.023
    Eventuell hilft es noch, in der HandicapInfo den Wert "iAIUnitCostPercent" hochzusetzen. Wenn der unter 100 liegt, heißt das nämlich auch, dass die KI schneller Einheiten fertigstellt.

  3. #3
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.455
    UnitSupply hochsetzen hilft nur die KI pleite gehen zu lassen und somit schlechter forschen zu lassen. Weniger Einheiten baut sie deshalb nicht.
    Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5

    Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)

  4. #4
    Registrierter Benutzer
    Registriert seit
    08.04.04
    Beiträge
    6.419
    Dann weiß ich jetzt auch, warum meine gigantische Kontinentkarte unspielbar ist . Das hält ja kein Rechner aus.

    (Kennt einer die Preise für einen Home-Quanten-PC? )

  5. #5
    Whovian Avatar von antriot
    Registriert seit
    30.09.12
    Ort
    TARDIS Type 40
    Beiträge
    2.641
    Wenn du Zahl der Einheiten verringern willst, musst du am Leader rumschrauben. Aber die Auswirkungen auf andere Spielbereiche sind dadurch natürlich nicht absehbar...
    Tick tock goes the clock...

  6. #6
    Registrierter Benutzer
    Registriert seit
    23.11.08
    Ort
    NRW
    Beiträge
    115
    Hallo zusammen,

    nach laaangem Testen und Probieren habe ich endlich eine Lösung gefunden, wie sich die langen Wartezeiten zwischen den Runden vermeiden lassen. Da vielleicht noch andere dieses Problem haben, möchte ich gerne meinen Lösungsansatz hier mal kurz kundgeben.

    Wie antriot bereits angedeutet hat, habe ich dazu einige Änderungen an der CIV4LeaderHeadInfos.xml vorgenommen. Ob und wie stark sich diese auf die Wartezeiten ausgeübt haben, vermag ich aber nicht zu beurteilen, es geht mir letztlich nur um das Resultat und das ist - ich nehm's vorweg - mehr als zufriedenstellend:

    UnitAIWeightModifiers
    Hier habe ich den tag bei sämtlichen Leadern wie folgt geändert:
    <UnitAIType>UNITAI_CITY_DEFENSE</UnitAIType>
    Hintergrund: die AI soll ihre Einheiten nicht wahllos über die Map schieben (von A nach B und nächste Runde das gleiche Spiel wieder rückwärts) sondern diese vermehrt in den Städten stationieren und nur bei Bedarf (Kriegsfall) mobilisieren.

    Flavors
    Hier habe ich einen besonderen tag bei fast allen Leadern weggelassen und durch etwas anderes (z.B. Growth, Science, etc) ersetzt:
    FlavorType>FLAVOR_MILITARY</FlavorType>
    Nur bei sehr militärischen Leadern habe ich diesen Eintrag als sekundären Flavor mit <iFlavor>2</iFlavor> stehengelassen.

    iBuildUnitProb
    Der Maximale Wert bei diesem tag ist soviel ich weiß 40, Ghandi hat mit 15 den geringsten. Ich habe hier 25 als den maximalen Wert vergeben.

    Nun der (meiner Ansicht nach) entscheidenste Faktor, um die Rundenwartezeit zu verkürzen: Die Staatsform Nationale Selbständigkeit mit ihrer Funktion, Einheiten zu rekrutieren. Die KI scheint dieses Feature nur allzu gerne zu nutzen. Auf großen Maps kann sie sich damit 4 Einheiten pro Runde, auf riesigen Map sogar 5 Einheiten pro Runde ziehen.

    Ich verweise nochmal auf den Screenshot von meinem ersten Themen-Eintrag: Shaka's 452 Musketiere fand ich im Januar letzten Jahres übertrieben, mittlerweile habe ich Spiele gespielt, wo die KI über 1.600 Einheiten aufgestellt hat. Die Wartezeit pro Runde betrug dann so ca. 3,5 Minuten - unspielbar in meinen Augen.

    Mir ist aber auch aufgefallen, dass die Wartezeit immer ab einem bestimmten Zeitpunkt massiv wurde: im Schießpulver-Zeitalter, in dem auch der Nationalismus erforscht wird und damit auch die Nationale Selbständigkeit als Staatsform freigeschaltet wird.

    Ich muss dabei sagen, dass ich Civ4 mit modifiziertem GameSpeed spiele, ungefähr Marathon x 2 (möchte halt jede Epoche ausgiebig erleben ) entsprechend dauert jede Epoche im Spiel auch vergleichsweise lange. Heißt letztendlich: die KI hat auch mehr Zeit, um mehr Truppen aufzustellen. Auf riesigen Maps mit diesem GameSpeed sind 20 Runden nicht sehr viel - die KI kann in dieser Zeit mit der Nationalen Selbständigkeit aber 100 Einheiten ziehen - und das macht sie auch.

    Da zusätzlich auch noch Einheiten auf herkömmlichen Wege ins Spiel gebracht werden, sind solche massiven Einheitenzahlen dann auch erklärbar.

    Daher habe ich das Feature des Einheiten Rekrutieren's in eine sehr spät erreichbare Staatsform untergebracht, in der sie nicht mehr ein solch tragendes Gewicht hat wie zu Beginn der Schießpulver-Ära.

    Und was soll ich sagen - jetzt läuft's rund (und vorallem schnell ).
    Riesige Karte mit 13 Zivilisationen - kein Problem, die Wartezeit pro Runde liegt nach ca. 1100 Runden zu Beginn der Moderne (noch 12 Civ's übrig) zwischen 15 und 30 Sekunden - absolut tolerierbar.

    Die bange Frage war jetzt: wird die KI durch die Änderungen "zu schwach", weil sie nicht mehr so viele Militäreinheiten baut/besitzt?
    Antwort: klares Nein. Die KI hat trotz dieser Änderungen immer noch genug Einheiten, hält diese zwar weitestgehend in den Städten, kann im Kriegsfall aber auch mit einem gewaltigen Stack zuschlagen.

    Also alles Bestens!

    Vielleicht hilft diese Info jemanden.

  7. #7
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.017
    Flavors nicht zu nutzen ist aber schlecht, weil die KI dann keine Prioirisierung mehr kann.

    Das Kernproblem ist zudem nicht genannt. Es ist die Masse an Einheiten, die ab Schießpulver stark zunimmt.

  8. #8
    Registrierter Benutzer
    Registriert seit
    23.11.08
    Ort
    NRW
    Beiträge
    115
    Zitat Zitat von rucivfan Beitrag anzeigen
    Flavors nicht zu nutzen ist aber schlecht, weil die KI dann keine Prioirisierung mehr kann.
    Bitte richtig lesen - Flavors werden weiter genutzt, lediglich der military-Eintrag wird nur noch in sehr begrenztem Umfang genutzt.

    Zitat Zitat von rucivfan Beitrag anzeigen
    Das Kernproblem ist zudem nicht genannt. Es ist die Masse an Einheiten, die ab Schießpulver stark zunimmt.
    Habe ich auch genannt: Nationale Selbständigkeit -> Feature "Einheiten Rekrutieren"

  9. #9
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.017
    Das Feature hat damit aber nichts zu tun. Und die höhe des Miltiärflavors hat Einfluss auf die Menge an Einheiten bei der KI.

  10. #10
    Registrierter Benutzer
    Registriert seit
    23.11.08
    Ort
    NRW
    Beiträge
    115
    Zitat Zitat von rucivfan Beitrag anzeigen
    Das Feature hat damit aber nichts zu tun.
    Woher weißt du das? Hast du entsprechende Tests durchgeführt, die deine Aussage belegen?

    Zitat Zitat von rucivfan Beitrag anzeigen
    Und die höhe des Miltiärflavors hat Einfluss auf die Menge an Einheiten bei der KI.
    Exakt darum geht's ja. Daher habe ich den Militärflavor auch nur sehr geringem Maße verwendet. Die KI soll ja weniger Einheiten aufstellen - zumindest nicht solche massiven Mengen jeneits von 1.000 Stück.

  11. #11
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.017
    Kenne den SDK Code sehr gut, denn ich modde ihn seit mehr als 3 Jahren. Ich weiß, wie der Code wirkt, habe auch schon einiges getestet und der Code macht nicht den Löwenanteil aus. Habe zufällig erst vor einer Woche den Code zum Rekrutieren opimiert, dass er weniger Berechnungen benötigt. Es werden einige größere Berechnungen sinnlos mehrfach berechnet statt das Ergebnis weiter zu reichen. Das ist aber nicht so viel, dass man auf das Feature verzichten sollte.

  12. #12
    Registrierter Benutzer
    Registriert seit
    23.11.08
    Ort
    NRW
    Beiträge
    115
    Auf das Feature muß ja nicht komplett verzichtet werden, es reicht aus das Feature in eine Staatsform umzulegen, die erst im späterem Stadium des Spieles erreichbar ist, wo sie nicht mehr so viel Gewicht hat.

    Ich kenne mich mit dem SDK-Code nicht aus, aber ich weiß was ich getestet und in den Tests erlebt habe.

    Wenn die Umlegung dieses Features in eine spätere Staatsform im Spiel langfristig die Auswirkung hat, dass die Wartezeit zwischen den Runden von 3 bis 3,5 Minuten auf 15 bis 30 Sekunden herunterfährt ohne das der Spielspaß in irgendeiner Weise getrübt wird, dann ist das in meinen Augen eine mehr als akzeptable Lösung - möglicherweise auch für andere, die zwischen den Runden am PC nicht einnicken wollen

  13. #13
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.017
    Zitat Zitat von stefancoe Beitrag anzeigen
    Auf das Feature muß ja nicht komplett verzichtet werden, es reicht aus das Feature in eine Staatsform umzulegen, die erst im späterem Stadium des Spieles erreichbar ist, wo sie nicht mehr so viel Gewicht hat.
    Das ist KEINE Lösung! Später bedeutet mehr Masse über normales bauen oder das Feature ist entbärlich! Letztendlich ändert das am Kernproblem nichts und verschiebt es nur nach hinten, wo es noch schlimmer wird.

    Ich kenne mich mit dem SDK-Code nicht aus, aber ich weiß was ich getestet und in den Tests erlebt habe.
    Ich setze an den Beobachtungen an sich keine Zweifel, aber es ist nicht immer leicht, das richtige aus den Beobachtungen zu schließen. Genau da bin ich nicht deiner Meinung. Desweiteren musst du Berücksichtigen, dass immer andere Faktoren in deinen Beobachtungen einfluss haben können, an die du noch nicht gedacht hast.

    Wenn die Umlegung dieses Features in eine spätere Staatsform im Spiel langfristig die Auswirkung hat, dass die Wartezeit zwischen den Runden von 3 bis 3,5 Minuten auf 15 bis 30 Sekunden herunterfährt ohne das der Spielspaß in irgendeiner Weise getrübt wird, dann ist das in meinen Augen eine mehr als akzeptable Lösung - möglicherweise auch für andere, die zwischen den Runden am PC nicht einnicken wollen
    In erster Linie liegt das an der Masse an Einheiten. Für jede Einheit müssen kürzeste Wegepfade berechnet werden. Weil die KI ihre Einheiten meistens nur einzeln und damit anders wie der Spieler nicht in Gruppen richtig bewegt, steigt die Belastung durch die kürzeste Wegeberechnung linear mit der Anzahl an Einheiten an. Doppelt so viele Einheiten führen halt zu doppelt zu vielen Berechnungen für die Einheiten. Eigentlich reicht das schon aus, um die Unterschiede in deinen Messungen zu begründen.

    Die Frage ist nur, hängt das Spielgefühl von der Masse an Einheiten ab? Das sehen andere Spieler nämlich anders wie du, der eher weniger Einheiten im Spiel haben möchte.

  14. #14
    Whovian Avatar von antriot
    Registriert seit
    30.09.12
    Ort
    TARDIS Type 40
    Beiträge
    2.641
    Ich glaube das eigentliche Problem ist die Spielgeschwindigkeit, die du dir zusammen geschustert hast. Wenn du so langsam spielst hat die KI eben deutlich mehr Einheiten. Das bedeutet dann halt auch längere Rundenzeiten mit denen man leben muss.

    Wenn du im allgemeinen weniger Units haben willst kannst du auch die Baukosten erhöhen und/oder der KI weniger Produktionsbonus für Einheiten geben. Aber auch das kann nicht absehbare Folgen für die Kriegsführung der KI haben!
    Tick tock goes the clock...

  15. #15
    Registrierter Benutzer Avatar von JohnStockton
    Registriert seit
    14.12.11
    Beiträge
    404
    Zitat Zitat von stefancoe Beitrag anzeigen
    UnitAIWeightModifiers
    Hier habe ich den tag bei sämtlichen Leadern wie folgt geändert:
    <UnitAIType>UNITAI_CITY_DEFENSE</UnitAIType>
    Hintergrund: die AI soll ihre Einheiten nicht wahllos über die Map schieben (von A nach B und nächste Runde das gleiche Spiel wieder rückwärts) sondern diese vermehrt in den Städten stationieren und nur bei Bedarf (Kriegsfall) mobilisieren.
    Das finde ich einen interessanten Punkt. Hält sich die KI daran und hat es Auswirkungen auf die Rundenzeit?

    Ansonsten würde ich auch sagen, dass du das Grundproblem der zu vielen Einheiten eleganter lösen kannst. Denkbar ist z.B. wie hier schon genannt, die Einheitenkosten einfach um einen Faktor x zu erhöhen. Damit triffst du dann alle Civs gleich hart. Als ich damit rumprobiert habe, hat sich 50% als sinnvoll erwiesen, noch teurere Einheiten lassen die KI schnell alt aussehen gegen die Barbaren. Auch denkbar ist, die Einheitenkosten mit jeder neuen Einheit dieses Typs um x Prozent anzuheben.
    "Alle Menschen werden Brüder,
    Wo dein sanfter Flügel weilt."

    Arcade Fire - Intervention

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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