Seite 50 von 70 ErsteErste ... 4046474849505152535460 ... LetzteLetzte
Ergebnis 736 bis 750 von 1046

Thema: [TAC] Europäische Fraktionen: Oberhäupter, Diplomatie

  1. #736
    Col-Modder Avatar von raystuttgart
    Registriert seit
    19.03.10
    Ort
    Stuttgart
    Beiträge
    4.585
    Zitat Zitat von koma13 Beitrag anzeigen
    Wir dürfen nicht vergessen, daß Elwood nicht wirklich nachvollziehen kann, was mit den von ihm gewählten Werten in der DLL passiert. Auch wenn Ray sich viel Mühe gibt die dazugehörigen Funktionen zu erklären, es immer nur eine Zusammenfassung, die nur eine unfähre Ahnung vermitteln kann, was mit den Werten passiert. Das bedeutet aber auch, daß Elwoods Leaderhead-Balancing nur einer erster Vorschlag sein kann, der vom Team und der Community dann eingehend getestet werden müsste. Dafür finde ich den Aufwand, den Elwood hier betreiben möchte (bis Ende des Jahres!), unverhältnismäßig hoch.
    Ich stimme dir in allen Punkten zu.

    Ausschlaggebend für den "Erfolg" dieses Rebalancing ist -meiner Meinung nach- in erster Linie, ein gutes KI-Verhalten,
    das letztlich nur durch Tests / Feedback bestätigt wird.

    Das Ziel dieses Projektes "klar unterscheidbare Charakterzüge zu schaffen" ist für mich persönlich eher sekundär.

    Die Balance zwischen beiden Aspekten zu wahren, ist meine Motivation an diesem Thema mitzuwirken.

    Wenn die Spielbalance oder der Spielspaß leidet, dann war - meiner Meinung nach - dieses "Projekt" ein Fehlschlag.
    (Spielspaß ist natürlich sehr subjektiv.)

    Das von mir so oft zittierte "Balancing zum Selbstzweck" oder gar noch schlimmer das "Opfern eines guten Spielerlebnisses,
    nur um ein irgendwann definiertes Konzept umzusetzen", wäre gerade bei dem enormen Aufwand der hier bereits eingeflossen ist, absolut katastrophal.

    Nun, ich denke ich habe meine Meinung zu dem Thema oft genug kund getan.
    (Ich kann lediglich versuchen die Werte und deren Einflüsse zu erklären und werde das weiterhin tun, solange mein Input erwünscht ist. )

    Allgemein sehe ich aber den bisherigen Verlauf und die Ausprägung der Werte grundsätzlich positiv.

    Mir ist es aber auch nicht möglich die tatsächlichen Auswirkungen im Spiel nur anhand der Werte abzuschätzen,
    da die Komplexität einfach viel zu groß ist.

    Letztlich ist eines klar:
    Das Ganze ist ein großes Experiment !
    (Was ich aber nicht negativ meine. )

    Zitat Zitat von koma13 Beitrag anzeigen
    Ich bin für Plan B, als Kompromiss könnte ich mir auch Rays Vorschlag vorstellen.
    Ich bin doch auch für Plan B.
    (Nur dass ich eben versuchen werde, so viel wie möglich bzw. erwünscht zu erklären.)
    Geändert von raystuttgart (24. September 2011 um 22:14 Uhr)
    Teammitgleid dieses Projekt für Colonization:
    [Mod] We The People
    (Nachfolgerprojekt von Religion and Revolution)

    Davor Teammitgleid dieses Projekt für Colonization:
    [Mod] Religion and Revolution

    Vor-Vorheriges Projekt für Colonization:
    [ModMod] ray's Wunschliste

    Und wiederum davor Teammitglied von:
    [Mod] The Authentic Colonization (TAC)

  2. #737
    Talking Bull Avatar von Writing Bull
    Registriert seit
    01.10.08
    Beiträge
    21.376
    Zitat Zitat von Elwood Beitrag anzeigen
    Letzlich nähern wir uns auch langsam dem Ende des ersten Blockes der Werte, ich denke, mit den folgenden Grenzwerten auf Basis von PLEASED etc. sollten wir zügiger vorankommen

    Danach folgen noch die ContactRands/ContactDelays und die MemoryDecays/MemoryAttitudePercents, das ist noch mal richtig viel! Pfeffersack hatte damals hier nichts weiter umgesetzt, hier wäre also Pionierarbeit gefragt. Grundsätzlich soll das aber im Team beschlossen werden, eine weitere Baustelle hier würde den finalen TaC-Release mMn ziemlich verschieben. Ich könnte mir folgendes vorstellen.

    A Drauf wie Blücher , wir nehmen uns die Werte vor und machen weiter, Stück für Stück.

    B Punktuelles Arbeiten. Wir gehen die Werte durch, und drehen an 3-4 Stellen noch was, wo sich beim Spielen Probleme gezeigt haben (bspw. MEMORY_REVENGE_TAKEN oder MEMORY_MISSIONARY_FAIL)
    Zitat Zitat von koma13 Beitrag anzeigen
    Wir dürfen nicht vergessen, daß Elwood nicht wirklich nachvollziehen kann, was mit den von ihm gewählten Werten in der DLL passiert. Auch wenn Ray sich viel Mühe gibt die dazugehörigen Funktionen zu erklären, es immer nur eine Zusammenfassung, die nur eine unfähre Ahnung vermitteln kann, was mit den Werten passiert. Das bedeutet aber auch, daß Elwoods Leaderhead-Balancing nur einer erster Vorschlag sein kann, der vom Team und der Community dann eingehend getestet werden müsste. Dafür finde ich den Aufwand, den Elwood hier betreiben möchte (bis Ende des Jahres!), unverhältnismäßig hoch.

    Ich bin für Plan B
    Okay - ich würde mich hier auf deine Expertise verlassen, koma, und deinem Vorschlag, B umzusetzen, folgen. Wir müssen ja nicht katholischer sein als der Papst ...

    Elwood, könntest du uns auf dieser Basis einen ungefähren (!) Zeitpunkt nennen, bis du, unterstützt durch rays Erklärungen, alle Werte eingetragen und zum Testen freigegeben hast?

  3. #738
    Col-Modder Avatar von raystuttgart
    Registriert seit
    19.03.10
    Ort
    Stuttgart
    Beiträge
    4.585
    iRebelAttitudeDivisor

    Dieser Wert bestimmt die Veränderung der Attitiude eines Königs zu seiner Kolonie aufgrund der Freiheitsglockenproduktion.

    Er spielt also nur für Könige eine Rolle.
    (Da wir am Balancing der Könige keine Änderung durchführen, kann er also ignoriert werden.)

    Grundsätzlich:

    • Negativer Wert bedeutet Verschlechterung der Beziehung.
      (Dies ist der normale Fall.)
    • Je kleiner der Betrag, desto stärker die Auswirkung / desto verärgerter wird der König.
      (-100 hätte also eine 5mal höhere Wirkung auf den Wert dieser Berechnung als -500.)
    • Die Wachstumseinstellung des Gamespeed wird in der Berechnung mit berücksichtigt


    Achtung Spoiler:

    Code:
    int CvPlayerAI::AI_getRebelAttitude(PlayerTypes ePlayer)
    {
    	if (GET_PLAYER(ePlayer).getParent() != getID())
    	{
    		return 0;
    	}
    
    	if (GC.getLeaderHeadInfo(getPersonalityType()).getRebelAttitudeDivisor() == 0)
    	{
    		return 0;
    	}
    
    	int iBells = GET_PLAYER(ePlayer).getBellsStored();
    
    	iBells *= 100;
    	iBells /= std::max(1, GC.getGameSpeedInfo(GC.getGameINLINE().getGameSpeedType()).getGrowthPercent());
    	iBells /= GC.getLeaderHeadInfo(getPersonalityType()).getRebelAttitudeDivisor();
    
    	return iBells;
    
    }
    Teammitgleid dieses Projekt für Colonization:
    [Mod] We The People
    (Nachfolgerprojekt von Religion and Revolution)

    Davor Teammitgleid dieses Projekt für Colonization:
    [Mod] Religion and Revolution

    Vor-Vorheriges Projekt für Colonization:
    [ModMod] ray's Wunschliste

    Und wiederum davor Teammitglied von:
    [Mod] The Authentic Colonization (TAC)

  4. #739
    Col-Modder Avatar von raystuttgart
    Registriert seit
    19.03.10
    Ort
    Stuttgart
    Beiträge
    4.585
    iRazeCityProb

    Für Ureinwohner spielt dieser Wert absolut keine Rolle.
    (Die vernichten immer die Stadt.)

    Eine europäische KI wird nur in Betracht ziehen eine Stadt zu vernichten, wenn sie bereits mehr als 4 Städte besitzt.

    An dieser Stelle gab es eine Anpassung von koma, um die Wahrscheinlichkeit zu Erhöhen, dass Städte vernichtet werden.
    (Falls die Stadt einem menschlichen Spieler gehört hat.)

    Achtung Spoiler:

    <Define>
    <DefineName>AI_CHANCE_FOR_RAZING_CITY</DefineName>
    <iDefineIntVal>33</iDefineIntVal>
    </Define>


    Grundsätzlich spielen 3 weitere Faktoren außer iRazeCityProb bei der Berechnung der KI mit, ob sie eine Stadt lieber vernichten oder behalten soll eine Rolle spielen.
    (Anzahl der gegnerischen Städte im selben Gebiet, Entfernung der Stadt zur nächsten eigenen, Nähe der Stadt zur eigenen Nation)

    iRazeCityProb wird oben draufgeschlagen, wenn der Spieler auf dem selben Kontinent bereits eine Stadt hat.

    Achtung Spoiler:

    Code:
    void CvPlayerAI::AI_conquerCity(CvCity* pCity)
    {
    	bool bRaze = false;
    	if (canRaze(pCity))
    	{
    		bRaze = isNative();
    
    		if (!bRaze)
    		{
    			CvCity* pNearestCity;
    			int iRazeValue;
    
    			iRazeValue = 0;
    			if (GC.getGameINLINE().getElapsedGameTurns() > 20)
    			{
    				if (getNumCities() > 4)
    				{
    					pNearestCity = GC.getMapINLINE().findCity(pCity->getX_INLINE(), pCity->getY_INLINE(), NO_PLAYER, getTeam(), true, false, NO_TEAM, NO_DIRECTION, pCity);
    
    					if (pNearestCity == NULL)
    					{
    						if (pCity->getPreviousOwner() != NO_PLAYER)
    						{
    							if (GET_TEAM(GET_PLAYER(pCity->getPreviousOwner()).getTeam()).countNumCitiesByArea(pCity->area()) > 3)
    							{
    								iRazeValue += 30;
    							}
    						}
    					}
    					else
    					{
    						int iDistance = plotDistance(pCity->getX_INLINE(), pCity->getY_INLINE(), pNearestCity->getX_INLINE(), pNearestCity->getY_INLINE());
    						if ( iDistance > 12)
    						{
    							iRazeValue += iDistance * 2;
    						}
    					}
    
    					int iCloseness = pCity->AI_playerCloseness(getID());
    					if (iCloseness > 0)
    					{
    						iRazeValue -= 25;
    						iRazeValue -= iCloseness * 2;
    					}
    					else
    					{
    						iRazeValue += 60;
    					}
    
    					if (pCity->area()->getCitiesPerPlayer(getID()) > 0)
    					{
    						iRazeValue += GC.getLeaderHeadInfo(getPersonalityType()).getRazeCityProb();
    					}
    
    					// TAC - AI Attack City - koma13 - START
    					if (GET_PLAYER(pCity->getPreviousOwner()).isHuman())
    					{
    						int iChance = GC.getDefineINT("AI_CHANCE_FOR_RAZING_CITY");
    						
    						iRazeValue = std::max(0, iRazeValue);
    						iRazeValue = std::min(iChance * 2, iRazeValue + iChance);
    					}					
    					// TAC - AI Attack City - koma13 - END
    
    					if (iRazeValue > 0)
    					{
    						if (GC.getGameINLINE().getSorenRandNum(100, "AI Raze City") < iRazeValue)
    						{
    							bRaze = true;
    						}
    					}
    				}
    			}
    		}
    	}
    
    	if (bRaze)
    	{
    		pCity->doTask(TASK_RAZE);
    	}
    	else
    	{
    		gDLL->getEventReporterIFace()->cityAcquiredAndKept(GC.getGameINLINE().getActivePlayer(), pCity);
    	}
    }


    Gesonderte Betrachtung von komas Änderung
    Achtung Spoiler:

    Code:
    // TAC - AI Attack City - koma13 - START
    					if (GET_PLAYER(pCity->getPreviousOwner()).isHuman())
    					{
    						int iChance = GC.getDefineINT("AI_CHANCE_FOR_RAZING_CITY");
    						
    						iRazeValue = std::max(0, iRazeValue);
    						iRazeValue = std::min(iChance * 2, iRazeValue + iChance);
    					}


    Was koma da macht, ist dem Wert der "Stadtzerstörung" eine obere und eine untere Grenze zu verpassen,
    für den Fall, dass die Stadt vorher einem menschlichen Spieler gehört hat.

    Mit der aktuellen Einstellung AI_CHANCE_FOR_RAZING_CITY:

    Untere Grenze -> 33%
    Obere Grenze -> 66%

    Fazit:

    Der Wert ist nur ein Teil der Formel zur Berechnung, ob die KI eine Stadt vernichten soll oder nicht.

    Hat die KI aber bereits eine Stadt auf dem Kontinent, wird er 1:1 draufaddiert.
    (Die Wahrscheinlichkeit der Stadtvernichtung erhöht sich also.)

    Durch komas Änderung, ist die Wahrscheinlichkeit der Stadtvernichtung oben und unten begrenzt,
    wenn sie voher einem menschlichen Spieler gehört hat.

    Meine klare Empfehlung:

    Diesen Wert bei allen Leaderheads auf 0 setzen !

    Ich finde es absolut bescheuert, dass eine KI entsprechend ihrer nationenspezifischen Einstellung Städte bevorzugt zerstört,
    wenn sie auf dem selben Kontinent bereits Städte hat, was aber wohl fast immer der Fall ist.
    (Genau das steuert der Wert nämlich.)

    Die restlichen sinnvollen Teile der Berechnung gibt es ja immer noch.
    Geändert von raystuttgart (25. September 2011 um 13:24 Uhr)
    Teammitgleid dieses Projekt für Colonization:
    [Mod] We The People
    (Nachfolgerprojekt von Religion and Revolution)

    Davor Teammitgleid dieses Projekt für Colonization:
    [Mod] Religion and Revolution

    Vor-Vorheriges Projekt für Colonization:
    [ModMod] ray's Wunschliste

    Und wiederum davor Teammitglied von:
    [Mod] The Authentic Colonization (TAC)

  5. #740
    Col-Modder Avatar von raystuttgart
    Registriert seit
    19.03.10
    Ort
    Stuttgart
    Beiträge
    4.585
    iMakePeaceRand

    Was in der Zusammenfassung steht ist grundsätzlich richtig.

    Betrifft nur Kriege KI <-> KI.

    Der Wert ist eigentlich eine Berechnung der Wahrscheinlichkeit, dass ein KI-Team bereit ist Frieden grundsätzlich in Betracht zu ziehen
    und die anderen Faktoren zu betrachten, ob der Frieden wirklich sinnvoll ist.
    (Betrifft nur selbst gestartete Kriege.)

    Im Normalfall / im normalen Spiel entspricht aber ein KI-Team einem einzelnen KI-Spieler.

    Achtung Spoiler:

    Code:
    int CvTeamAI::AI_makePeaceRand() const
    {
    	int iRand = 0;
    	int iCount = 0;
    
    	for (int iI = 0; iI < MAX_PLAYERS; iI++)
    	{
    		if (GET_PLAYER((PlayerTypes)iI).isAlive())
    		{
    			if (GET_PLAYER((PlayerTypes)iI).getTeam() == getID())
    			{
    				iRand += GC.getLeaderHeadInfo(GET_PLAYER((PlayerTypes)iI).getPersonalityType()).getMakePeaceRand();
    				iCount++;
    			}
    		}
    	}
    
    	if (iCount > 0)
    	{
    		iRand /= iCount;
    	}
    
    	return iRand;
    }


    Verwendet wird das wieder in einer viel komplexere Logik bei der diverse Faktoren gecheckt werden.

    Achtung Spoiler:

    Code:
    // if at war, check for making peace
    	if (getAtWarCount() > 0) // XXX
    	{
    		int iPeaceRand = AI_makePeaceRand();
    		if (bNativeTeam)
    		{
    			iPeaceRand *= GC.getGameINLINE().getGameTurn() + GC.getGameINLINE().getEstimateEndTurn() / 5;
    			iPeaceRand /= std::max(1, GC.getGameINLINE().getEstimateEndTurn());
    		}
    		
    		if (GC.getGameINLINE().getSorenRandNum(iPeaceRand, "AI Make Peace") == 0)
    		{
    			for (iI = 0; iI < MAX_TEAMS; iI++)
    			{
    				CvTeamAI& kLoopTeam = GET_TEAM((TeamTypes)iI);
    				if (kLoopTeam.isAlive())
    				{
    					if (iI != getID())
    					{
    						if (!(kLoopTeam.isHuman()))
    						{
    							if (canContact((TeamTypes)iI))
    							{
    								if (isAtWar((TeamTypes)iI))
    								{
    									if (AI_isChosenWar((TeamTypes)iI))
    									{
    										if (AI_getAtWarCounter((TeamTypes)iI) > 10)
    										{
    											if (!AI_isLandTarget((TeamTypes)iI))
    											{
    												if (AI_getAtWarCounter((TeamTypes)iI) > 10)
    												{
    													makePeace((TeamTypes)iI);
    												}
    											}
    										}
    										if (AI_getAtWarCounter((TeamTypes)iI) > 20)
    										{
    
    											if (AI_getAtWarCounter((TeamTypes)iI) > ((AI_getWarPlan((TeamTypes)iI) == WARPLAN_TOTAL) ? 30 : 20))
    											{
    												int iOurValue = AI_endWarVal((TeamTypes)iI);
    												int iTheirValue = kLoopTeam.AI_endWarVal(getID());
    												if ((iOurValue > (iTheirValue / (bNativeTeam ? 5 : 3))) && (iTheirValue > (iOurValue / (bNativeTeam ? 5 : 3))))
    												{
    													makePeace((TeamTypes)iI);
    													break;
    												}
    											}
    
    											if (AI_getWarPlan((TeamTypes)iI) == WARPLAN_DOGPILE)
    											{
    												if (kLoopTeam.getAtWarCount() == 1)
    												{
    													makePeace((TeamTypes)iI);
    													break;
    												}
    											}
    										}
    									}
    								}
    							}
    						}
    					}
    				}
    			}
    		}
    	}


    Vereinfacht gesagt:

    Der Wert steuert die Wahrscheinlichkeit, dass eine KI unter bestimmten Bedingungen ein Friedensangebot macht.

    Für Ureinwohner zusätzlich geltende Einflüsse auf die Grundwahrscheinlichkeit:
    Wie lange läuft das Spiel bereits
    Wann ist das Voraussichtliche Ende

    Für alle KIs geltende Faktoren / weitere Prüfungen:
    Wurde der Krieg selber gestartet / ist er gewollt
    Dauer des Krieges
    Ist der Gegner über Land erreichbar
    Um welchen WARPLAN handelt es sich
    Stärkeverhältnis

    Zum Wert:
    Je größer der Wert desto unwahrscheinlicher.

    Fazit:

    Dieser Wert bestimmt lediglich die Grundwahrscheinlichkeit für Friedensschlüsse zwischen KIs.
    (Danach werden immer noch ein Haufen andere Bedingungen geprüft.)
    Geändert von raystuttgart (01. Oktober 2011 um 21:56 Uhr)
    Teammitgleid dieses Projekt für Colonization:
    [Mod] We The People
    (Nachfolgerprojekt von Religion and Revolution)

    Davor Teammitgleid dieses Projekt für Colonization:
    [Mod] Religion and Revolution

    Vor-Vorheriges Projekt für Colonization:
    [ModMod] ray's Wunschliste

    Und wiederum davor Teammitglied von:
    [Mod] The Authentic Colonization (TAC)

  6. #741
    Registrierter Benutzer
    Registriert seit
    30.11.08
    Beiträge
    1.563
    Hat die KI aber bereits eine Stadt in der Gegend, wird er 1:1 draufaddiert.
    (Die Wahrscheinlichkeit der Stadtvernichtung erhöht sich also.)
    Ich finde es absolut bescheuert, dass eine KI Städte bevorzugt zerstört, wenn sie in dem Gebiet bereits Städte hat.
    (Genau das steuert der Wert nämlich.)
    Bist du dir da sicher?

  7. #742
    Col-Modder Avatar von raystuttgart
    Registriert seit
    19.03.10
    Ort
    Stuttgart
    Beiträge
    4.585
    Zitat Zitat von koma13 Beitrag anzeigen
    Bist du dir da sicher?
    Interpretiere ich das hier etwa falsch ?

    Code:
    if (pCity->area()->getCitiesPerPlayer(getID()) > 0)
    Kannst mir auch ruhig auf die Sprünge helfen.
    Teammitgleid dieses Projekt für Colonization:
    [Mod] We The People
    (Nachfolgerprojekt von Religion and Revolution)

    Davor Teammitgleid dieses Projekt für Colonization:
    [Mod] Religion and Revolution

    Vor-Vorheriges Projekt für Colonization:
    [ModMod] ray's Wunschliste

    Und wiederum davor Teammitglied von:
    [Mod] The Authentic Colonization (TAC)

  8. #743
    Registrierter Benutzer
    Registriert seit
    30.11.08
    Beiträge
    1.563
    Selbe area bedeutet ja nicht in der Gegend. Das kann auf der anderen Seite des Kontinents sein.

    Code:
    if (pCity->area()->getCitiesPerPlayer(getID()) > 0)
    Wann tritt denn diese Situation ein bzw. nicht ein? Diese Zeile soll wohl nur die Wahrscheinlichkeit reduzieren, daß der KI-König seine erste eroberte Stadt sofort wieder zerstört.

  9. #744
    Col-Modder Avatar von raystuttgart
    Registriert seit
    19.03.10
    Ort
    Stuttgart
    Beiträge
    4.585
    Zitat Zitat von koma13 Beitrag anzeigen
    Selbe area bedeutet ja nicht in der Gegend. Das kann auf der anderen Seite des Kontinents sein.
    Wie groß "area" ist, habe ich mir nicht angesehen.

    Zitat Zitat von koma13 Beitrag anzeigen
    Code:
    if (pCity->area()->getCitiesPerPlayer(getID()) > 0)
    Wann tritt denn diese Situation ein bzw. nicht ein? Diese Zeile soll wohl nur die Wahrscheinlichkeit reduzieren, daß der KI-König seine erste eroberte Stadt sofort wieder zerstört.
    Aber wenn ich deine Anmerkung richtig verstehe ist der Wert dennoch kompletter Nonsense für Europäer und kann getrost auf 0 bleiben.
    (Es wäre genauso schwachsinnig, dass die Europäer-KI bevorzugt Städte zerstört, die auf dem eigenen Kontinent liegen.)

    Oder worauf willst du hinaus ?

    Königs-KIs werden ja meines Wissens in diesem Durchlauf nicht "gebalanced".

    Edit:

    Der Wert wäre übrigens auch für den Fall mit dem König den du schilderst komplett irrelevant, da eine KI sowieso nie eine Stadt vernichtet,
    wenn sie nicht mehr als 4 Städte bereits hat.
    (Außer Ureinwohner natürlich.)
    Geändert von raystuttgart (25. September 2011 um 12:17 Uhr)
    Teammitgleid dieses Projekt für Colonization:
    [Mod] We The People
    (Nachfolgerprojekt von Religion and Revolution)

    Davor Teammitgleid dieses Projekt für Colonization:
    [Mod] Religion and Revolution

    Vor-Vorheriges Projekt für Colonization:
    [ModMod] ray's Wunschliste

    Und wiederum davor Teammitglied von:
    [Mod] The Authentic Colonization (TAC)

  10. #745
    Registrierter Benutzer
    Registriert seit
    30.11.08
    Beiträge
    1.563
    Wie groß "area" ist, habe ich mir nicht angesehen.
    Area ist immer eine abgeschlossene Land- bzw. Wasserfläche. Bei Faireweather gibt es in der Regel z.B. immer einen großen Kontinent, der zählt komplett als eine Area. Das sagt also nichts über die Distanz aus.

    Aber wenn ich deine Anmerkung richtig verstehe ist der Wert dennoch kompletter Nonsense für Europäer und kann getrost auf 0 bleiben.
    Wieso? iRazeCityProb wird immer(!) zu der Wahrscheinlichkeit, daß die KI eine Stadt zerstört, addiert. Einzige Ausnahme ist hier, wenn die KI keine andere Stadt mehr in der Area besitzt. In Vanilla betraf das in der Regel nur den König, in TAC können aber auch die Europäer Seeinvasionen starten. Außerdem kann es sein, daß eine KI ihre letzte Stadt auf dem Kontinent verliert, aber dort noch einen großen Offensivstack besitzt. Dann ist das doch auch ok.

    Ein Hitzkopf, der alle eroberten Städte immer niederbrennt, überlegt es sich vielleicht noch mal anders, wenn es die einzige Stadt ist, die er auf dem Kontinent noch besitzt. Die Werte für iRazeCityProb sollten also entsprechend der Persönlichkeit des Leaderheads angepasst werden (da könnt ihr wieder eure Charaktermatrix verwenden ).

  11. #746
    Col-Modder Avatar von raystuttgart
    Registriert seit
    19.03.10
    Ort
    Stuttgart
    Beiträge
    4.585
    Zitat Zitat von koma13 Beitrag anzeigen
    Wieso? iRazeCityProb wird immer(!) zu der Wahrscheinlichkeit, daß die KI eine Stadt zerstört, addiert.
    Ok, überzeugt.
    (Area ist der Kontinent.)

    Aber willst du da wirklich immer nochmal einen Wert draufknallen ?
    (In Vanilla war der Wert durchgehend 0, was ich auch sehr sinnvoll finde.)

    Es gibt bereits die anderen "sinnvollen" Faktoren der Berechnung, wo die KI entscheidet, ob es strategisch sinnvoll ist oder nicht.

    Zitat Zitat von koma13 Beitrag anzeigen
    Die Werte für iRazeCityProb sollten also entsprechend der Persönlichkeit des Leaderheads angepasst werden (da könnt ihr wieder eure Charaktermatrix verwenden ).
    Gerade wenn ich als Mensch eh schon den Wert 33% durch AI_CHANCE_FOR_RAZING_CITY habe ...

    Wenn du dann nochmal was oben drauflegen willst, um nationenspezifische Werte zu haben, dann bitte aber nur,
    wenn wir AI_CHANCE_FOR_RAZING_CITY absenken.

    Fazit:

    Ich halte den Wert immer noch für absoluten Nonsense.
    (Dass der in Vanilla durchgängig 0 war, hatte meiner Meinung nach einen Grund.)

    Hier einen Wert einzutragen, würde meiner Meinung nach die Europäische KI nur benachteiligen,
    weil sie sich mehr als notwendig Städte vernichtet, anstatt anhand der logischen Faktoren abzuwägen.

    Zum Spielspaß trägt das wohl auch nicht bei, da AI_CHANCE_FOR_RAZING_CITY bereits so hoch ist.
    (Es werden im Falle "Mensch verliert Stadt" bereits genug vernichtet.)
    Teammitgleid dieses Projekt für Colonization:
    [Mod] We The People
    (Nachfolgerprojekt von Religion and Revolution)

    Davor Teammitgleid dieses Projekt für Colonization:
    [Mod] Religion and Revolution

    Vor-Vorheriges Projekt für Colonization:
    [ModMod] ray's Wunschliste

    Und wiederum davor Teammitglied von:
    [Mod] The Authentic Colonization (TAC)

  12. #747
    Ad Astra Avatar von Ronnar
    Registriert seit
    27.10.08
    Beiträge
    3.258
    Das war aber doch damals auch unsere Absicht, um den Exploit zu verhindern: Ich lasse meine Stadt erobern und hole sie mir dann sofort wieder mit den Artillerien zurück, weil der Stadtangriffsbonus so hoch ist.
    Nun ist damit das Risiko verbunden, dass die Stadt zerstört wird.
    Daher wurde diese Strategie zwar nicht komplett verhindert, aber es ist jetzt sehr riskant (und sollte es auch sein - Strafe muss sein)

  13. #748
    Col-Modder Avatar von raystuttgart
    Registriert seit
    19.03.10
    Ort
    Stuttgart
    Beiträge
    4.585
    Zitat Zitat von Ronnar Beitrag anzeigen
    Das war aber doch damals auch unsere Absicht, um den Exploit zu verhindern: Ich lasse meine Stadt erobern und hole sie mir dann sofort wieder mit den Artillerien zurück, weil der Stadtangriffsbonus so hoch ist.
    Nun ist damit das Risiko verbunden, dass die Stadt zerstört wird.
    Daher wurde diese Strategie zwar nicht komplett verhindert, aber es ist jetzt sehr riskant (und sollte es auch sein - Strafe muss sein)
    Ich sage ja auch nichts, gegen die Änderung von koma um den Exploit zu verhindern.

    Wenn wir aber nochmal spürbare nationenspezifische Werte X draufsetzen, dann vernichtet die KI nicht mehr mindestens 33% aller menschlichen Städte sondern mindestens 33% + X.

    Dann sind wir wohl ca. bei jeder 2. Stadt.
    Wenn mir die KI jede 2. Stadt vernichtet, die sie erobert, dann ist mir das viel zu viel.

    1. Versaut das wohl etwas Spielspaß.
    2. Schadet das auch der KI, wenn die logischen Aspekte der Überlegung durch den nationenspezifischen Aspekt dominiert werden.

    Das wäre für mich kein Charaktermerkmal, wie "Aggresiv", sonder eher einfach nur "Dumm".
    (Und Charaktermerkmal "Dumm" haben wir meines Wissens nicht eingeführt. )

    ------------------

    Naja ok, ich habe meine Meinung zu dem Wert gesagt.

    Wenn ihr nationenspezifische Werte zum Zerstören der Städte haben wollt und damit die Menge der zerstörten Städte erhöhen wollt, dann ist das eure Entscheidung.

    Mir gefällt das nicht und ich bin fest davon überzeugt, dass das sowohl dem Spielspaß, wie auch der KI an sich schadet ...
    Geändert von raystuttgart (25. September 2011 um 12:53 Uhr)
    Teammitgleid dieses Projekt für Colonization:
    [Mod] We The People
    (Nachfolgerprojekt von Religion and Revolution)

    Davor Teammitgleid dieses Projekt für Colonization:
    [Mod] Religion and Revolution

    Vor-Vorheriges Projekt für Colonization:
    [ModMod] ray's Wunschliste

    Und wiederum davor Teammitglied von:
    [Mod] The Authentic Colonization (TAC)

  14. #749
    Registrierter Benutzer
    Registriert seit
    30.11.08
    Beiträge
    1.563
    Fazit:

    Ich halte den Wert immer noch für absoluten Nonsense.
    (Dass der in Vanilla durchgängig 0 war, hatte meiner Meinung nach einen Grund.)
    In Vanilla hat die KI aber auch oft nur 4-5 Städte gegründet und diese dann meistens komplett ausgebaut.

    Wenn wir aber nochmal spürbare nationenspezifische Werte X draufsetzen, dann vernichtet die KI nicht mehr mindestens 33% aller menschlichen Städte sondern mindestens 33% + X.
    Das ist aus meiner Sicht in Ordnung, es gibt doch eine Obergrenze (AI_CHANCE_FOR_RAZING_CITY * 2).

    Außerdem kann iRazeCityProb auch kleiner 0 sein. Es gibt also aus meiner Sicht genügend Spielraum, diesen Wert an die Charakterzüge der Leaderheads anzupassen. Das passt dann auch besser zu den anderen Leaderhead-Werten. Ein Cortez, der vermehrt auf Offensiveinheiten setzt und viele Kriege führt (dafür aber vielleicht nur wenige Defensiveinheiten besitzt) ist doch gut beraten, öfters mal eine Stadt zu zerstören.

  15. #750
    Col-Modder Avatar von raystuttgart
    Registriert seit
    19.03.10
    Ort
    Stuttgart
    Beiträge
    4.585
    Zitat Zitat von koma13 Beitrag anzeigen
    Das ist aus meiner Sicht in Ordnung, es gibt doch eine Obergrenze (AI_CHANCE_FOR_RAZING_CITY * 2).
    Ja, aber 66% (mit den aktuellen Einstellungen) ist schon ein Brocken.

    Zitat Zitat von koma13 Beitrag anzeigen
    Außerdem kann iRazeCityProb auch kleiner 0 sein.
    Natürlich.

    Aber eine KI die hier einen negativen Wert hat, ist meiner Meinung nach gegenüber einer KI mit positivem Wert im Nachteil.
    Dadurch wären die KIs noch weniger ausgeglichen bezüglich ihrer Siegchancen.

    Wie gesagt, ich halte absolut gar nichts davon den logischen Teil der Entscheidung "Stadtzerstörung" durch einen fixen nationenspezifischen Wert zu beeinflussen.

    Das hat für mich wirklich gar nichts mit "Aggressiv", "Nachtragend", ... zu tun.
    Das wäre eher eine Charaktereigenschaft "Dumm", "Schlächter", "Mörder", ...

    Eure Entscheidung.

    Letzte Frage:

    Beschwert sich den irgendjemand über das KI-Verhalten beim Zerstören der Städte ?
    (Ist es also wirklich notwendig hier was zu drehen ?)
    Geändert von raystuttgart (25. September 2011 um 13:03 Uhr)
    Teammitgleid dieses Projekt für Colonization:
    [Mod] We The People
    (Nachfolgerprojekt von Religion and Revolution)

    Davor Teammitgleid dieses Projekt für Colonization:
    [Mod] Religion and Revolution

    Vor-Vorheriges Projekt für Colonization:
    [ModMod] ray's Wunschliste

    Und wiederum davor Teammitglied von:
    [Mod] The Authentic Colonization (TAC)

Seite 50 von 70 ErsteErste ... 4046474849505152535460 ... LetzteLetzte

Berechtigungen

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