Stellaris Entwicklungstagebuch #239 - KI++

    • Offizieller Beitrag

    Hallo und herzlich willkommen zu einem weiteren Update über die Stellaris-KI. Hier ist wieder Guido. Heute bin ich hier mit meinem Mitmenschen Offe, der auch gerne organische Dinge tut. Zum Beispiel Energie durch die Verarbeitung von photosynthetisiertem Licht in Form von Materie über die Nahrungsaufnahme zu erzeugen. Ich mag Speck und Eiscreme. Jeder mag Speck und Eiscreme. Also, Offe, bitte, übernimm das hier.


    Hallo, ich bin es, Offe!


    Ich bin ein 28 Jahre alter Mensch, der hier oben im Norden hergestellt und betrieben wird. Ich arbeite seit zwei Jahren hier im Büro in der Arktis und bin vor kurzem dem Custodian-Team als Junior-Programmierer beigetreten. Guido und ich haben schon an anderen Projekten zusammengearbeitet, und er hat mir viel über Spielentwicklung beigebracht, aber vor allem habe ich einige Tipps gelernt, wie ich meine diplomatischen Interaktionsprotokolle verbessern kann. Während ich oft Sätze wie "Das ist eine absolute Katastrophe" benutzte, sagte er stattdessen lieber "Das ist ziemlich gut, aber es kann noch besser werden!". Das könnte sich später als wichtig erweisen.


    Ich möchte mich bei all den Leuten bedanken, die sich die Zeit genommen haben, die offene Beta zu spielen und uns mit Feedback und Fehlerberichten versorgt haben. Solltet ihr jemals feststellen, dass sich die KI in einer Situation befindet, in der sie etwas Seltsames tut, dann meldet bitte einen Fehler und, was am wichtigsten ist, legt Spielstände bei, das hilft ungemein! Zum Beispiel wurden zwei verschiedene Probleme mit den neuen Jobänderungen gefunden und behoben.


    Und zu guter Letzt wird dieses Entwicklertagebuch ältere Änderungen und Screenshots enthalten, die lange vor der Beta gemacht wurden, aber auch neue Änderungen, die nicht Teil der Beta waren, was bedeutet, dass in der Version 3.3 noch einige neue Änderungen auf Euch warten.


    Änderungen am Pop-Job-System


    Ich werde mit dieser Änderung beginnen, da sie auch die Spieler direkt betrifft und nicht nur die KI!


    So hat es früher funktioniert:


    Jedes Mal, wenn auf einem Planeten etwas Wichtiges passiert, z.B. wenn ein Pop wächst, ein Bezirk/Gebäude gebaut wird oder ein Upgrade abgeschlossen wird, würde jeder einzelne Pop seinen Wunsch (auch bekannt als Gewicht) aktualisieren, den jeweiligen Job zu erledigen. Dann würden alle Pops von ihren Jobs entbunden und alle würden wieder auf einen (potenziell) neuen Job gesetzt werden.


    Es gibt einige Vor- und Nachteile bei diesem Ansatz. Das Gute daran ist, dass wir keine Berechnungen durchführen, wenn wir es nicht müssen, denn wenn sich nichts ändert, aktualisieren wir auch keinen der Aufträge. Der Nachteil ist jedoch, dass, wenn man bedingte Job-Gewichtungen skriptet, z.B. basierend auf der Anzahl der Annehmlichkeiten auf einem Planeten, dies zu Massenwanderungen von Pops zwischen Jobs führt, wenn das System schließlich aktualisiert wird, da alle Pops zur gleichen Zeit umziehen.


    Im aktuellen 3.2-System ist das offensichtlichste Problem für Schwarmintelligenz-Imperien, in denen die Pops massenhaft zum Job der Wartungsdrohne wechseln, wenn der Ausstattungsgrad des Planeten niedrig ist, und dann bei der nächsten Aktualisierung alle weggehen, weil sie viel zu viele Annehmlichkeiten haben, was einen ständigen Ping-Pong-Effekt verursacht.


    Dies betraf auch KI-Imperien, die keine Schwarmintelligenz besitzen, da die KI in Version 3.2 einem Job, der eine Ressource produziert, während einer Knappheit auf allen ihren Planeten Priorität einräumte. Zum Beispiel würde die KI bei einem Mangel an Energieguthaben den Job des Technikers auf allen Planeten bevorzugen, was dazu führen würde, dass jeder einzelne Job sofort besetzt wäre. Dies würde wahrscheinlich zu einer Verknappung anderer Ressourcen wie Mineralien führen, was dazu führte, dass die meisten KI-Imperien in einem Ping-Pong-Verhalten stecken blieben, sobald sie in ein Ressourcendefizit geraten waren. Dies hatte auch den unglücklichen Nebeneffekt, dass die KI Konstruktionen startete, die eigentlich nicht benötigt wurden, aber die plötzliche Verschiebung der Pop-Jobs ließ es so erscheinen.


    So funktioniert es in 3.3:


    • Während jeder monatlichen Aktualisierung werden die Jobs auf allen Planeten aktualisiert.
    • Entferne oder füge nur maximal einen Pop pro Job während der Aktualisierung hinzu



    Viele von Euch ballen jetzt wahrscheinlich sofort die Faust vor Wut und stellen sich vor, wie ihre arme CPU schmilzt, da geskriptete Berechnungen, die auf der Anzahl der Pops in Stellaris basieren, sehr CPU-lastig sein können. Aber ich habe ein paar gute Nachrichten für Euch, erstens gab es in 3.2 einige überflüssige Aufrufe bei der Berechnung des Auftragsgewichts. Indem wir diese, wo immer möglich, entfernt haben, konnten wir die Anzahl der Job-Gewichtsberechnungen bereits um etwa 75% reduzieren.


    Außerdem verwenden wir jetzt die Job-Gewichte zwischen Pops der gleichen Art, die den gleichen Job haben, wieder. Das heißt, wenn 40 Pops auf einem Planeten als Minenarbeiter arbeiten und alle derselben Spezies angehören, wird die skriptgesteuerte Job-Gewichtsberechnung nur noch einmal durchgeführt, anstatt 40 Mal wie in 3.2. Dies bringt jedoch einige Einschränkungen mit sich, da es nicht mehr sicher ist, die Job-Gewichtung auf individuelle Pop-Daten zu stützen, wie z.B. welche Fraktion sie haben oder wie glücklich sie sind. Letztendlich wurde der Großteil aller Berechnungen zur Job-Gewichtung entfernt, während die Jobs weiterhin jeden Monat aktualisiert werden.


    Mit dem neuen System ist es möglich, eine geskriptete Job-Gewicht-Berechnung zu schreiben, die von sich selbst abhängt, ohne Ping-Pong-Verhalten zu verursachen. Zum Beispiel können Jobs, die Annehmlichkeiten produzieren, ihre Jobgewichtung jetzt auf die Annehmlichkeitsstufe des Planeten stützen, oder der Vollstreckerjob kann seine Jobgewichtung jetzt auf die Kriminalitätsstufe stützen.


    Die Absicht ist, dass ihr keinen Unterschied zum System in 3.2 bemerkt, außer dass einige Jobs wie Vollstrecker und Wartungsdrohnen eine vernünftigere Anzahl von Populationen haben, die diesen Job ausüben.



    (Für Animation bitte hier klicken)


    Jobs für Eure Pops


    In 3.2 hat die KI die Anzahl der freien Arbeitsplätze auf einem Planeten berücksichtigt, um zu entscheiden, ob sie neue Arbeitsplätze bauen muss. Wenn es also zum Beispiel 3 freie Arbeitsplätze gäbe, würde die KI in die Hände klatschen und sagen, dass der Job gut gemacht wurde und weiterziehen. Gleichzeitig könnte es auf dem Planeten eine große Anzahl arbeitsloser Menschen geben, die auf den Straßen randalieren.


    Dieses Szenario ergibt sich aus der Tatsache, dass nicht alle Pops alle Jobs annehmen können. Obwohl es also technisch gesehen freie Jobs auf dem Planeten gibt, bedeutet das nicht, dass die arbeitslosen Pops diese Jobs auch tatsächlich annehmen können.


    In 3.3 ändern wir die Art und Weise, wie die KI Planeten betrachtet, wenn sie entscheidet, welche Jobs sie schaffen will. Anstatt auf die Anzahl der freien Jobs auf dem Planeten zu achten und dann mehr zu schaffen, wenn diese Zahl niedrig ist, wird die KI nun auf die tatsächlich arbeitslosen Pops achten und sicherstellen, dass ein Job geschaffen wird, den der jeweilige Pop auch tatsächlich arbeiten kann.


    Dies löst eine Reihe von Problemen, die in 3.2 vorhanden sind, wo die KI keine guten Entscheidungen für Pops wie Sklaven oder Roboter trifft, dies ist etwas, das wir weiter untersuchen werden, aber es ist ein großer erster Schritt in die richtige Richtung.


    KI-Skalierung wirtschaftlicher Teilpläne


    Die Skalierung von Teilplänen war etwas, das wir schon früher als geplantes Feature für die Zukunft erwähnt haben, nun, die Zukunft ist jetzt, also schnallt Euch an!


    In 3.2 haben wir die alten Wirtschaftspläne abgeschafft, die eine vordefinierte Strategie für das frühe/mittlere/späte Spiel hatten, und den gemeinsamen Basisplan eingeführt, der nicht darauf achtet, welches Jahr es ist, sondern eher darauf, in welchem Zustand sich das Imperium befindet.


    Als ich Guidos neue Wirtschaftspläne zum ersten Mal sah, dachte ich sofort, wow, das ist ziemlich gut, aber es kann noch besser werden! Also begann ich mit der Arbeit an den skalierenden Unterplänen, die darauf abzielen, alle Obergrenzen für die Produktion zu entfernen (die zuvor erwähnte Obergrenze von 500 Legierungen pro Monat in 3.2), aber der KI immer noch einen reaktionsfähigen Plan zu bieten, der sich an den aktuellen Zustand der KI-Wirtschaft anpasst.


    So funktioniert das System wie in 3.3:


    Der Basis-Wirtschaftsplan ist jetzt sehr klein, er setzt ein Mindestziel für alle Arten von dringend benötigten Ressourcen wie Mineralien, Energie und Nahrung (z. B. +20 Monatseinkommen). Sobald diese Ziele erreicht sind, wird eine kleine Menge an CGs, Legierungen und wissenschaftlichen Zielen hinzugefügt.


    Sobald alle oben genannten Basispläne erfüllt sind, aktivieren wir den Teilplan Skalierung, der genau wie jeder andere Wirtschaftsplan ist, außer dass er sich jedes Mal, wenn er erfüllt wird, unbegrenzt oft hinzufügt. Der Skalierungsplan enthält eine kleine Menge an Energie/Mineralien, aber hauptsächlich Legierungen und Wissenschaft. Das bedeutet, dass mit zunehmender Reife der KI-Wirtschaft der Fokus auf Basisressourcen abnimmt und sich der Schwerpunkt auf die Produktion von Militär und Wissenschaft verlagert.


    Zusätzlich haben wir 3 separate, bedingt skalierende Unterpläne hinzugefügt, die wir für materialistische, militaristische (und totale Kriegsimperien) und spiritualistische Imperien aktivieren, die zusätzliche Wissenschafts-, Legierungs- oder Einheitsziele zu ihrem Wirtschaftsplan hinzufügen, um die KI-Wirtschaft stärker voneinander zu unterscheiden.


    Großadmiral Hive Mind erreicht in einem Testlauf im Jahr 2422 ein monatliches Einkommen von 3k Legierungen und 22k Wissenschaft. (Screenshot von vor der Überarbeitung der Einheit)




    KI-Bezirks-/Gebäudespezialisierung


    Einer der großen Vorteile, den Menschen wie Du und ich gegenüber der KI haben, ist, dass wir leicht langfristige Strategien entwickeln können, die auf Annahmen und Zielen beruhen. So könnten wir eine langfristige Strategie haben, um einen Planeten, den wir noch nicht kolonisiert haben, in eine Fabrikwelt zu verwandeln. Wie bereits in den Antworten auf die letzten KI-Tagebuchfragen erwähnt, ist die Wirtschafts-KI zustandslos, d. h. sie hat weder eine Vorstellung von der Vergangenheit noch von der Zukunft, sie schaut nur auf das, was sie gerade hat und was sie tun kann, um ihren Wirtschaftsplan zu erfüllen. Dadurch ist sie sehr gut in der Lage, sich an die jeweilige Situation anzupassen. Sie wird die aktuelle Wirtschaftslage genau im Auge behalten und sofort auf etwaige Engpässe reagieren, aber ihr fehlen einige der langfristigen Planungsfähigkeiten, die wir haben.


    Wie kann die KI also spezialisierte Welten schaffen, ohne für die Zukunft zu planen? Nun, eine einfache Möglichkeit besteht darin, die Orte von Bezirken, die wir bereits in der Vergangenheit gebaut haben, zu tauschen. Wenn wir also zwei Planeten mit jeweils 5 Bergbau- und 5 Energiebezirken vergleichen, können wir die Planeten schrittweise spezialisieren, indem wir die Bezirke paarweise austauschen, bis wir einen Planeten mit 10 Energiebezirken und einen anderen mit 10 Bergbaubezirken haben.


    Dieser Ansatz funktioniert in der Praxis recht gut und ist auch sehr dynamisch, da er es der KI ermöglicht, zu Beginn des Spiels hybride Planeten zu bauen, die sich im Laufe der Zeit spezialisieren, wenn das Imperium expandiert.




    KI-Konsumgüter vs. Legierungsproduktion und Planetenbezeichnungen


    In Version 3.3 fügen wir ein KI-System hinzu, bei dem die KI manuell eine Planetenbezeichnung auswählt, anstatt das standardmäßige, geskriptete Planetenbezeichnungssystem zu verwenden, das dasselbe ist, das der Spieler erhält, wenn er es nicht selbst ändert.


    Das KI-System sieht sich die verfügbaren Bezeichnungen für jeden Planeten an und berechnet, wie viele Ressourcen es jeden Monat durch die Wahl der Bezeichnungen erhalten würde. Es bewertet dann jede Ausweisung, indem es beurteilt, wie gut die gewonnenen Ressourcen in den Wirtschaftsplan der KI passen, und vergibt zusätzliche Punkte für Ausweisungen, die mit ihren wirtschaftlichen Zielen übereinstimmen.


    Normalerweise ist es sehr einfach, die Ausweisung zu wählen. Ein Planet, auf dem es nur Bergbaubezirke gibt, wird zum Beispiel eindeutig als Bergbau ausgewiesen. Andere Bezeichnungen wie Fabrik-/Schmiedewelt sind jedoch komplizierter, und die KI muss diese Bezeichnungen sorgfältig so zuweisen, dass die Wirtschaft im Gleichgewicht bleibt.


    Für Imperien, die nicht über ein Schwarmbewusstsein verfügen, ist die Produktion von Wissenschaft und Legierungen die größte Herausforderung für die KI-Wirtschaft, da die KI beide Ressourcen unabhängig voneinander produzieren muss, um die Ziele ihres Wirtschaftsplans zu erreichen, auch wenn sie auf drei verschiedene Arten aus demselben Gebiet produziert werden. Das aktuelle System ist ein Schritt in die richtige Richtung, aber es handelt sich definitiv um ein kniffliges Problem, das in Zukunft weiteren Feinabstimmungen erfordert.


    KI-Ausgaben für Legierungen


    Da die KI nun ihre Legierungs- und Konsumgüterproduktion separat einstellt, war es an der Zeit, sich damit zu beschäftigen, wie die KI ihre Legierungen ausgibt.


    In 3.2 mochte die KI Verteidigungsplattformen sehr und hielt sie durch Aufrüstung auf dem neuesten Stand, wann immer es möglich war. Das verschlingt nicht nur massiv Legierungen, sondern füllt auch mehr oder weniger permanent die Produktionswarteschlange in den Werften mit Upgrades, was dazu führte, dass die KI in manchen Fällen keine neuen Schiffe bauen konnte, selbst wenn sie es wollte.


    Außerdem gab es ein Problem, bei dem die KI daran gehindert wurde, Module zu bauen oder Sternenbasen aufzurüsten, wenn es einen offenen Modulplatz gab, in dem es nicht möglich war, etwas nach den KI-Sternenbasis-Vorlagen zu bauen. Zum Beispiel hat die KI spezielle Schiffswerft-Sternenbasis-Vorlagen, und wenn sie freie Slots hat, würde sie gerne das Titan-Montagemodul darauf bauen. Aber wenn es noch nicht erforscht wurde, würde die KI hier blockiert werden und den Bau neuer Sternenbasen verhindern.


    In 3.3 geht die Priorität der KI-Legierungsausgaben in etwa so:


    ·         Neue Schiffe bauen, bis wir die Flottenobergrenze erreichen

    ·         Bau von Sternenbasismodulen

    ·         Neue Sternenbasen bauen

    ·         Sternenbasen aufrüsten

    ·         Schiffe (und Verteidigungsplattformen) aufrüsten, wenn es einen Flottenmachtbonus von +30% gibt, und die gesamte Flotte aufrüsten, in der sich dieses Schiff befindet, wenn wir sowieso in einer Werft sind. Das spart sowohl Legierungen als auch Zeit!

    ·         Verteidigungsplattformen als letztes Mittel bauen


    KI-Technologiewahl


    Die KI verfügt über geskriptete Gewichtungen für jede Technologie im Spiel, was ihr eine gewisse Orientierung gibt, welche Technologie sie als nächstes auswählt, wenn eine Forschung abgeschlossen ist. Sowohl im Hinblick darauf, welche Technologien mächtiger sind, als auch unter Berücksichtigung der KI-Persönlichkeiten, neigen militaristische Reiche zum Beispiel eher dazu, Waffentechnologien zu erforschen.


    In 3.2 hatten die meisten Technologien irgendeinen Modifikator, der die Wahrscheinlichkeit erhöhte, dass sie von der KI ausgewählt wurden, aber wenn man alles priorisiert, dann priorisiert man eben nichts. Für 3.3 sind wir alle Technologien im Spiel durchgegangen und haben die KI-Prioritäten von Grund auf neu erstellt, wobei wir die Technologien hervorgehoben haben, die der KI helfen werden, im mittleren und späten Spiel zu skalieren. So werden zum Beispiel Technologien, die die Ressourcenproduktion steigern, Bevölkerungswachstumstechs und ressourcenproduzierende Gebäudeketten jetzt stärker gefördert.


    Außerdem wird die KI nun Technologien, die im Vergleich zu den anderen Optionen billiger sind, viel positiver bewerten, was es der KI ermöglicht, die verfügbaren Optionen schneller zu durchlaufen und die Technologien zu finden, die ihr wirklich gefallen.


    KI löscht überflüssiges


    Dieser Punkt ist kurz und einfach. Die KI löscht jetzt Dinge, wenn sie Arbeitsplätze, Wohnungen oder Gebäudeslots schaffen, die wir nicht brauchen. Das heißt, wenn wir zum Beispiel mehr freie Arbeitsplätze und Wohnungen haben, als ein Energiedistrikt zur Verfügung stellt, werden wir ihn einfach löschen, um die Unterhaltskosten zu vermeiden und diesen Slot für etwas anderes in der Zukunft freizugeben.


    Dieses Szenario tritt am häufigsten ein, wenn ein KI-Imperium einen anderen Planeten erobert und dessen Bevölkerung auslöscht, so dass entschlossene Auslöscher nun in der Lage sind, die eroberten Planeten in etwas umzuwandeln, das zu ihrer Wirtschaft passt!


    KI - Abtrünnige Servitoren und Bio-Trophäen


    Während wir uns in diesem Entwicklertagebuch vor allem auf die Fähigkeit der KI konzentriert haben, wirtschaftlich mit dem Spieler zu konkurrieren, besteht eines der Hauptziele der KI-Initiative auch darin, die Rollenspielfähigkeiten der KI zu verbessern.


    In 3.3 fügen wir zusätzliche KI-Unterstützung für die abtrünnige Servitoren hinzu und wie sie mit ihren Biotrophäen umgehen. Die KI sollte nun auf jedem Planeten, der eine verbesserte Kapitalstruktur hat, ein organisches Heiligtum bauen, wodurch sich ihre Biotrophäen auf andere Planeten ausbreiten. Und sie sollte zusätzliche Heiligtümer auf Planeten mit vielen komplexen Drohnen bauen.


    Zusätzlich haben wir eine Gruppe von Fehlern behoben, bei denen die KI nicht in der Lage war, spezielle Gebäudetypen wie Gaia-Seeder, Spawning Pools und Elevationskammern zu bauen.


    KI-Vergleich


    Zum Abschluss möchten wir Euch noch einige Vergleichsgrafiken zwischen der 3.2 und der 3.3 KI zeigen. Bitte beachtet, dass das, was ihr hier seht, auf einem einzigen Testlauf auf Fähnrich und einem Testlauf auf Großadmiral basiert. Dieser Vergleich ist nicht als Beweis zu verstehen, sondern als Hinweis darauf, was sich zwischen 3.2 und 3.3 geändert hat.


    Bei jedem KI-Durchlauf gibt es eine große Varianz in der KI-Leistung, die auf zufällige Faktoren zurückzuführen ist, wie z. B. die Wahl der Techs, Traditionen und Aufstiegsvorteile. Das Experiment wird nur für interne KI-Tests verwendet und ist nicht repräsentativ für einen tatsächlichen Spieldurchlauf.


    Aufbau des Experiments:


    ·         Winzige Galaxie

    ·         1 KI-Imperium

    ·         Alle Tests mit dem Imperium der Vereinten Nationen der Erde

    ·         Die mittleren und späten Spieljahre wurden auf 2575/2600 gesetzt, damit sie nicht ausgelöst werden.

    ·         Die Karte ist die gleiche zwischen dem 3.2 vs 3.3 Vergleich, aber NICHT die gleiche zwischen dem Fähnrich und dem Großadmiral Test.


    Schauen wir uns zunächst den Vergleich zwischen der Fähnchenschwierigkeit 3.2 und 3.3 an:




    Bis zum Jahr 100 ist die militärische Macht ungefähr gleich, aber ab diesem Zeitpunkt beginnen die Ergebnisse der Arbeit, die wir in die KI-Skalierung im mittleren und späten Spiel gesteckt haben, wirklich zu zeigen. Dadurch kann die KI im späten Spiel auf viel interessantere Weise agieren und reagieren als zuvor.


    1) Um das Jahr 150 herum erreicht die 3.3 ("Entwicklungs"-)KI die 32/32-Sternenbasis-Kapazität, da sie alle Technologien im Spiel erforscht hat, was zu einer Verlangsamung der militärischen Machtentwicklung führt.

    2) Die 3.2-KI gerät kurz nach dem Jahr 100 für etwa 30 Jahre in eine wirtschaftliche Todesspirale. Die KI schafft es schließlich, der Todesspirale zu entkommen, hat dann ein massives Wirtschaftswachstum und kann die 32/32-Sternenbasiskapazität schnell erreichen, da sie 30~ Jahre lang Legierungen angespart hat.


    Im Jahr 200 wird der Abstand zwischen den beiden KI-Militärs kleiner, da keine der beiden KIs wirklich mehr Schiffe baut, da sie ihre Sternenbasenkapazität ausgereizt haben und bereits weit über ihrer Flottenobergrenze liegen, was zu sehr teuren Flotten führt. Der Machtunterschied im Jahr 200 ist hauptsächlich darauf zurückzuführen, dass die 3.3-KI über eine überlegene Technologie verfügt.


    Es hat sich jedoch herausgestellt, dass die KI auf dem GA-Schwierigkeitsgrad den erhöhten Buff des Handelswertes nicht korrekt anwendet. Wenn dies nun der Fall ist, macht die KI einen guten Schritt in die Richtung, es für die Spieler schwieriger zu machen.


    Insgesamt zeigen der GA- und der Fähnchentest ein ähnliches Muster, bei dem die ersten 100 Jahre ungefähr gleich sind und der Unterschied dann erheblich wird. Im GA-Test ist die Obergrenze der 3.3-KI-Skalierung jedoch um das Jahr 150-200 herum zu erkennen, da die Wachstumskurve des Militärs an diesem Punkt abflacht, wenn die Sternenbasenobergrenze erreicht ist.


    Und das war's für das heutige Entwicklertagebuch. Wenn Ihr Fragen zur KI-Wirtschaft habt, könnt Ihr sie gerne unten stellen und ich werde mein Bestes tun, um sie zu beantworten!


    Quelle: https://forum.paradoxplaza.com…dev-diary-239-ai.1508186/

    banner_anno1800.png


    Mit Volldampf nach Anno 1800