AI Development Discussion

classic Classic list List threaded Threaded
1250 messages Options
1 ... 33343536373839 ... 63
Reply | Threaded
Open this post in threaded view
|

Re: AI Development Discussion

Black Elk
This post was updated on .
Here is a v5 KJF that showed some interesting things happen with AI Japan. I wanted to see what HardAI Axis would do if I  pushed north with carriers to sz64 straight against Japan... They bought bombers in abundance and had some nice air vs naval strikes! They wiped a good number of American naval units, and totally smoked the UK Atlantic fleet in one play with bombers out of Europe. It was bold and glorious!

But even here in round 7, the issue with Japan not protecting the money islands can be shown, as USA just clipped them so ruthlessly right away. Shows also how how effective carrier based fighters are for USA against Japanese battleships ;)

In this last turn Germany screwed over the Japanese by leaving 3 of their bombers behind, but otherwise HardAI Japan has been on a bomber rampage! haha

v5_Hard_AI_Allies_vs_Elk_KJF_sz64_to_Borneo_round_7.tsvg


And Another different KJF, this game has been highly satisfying. I resolved to heavily expand the Red Airforce with Russia to see how Axis would respond. Here Japan goes just wild with the bomber stacking. They are fielding a massive Air armada of 7 fighters and 12 bombers, all parked in Europe. Its been highly effective against the Allied Atlantic, but here Germany has made just made critical error and left half these bombers behind in Karelia, open to UK attack!

v5_Hard_AI_Allies_vs_Elk_KJF_bomber_madness.tsvg
Reply | Threaded
Open this post in threaded view
|

Re: AI Development Discussion

redrum
Administrator
@Black Elk - Some interesting games. Seems like the AI played pretty well in most of them. The biggest mistakes seem to be around naval positioning and allies not always defending each other's airforce. The defending allied units is sometimes tough since the AI doesn't consider turn order yet. It sometimes has almost no choice but to retreat and its ally shouldn't have set the airforce there in the first place.

@Irinam - Mostly the second as it will pretty much always try to take a capital but it does put some weight on how much production/PUs each player has.
Reply | Threaded
Open this post in threaded view
|

Re: AI Development Discussion

Black Elk
This post was updated on .
This was a fun game vs HardAI Allies in v5. I gave them the same bid I have adopted as standard with humans, 1 Russian bomber at Moscow.

HardAI used it well, and kept it flying into the 10th round before she finally went down in a desperate battle for control of Karelia. The Russians fought quite powerfully for the first 4 rounds and achieved their zenith in the 5th, when they manage to break Karelia and storm through to Finland and Norway! The British had a nice air strike vs Germany in the 4th round too, including a ruthless crush on the Med fleet I had so carefully built up to secure Africa!

WW2_v5_Russians_bid_1_bomber_at_Moscow.tsvg

HardAI Allies held the center until round 11, when German armor finally cracked them at Moscow. Not bad HardAI, not at bad at all :)

ps. Here was another interesting game vs HardAI Allies with the Russian bomber. This time they landed it in Egypt after a series of bold attacks, shutting down the Axis in Africa almost entirely. I saw the AI do some cool moves in this game that I hadn't seen them try before. They also made an evacuation of Moscow right before collapse which was kind of fun to see. The Russians sending their Yaks on an emergency secret mission to Iceland where they have set up a government in exile. 1000 Reich most likely, but it was still cool to check out how the AI used its Russian bomber bid...

The HardAI makes bold attacks in the opening, and fights pretty aggressively...

HardAI_Russia_bids_1_bomber_at_Moscow_lands_in_Egypt_round_9.tsvg

Reply | Threaded
Open this post in threaded view
|

Re: AI Development Discussion

redrum
Administrator
@all - Latest changes committed and pre-release updated:
- More air units landing safely improvements
- Fixed mobile factory bug where they would sometimes move to unsafe territories
- Enhanced retreat logic to more often retreat especially when having only air units left
- Updated unit move logic to move all units of the same type along the same route to reduce move time when having large stacks

Please test and post save games!

@Black Elk - Pretty solid games by the AI with the bomber bid. It seems to help Russia have some teeth early on since otherwise it doesn't have much attack power.
Reply | Threaded
Open this post in threaded view
|

Re: AI Development Discussion

captaincrunch
partypartyparty
Reply | Threaded
Open this post in threaded view
|

Re: AI Development Discussion

Attila
In reply to this post by Black Elk
@redrum

The group move feature is very nice. The History showing that 50 units were moved in one shot is great too.

I do have a question: Is the Total World War map supposed to be playable against the hard AI controlling all nations except for neutrals (do nothing) and one human (USA)?

I tried this and the game took over 30 minutes to get to my turn 1. I have a 2400K OC'd to 4.5 GHz Win7x64 and the non-combat phase calculations (not actual movement) takes a very long time for the larger nations.

Assigning the Medium AI makes this phase go as fast as the hard AI does on other maps like POS2. Might be worth it to take a look at what's going on in this phase if you want to speed up games.

Also, I had to increase the memory setting to play this map, but I can only go as high as 1280. With a 4GB address space, is this what's left after the OS, Java and the game engine take their cut?
Reply | Threaded
Open this post in threaded view
|

Re: AI Development Discussion

something interesting
In reply to this post by redrum
I must say I am really impressed with this AI. I played this game quite a bit a few years back and the AI was just silly to play against. While trapped in a train station last weekend I played a few games with the AI on the various FFA or three team maps that seem to sneak into my games folder. Unfortunately I only have one save game

FFA_against_ai.tsvg (WW2v4 Six Army Free For All v2 game, on round 17)

In this game and the others I noticed the following -

1. The AI for Japan keeps sending ships to the Mediterranean, for no reason to at all. Its a good play on some maps, including the map this FFA is built off of, but here it is an odd play.

2. The AI purchases very little air, and takes a bad TUV deal when trading territory as a result. Even not including its lack air, it tends to a little heavy handed. I'm guessing the AI is programmed to start with a decent air force and only add to it when it's income is sufficiently high? (I actually lost my navy in that game because I stopped checking for enemy air after going a few games without facing any )

