Browse Source

nk2ai-settings.json

Mircea TheHonestCTO 4 months ago
parent
commit
cfff4a0ff4
1 changed files with 144 additions and 0 deletions
  1. 144 0
      config/ai/nkai/nk2ai-settings.json

+ 144 - 0
config/ai/nkai/nk2ai-settings.json

@@ -0,0 +1,144 @@
+{
+	// "maxRoamingHeroes" - AI will never recruit new heroes above this value.
+	// Note that AI might end up with more heroes - due to prisons or if he has large number of heroes on start
+	//
+	// "maxpass" - ???
+	//
+	// "mainHeroTurnDistanceLimit" - AI will only run pathfinding for specified number of turns for his main hero. 
+	// "scoutHeroTurnDistanceLimit" - AI will only run pathfinding for specified number of turns for his secondary (scout) heroes
+	// Limiting this will make AI faster, but may result in AI being unable to discover objects outside of this range
+	//
+	// "maxGoldPressure" - ???
+	//
+	// "useTroopsFromGarrisons" - AI can take troops from garrisons on map. 
+	// Note that at the moment AI will not deliberately seek out such garrisons, he can only take troops from them when passing through.
+	// This option is always disabled on H3 RoE campaign maps to be in line with H3 AI
+	//
+	// "openMap" - AI will use map reveal cheat if cheats are enabled and AI is not allied with human player
+	// This improves AI decision making, but may lead AI to deliberately targeting targets that he should not be able to see at the moment
+	//
+	// "allowObjectGraph" - if used, AI will build "cache" for pathfinder on first turn, which should make AI faster. Requires openMap.
+	//
+	// "pathfinderBucketsCount" - ???
+	// "pathfinderBucketSize" - ???
+	//
+	// "retreatThresholdRelative" - AI will consider retreating from battle only if his troops are less than specified ratio compated to enemy
+	// "retreatThresholdAbsolute" - AI will consider retreating from battle only if total fight value of his troops are less than specified value
+	//
+	// "maxArmyLossTarget" - AI will try keep army loss below specified target
+	//
+	// "safeAttackRatio" - TODO: figure out how exactly it affects AI decision making
+	//
+	// "useFuzzy" - allow using of fuzzy logic. TODO: better description
+
+
+	"pawn" : {
+		"maxRoamingHeroes" : 3, //H3 value: 3,
+		"maxPass" : 30,
+		"maxPriorityPass" : 10,
+		"mainHeroTurnDistanceLimit" : 10,
+		"scoutHeroTurnDistanceLimit" : 5,
+		"threatTurnDistanceLimit" : 1,
+		"maxGoldPressure" : 0.3,
+		"updateHitmapOnTileReveal" : true,
+		"useTroopsFromGarrisons" : true,
+		"useOneWayMonoliths" : false,
+		"openMap": true,
+		"allowObjectGraph": false,
+		"pathfinderBucketsCount" : 3,
+		"pathfinderBucketSize" : 7,
+		"retreatThresholdRelative" : 0,
+		"retreatThresholdAbsolute" : 0,
+		"safeAttackRatio" : 1.1,
+		"maxArmyLossTarget" : 0.5,
+		"useFuzzy" : false
+	},
+
+	"knight" : {
+		"maxRoamingHeroes" : 3, //H3 value: 3,
+		"maxPass" : 30,
+		"maxPriorityPass" : 10,
+		"mainHeroTurnDistanceLimit" : 10,
+		"scoutHeroTurnDistanceLimit" : 5,
+		"threatTurnDistanceLimit" : 4,
+		"maxGoldPressure" : 0.3,
+		"updateHitmapOnTileReveal" : true,
+		"useTroopsFromGarrisons" : true,
+		"useOneWayMonoliths" : false,
+		"openMap": true,
+		"allowObjectGraph": false,
+		"pathfinderBucketsCount" : 3,
+		"pathfinderBucketSize" : 7,
+		"retreatThresholdRelative" : 0.1,
+		"retreatThresholdAbsolute" : 5000,
+		"safeAttackRatio" : 1.1,
+		"maxArmyLossTarget" : 0.35,
+		"useFuzzy" : false
+	},
+
+	"rook" : {
+		"maxRoamingHeroes" : 4, //H3 value: 4
+		"maxPass" : 30,
+		"maxPriorityPass" : 10,
+		"mainHeroTurnDistanceLimit" : 10,
+		"scoutHeroTurnDistanceLimit" : 5,
+		"threatTurnDistanceLimit" : 5,
+		"maxGoldPressure" : 0.3,
+		"updateHitmapOnTileReveal" : true,
+		"useTroopsFromGarrisons" : true,
+		"useOneWayMonoliths" : false,
+		"openMap": true,
+		"allowObjectGraph": false,
+		"pathfinderBucketsCount" : 3,
+		"pathfinderBucketSize" : 7,
+		"retreatThresholdRelative" : 0.3,
+		"retreatThresholdAbsolute" : 10000,
+		"safeAttackRatio" : 1.1,
+		"maxArmyLossTarget" : 0.25,
+		"useFuzzy" : false
+	},
+
+	"queen" : {
+		"maxRoamingHeroes" : 6, //H3 value: 5
+		"maxPass" : 30,
+		"maxPriorityPass" : 10,
+		"mainHeroTurnDistanceLimit" : 10,
+		"scoutHeroTurnDistanceLimit" : 5,
+		"threatTurnDistanceLimit" : 5,
+		"maxGoldPressure" : 0.3,
+		"updateHitmapOnTileReveal" : true,
+		"useTroopsFromGarrisons" : true,
+		"useOneWayMonoliths" : false,
+		"openMap": true,
+		"allowObjectGraph": false,
+		"pathfinderBucketsCount" : 3,
+		"pathfinderBucketSize" : 7,
+		"retreatThresholdRelative" : 0.3,
+		"retreatThresholdAbsolute" : 10000,
+		"safeAttackRatio" : 1.1,
+		"maxArmyLossTarget" : 0.25,
+		"useFuzzy" : false
+	},
+
+	"king" : {
+		"maxRoamingHeroes" : 8, //H3 value: 6
+		"maxPass" : 30,
+		"maxPriorityPass" : 10,
+		"mainHeroTurnDistanceLimit" : 10,
+		"scoutHeroTurnDistanceLimit" : 5,
+		"threatTurnDistanceLimit" : 5,
+		"maxGoldPressure" : 0.3,
+		"updateHitmapOnTileReveal" : true,
+		"useTroopsFromGarrisons" : true,
+		"useOneWayMonoliths" : false,
+		"openMap": true,
+		"allowObjectGraph": false,
+		"pathfinderBucketsCount" : 3,
+		"pathfinderBucketSize" : 7,
+		"retreatThresholdRelative" : 0.3,
+		"retreatThresholdAbsolute" : 10000,
+		"safeAttackRatio" : 1.1,
+		"maxArmyLossTarget" : 0.25,
+		"useFuzzy" : false
+	}
+}