• '18 '17 '16 '11 Moderator

    Tekky,

    The biggest problem is the inability to open tripleA files, both the ones I send and the ones I receive.  I do check to make sure it’s the same version of the program though.

    Anyway, yes, LHTR 2.0 would be great, and as I say, so would national advantages.


  • you were saying something about it performing ok on one computer and not ok on another?
    is that this?

  • 2007 AAR League

    I wonder if she’s using the patched version 0.8.2.1 on one computer and trying to load an unpatched saved game file 0.8.2.1 - the versions would look identical but they are not compatible.

    Jen should try 0.9.3 if she isn’t already.


  • FYI: 0.9.4.0 was just released on Saturday.

  • Moderator

    Since it was brought up in the initial post here, we’ll just use this thread for AI discussion.

    I have some ideas, but I’m not a programmer and don’t know how easy/hard it would be to implement or try various ideas.

    1 - What should the AI attack with?

    I think a good baseline for an “Aggressive AI” would be to attack with equal force (+1) in both number of units and hitpoints (think LL).  Units should be classified in three categories: 1)  Fodder [read infantry] 2) Heavy Land [rt and arm], and 3)  Heavy Air [ftr and bom]

    So, when an AI is picking what to bring in, it should bring in equal “fodder” + 1 plus minimum air needed to achieve victory.  If air is not available it should cyle to just enough rt, then just enough arm.

    Example - R1 (Russia attacks 3 inf, 1 rt, 1 arm in Wrus).
    The minimum the AI should bring would be 6 “fodder” since the Germans have 5 units and then it would need two 3’s (starting with air in range) so that you have an advantage of 12 hp to 11 hp.

    Or a typical trade when attacking 1 inf would be 2 fodder inf plus 1 air (if in range).

    2 - How to determine attacks?

    I think the board should be renumbered from 1 to (whatever) with 1 being the most important territory, then 2, then…. X (least important)

    The initial renumbering takes place prior to the start and might look something like this (only including Russia and Germany):

    1 - Berlin
    2 - Moscow
    3 - Wrus
    4 - Cauc
    5 - Ukr
    6 - EE
    7 - Kar
    8 - SE
    9 - WE
    10 - Kaz
    11 - Novo
    12 - Balk
    13 - Arch
    14 - Belo

    I’m not sure if renumber should take place at the start of each players turn of if these numbers would hold throughout the game.

    Anyway, here on Russia 1, the AI would look for the lowest number (best target) it could attack and then decide what it needs to bring in.  In this case Wrus would be first (ranked #3 overall).  Once it can be determined it can safely move units from 13th ranked Arch and 7th ranked Kar etc. it would now be free to look for the next highest priority target and calculate if it had enough units and hitpoints to try an attack here.  That would be 5th ranked Ukr.

    I still have to think about how it would decide when to deadzone and not.  Obviously you wouldn’t want it deadzoning Wrus on R1.

    Anyway, by giving all the territories a default ranking you can give the AI a way to easily determine that Wrus is way more inportant that Man for example.

    And now that I’m thinking about it, you can probably renumber at the start of each players turn and eliminate all territories it holds and its Allies hold as well as those that don’t have a hostile boarder.  For example there isn’t much point to rank Safr high if Germany doesn’t have units that can attack there, BUT Egy may be ranked high as a means to get to Safr.

    The renumbering would be based on the initial defualt rankings you give so then on G1, Wrus, Ukr, Kar would still be ranked very high while Mos, Nov, Kaz would not since they are no longer in hostile territory.

    Also by renumbering territories you could have several different default rankings, one KGF, one KJF, and a few (or several) “Random” setups so that R1 isn’t always the same.
    For example you could have one where the AI views Belo more important than Ukr, this would give you the Wrus/Belo open instead of the Wrus/Ukr.

    Anyway, there’s a lot to think about and I’m still kicking things around but wanted to just jot some things down before I forget.


  • This is where we should maybe start a petition or something for some gaming company (ie Microsoft) to mebbe help us out a bit. They could provide the know-how, we could provide the “we want it done like this/we want the AI to do this but not this” kind of thing. Or we could contact the developer of the game and ask for him to use his contacts and network to help us out. Or if one of us was nicely rich, we could just buy something.  :-P


  • Some nice ideas Darth. What I noticed about triple A is that the program seems to attack only with units in neighbouring countries even if it has other units, say armour, in range. And even more important the program should make a calculation if it should trade a territory or stack it - this means it should calculate with how many units the enemy can attack the specific territory on his next move. Cause right now it does none of this and this leads to attacks or non combat moves into deadzones or figthers or even worse bombers landing in friendly territorys that can be attacked by land units (or in the last case enemy air)

    An implementation of LHTR 2.0 would be nice too.


  • I think the single biggest weakness in the Triplea AI is ineffective use of transports. And when I say ineffective I mean totally hopeless. The US AI seems scripted to offload into Africa (or else the limited “logic” determines this is the only move it ever has.) And you will routinely see the US AI purchase 20-30 transports throughout the course of a game. It might load 5 transports at a time tops. In the bid for Africa sometimes the transports go to sz 19 for no apparent reason.

    It’s the same when the AI controls the UK and buys 4-5x the transports it can use. It’s frustrating to see the German AI leave that 1 fighter in WEur then the UK AI loads 3 of it’s 20 transports and just leaves the units sitting there on the transports. Doesn’t unload, doesn’t attack anything. I just don’t get it. What could the “logic” be that drives the transports to be loaded in the first place if it doesn’t follow up on that by unloading them into combat or reinforcing something? Japan AI goes whack on transports too. What’s with all the wild transport purchasing? No rationale to it since a 2-step shuck is obviously out of the question.

    And ya gotta love the AI for faithfully leaving the two Russian fighters parked alone in Archangel at the end of R1. But not to worry… the German AI won’t notice this huge gift of fortune until the UK AI lands the bomber there too. The AI also never, ever takes into consideration the possibility of a one-two attack to capture an IC. The odds have to work out for one country to successfully win the attack singlehandedly. With the AI buying transports out the wazoo with precious little useful ground units to show for it, that can take a long damn time too.

    So yeah, I have put the AI through it’s paces. It isn’t very fun. I’ll play 1 nation and let the AI play the rest which can indeed be a “challenge”, but not in the good, fun sort of way at all. It’s actually a rather frustrating “reverse” challenge. You face a terribly feeble opponent and have a terrible feeble ally to boot, all of which make dumb moves across the board constantly. So that’s challenge! It’s more of a test of patience really than anything approaching strategic gameplay. So instead of saying to yourself “ooh, that was slick” you’re constantly going “Awwww, come on guys!!!”

    So if there were only one improvement to be made to the AI my vote is on transport logic. I can appreciate the difficulty in scripting logic into a game of this complexity, but stacking 20-30 transports when you can only place 8-10 units? What’s up with that? AI transports are currently borked beyond all comprehension. ~ZP

  • Moderator

    Transports are a pain.  IIRC, the 98 CD (Classic) had similar issues.  The island countries would just have waaaay too many.

    I’m thinking you’d probably have to hard code something in where at a certain point you eliminate the option for them to buy.  You could cap UK at 8 (6 for sz 5/6, 2 to roam), Japan at 10-12 (3 sz 60, 2 fic sz, 2 egy + 3 to 5 to roam), and US at 12 (8-10 Atlantic, 2-4 roam).

    In some cases these are high but it beats seeing 15+ on the board for no reason.

    I’m wondering if it would be possible to “assign” certain transports for certain duties.  For example with Japan, just to classify the first 3 transports bought as Sz 60 specific.  Meaning no matter what they stay in Sz 60 and will simply off load to Bury if Japan has up to 6 units on Japan.  From here on “excess” trns are needed to go elsewhere.
    It may not be the best strat, but it I think it is a safe assumption that most players will always have at least 2 trns in Sz 60 and considering Japan-Bury-Yak-Novo is the quickest way to get inf from Tokyo to Mos it isn’t that bad of a strategic play.

    Likewise I think you could probably code something for the US for either an Afr approach or the UK-Kar approach.

    I think this is possible b/c quite frankly there are some things that should probably be done in all games regardless of opponents moves so you can sort of make some safe assumptions.

    I guess what I’m getting at, is you can eliminate some of the AIs freedom (most likely in purchasing) but still get good game play.

    For Example, I think as an Allied player I could tell you that as Russia I’ll buy 5-1-1, as UK 2 ftrs, 2 inf, and as US 1 ac, 1 ftr, + inf (round 1 un to rt), then in round 2 Russia buy all inf + 1 rt/arm, UK buy 1 ftr, trn + inf, US 2 trns + inf, Russia 3 All inf + 1 rt/arm, UK buy trn + inf + 1 rt/arm then US 1 trn + inf + arm.

    So I just went through 3 rounds of Allied buys that will pretty much work in most games (at the very least you won’t lose the game b/c of the buys) without knowing my total IPC count or even board situation. Thus I think it is possible to setup certain parameters for what the AI should buy without making it a completely scripted game.

    Honestly for Germany and Russia If you simply coded in that they buy all inf and only upgraded to an rt or arm if they had an extra 1-2 ipc you’d have the basis for a very strong AI player.


  • Such buy-routines could surely improve the game play, but even then the AI should not ignore counterattacks on the opponents turn.

Suggested Topics

Axis & Allies Boardgaming Custom Painted Miniatures

39

Online

17.4k

Users

39.9k

Topics

1.7m

Posts