3. The AI never once purchased a sub, purchased carriers once or twice but never kept planes on them, and buys lots of battleships. So its skipping the more offensive sea units, instead playing very defensively at sea, despite not building many transports.

4. The AI is rather heavy handed when trading territories, it usually sends more land units than a human player would. This is relatively small but can magnified when a human with a big air force battles an AI without one, and as mentioned above they don't buy much air as part of their standard purchases for a land war.

5. It cannot bid very well (probably not a priority to fix), especially involving sea units. It does not purchase or organize transports very well, and it often sacrifices a transport just to take an unprotected territory that can be immediately reclaimed. It also drops two land units when doing this, when bringing just one would be enough

6. The AI seems to advance on capitals with land connections very strongly, while leaving other land-connected fronts neglected. In this game see rounds 14 to 17, the German AI continues to drive into Russia/ China while America builds up near its capital, capturing it while Germany's army is still much larger, just farther away. In another game (sorry, no save) with alliances this lead to China comically walking across Russia in an attempt to invade Germany while Japan invaded China.

Again I'm very impressed by the AI, thanks for the hard work. I stopped playing a few rounds after that save and it was still possible that the AI China could have won, without bonus income or anything
Reply | Threaded
Open this post in threaded view
|

Re: AI Development Discussion

redrum
Administrator
@Attila - TWW has not been tested at all with the Hard AI. There are still a number of features in TWW that the Hard AI doesn't support and it runs very slow. I hope to eventually enhance the Hard AI to be able to play TWW but it probably will take a while. I ran the first round and it took about 15 mins on my computer though Germany took about 5 mins of that. I have an i7 (8 logical CPUs) and 16 GB ram.

@something interesting - Interesting game and just as a note the AI tends to play better in 2 team games vs FFAs. Lots of good points and here are my comments:

1. Noncombat move naval AI still needs some work and it tends to move ships towards enemy territories and then get stuck there (see many posts regarding the AI Japan navy chilling off the coast of Mexico).

2. The AI tends to be a little conservative and makes sure it takes the territories. There does need to be more logic around purchasing air but on most maps nations start with enough air that it isn't that big of an issue.

3. The AI doesn't like subs in general as it mostly plays with defensive navies and it currently doesn't know how to land planes on carriers. This is on the list of things to implement.

4. Same response as #2.

5. The Hard AI still uses the same bid logic as Medium AI. This is on the list of things to enhance but bids in general aren't used that often in a game so isn't very high priority.

6. The AI tends to pick a target and focus on it. It wants to drive towards the Chinese factory in Archangel. It tries to leave enough units around it capital to defend but doesn't see your 12 bomber stack coming. If you don't use those 12 bombers then I think the AI would have been fine.

I'd recommend trying some non-FFA maps to see how well you think it plays them.
Reply | Threaded
Open this post in threaded view
|

Re: AI Development Discussion

something interesting
@ Redrum

I can get a 99% win on the German capital without using the bombers. I'm curious how he doesn't see them coming? They sit two spaces away for a very long time.

I'm just playing FFA since its awesome to finally be able to easily get enough competent opponents to play one. The AI being geared towards two alliance maps makes total sense. I was thinking that in terms of tactics the AI should be just as good at FFA as two-alliance maps, just that the macro-level strategy would obviously (and understandably) be worse, which is mostly true.
Reply | Threaded
Open this post in threaded view
|

Re: AI Development Discussion

Black Elk
Got in a couple v5 games using the latest Jar. No Human SBR per the usual mode of late.

The first game is notable for being the first time I've ever had to take Formosa in a v5 game!!! hehe
Hard AI Japan was stacked so deep with bombers, that at one point they were actually in position to hit the American fleet off sz 61 or z 36 and then land on the worthless island of Formosa! Couldn't let that happen :)

Split theater approach still shows some definite weakness with Japan AI control of the rich islands, but they certainly did a better job keeping the air armada alive...

HardAI_Axis_vs_Elk_round_13_Honorable_VC.tsvg

The second game was more straightforward and a bit more demoralizing for the Japanese air, as they were left behind by retreating Germans once again. Once the threat on the Royal navy was handled UK was able to crack Berlin in fairly short order. But I did notice some more intelligent retreats by Axis air. Whereas before I would often see them try to airblitz the last ground unit standing even with no fodder cover, now they retreat as most players would rather than risking expensive Air. The trip ups are mostly turn order related, otherwise the AI seems to do pretty well positioning their fighters and bombers at least while on their own land (carriers excepted of course.) Once the Japanese figure out how to start landing fighters on their Carriers and start position their bombers to protect the rich islands I expect they will be pretty formidable.

HardAI_Axis_vs_Elk_round_9_KGF.tsvg

Germany does managing the land war in Eurasia, and taking weak Atlantic fleets to task, for the most part anyway. Their only major goofs lately are leaving the Japanese air unprotected or getting pushed out of Karelia due Allied triple pressure plays and amphibious assaults which was the case above.
 
Reply | Threaded
Open this post in threaded view
|

Re: AI Development Discussion

captaincrunch
In reply to this post by something interesting
OOk gave this latest ai.jar a run. Played 3 matches and lost the 1st then won the next 2:




1st match: I was the Allies and the AI was the Axis and I forfeited my 1st turn with Russia to start for fun and I had the German AI on the ropes and was gonna capture the German AI capitol in maybe round 6 BUT the Japan AI launched a 7 on 5 attack on West USA and won and then I hadto abandon attacking Europe with the USA because of the Japan AI in West USA and I built troops for 2 rounds to stop Japan but it didn't matter because Japan also built and took the USA capitol and the German AI was holding so I gave up round 13. I totally should have won this from a great start I had and I was so pissed but it was funny and, as sometimes happens, I missed the Japan AI's movement in the Pacific and the Japan AI snuck in again and I was so mad because I think I had the win if not for that but it was fun.




2nd match: I was the Allies and the AI was the Axis and I didn't forfeit my 1st turn with Russia this time and I pretty much text book took the German AI capitol in round 6 with Russia which I played well and then I finally ended the match taking the Japan AI capitol in round 23;


latestaxisaidefeated14.tsvg






3rd match: I was the Axis and the AI was the Allies and I played pretty much text book smooth and took the Russian AI capitol in round 5, took the UK AI capitol in round 22, and took the USA AI capitol in round 26.


