As most of you probably know the current approach on the research AI has some serios flaws. It depends on which field a technology is in, but it does not depend on whether ministers grant a bonus on that field. It does not depend on available tech teams, but that is something can make a great difference to the time needed for a tech. Also historical date modifier influences greatly how much time is needed for research, but apparently AI does not take it into account. The later is not entirely true, it does depend on whether historical date penalty applies, but it does not depend on the degree of it. So whether historical date modifier is 0.99 or 0.29 does not matter to AI and it does also not depend on whether it is 1.01 or 2.0.
1.) I have proposed a new approach that addresses all of that, but it comes at the cost of losing backwards compatibility. Instead of importating something like this
in 1.09 something like this
would be imported from the AI files. This actually is from the default ai file intended for 1.11, it is meant for a nation with 2 tech slots. This list contains all techs of vanilla AoD. All other ai files would only contain changes relative to the default file in order to avoid "maintenance hell" as Lennartos put it.
Whenever at the start of a day a free tech slot can be used for every available tech team for every researchable tech it is remembered which combinations scores best at
That combination will be used for actual research. Excluding the historical date modifier will simplify calculating the estimated research time. Using only the historical date modifier at the start of the research will make AI discriminate more strongly by the historical date modifier. Teaching AI to appreciate historical date modifier seems rather important.
One of the effects of this approach is that available tech teams and ministers will influence the research strategy of AI. Identical imported research sections of an AI file might result in very different research strategies as AI will optimize for its strenghts. I image an alliance of AIs exchanging blueprints could utilize it relativly well.
The values could also be divided by say 50 and be reused as trading values of blueprints. There is a slightly different approach that does not share this advantage but may require less effort from modders adapting their modifications to the new approach.
2.) Instead of importing the value(8000 for 1918 Inf) the value_dbed(200 for 1918 Inf) would be imported. The calculation of value would be done by the game by multiplying value_dbed with the effective difficulty(40 for 1918 Inf) of a tech. That is 2+max(difficulty, 3) for each component and twice that value if double_time=yes.
If no value_dbed had been defined in the ai file a default value of 100 could be used. That means that any tech not set to be essentially ignored might be researched. Personally i prefer a low value_dbed of 10 as most technologies will never be researched by most nations due to lack of research capabilities. But for vanilla AoD that would be done via the ai files anyway, therefore it is not relevant for vanilla AoD and what is more convenient for modders would seem to be the paramount concern.
3.) Another option is to keep the current approach despite its flaws and only make it slightly less flawed by taking into account all the techs of a research field. So if 25 naval techs have been researched, 2 are already being researched and the question if another one should be researched it will be calculated with 25+2+1=28 instead of 25 like now. This would help in the early years against absurd high priority for fields with no tech researched yet and later it will help to avoid researching very many techs of one field in parallel and thus exceeding the amount of suitable tech teams.
I clearly prefer the first approach, but switching to the second would probably be not too much of an hassle either. Keeping the current approach however seems like a bad idea. What is your take on it?
Edit: I have changed my entries to use value and value_dbed instead of priority and priority_modifier to reflect what 1.11 is intended to use.
1.) I have proposed a new approach that addresses all of that, but it comes at the cost of losing backwards compatibility. Instead of importating something like this
Code:
technology = {
endgoal = {
[...]
}
preference = {
[...]
}
ignore = {
[...]
}
armor = 18
infantry = 63 # 21 x 3, super high priority
industry = 52
aircraft = 21
naval = 11 # 23 / 2, no navy early
land_doctrines = 26 # 13 x 2, no use of endgoal
secret_weapons = 6
air_doctrines = 38
naval_doctrines = 7 # 21 / 3, no navy early
}
in 1.09 something like this
Code:
technology = {
value = {
1010 = 8000 # 200 x 40 # 1918 Inf
1020 = 8000 # 200 x 40 # 1936 Inf
1030 = 8000 # 200 x 40 # 1939 Inf
1040 = 8000 # 200 x 40 # 1941 Inf
1050 = 8000 # 200 x 40 # 1943 Inf
1060 = 8000 # 200 x 40 # 1945 Inf
10000 = 8000 # 200 x 40 # 1947 Inf
10010 = 8000 # 200 x 40 # 1951 Inf
1190 = 270 # 10 x 27 # 1918 Cav
1200 = 280 # 10 x 28 # 1936 Cav
1210 = 330 # 10 x 33 # 1937 Cav
1220 = 350 # 10 x 35 # 1937 semimot Cav
1300 = 440 # 10 x 44 # 1946 Cav
1230 = 350 # 10 x 35 # 1938 Mot
1240 = 350 # 10 x 35 # 1941 Mot
1250 = 400 # 10 x 40 # 1944 Mot
10080 = 400 # 10 x 40 # 1947 Mot
10090 = 400 # 10 x 40 # 1951 Mot
1070 = 440 # 10 x 44 # 1939 Par
1080 = 450 # 10 x 45 # 1940 Par
1090 = 450 # 10 x 45 # 1942 Par
1100 = 450 # 10 x 45 # 1944 Par
10020 = 450 # 10 x 45 # 1947 Par
10030 = 450 # 10 x 45 # 1951 Par
1260 = 370 # 10 x 37 # 1940 Mech
1270 = 400 # 10 x 40 # 1942 Mech
1280 = 430 # 10 x 43 # 1944 Mech
1290 = 470 # 10 x 47 # 1945 Mech
10100 = 470 # 10 x 47 # 1947 Mech
10110 = 470 # 10 x 47 # 1951 Mech
1150 = 920 # 20 x 46 # 1938 Mar
1160 = 920 # 20 x 46 # 1940 Mar
1170 = 980 # 20 x 49 # 1942 Mar
1180 = 940 # 20 x 47 # 1944 Mar
10060 = 940 # 20 x 47 # 1947 Mar
10070 = 940 # 20 x 47 # 1951 Mar
1340 = 3500 # 100 x 35 # 1937 Repairs
1350 = 4000 # 100 x 40 # 1941 Repairs
1360 = 4500 # 100 x 45 # 1943 Repairs
1370 = 5500 # 100 x 55 # 1949 Repairs
1110 = 450 # 10 x 45 # 1937 Mtn
1120 = 440 # 10 x 44 # 1939 Mtn
1130 = 450 # 10 x 45 # 1941 Mtn
1140 = 450 # 10 x 45 # 1943 Mtn
10040 = 450 # 10 x 45 # 1947 Mtn
10050 = 450 # 10 x 45 # 1951 Mtn
1310 = 5250 # 150 x 35 # 1936 Logistics
1320 = 6000 # 150 x 40 # 1940 Logistics
1330 = 6750 # 150 x 45 # 1942 Logistics
10120 = 6750 # 150 x 45 # 1945 Logistics
1380 = 800 # 20 x 40 # 1937 Railway Transportation
1390 = 860 # 20 x 43 # 1941 Railway Transportation
2010 = 420 # 10 x 42 # 1918 Arm
2020 = 420 # 10 x 42 # 1936 Light Arm
2030 = 480 # 10 x 48 # 1936 Arm
2040 = 420 # 10 x 42 # 1938 Light Arm
2050 = 480 # 10 x 48 # 1939 Light Arm
2060 = 360 # 10 x 36 # 1943 Light Arm Brigade
2070 = 540 # 10 x 54 # 1939 Arm
2080 = 580 # 10 x 58 # 1941 Arm
2090 = 600 # 10 x 60 # 1943 Arm
2100 = 480 # 10 x 48 # 1938 Heavy Arm
2110 = 540 # 10 x 54 # 1941 Heavy Arm
2120 = 630 # 10 x 63 # 1943 Heavy Arm
2130 = 610 # 10 x 61 # 1944 SH Arm
2140 = 720 # 10 x 72 # 1945 Arm
11000 = 600 # 10 x 60 # 1947 Arm
11010 = 600 # 10 x 60 # 1951 Arm
2550 = 500 # 10 x 50 # 1954 Arm
2170 = 250 # 10 x 25 # 1938 TD
2180 = 250 # 10 x 25 # 1940 TD
2190 = 250 # 10 x 25 # 1941 TD
2200 = 300 # 10 x 30 # 1943 TD
2210 = 350 # 10 x 35 # 1946 TD
11020 = 350 # 10 x 35 # 1950 TD
2260 = 250 # 10 x 25 # 1941 SpRocketArt
2270 = 300 # 10 x 30 # 1942 SpRocketArt
2280 = 350 # 10 x 35 # 1944 SpRocketArt
11050 = 350 # 10 x 35 # 1947 SpRocketArt
11060 = 350 # 10 x 35 # 1951 SpRocketArt
2450 = 2500 # 100 x 25 # 1918 Static AA
2460 = 2500 # 100 x 25 # 1936 Static AA
2470 = 3000 # 100 x 30 # 1938 Static AA
2480 = 3500 # 100 x 35 # 1941 Static AA
2490 = 4000 # 100 x 40 # 1943 Static AA
2500 = 4500 # 100 x 45 # 1945 Static AA
11080 = 4500 # 100 x 45 # 1948 Static AA
2400 = 250 # 10 x 25 # 1936 AT
2410 = 250 # 10 x 25 # 1938 AT
2420 = 250 # 10 x 25 # 1940 AT
2430 = 300 # 10 x 30 # 1943 AT
2440 = 350 # 10 x 35 # 1946 AT
11070 = 350 # 10 x 35 # 1951 AT
2370 = 250 # 10 x 25 # 1940 Rocket Art
2380 = 250 # 10 x 25 # 1941 Rocket Art
2390 = 300 # 10 x 30 # 1943 Rocket Art
2510 = 250 # 10 x 25 # 1938 AA Brigade
2520 = 270 # 10 x 27 # 1941 AA Brigade
2530 = 320 # 10 x 32 # 1943 AA Brigade
2540 = 330 # 10 x 33 # 1946 AA Brigade
11090 = 330 # 10 x 33 # 1950 AA Brigade
2560 = 450 # 10 x 45 # 1955 AA Brigade
2290 = 6000 # 200 x 30 # 1918 Light Art
2300 = 6000 # 200 x 30 # 1918 Medium Art
2310 = 6000 # 200 x 30 # 1918 Heavy Art
2320 = 5000 # 200 x 25 # 1936 Art
2330 = 3750 # 150 x 25 # 1938 Art
2340 = 3750 # 150 x 25 # 1940 Art
2350 = 4500 # 150 x 30 # 1943 Art
2360 = 4950 # 150 x 33 # 1945 Art
2220 = 250 # 10 x 25 # 1938 SpArt
2230 = 260 # 10 x 26 # 1940 SpArt
2240 = 300 # 10 x 30 # 1943 SpArt
2250 = 350 # 10 x 35 # 1945 SpArt
11030 = 350 # 10 x 35 # 1947 SpArt
11040 = 350 # 10 x 35 # 1951 SpArt
2150 = 250 # 10 x 25 # 1937 AC
2160 = 250 # 10 x 25 # 1941 AC
11110 = 280 # 10 x 28 # 1950 AC
2570 = 400 # 10 x 40 # 1956 AC
3070 = 420 # 10 x 42 # 1918 CL
3080 = 420 # 10 x 42 # 1930 CL
3090 = 420 # 10 x 42 # 1936 CL
3100 = 420 # 10 x 42 # 1938 CL
3110 = 420 # 10 x 42 # 1941 CL
3120 = 420 # 10 x 42 # 1945 CL
12010 = 420 # 10 x 42 # 1948 CL
3010 = 420 # 10 x 42 # 1918 DD
3020 = 420 # 10 x 42 # 1930 DD
3030 = 420 # 10 x 42 # 1936 DD
3040 = 420 # 10 x 42 # 1938 DD
3050 = 420 # 10 x 42 # 1941 DD
3060 = 420 # 10 x 42 # 1945 DD
12000 = 420 # 10 x 42 # 1947 DD
3190 = 480 # 10 x 48 # 1918 BC
3200 = 480 # 10 x 48 # 1930 BC
3210 = 480 # 10 x 48 # 1936 BC
3220 = 480 # 10 x 48 # 1938 BC
3230 = 480 # 10 x 48 # 1941 BC
3240 = 480 # 10 x 48 # 1945 BC
12030 = 480 # 10 x 48 # 1948 BC
3400 = 420 # 10 x 42 # 1918 SS
3410 = 420 # 10 x 42 # 1924 SS
3420 = 420 # 10 x 42 # 1930 SS
3430 = 420 # 10 x 42 # 1938 SS
3440 = 420 # 10 x 42 # 1944 SS
3450 = 420 # 10 x 42 # 1945 SS
3470 = 420 # 10 x 42 # 1933 HSS
3480 = 420 # 10 x 42 # 1942 HSS
3130 = 420 # 10 x 42 # 1918 CA
3140 = 420 # 10 x 42 # 1930 CA
3150 = 420 # 10 x 42 # 1936 CA
3160 = 420 # 10 x 42 # 1938 CA
3170 = 420 # 10 x 42 # 1941 CA
3180 = 420 # 10 x 42 # 1945 CA
12020 = 420 # 10 x 42 # 1948 CA
3250 = 540 # 10 x 54 # 1918 BB
3260 = 540 # 10 x 54 # 1924 BB
3270 = 540 # 10 x 54 # 1930 BB
3280 = 540 # 10 x 54 # 1936 BB
3290 = 540 # 10 x 54 # 1941 BB
3300 = 540 # 10 x 54 # 1945 BB
12040 = 540 # 10 x 54 # 1948 BB
3310 = 540 # 10 x 54 # 1938 SH BB
12050 = 540 # 10 x 54 # 1945 SH BB
3320 = 540 # 10 x 54 # 1918 CV
3330 = 540 # 10 x 54 # 1930 CV
3340 = 540 # 10 x 54 # 1936 CV
3350 = 540 # 10 x 54 # 1938 CV
3360 = 540 # 10 x 54 # 1941 CV
3370 = 540 # 10 x 54 # 1943 CV
3380 = 540 # 10 x 54 # 1944 CV
3390 = 540 # 10 x 54 # 1945 CV
12060 = 540 # 10 x 54 # 1947 CV
12100 = 420 # 10 x 42 # 1936 CVL
12110 = 420 # 10 x 42 # 1939 CVL
12120 = 420 # 10 x 42 # 1941 CVL
12130 = 420 # 10 x 42 # 1943 CVL
12140 = 420 # 10 x 42 # 1945 CVL
12150 = 420 # 10 x 42 # 1948 CVL
4120 = 600 # 10 x 60 # 1934 TAC
4130 = 600 # 10 x 60 # 1936 TAC
4140 = 600 # 10 x 60 # 1938 TAC
4150 = 600 # 10 x 60 # 1940 TAC
4160 = 600 # 10 x 60 # 1943 TAC
15100 = 600 # 10 x 60 # 1945 TAC
15110 = 600 # 10 x 60 # 1949 TAC
15500 = 11600 # 200 x 58 # 1943 Turbojet engine
4010 = 11600 # 200 x 58 # 1934 Int
4020 = 11600 # 200 x 58 # 1936 Int
4030 = 11600 # 200 x 58 # 1937 Int
4060 = 11800 # 200 x 59 # 1940 Int
4090 = 12000 # 200 x 60 # 1943 Int
15000 = 12000 # 200 x 60 # 1944 Int
15010 = 12000 # 200 x 60 # 1947 Int
15020 = 12000 # 200 x 60 # 1950 Int
4290 = 10000 # 200 x 50 # 1959 Int
4170 = 600 # 10 x 60 # 1937 CAS
4280 = 600 # 10 x 60 # 1940 CAS
4180 = 600 # 10 x 60 # 1943 CAS
15120 = 600 # 10 x 60 # 1945 CAS
15130 = 600 # 10 x 60 # 1947 CAS
4190 = 600 # 10 x 60 # 1938 NAV
4200 = 600 # 10 x 60 # 1941 NAV
4210 = 600 # 10 x 60 # 1943 NAV
15140 = 600 # 10 x 60 # 1945 NAV
15150 = 600 # 10 x 60 # 1949 NAV
4050 = 580 # 10 x 58 # 1937 Esc
4080 = 590 # 10 x 59 # 1940 Esc
4110 = 600 # 10 x 60 # 1943 Esc
15060 = 600 # 10 x 60 # 1944 Esc
15070 = 600 # 10 x 60 # 1947 Esc
15080 = 600 # 10 x 60 # 1951 Esc
4300 = 500 # 10 x 50 # 1960 Esc
4220 = 600 # 10 x 60 # 1937 Str
4230 = 600 # 10 x 60 # 1940 Str
4240 = 600 # 10 x 60 # 1943 Str
15160 = 600 # 10 x 60 # 1945 Str
15170 = 600 # 10 x 60 # 1949 Str
4250 = 580 # 10 x 58 # 1936 Tra
4260 = 580 # 10 x 58 # 1940 Tra
4270 = 580 # 10 x 58 # 1942 Tra
15180 = 580 # 10 x 58 # 1947 Tra
15190 = 580 # 10 x 58 # 1951 Tra
4040 = 580 # 10 x 58 # 1938 MRF
4070 = 590 # 10 x 59 # 1940 MRF
4100 = 600 # 10 x 60 # 1943 MRF
15030 = 600 # 10 x 60 # 1944 MRF
15040 = 600 # 10 x 60 # 1947 MRF
15050 = 600 # 10 x 60 # 1950 MRF
4310 = 500 # 10 x 50 # 1962 MRF
5050 = 9400 # 200 x 47 # 1936 Machine Tools
5060 = 10600 # 200 x 53 # 1937 Machine Tools
5070 = 11800 # 200 x 59 # 1938 Machine Tools
5080 = 9400 # 200 x 47 # 1936 Construction
5090 = 7950 # 150 x 53 # 1937 Construction
5100 = 8850 # 150 x 59 # 1938 Construction
5110 = 8400 # 150 x 56 # 1939 Production Control
5120 = 8400 # 150 x 56 # 1939 Production Planning
5130 = 12800 # 200 x 64 # 1940 Assembly Line Experimentation
5140 = 10800 # 150 x 72 # 1940 Aircraft Assembly Line
5150 = 720 # 10 x 72 # 1940 Ship Assembly Line
5160 = 720 # 10 x 72 # 1940 Vehicle Assembly Line
5170 = 720 # 10 x 72 # 1942 Rocket Assembly Line
5180 = 7200 # 100 x 72 # 1940 Small Arms Assembly Line
5550 = 8100 # 150 x 54 # 1936 Rocket Test
5560 = 7500 # 150 x 50 # 1939 Rocket Engine
5570 = 7500 # 150 x 50 # 1939 Turbojet Engine
5580 = 480 # 10 x 48 # 1940 Flying Bomb Dev
5590 = 540 # 10 x 54 # 1941 Flying Rocket Dev
5010 = 4400 # 100 x 44 # 1936 Modern Agriculture
5020 = 5000 # 100 x 50 # 1936 Mechanized Agriculture
5030 = 4600 # 100 x 46 # 1936 Agrichemistry
5040 = 6200 # 100 x 62 # 1936 Agricultural Production
13000 = 6200 # 100 x 62 # 1945 Advanced Agricultural Production
13010 = 6200 # 100 x 62 # 1948 Modern Agricultural Production
5410 = 2000 # 50 x 40 # 1937 BD Radar
5420 = 2250 # 50 x 45 # 1940 ID Radar
5430 = 2250 # 50 x 45 # 1942 AD Radar
5440 = 2550 # 50 x 51 # 1942 BC Radar
5450 = 2750 # 50 x 55 # 1943 IC Radar
5460 = 3000 # 50 x 60 # 1944 AC Radar
13030 = 3000 # 50 x 60 # 1944 MC Radar
5310 = 8550 # 150 x 57 # 1936 Census Tabulating Machine
5320 = 9000 # 150 x 60 # 1936 Computing Machine
5330 = 9000 # 150 x 60 # 1938 Computing Machine
5340 = 9000 # 150 x 60 # 1940 Computing Machine
5350 = 4500 # 100 x 45 # 1937 Encryption
5360 = 2500 # 50 x 50 # 1938 Decryption
5370 = 4500 # 100 x 45 # 1939 Encryption
5380 = 2500 # 50 x 50 # 1940 Decryption
5390 = 4500 # 100 x 45 # 1941 Encryption
5400 = 2500 # 50 x 50 # 1942 Decryption
13060 = 4500 # 100 x 45 # 1947 information theory
5190 = 4480 # 80 x 56 # 1936 Oil Plant
5200 = 4480 # 80 x 56 # 1938 Oil Plant
5210 = 5580 # 90 x 62 # 1940 Oil Plant
5220 = 6400 # 100 x 64 # 1941 Oil Plant
5230 = 8000 # 125 x 64 # 1942 Oil Plant
5240 = 9600 # 150 x 64 # 1943 Oil Plant
13020 = 640 # 10 x 64 # 1945 Oil Plant
13040 = 12800 # 200 x 64 # 1945 Plastics
13050 = 12800 # 200 x 64 # 1948 Advanced material sciences
5250 = 8250 # 150 x 55 # 1948 Polymers
5260 = 8250 # 150 x 55 # 1953 Polymers
5270 = 8250 # 150 x 55 # 1958 Polymers
5280 = 11000 # 200 x 55 # 1963 Polymers
5290 = 390 # 10 x 39 # 1936 Rare Plant
5300 = 400 # 10 x 40 # 1939 Rare Plant
5600 = 450 # 10 x 45 # 1941 Rare Plant
5610 = 450 # 10 x 45 # 1943 Rare Plant
5470 = 600 # 10 x 60 # 1936 Faculty of Atomic Research
5480 = 600 # 10 x 60 # 1936 Atomic Research Laboratories
5490 = 600 # 10 x 60 # 1939 Faculty of Nuclear Research
5500 = 720 # 10 x 72 # 1941 Isotope Separation Facility
5510 = 720 # 10 x 72 # 1941 Nuclear Fuel Analysis
5520 = 720 # 10 x 72 # 1941 Experimental Reactor
5530 = 720 # 10 x 72 # 1943 Nuclear Reactor Operability
5540 = 720 # 10 x 72 # 1944 Nuclear Power Production
5620 = 720 # 10 x 72 # 1947 Nuclear Power Plant
5630 = 720 # 10 x 72 # 1951 Nuclear Power Plant
5640 = 720 # 10 x 72 # 1955 Nuclear Power Plant
5650 = 720 # 10 x 72 # 1957 Nuclear Power Plant
6010 = 12000 # 200 x 60 # 1930 Firepower Focus Doctrine
6020 = 9000 # 150 x 60 # 1936 Superior Firepower Doctrine
6040 = 12000 # 200 x 60 # 1937 Delay Doctrine
6050 = 12000 # 200 x 60 # 1938 Mobile Defense Doctrine
6060 = 12000 # 200 x 60 # 1939 Stand Off Doctrine
6070 = 12000 # 200 x 60 # 1940 Integrated Support Doctrine
6080 = 12000 # 200 x 60 # 1942 Regimental Combat Teams
6090 = 12000 # 200 x 60 # 1943 Combined Arms Defense
6100 = 12000 # 200 x 60 # 1943 Mechanized Offensive
14050 = 10000 # 200 x 50 # 1946 Air Land Battle
6030 = 11000 # 200 x 55 # 1936 Grand Battleplan Doctrine
6120 = 11000 # 200 x 55 # 1936 Trench Warfare Doctrine
6130 = 11000 # 200 x 55 # 1940 Preplanned Defense Doctrine
6140 = 11000 # 200 x 55 # 1942 Central Planing Doctrine
14070 = 10000 # 200 x 50 # 1946 Assault Concentration Doctrine
6380 = 11800 # 200 x 59 # 1956 C3I theory (2 other copies!)
6110 = 11000 # 200 x 55 # 1938 Mass Assault Doctrine
6160 = 11000 # 200 x 55 # 1942 Infiltration Assault Doctrine
6190 = 11000 # 200 x 55 # 1943 Infiltration in Depth
6150 = 8250 # 150 x 55 # 1942 Attritional Containment Doctrine
6180 = 11000 # 200 x 55 # 1944 Assault Breakthrough
6170 = 8250 # 150 x 55 # 1942 Operational Stages Doctrine
6200 = 11000 # 200 x 55 # 1944 Branch Interoperability
6210 = 9000 # 150 x 60 # 1930 Mobility Focus Doctrine
6220 = 12000 # 200 x 60 # 1937 Spearhead Doctrine
6230 = 12000 # 200 x 60 # 1939 Delay Doctrine
6240 = 12000 # 200 x 60 # 1940 Elastic Defense Doctrine
6250 = 12000 # 200 x 60 # 1937 Schwerpunkt Doctrine
6260 = 12000 # 200 x 60 # 1938 Blitzkrieg Doctrine
6270 = 12000 # 200 x 60 # 1941 Kampfgruppe Doctrine
6280 = 12000 # 200 x 60 # 1943 Firebrigade Doctrine
6290 = 12000 # 200 x 60 # 1943 Spearhead HQs
14090 = 470 # 10 x 47 # 1944 Volkssturm Doctrine
14100 = 10400 # 200 x 52 # 1947 Modern Blitzkrieg
6300 = 6000 # 100 x 60 # 1936 Human Wave Doctrine
14080 = 500 # 10 x 50 # 1944 Guerilla Warfare Doctrine
6310 = 12000 # 200 x 60 # 1937 Large Front Doctrine
6330 = 12000 # 200 x 60 # 1940 Deep Operations Doctrine
6320 = 12000 # 200 x 60 # 1941 Pocket Defense Doctrine
6340 = 12000 # 200 x 60 # 1941 Defense in Depth
6350 = 12000 # 200 x 60 # 1941 Large Formation SOP Doctrine
6360 = 10000 # 200 x 50 # 1943 Breakthrough Priority Doctrine
6370 = 10000 # 200 x 50 # 1943 Movement Speed Offensive Doctrine
14060 = 10000 # 200 x 50 # 1946 Mechanized Wave
14000 = 5000 # 100 x 50 # 1936 Hospital
14010 = 5000 # 100 x 50 # 1938 Hospital
14020 = 5000 # 100 x 50 # 1941 Hospital
14030 = 5000 # 100 x 50 # 1945 Hospital
14040 = 5000 # 100 x 50 # 1950 Hospital
7170 = 590 # 10 x 59 # 1944 Nuclear Waste Bomb
7180 = 630 # 10 x 63 # 1944 Semi-Fission Bomb
7190 = 700 # 10 x 70 # 1945 Fission Bomb
16010 = 700 # 10 x 70 # 1948 Miniaturized Fission Bomb
16020 = 720 # 10 x 72 # 1951 Fusion Bomb
7270 = 5300 # 100 x 53 # 1949 Surface-to-Air Missile (SAM)
7260 = 530 # 10 x 53 # 1951 Air-to-Surface Missile (ASM)
7200 = 630 # 10 x 63 # 1948 Capital Ship Nuclear Propulsion
7210 = 630 # 10 x 63 # 1948 Screening Ship Nuclear Propulsion
7140 = 8550 # 150 x 57 # 1941 Computers
7150 = 9300 # 150 x 62 # 1943 Computers
7160 = 3500 # 50 x 70 # 1945 Computers
16000 = 3500 # 50 x 70 # 1948 Computers
7250 = 5000 # 100 x 50 # 1944 Weather Forecast
7290 = 5500 # 100 x 55 # 1946 Weather Forecast
7240 = 690 # 10 x 69 # 1951 Air Cavalry
16030 = 600 # 10 x 60 # 1951 Intercontinental Bomber
7330 = 920 # 10 x 92 # 1937 Super-Heavy Railway Artillery
7010 = 12400 # 200 x 62 # 1941 Rocket Interceptor
7020 = 12800 # 200 x 64 # 1943 Rocket Interceptor
7100 = 630 # 10 x 63 # 1941 Flying Bomb V1
7110 = 630 # 10 x 63 # 1942 Flying Rocket V2
7120 = 670 # 10 x 67 # 1944 Ballistic Missile
7130 = 710 # 10 x 71 # 1951 ICBM
7300 = 640 # 10 x 64 # 1956 Simple Satellite
7310 = 670 # 10 x 67 # 1958 Basic Reconnaissance Satellite
7320 = 700 # 10 x 70 # 1959 Reconnaissance Satellite Network
7050 = 620 # 10 x 62 # 1945 Turbojet Carrier Air Group
7280 = 570 # 10 x 57 # 1948 Turbojet Carrier Air Group
8010 = 500 # 10 x 50 # 1936 Decisive Battle Doctrine
8020 = 500 # 10 x 50 # 1937 Naval Firepower Doctrine
8030 = 500 # 10 x 50 # 1937 Fleet Auxiliary Carrier Doctrine
8040 = 500 # 10 x 50 # 1937 Fleet Auxiliary Submarine Doctrine
8050 = 500 # 10 x 50 # 1937 Convoy Sailing Doctrine
8070 = 500 # 10 x 50 # 1938 Fleet-in-Being Doctrine
8120 = 500 # 10 x 50 # 1939 Battlefleet Concentration Doctrine
8100 = 500 # 10 x 50 # 1939 Subsidiary Carrier Role Doctrine (2 other copies!)
8130 = 500 # 10 x 50 # 1939 Hunter-Killer Group Doctrine (1 other copy!)
8310 = 500 # 10 x 50 # 1939 Floating Fortress Doctrine (2 other copies!)
8190 = 500 # 10 x 50 # 1940 Naval Attrition Doctrine
8090 = 500 # 10 x 50 # 1939 Indirect Approach Doctrine (2 other copies!)
8110 = 500 # 10 x 50 # 1939 Carrier Task Force Doctrine (1 other copy!)
8160 = 500 # 10 x 50 # 1939 Trade Interdiction Submarine Doctrine (2 other copies!)
8330 = 500 # 10 x 50 # 1944 Maritime Power Projection Doctrine
8340 = 500 # 10 x 50 # 1944 Floating Airbase Doctrine
8240 = 500 # 10 x 50 # 1943 Carrier Aviation Doctrine (1 other copy!)
8200 = 500 # 10 x 50 # 1941 Commerce Defence Doctrine
8250 = 500 # 10 x 50 # 1942 Escort Carrier Role Doctrine (1 other copy!)
8140 = 500 # 10 x 50 # 1942 Aerial Convoy Defence Doctrine (1 other copy!)
8260 = 500 # 10 x 50 # 1943 Integrated Convoy Defence Doctrine
8060 = 500 # 10 x 50 # 1938 Base Strike Doctrine
8180 = 500 # 10 x 50 # 1940 Indirect Strike Doctrine
8230 = 500 # 10 x 50 # 1940 Deep Operations Doctrine
8170 = 500 # 10 x 50 # 1939 Unrestricted Submarine Warfare Doctrine (1 other copy!)
8320 = 500 # 10 x 50 # 1943 Massive Strike Doctrine
8270 = 500 # 10 x 50 # 1944 Fleet Train Doctrine
8350 = 500 # 10 x 50 # 1944 Carrier Warfare Doctrine
18000 = 500 # 10 x 50 # 1947 Carrier group doctrine
18010 = 500 # 10 x 50 # 1952 Amphibious Operations Doctrine
8080 = 500 # 10 x 50 # 1938 Sealane Interdiction Doctrine
8150 = 500 # 10 x 50 # 1939 Raider Patrol Doctrine
8210 = 500 # 10 x 50 # 1940 Commerce Raider Doctrine
8280 = 500 # 10 x 50 # 1940 Capital Ship Raider Group Doctrine
8290 = 500 # 10 x 50 # 1940 Wolfpack Doctrine
8300 = 500 # 10 x 50 # 1942 Advanced Submarine Operations Doctrine
8220 = 500 # 10 x 50 # 1940 Decisive Interdiction Doctrine
9010 = 5250 # 150 x 35 # 1933 Air Superiority Doctrine
9020 = 5250 # 150 x 35 # 1936 Flying Circus Doctrine
9030 = 5250 # 150 x 35 # 1936 Force Substitution Doctrine
9040 = 250 # 10 x 25 # 1936 Battlefield Destruction Doctrine
9050 = 250 # 10 x 25 # 1937 Dive Bombing Doctrine
9060 = 250 # 10 x 25 # 1938 Direct Ground Support Doctrine
9070 = 250 # 10 x 25 # 1938 Bomber Veteran Initiative
9080 = 250 # 10 x 25 # 1939 Night Strikes Doctrine
9270 = 300 # 10 x 30 # 1941 Combat Unit Destruction Doctrine
9280 = 300 # 10 x 30 # 1941 Hunt & Destroy Groups Doctrine
9290 = 300 # 10 x 30 # 1942 Low Echelon CAS Doctrine
9300 = 300 # 10 x 30 # 1942 Bomber Ace Initiative
9090 = 2000 # 80 x 25 # 1937 Operational Destruction Doctrine
9100 = 1500 # 60 x 25 # 1938 Battlefield Interdiction Doctrine
9110 = 1500 # 60 x 25 # 1938 Strafing Doctrine
9120 = 1500 # 60 x 25 # 1938 Logistical Strike Doctrine
9130 = 2500 # 100 x 25 # 1939 Night Strafing Doctrine
9350 = 300 # 10 x 30 # 1941 Infrastructure Destruction Doctrine
9360 = 300 # 10 x 30 # 1942 Infiltration Bombardment Doctrine
9370 = 300 # 10 x 30 # 1942 Carousel Bombardment Doctrine
9380 = 300 # 10 x 30 # 1943 Keypoint Bombardment Doctrine
17010 = 300 # 10 x 30 # 1952 Theater Organization Doctrine
9140 = 250 # 10 x 25 # 1937 Strategic Destruction Doctrine
9150 = 250 # 10 x 25 # 1938 Escort Box System Doctrine
9160 = 250 # 10 x 25 # 1939 Combat-Bombardment Groups Doctrine
9170 = 250 # 10 x 25 # 1939 Dead Reckoning Bombardment Doctrine
9180 = 250 # 10 x 25 # 1939 Night Bombardment Doctrine
9430 = 300 # 10 x 30 # 1942 Mass Destruction Doctrine
9440 = 300 # 10 x 30 # 1942 Escort Relay System Doctrine
9450 = 300 # 10 x 30 # 1942 Carpet Bombing Doctrine
9460 = 300 # 10 x 30 # 1943 Flying Armada Doctrine
17000 = 300 # 10 x 30 # 1947 Integrated offensive doctrine
9190 = 6000 # 200 x 30 # 1939 First Strike Doctrine
9200 = 4500 # 150 x 30 # 1939 Dispersed Fighting Doctrine
9210 = 4500 # 150 x 30 # 1939 Frontal Missions Doctrine
9220 = 5400 # 180 x 30 # 1939 Fighter Veteran Initiative
9310 = 6000 # 200 x 30 # 1942 Offensive Fighter Box doctrine
9320 = 4500 # 150 x 30 # 1943 Fighter Baiting Doctrine
9330 = 4500 # 150 x 30 # 1943 Dogfight Experiment Doctrine
9340 = 5400 # 180 x 30 # 1943 Fighter Ace Initiative
9230 = 6000 # 200 x 30 # 1939 Perimeter Defence Doctrine
9240 = 4500 # 150 x 30 # 1939 Formation Fighting Doctrine
9250 = 4500 # 150 x 30 # 1940 Home Defence Doctrine
9260 = 4500 # 150 x 30 # 1940 Recon Skirmisher Doctrine
9390 = 6000 # 200 x 30 # 1942 Defensive Fighter Box Doctrine
9400 = 4500 # 150 x 30 # 1942 Multi-altitude Group Doctrine
9410 = 4500 # 150 x 30 # 1943 Filter Room System Doctrine
9420 = 4500 # 150 x 30 # 1943 Air Reserve Doctrine
}
}
would be imported from the AI files. This actually is from the default ai file intended for 1.11, it is meant for a nation with 2 tech slots. This list contains all techs of vanilla AoD. All other ai files would only contain changes relative to the default file in order to avoid "maintenance hell" as Lennartos put it.
Whenever at the start of a day a free tech slot can be used for every available tech team for every researchable tech it is remembered which combinations scores best at
Code:
score = [value] x [historical date modifier] / [research time including ministers and ideas but excluding historical date modifier]
That combination will be used for actual research. Excluding the historical date modifier will simplify calculating the estimated research time. Using only the historical date modifier at the start of the research will make AI discriminate more strongly by the historical date modifier. Teaching AI to appreciate historical date modifier seems rather important.
One of the effects of this approach is that available tech teams and ministers will influence the research strategy of AI. Identical imported research sections of an AI file might result in very different research strategies as AI will optimize for its strenghts. I image an alliance of AIs exchanging blueprints could utilize it relativly well.
The values could also be divided by say 50 and be reused as trading values of blueprints. There is a slightly different approach that does not share this advantage but may require less effort from modders adapting their modifications to the new approach.
2.) Instead of importing the value(8000 for 1918 Inf) the value_dbed(200 for 1918 Inf) would be imported. The calculation of value would be done by the game by multiplying value_dbed with the effective difficulty(40 for 1918 Inf) of a tech. That is 2+max(difficulty, 3) for each component and twice that value if double_time=yes.
If no value_dbed had been defined in the ai file a default value of 100 could be used. That means that any tech not set to be essentially ignored might be researched. Personally i prefer a low value_dbed of 10 as most technologies will never be researched by most nations due to lack of research capabilities. But for vanilla AoD that would be done via the ai files anyway, therefore it is not relevant for vanilla AoD and what is more convenient for modders would seem to be the paramount concern.
3.) Another option is to keep the current approach despite its flaws and only make it slightly less flawed by taking into account all the techs of a research field. So if 25 naval techs have been researched, 2 are already being researched and the question if another one should be researched it will be calculated with 25+2+1=28 instead of 25 like now. This would help in the early years against absurd high priority for fields with no tech researched yet and later it will help to avoid researching very many techs of one field in parallel and thus exceeding the amount of suitable tech teams.
I clearly prefer the first approach, but switching to the second would probably be not too much of an hassle either. Keeping the current approach however seems like a bad idea. What is your take on it?
Edit: I have changed my entries to use value and value_dbed instead of priority and priority_modifier to reflect what 1.11 is intended to use.
Last edited:
- 1