@Redrum, you may want to check these things ...when I took the Russia AI capitol in round 5 with Japan, all I had left there was 1 Infantry and the Russia AI next round had a tank it could attack and take back its capitol with but it didn't do anything (wouldn't have mattered in long run though ofcourse). Also, you may want to check the AI's Plane scrambling/landing ... the UK AI landing 2 Planes in Gibraltar in round 2, and also the UK AI landed 3 Bombers in Syria-Jordan in round 4 that I took out easy with 2 Japanese Tanks;


latestalliesaidefeated14.tsvg






So, I actually saw the AI retreat 1 battle finally. I rarely see that. I can't think of anything specific to help the AI and it is playing well, especially the AI Navy improvements that make the games go longer. I like the faster AI Non-Combat Movement improvement lots and my matches don't go longer than 3 hours average now. Hope these saves will help but it's all fun and look forward to the next update!
Reply | Threaded
Open this post in threaded view
|

Re: AI Development Discussion

redrum
Administrator
@all - Just committed the latest changes and updated the pre-release:
- Enhanced transport defenses
- Fixed bug with capital defense (reported by something_interesting)
- Updated unit movement to group all units together that are moving along the same route
- Fixed several other bugs

Please test and in particular upload any games where the AI leaves transports undefended.  
Reply | Threaded
Open this post in threaded view
|

Re: AI Development Discussion

Attila
I am playing the WW2v4 FFA v2 map (v3 rules) with latest triplea.jar file and it seems that now unprotected transports are ignored by AI bombers that are within range.

On their last turn the 18 bombers in Japan could have taken out 2 undefended American transports without risk (SZ 48 and 49).

transports.tsvg

Reply | Threaded
Open this post in threaded view
|

Re: AI Development Discussion

captaincrunch
In reply to this post by redrum
Alright. Tested the latest AI.jar and played 5 matches and lost matches 1,2, and 4 and won matches 3 and 5:



1st match: I was the Allies and the AI was the Axis and I forfeited my 1st turn with Russia for fun and I think I even took the German AI capitol early but the Japan AI marched strong and I remember the match was over by round 8 where I gave up because Japan took my Russian capitol and Germany was still too strong so I gave up early.



2nd match: I was the Allies and the AI was the Axis again and I didn't forfeit my 1st turn with Russia for fun but it didn't matter because I remember I had bad rolls with U.K. and lost little battles and the German AI was too strong and the Japan AI was too strong and I gave up around round 13.



3rd match: I was the Allies and the AI was the Axis again and this time I played really well and took the German AI capitol in round 5 and then marched to take the Japan AI capitol in round 13;


latestaxisaidefeated15.tsvg



4th match: I was the Axis and the AI was the Allies and I almost always win this scenario but amazingly even though I took the Russian AI capitol early in round 5 or 6, I amazingly could not stop the other country AI's Navy Transporters coming into Europe and keeping Germany busy and I didn't play Japan that great and eventually Germany fell and the AI's liberated Russia and I tried to fight back with Japan but the game ended maybe round 20 when I gave up.



5th match: I was the Axis and the AI was the Allies again and this time I played well and kept an eye on the AI's Navys and took the Russian AI's capitol in round 5 and took the UK AI's capitol in round 29 and then finally ended the match taking the USA AI's capitol in round 34 because the AI has a better Navy now - or better purchasing or whatever the reason;


latestalliesaidefeated15.tsvg






Sooo Redrum, that last save there is lots of Transporter movement I attacked all game mostly with Planes for you to check out to see how the AI operates. I know for sure now if I make a mistake against the AI it will cost me. The AI Navy is certainly much better and not sure if at all I can think of advice for this AI other than I know it needs to play Russia a bit more conservatively but other than that it was a blast testing the AI.jar update and look forward to the next!

Reply | Threaded
Open this post in threaded view
|

Re: AI Development Discussion

redrum
Administrator
@Attila - Good catch. The AI was trying to use sea units first to attack SZ 48 and 49. It then calculated that those sea units would all be wiped out by the large US navy counter attack so the attacks weren't worth it. I added some logic to check if its worth attacking with air units when the sea territories can't be defended. I re-tested starting at the beginning of Japan's turn and it attacks both SZ 48 and 49 now: Test_AI_Attack_Transports.tsvg

The changes will be in the next pre-release.

@captaincrunch - Nice games and thanks for testing. I don't see any glaring issues.
Reply | Threaded
Open this post in threaded view
|

Re: AI Development Discussion

Cernel
In reply to this post by redrum
Let's try if this time I may talk about my stuff without making anyone angry.

I've just uploaded in the Post-here-to-request-having-your-map-on-the-Map-Repository-uploaded-or-updated a mod of 270BC having about everything but non-construction units costs cut to 1/3.

Since this is a big budget cut, the game ends up having a lot of value 1 territories. Especially the north-west, south-west and central-south part of the map is a bunch of 1. This, coupled with the fact that a factory costs only 5 PUs (fodder is cost 2 or 3), makes good, and for one player needed, also placing in value 1 territories.

This is a round 25 savegame of the "270BC Tertiered" mod, played all by the latest version of Hard AI at that time:

20150326_270BC_Tertiered_allHard01_01.tsvg

Factory placement limits issues:

The AI never places factories in less than value 2 territories, by definition. This is not good for some powers, but definitively very bad for Numidia:
- Numidia never places any factories up until round 12, when it places a factory in Hermopolis (value 2). At the start of round 12 Numidia has piled up a total of 69 PUs (current production 11), and ends its 12 turn at 72 PUs.
- Numidia never places a factory in value 2 Cirta (its capital). Not placing a factory in Cirta would be actually good, because Cirta is too far away from Numidia frontline (Egypt); so, it should, instead, place factories in the value 1 territories near Egypt (Cyrene or Siwa). But, since it doesn't put factories in value 1 territories, placing it in its far away value 2 capital (the only territory he owns, for many rounds, of value greater than 1) would have been better than nothing (hopefully, placing nothing else but cavalry).

Other general issues:

- The AI generally accepts an excessive TUV logoration, when taking neutrals: The AI should be more conservative and send more units when assaulting neutrals (or wait till having more).
suggestion: The AI should never attack neutrals if the Average Rounds value is greater than 3 and it should always prefer only combinations of attacks on neutral that have the combat rounds lower than 2 (meaning it accepts attacking with 2+~3 combat rounds average only if it is totally impossible to use the same units to make any attacks on neutrals having less than 2, with those forces (for example, if he can do 2 attacks of 1.5 rounds each or 3 attacks of 2.5 rounds each, it should always choose to do only 2)) (this is correct well over 90% times).
note: When you play dice you should overload about 50% more in attacking neutrals (this is due to the fact that having bad dice damages you more than having good dice gives you advantage; so, the average optimal quantity of forces to send is bigger, in dice, than low luck), than with Low Luck: getting diced by neutrals is very bad and very noob. Since this AI is already loading too few units in attacking neutrals under Low Luck, it is just even worse when it attacks neutrals when playing dice (when I run it with dice and I see the attacks on neutrals that the AI does, it takes way too much risk of getting diced).
- The AI tends to go for taking neutrals more than it should be advisable; this is only modestly off, but the AI should take only about 50~80% of the Neutrals it currently takes each round (not saying that it should not take the neutrals it takes, just it should not concentrate on neutrals grabbing so much as it does now (I'm not talking of taking 50~80% of the neutrals it takes now, but reducing to 50~80% (so, by 50~20%) the neutrals taking per round ratio, from now, more or less)).
- The AI seems almost not to care for placement limits, being always oriented towards the relative value of units, instead. This is a very bad and major limit on this map, whose production frontiers are much based on the trade off of having to choose between much more efficient/cost cheaper units and ridiculously costly more powerful units, that you buy only out of placement limits and the pressure to have the greatest power ready for use as soon as possible (think about Seleucids, that can buy peltasts at att/def/mov 1/1/1 and cost 2 or cataphracts at att/def/mov 3/3/2 and cost 7!!! (and, believe it or not, good players do buy cataphracts, sometimes even in relatively big numbers)). Here, the typical example is that both Greek and Macedonia do nothing but buying slingers/peltasts, aside from some very rare cavalry buy, for the whole game, up until the Macedonia capital gets taken by Roma. Macedonia keeps up the extreme bad behaviour of doing it even in the face of not being able to buy anything else, up until ending round 10 with a saved income of 24 PUs (and a production of only 6), just for its capital being captured by Roma next round, capturing the Macedonia saved income (the AI should always spend as much income as possible (even wrong buy should be preferred, if it allows to spend more income), if the capital is about to the be taken). In this map the value/cost of units are kind of silly (for example, Macedonia has peltasts at cost 2 and attack/defence 1/1 and swordman at cost 4 and attack/defence 2/2; which is kind of a stupid balancing of units, because at the same cost you have the same power but double hitpoints, with peltasts, instead of swordman), but the silliness is actually a specific (like it or not; I don't (I think the map would have been better without those 1/1 cost 2 units, that also make the Stats tab and the TUV switch not representative, because they are at least 25% better than their cost)) game dynamic of having to deal with the trade off of buying more cities today, to have better value units (which means cheaper units) tomorrow, or buy worse value units (which means more costly ones) right now, inside the strict placement limits; and the AI almost totally fails in this. The AI seems unable to think in terms of placement limits, when the cheaper units are so much more effective/cost than the more costly ones (typical example, already made, is the peltasts/slingers, so much better than the swordman/legionaire, that the AI refuses to buy any swordman, even when buying peltasts just means not using the income it has; yet, many swordman or legionaire or hoplite are normally bought, in the game, with Greek, Macedonia or Seleucid, by good players, mostly out of placement limits, and the necessity to have the most power right for use as soon as possible).
- In general, a thing I've noticed also in other maps, the AI tends to dislike high price and power units too much. While it is true that fodder is usually a better deal, I think the AI exceed in underestimating power and movement, liking fodder too much.

General suggestions:

- Here, with RomanRepublic, it is normally bad wandering around spuriously taking neutrals; either you have to go almost full land east or almost full land west; I always go full west, but all good players I've seen prefer to go full east, instead (the standard experienced way to play Roma (I never do) is to put max in reach of Patavium round 1, attack with max on round 2, put a factory on round 3, while going for Senio, spam 8 cavalry in Patavium on round 4, while going for Salonae, finally opening the frontline with Macedonia, with massive treat on its capital, so to have it crumbling under the double pressure of Roman and Greek (meanwhile, Carthage has probably made a very big fleet that, at some point, it moves full loaded into SZ 44, so menacing of amphibious landing the Greek capital, thus obliging Greek to retreat most forces, to avoid their own capital falling)) (the main reason why the naval movement was reduced to 1 (I dislike), is to nerf the Carthage move on the Sparta capital).
- The AI keeps playing Carthage by going with massive force through North Africa towards Egypt. This is bad. No good players would ever even think doing such a thing. Carthage should concentrate mainly on going via sea against Roman, and secondarily via Spain against Roman, as well. Also, once it has a big full fleet around Sicily, it should think about going for Sparta, since this is the capital of Greek. It should send nothing via land towards Egypt (that's what Numidia does, of course). So, the AI still has a bias in favour of land movement; meaning that it tends to prefer going via land, instead of by sea, if he can. The AI should not choose to go to one far away power, instead of a closer one, just because the first one is land connected! Here Roman is at the gates, while the nearest Egypt territory is 8 land territories away! The AI should understand it's not supposed to go after Egypt at all, but after Roman (or, secondarily, Greek). If the AI is doing it for taking the neutral territories in central north Africa, this is a very stupid decision as well: you don't simply walk so much forces away from your main objective, to take unworthy neutral territories in a totally different direction than the one you should go.

Round 1 errors:

(general gameplay valued on a 5 levels scale: Horrible-Bad-Decent-Good-Masterful)

Carthage: Bad Play
- Attacks too many neutrals at once, with forces better be spared to make more neutral taking in following rounds.
error: Attacking Castulo with 1 cavalry, 1 swordman and 1 spearman against 1 swordman and 1 cavalry is a much underpowered attack on a neutral territory worth only 1 PUs.
solution: It should have attacked only Castulo, with all units in range.
alternative: Attacking both Castulo and Salamantica is possible (in dice, it should attack only Castulo, instead), but it should have sent 1 less spearman in Salamantica and 1 more in Castulo (suggested: 1 spearman and 1 cavalry Salamantica; 2 spearman and 2 swordman Castulo).
- Fails to properly stack Lilybaeum, sending 1 horse, instead of 1 spearman, with the bireme and not loading 1 spearman (together with the warelephant) (this is probably a bug, the AI not seeing that it can load warelephant+spearman on trireme, instead of only warelephant), on the trireme.
solution: Lilybaeum should be stacked with 1 warelephant and 5 spearman (putting at about 40% the double strike RomanRepublic GreekCityStates on it).
note: Putting a city in Lilybaeum would have been good, if properly defended (even in the current 270BC, in which Roman+Greek have about 80% to take Lilybaeum, putting a city there is still good (better to put it, lose, and reconquer it, than not to put it); because with no city in Lilybaeum on round 1 the Roman player, with a factory in Capua on round 1, can manage to keep placing bireme in SZ 34 (on this map there is a big general defensive advantage for sea units) and keep away from this key zone Carthage for a very long time).
note: Roman can attack with 2 velites, 2 legionaires and 1 ballista, lowering the defence to average 1.5 units; then Greek most probably take Lilybaeum.
- Forgets (apparently) to have a bireme in SZ 14.
solution: Use the bireme to move 1 spearman from Gades to Carthago Nova (that spearman will attack Valentia on next turn); also, move (first best) 1 cavalry from Carthago to Igilgily OR (second best) 1 spearman from Hispatis to Acci, to be loaded on next turn, and unloaded for the attack in Valentia.
- The production choices are very bad. As usual, the AI prefers going by land, than by sea, which is not always the right choice. Here, placing 3 horses in Carthago and having 2 spearman in Thapsus, the intent is clearly to go for land grabbing of neutrals towards Egypt, which is a very stupid choice.
solution: Other than the city in Lilybaeum (good, if properly defended), place 1 bireme in SZ 36 and 1 swordman or 1 cavalry in Carthago (the cavalry can be sent in Igilgili, to be loaded on the bireme on round 3, for attack in Tarraco), saving 1 PUs (no reasons to buy 1 hoplite to fully use PUs here).
note: If bought 1 swordman, then send 1 spearman in Hippo Regius, to be sent in Ingilgili on round 2 and unloaded in attack Tarraco on round 3; if bought 1 cavalry, just keep all land forces in Carthago, on round 1 (then send the new Cavalry in Igilgili on round 2, to be loaded in Tarraco on round 3).

RomanRepublic: Decent Play
- Doesn't attack Lilybaeum.
solution: Attack Lilybaeum with 2 velites, 2 legionaire and 1 ballista, putting it down to average 1.5 units (then, it will be probably taken by the Greek from Syracuse).
note: It should have attacked Lilybaeum because Carthage failed to defend it properly. If Carthage would have put max defence there, then Roman should have not attacked (instead, in the current 1.5 version of 270BC, the double strike on Lilybaeum is about 80% success; so, it is borderline to attack or not).
- Doesn't know what to do (apparently) with the trireme.
solution: Move the trireme in SZ 25, shipping 1 legionaire and 1 velites from Capua to Arretium; then, next round, the trireme will be used to attack Aleria (first best), or Caralis (second best), or Massilia (third best), preferably using units from the Roma territory, with 1 velite and 1 ballista, or 1 legionaire and 2 velites, or 2 legionaires and 1 velites.
note: This is just assuming that it didn't use the trireme to attack Lily.
- Putting the legionaire in Sparta makes no sense with the subsequent Greek moves, cause Greek go for taking Corinth.
solution: Owning to the actual Greek moves, put 1 velites or 1 legionaire in Athens, while keeping all Greek forces in Delphis there, or put it in Delphis, to distract Macedonia forces from concentration in Athens; also, put a Legionarie in Tarentum, to be shipped on round 2.
note: I guess it did this just to protect Sparta capital from Macedonia. If this is the case, the AI should have seen that the turn of Greek is before Macedonia, so no need to protect the Capital, unless having some Greek strategy implying ending up short on defence (normally, but mostly only in Low Luck games, the Greek strategy round 1 is to strafe Corinth and retreat in Athens; so, Roman usually put 1 unit in Athens, to help implementing this strategy at the utmost effectiveness).

GreekCityStates: Decent Play
note: The Greek combat moves are good. A possible and most popular Low Luck alternative is to attack Corinth via land from both connections only, destroy enough forces to have Sparta safe, then retreat in Athens, and put a factory in Athens. In this case, putting a legionaire in Athens is good, for higher safety (and ability to send some more for attack in Sardis). Anyway, having to deal with safekeeping the factory in Athens is hard and require thinking ahead seriously, so going for taking Corinth and Sardis (putting a factory in Corinth on round 2) is probably the best for any AI not calculating ahead.
note: The factory in Syracuse is something I've never seen anyone doing (and I would not do it, I think), but I think it is an inferior but not terrible choice (having placed an exposed and hardly helping factory there downgraded the gameplay of Greek from good to decent): it can make Roma getting a good edge over Carthage, but at the price of dooming Greek against Macedonia, which will, in turn, bite Roma or Egypt back pretty soon (but not too soon). So, factory in Syracuse is a crazy move, and a bad one, but I don't feel like saying it is too much of a bad one, at least for AI standards.
- Saves 2 PUs.
solution: Instead of buying 1 city and 2 slingers, it should buy 1 city, 1 slinger and 1 swordman (or delay city buy till round 2 and buy some ships and some costly land units, like hoplite).

Macedonia: Decent Play
note: The decent play derives mostly from the not good play of Greek.
- Doesn't stack Athens.
solution: It should have sent 2 peltast, 2 swordman, 2 hoplite and 1 cavalry in Athens, during combat move; so to take and hold it (Greek can counter with only 7 unit max).
note: The decision taken to go for the income in 3 territories is not too bad, and anyway Athens is taken, so good enough moves, only modestly not optimized.
- Forgets (apparently) to move the hoplite in Dodona (not big need to defend Dodona from the Roman legionaire, cause there are enough units close to counter and kill it.
solution: move the hoplite from Dodona to Delphi (to be ready for attack Athens next turn).
- Doesn't protect the capital well enough.
solution: don't send so many units to take neutrals or buy 1 hoplite and 1 cavalry, instead of 2 peltasts.
- Saves 5 PUs (more than half the total income of 9!).
solution: buy 1 factory and 2 peltasts, instead of 2 peltasts; place the factory in Larissa and protect it sending 3 units there (not attacking Salonae, so to have the needed units, that will also put pressure on Athens).

Egypt: Decent Play
note: the Egypt play would have been rated as good, if only it did place only one, instead of 2, factories (that was the only major stupid thing (it may also be an actual bug, since why to get 9 placement spots if you have 18 PUs and the cheapest unit cost 3?)).
note: The regular way to play Egypt is to go east as much as possible, while piling up a stack of axeman in Alexandria, so to keep Paraetonium deadzoned (in dice, I suggest keeping it always at about 80% win, to scare Numidia away).
- It should have attacked with all forces in reach in Damascus and either consolidate there (as it did), or strafe and retreat to Jerusalem (both decisions good).
note: If it would have sent all forces in Damascus, and taken the axeman as casualty instead of the spearman, it would have ended the turn with 1 chariot, 3 spearman and 1 axeman in Damascus (instead of 1 chariot, 1 spearman and 2 axeman), thus obliging the Seleucid to attack Damascus on worse terms.
note: leaving 1 unit in Sidon is right, but it should have been 1 spearman, shipped from Memphis.
- It should not have attacked Paraetonium at all. Since Paraetonium is a value 0 neutral territory, you attack it only if you intend to go west, and Egypt should go east, instead.
note: As for Roma, the AI tends not having a clear direction; differently from Roma, here the right direction is going east, so Egypt should not have cleaned up Paraetonium for no reasons.
- It should have used the trireme to ship 1 spearman and 1 axeman to Pharan (and not using the axeman to attack Paraetonium); anyway, even with combat moves done, it should have still shipped the spearman to Pharan.
- It should have placed only 1 factory, either in Jerusalem or Memphis (not both).
solution: buy 3 axeman and 1 factory; save 2 PUs; place 1 factory in Jerusalem or Memphis; place 3 axeman in Alexandria; keep 1 axeman in Hermopolis (so to have 4 axeman pointing at still neutral Paraetonium); move whatever other units in Alexandria and Hermopolis east as fast as possible.
note: Now Egypt has 9 placement spots, 18 PUs and no units cheaper than 3 PUs to buy! That 2 factory placement could have barely made sense if Egypt had the possibility of building slingers/peltasts (still, it would have been a bad move, implying letting a good Seleucid player take Jerusalem with relative ease).

Seleucid: Good Play
note: The factory in Emesa is something very unusual; on the other hand, albeit still far from usual, in case that Egypt doesn't take Damascus on round 1, putting a factory in Damascus is a working strategy. So, albeit very risky, I don't feel like classifying Emesa factory as a clearly bad choice. Normally, instead of Emesa or Damascus, the factory is placed in Tarsus or Sardis (or both); reason being that Seleucid are a power meant to be killed, so you normally want to aim at surviving as long as possible, defending Antioch; so, putting a factory in between of your capital and the usually advancing enemy is a daring and hard to manage decision; as a consequence, factories are usually put west of Antioch, or in Sidon.
suggestion: Adding a check for not-supposed-to-expand players that make them much prefer not placing factories in territories closer to the enemies than their own capital (cause this just means gifting the factory to the enemy, after some time; and those players are just supposed to delay as much as possible the moment in which their capital falls (and a well played Seleucid can delay it for a very very long time: Seleucid is a very hard nut to crack, when well played)).
note: Actually, contrary to the general rule of not placing a factory near the enemy, if the enemy is the one advancing, placing with Seleucid a factory in Damascus is a possible (albeit uncommon) response to a round 1 Egypt strafe in Damascus and factory place in Jerusalem; so to be able to massively attack Jerusalem on round 3 (by placing mov 1 units in Damascus and mov 2 units in Antioch), assuring that there is no way for the Egypt player to old Jerusalem. Anyway, this is a rare strategy and, while strafing Damascus is a popular one, but mostly limited to Low Luck play, I'd rather prefer taking it with Egypt, like the AI does (except that I send everything that reach and take axeman as casualties).
note: Attacking Ctesiphon is something that no good players would ever do, aside Egypt getting diced in a really horrible (and close to impossible) way (so, never in Low Luck, for sure). But this is due to the central position of Seleucid, their dynamic of going down and, as a consequence, the fact that their TUV is more important than the one of their opponent and they should aim at slowing down the game (so, not encouraging logoration, but stacking), to die as slowly as possible. All this is something that an AI not thinking ahead can't really understand. So, under the limits of a shortsighted AI, I don't feel like declaring the attack in Ctesiphon like a move the AI should not have done (while I surely say that a human player should be able to understand that he should not do it). Anyway, it is not clearly a bad move, but the negative consequences are rather small.

Parthia: Decent Play
- The attack distribution is not optimized: too many forces sent in Seleucia, instead of putting more in Ctesiphon; also, the faster units (horsearcher) should be preferred for attacking behind (Ctesiphon is farther away from the enemy than Seleucia).
solution: send 2 horsearcher more in Ctesiphon, instead of Seleucia, and send 1 cataphract more in Seleucia, instead of Ctesiphon (Seleucia attacked with only 1 spearman and 1 cataphract; while Ctesiphon attacked with anything else that can reach).
- Useless and bad factory placement: the AI should be able to see that it can hold Seleucia and put a factory there, next round, instead of putting one, now, in some other territory, especially since it currently has enough placement spots.
solution: buy 2 cavalries (all-cavalry is the very standard round 1 buy almost every good player do (7 cavalry placement in Persepolis in original and 2 cavalry in this mod is the normal round 1 place; then on round 2 you place 1 factory in Seleucia and place some more units in Persepolis)), instead of 1 city and 1 spearman.

Numidia: Good Play
note: All good, close to masterful, yet not masterful, for minor reasons; namely, I think it is better to place 1 cavalry in Leptis and send all cavalry in the west to the east (using only movement 1 units to take the neutrals in west Africa); send all infantry in reach in Igilgily, to attack Cartenna next round, and proceed west to take all west Africa; exception is the archer, that will be loaded in the bireme; send the bireme in SZ 30.
note: Placing 1 spearman in Leptis is not bad, but placing 1 cavalry is preferable (so to attack Cyrene next round, with it).
- Forgets (apparently) to do anything with the bireme.
solution: Send the bireme in SZ 30 (next round, it can load 1 archer from Igilgili to stack Caralis against future Roma attack, if still in Carthage hands, and the bireme can be used somehow against Roman, instead of leaving it in west Mediterranean doing nothing).

As a side note, these are the gameplay values I would give Moore (medium or strong) AI:
Carthage: Good
note: Moore play is actually close to masterful: Moore masterfully places 1 warelephant and 5 spearman in Lilybaeum (it correctly moves 1 warelephant and 1 spearman with the trireme), coherently concentrates in attack in Castulo, and produces 1 warelehpant and 1 spearman to be shipped (which is good, but worse than placing a city in Lilybaeum), but it moves the bireme in SZ38, which makes no sense (but this is a much minor mistake).
RomanRepublic: Good
GreekCityStates: Good
Macedonia: Horrible
Egypt: Decent
Seleucid: Horrible
Parthia: Horrible
Numidia: Bad

note: While an almost purely land power like Seleucid is handled much better by Hard, than Medium, a mostly sea power like Carthage is handled better by Medium, than Hard.

To give you a better insight about how this mod of 270BC may be played, here it is a round 10 game, I played with myself:

20150323_270BC_Tertiered_solo03_10.tsvg

The factories I placed are:

Territory : Production Value
Tarsus : 2
Lilybaeum : 2
Corinth : 2
Jerusalem : 3
Seleucia : 3
Salamis : 2
Siwa : 1
Massilia : 1
Sardis : 2
Hatra : 2
Corduba : 2
Palma : 1
Tingis : 1
Banasa : 1
Athens : 2
Babylon : 3
Hispatis : 1
Teredon : 2
Cyrta : 2
Barcino : 1

I may not have played this very well all the time, but I think is overall good (albeit strange) play, and surely something much better of what the AI does.
At this point, the victory of anti-romans is over 90%, methink.
I want to underline how the major turning point of the game, in favour of anti-roman, has been the round 2 Seleucid attack on Jerusalem. The battle was 76% win and 0 TUV swing, with 2 units remaining; and that was out of bad Egypt play from me, because I should have left 1 more unit in Jerusalem. Still, if the dice would have been bad for the Seleucid, getting the 24% lose probability, the game would have been probably lost for anti-romans faster than it had been (almost) won.
On the other hand, I got overconfident with Seleucids late in the game and I took Antioch with Parthia.
Anyway, as said, this is a well played game; that you can use as reference for what the AI should, more or less, do.
Of course, since I played it all, and it is dice, this gameplay is almost totally different from what you would see, if someone else good would have played this mod or the original 270BC, with Low Luck (I tend to play in very unorthodox ways) (also, this is dice; what usually happens, at least in most low luck games I've seen in the regular 270BC, is that either Carthage takes Roma or Parthia takes Antioch or both (I think the game is usually mostly a run to see what falls first, between Roma and Antioch (so, this savegame has almost nothing to do with what a normal 270BC game looks like (for that you would need someone else but me posting a savegame, sorry)))). But, you know, better than nothing, maybe.
Because I play so differently from normal, I don't think I would post a savegame of regular 270BC, for reference.

Depending whether Veqryn will accept to have this Tertiered mod or not, this mod may serve you as a tool or an actual reason for expanding the AI placement of factories down to 1 placement (a thing that, currently, would be totally plainly useless for whatever TripleA games, except only this mod, cause an AI thinking about placing factories in value 1 territory should just decide to never do it, in whatever games but this one).

Also, as you already know, I want to remind you that in v1 (only) you are able to place factories in value 0 territories, and value 0 territories are able to produce 1 unit each (instead, in v2 onwards, value 0 territories are able to produce 0 units; so, you don't want to put factories there, even if would be able to (you are not) (I anyway suggest you not supporting v1 rules here, and just hardcode the AI never placing factories in value 0 territories, regardless)). So, in a v1 map, there is absolutely no difference in placing factories in value 1 or 0 territories. Differently from v1 rules, and the original 270BC, here I disabled the ability of placing factories in value 0 territories (by restricting the city to be placed in value 1+ territories). This is due to the fact that, in original, you never want to place any factories in value 0 or 1 territories, and here value 0 territories are the territories valued at 0 or 1 in the original game; so, to keep gameplay dynamics closer to original, value 0 territories are better not to be able to produce 1 unit, like the value 1 territories does, that, in turn, correspond to value 2, 3 or 4 territories, in the original game.

If the AI would not be forbidden to place in value 1 territories, the following should be the most obvious city placements in value 1 territories:
- For Numidia, placing a factory in Cyrene or Sywa (maybe both, after some rounds), depending on Egypt treat (Sywa may be risky)
- For Carthage or Roman, whoever gains the upperhand (in normal 270BC games, as long as it is not played by me or with dice, it is normally easily Carthage), you should see some factories placed in between of the vaule 2 territories of Corduba and Arretium (for example, in my solo game, I placed, with Carthage, a factory in Hispatis, because I needed more placement spots to hold against Roma advance, and I placed factories in Massilia, Palma and Barcino, because spending 10 PUs for having 2 placement spots next to the frontline was clearly better than spending 5 PUs for having 2 placement spots back in far away Ariminum or Arretium.

The conclusion is that I don't want, expect or even advise you expanding the placing of factories in value 1 territories too (cause it would be currently useless in all games except this mod, as I said); but if, just for fuck sake, you'll ever want to get rid of the hardcoded 2 limit, and expand the AI into generally thinking about placing factories in whatever territories able to produce (meaning 1+ value, aside from v1) (meaning that the AI will decide not to place in value 1 territories, instead to be told not to do so), I think this mod is currently the only 1 game that would allow you to actually test it (in whatever other games, an AI able to place in value 1 territories should just always decide not to actually do it). By the way, the AI is fast here: with the delay at 50 ms, it makes the first round in 56 seconds (average 7 seconds per player)!

Cheers
History plays dice
Reply | Threaded
Open this post in threaded view
|

Re: AI Development Discussion

redrum
Administrator
@Cernel - So... That is a rather long post :) Not sure where to start exactly.

I looked at the mod and the AI save game.

Low territory values - The AI definitely has issues when the territory values are so low in regards to buying factories and purchasing more expensive units. It has the hard min of 2 for factories and values units based on hp/att/def per PU. These are essentially known issues since pretty much all other maps have much high territory values and production caps. It could be fixed but I'd consider it low priority. Definitely a good test map for it though.

Neutrals - The neutral attack issue is somewhat intended as it does to some evaluation of expected unit loses vs the value of capturing the territory but is programmed to attack more than it should to make sure it doesn't get stuck in various places. As you mention, its not that far optimal. I'm sure it could be improved but think it again is low priority.

Land vs Sea - The Hard AI is definitely heavily biased towards land right now. This is something that needs improved and actually has gotten worse in the last few pre-releases since I did some changes to better calculate territory value but didn't update purchase/place calcs. I'm going to make some updates so that Carthage realizes that its better off building navy or massing in Spain since Egypt is so far away.

Specific Turns (Carthage) - Well I ran my own test with the Hard AI of round 1 and got slightly different results. You have to remember that there is a certain amount of randomness to the AI's attacks/defenses/purchases. For example, Carthage attacked the 2 neutrals in the preferred way you described and it transported horse+spear+WE to Lilybaeum which is almost optimal. It chooses the horse instead of another spear because it only checks defense against the strongest threat so it thinks it already safe (doesn't defend against multiple attacks yet). The production is really bad but has to do with the AI determining its a land power when it shouldn't.

Medium vs Hard AI - In the long run, I don't think any of the nations on this map would be played better by the Medium AI (including Carthage). I also don't think that the Medium AI would ever defeat the Hard AI on this map or any other standard map at this point (feel free to prove me wrong). The Medium AI has lots of randomness so sometimes makes a good play but most often makes terrible plays.

Thoughts:
- Interesting map idea though I wonder if this type of map would gain popularity
- Good feedback though it would be helpful if it was summarized more so I can get through it quicker
- AI needs better land vs naval factory calculations (going to try to improve this in the next pre-release)
- Most of the other points (1 prod factories, dealing with very restrictive unit production, neutrals, etc) are low priority

Does that seem to capture everything?
Reply | Threaded
Open this post in threaded view
|

Re: AI Development Discussion

Black Elk
This post was updated on .
In reply to this post by redrum
Now we're talking! Using the latest Jar...

This is the BEST that Hard AI Axis has yet done against me in v5! Check it out - Invasion USA!


Pushing me till the 20th round, Hard AI Japan just managed to crack a massive stack of American infantry in W. Canada, during the very round when Allies were setting up the triple hit on Berlin!

They brilliantly tricked the Americans into a brutal death in the frozen wastes of the Yukon during round 19, sending over a surprise force of 9 Bombers from Buryatia for an unexpected critical hit! Japan built up steadily for a North American campaign, but had been largely contained in Alaska until this breakout. Allies had been trading aggressively for the duration, and holding to the KGF, but with the Allies focused on pushing their final drive against Berlin, HardAI Japan shocked the world, by crushing the North American defenses and forcing the Yanks out W. USA!

Rather than taking Berlin with the USA as planned, the Western Allies were forced to let Stalin capture the German capital, as the Americans rush back to defend their Capital from imminent invasion. Look at this dramatic predicament. FDR just had to make an emergency factory purchase in Central USA, and Patton has been recalled from Europe to defend the Homeland...
HardAI_Axis_vs_Elk_Japanese_Invasion_USA_round_20.tsvg

Fantastic job Hard AI Axis! =)

Here is the situation in round 21, at what is likely to be the zenith of Japanese power! Advancing beyond the Rockies, before being turned back at the Mississippi hehe
HardAI_Axis_vs_Elk_Japanese_Invasion_USA_round_21.tsvg

And here is the situation in round 22, when the invasion collapsed. Had Japan opened the Panama canal, or left a blocking inf in W. Canada, or perhaps just waited a round to push on Central USA, I think they might have been able to take Washington D.C. Instead they were driven back into the Pacific ocean by Patton!
Better luck next time, Hard AI Japan ;)
HardAI_Axis_vs_Elk_Japanese_Invasion_USA_round_22.tsvg

Kept it going through the 25th round for the Honorable VC win. Note how Japan kept their transports alive till the very end! With a dozen Japanese transports still afloat as the curtain falls for Axis...
HardAI_Axis_vs_Elk_Japanese_Invasion_USA_round_25_VC_Win.tsvg
Reply | Threaded
Open this post in threaded view
|

Re: AI Development Discussion

Cernel
In reply to this post by redrum
Ah sorry, was my ignorance. It is not true that this is the only 1 game in which you would ever place a factory in a value 1 territory.

I'm just spectating a random LoTR game and saw that a player called Ajmdemen placed a factory in Harad Road with Haradrim on round 1.

Looking at LoTR, I would say that my 270BC Tertiered mod is quite close to it, stats wise. LoTR is start game production 82/112 with 12 players and factory cost 8; while 270BCT is 50/50 with 8 players and factory cost 5.

BTW, as I said, the matter is not just that it brings the cavalry, instead of one more spearman, but mostly that it brings only the warelephant, with the trireme, instead of warelephant+spearman (I think this may be a bug, as I said).
History plays dice
Reply | Threaded
Open this post in threaded view
|

Re: AI Development Discussion

redrum
Administrator
@Black Elk - Nice game. Decent invasion by Japan but not quite enough. Glad to see it at least take things into 25 rounds.

@Cernel - LoTR is pretty low on production for a standard map. I still see very few factories ever being placed on 1 production territories though. I'm guessing less than 5% of factories are placed on 1 prod territories.

Here is a test game of the Hard AI Carthage round 1 on your 270BC mod where it seems to play alright: test_270BC_mod_Carth1.tsvg

It probably should have attacked the neutral with more units and transported a spear instead of cavalry. But other than that seems to do alright.
1 ... 33343536373839 ... 63