NTai XE10.1b - Page 58

NTai XE10.1b

Here is where ideas can be collected for the skirmish AI in development

Moderators: hoijui, Moderators

User avatar
lale
Posts: 73
Joined: 29 Apr 2007, 08:36

Post by lale »

First, my wishlist were for inspiration :idea: , and NOT something I would need in order for me to consider the current version of NTAI finished.
With the newest build provided in the screenshot thread, I finde NTAI to work well. (You might still need to provide "casual games" with a version where .verbose is off, -per hint in other thread)

AF wrote:You'll have to provide a little help when it comes to what can target what, I dont know how to get that information.
Yep, didn't expect this to come easy.
In my view, this is a problem with the spring engine. (Should give invalid_target, or similar signal, back to NTAI)
But a good start is the Krow (corcrw) flying fortress. This plane is NOT capable of targeting or destroying airplanes, and for some reason (worth learning from!) this WORKS with spring & NTAI.
-again not something that currently needs fixing, but for future versions it might be nice to have subs working better.
AF wrote:He wants a loop keyword because b_guardian stops when it hasnt got anything left to repair, which is silly as the unit would just sit and do nothing, consuming extra cpu cycles. Besides the way the task system is setup it'd be a nightmare to implement in the current setup. Too much work. Itd be best waiting for lua extensions and using a while(true) loop.
I should probably try b_guardian, but right now see NO usage for it. :arrow:
Give a cons kbot. a b_repair after it generated a few factories, and the cons will happy walk between factories, assisting building of mobile units. Also, if it has ├óÔé¼┼ôactive possibilities├óÔé¼┬Ø (not e-maxed) left in its list, it will build one of those from time to time.
AF wrote:Also, define hilly/steep/cliff. How is water different from waterland? These are things I cant do in any specific way. It would also require too much work. I have a lot of projects and right now NTai development follows the line of 'if its not broken dont touch it'.
Yep, I already know this, and do not expect any future features added to current version of NTAI. I simply followed IK├óÔé¼Ôäós line of thought, and wanted to give some inspiration for a waayyyy future release of NTAI.
(NTAI works soo well, that it inadvertently raises the bar of expectations very high :lol:)

But when you find time for a future version (e.g. version 15.82 ;-) ) of extensions to NTAI some kind of; map adaptive NTAI, should be given high priority.
There is no easy solution to this. You have to let NTAI analyze maps at the start (like with mex spots)
A concept for categorizing maps types could be:
  • Map has more uw metal than land metal -> water map
    Map has larger than 33% water area -> landwater map
    Map has more than 100 spots -> metal map
    Map has more than 33% pixels with more than 20% sloop -> rough map.
    Map has more than 66% pixels with more than 30% sloop -> cliff map.
Anyway, this is a very complex analysis. And any categorizing is going to be a lot less than 100% perfect. Still this is the next logical evolutionary step for ALL AI├óÔé¼Ôäós in spring.
As a config maker, it├óÔé¼Ôäós really HARD to make configs that works perfect with all maps. I├óÔé¼Ôäóve taken the decision not to test on speedmetal maps, and watermaps is low on list as well.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

Agreed, terrain analysis is going to need to influence building decisions a lot more in the future.

My current NTai dev cycle ended a while ago and NTai is back in Feature frozen status. I'm prioritizing, and AFLobby is higher up the list right now. I have several months of free time now and I'm sure at some point I'll come back to NTai and add some new stuff but now isnt the time, I enjoy workin on AFLobby more atm.
User avatar
1v0ry_k1ng
Posts: 4656
Joined: 10 Mar 2006, 10:24

Post by 1v0ry_k1ng »

lale wrote: I've found NTAI to be good at taking out mexes, along the way to attack pos.
But I think it├óÔé¼Ôäós important that the mexes should be choice at random, every time a new scout is tasked.


So by the time NTAI techs to krogoth, it needs to build 20, before attacking ;-)
This is not and easy solution.
In the current build of NTAI retreating (due to damage) units get back to base, are repaired, and then attack again, so every attack size grows in strength. It works, just make constructors do and B_offensive_repair_retreat.


OK, I need to BITE you on this one.
What├óÔé¼Ôäós your beef with Singlebuild :?
Would you please elaborate ├óÔé¼┼ôworking├óÔé¼┬Ø singlebuild?
- as I find Singlebuild to be working very well!


If your lobbying for NON looping constructors & factories. You really have to elaborate, as I se no point in having idle constructors standing around??
And any other thing I might do with a non-loop, can be recreated within Max and Min energy section of config file.


Agreed however, I├óÔé¼Ôäóve noticed that b_repair, assists factories, but not idle ones. (It does however also help nearby constructors.)
urgh trolling me.

1) NTAI is not good at taking out mex's. at the end of a match where all that the nemey has left is mex's. it wont go and attack them, it will move to the last threat point and stay there. the game then lasts until NTAI makes nukes.

2)
So by the time NTAI techs to krogoth, it needs to build 20, before attacking ;-)
oh come on use your head man. the krogoth would be send with a 20 strong attack wave, including L1 and L2 units, which is how you use a krogoth. it really IS that easy.

3)
OK, I need to BITE you on this one.
What├óÔé¼Ôäós your beef with Singlebuild :?
Would you please elaborate ├óÔé¼┼ôworking├óÔé¼┬Ø singlebuild?
- as I find Singlebuild to be working very well!
you'd think that, but I practice vs 2-3 of my config every night before playing online. it has singlebuild on L2 vehicle factroy. however, often I find two L2 vehicle factorys being constructed in an NTAI base at once. therefore, the tag isnt working properly.
and you know that solobuild isnt working right.

4)
If your lobbying for NON looping constructors & factories. You really have to elaborate, as I se no point in having idle constructors standing around??
And any other thing I might do with a non-loop, can be recreated within Max and Min energy section of config file.
im a gamer not a developer, and i made my config as a challenging opponent. If you play a serious game there is no way that you can have 20 odd constructors building at once without nanostalling. some need to be reclaiming, some need to be repairing, some need to assist forever, some need to make mex forever. it dosnt matter if they are idle for a minute as generally a good AI is boarderline stalling.
now, there are uses for this in the commander needing an infinite factory gaurd to keep him out of trouble, as all AI's run their boys into LLTs and cripple themselves, he can do far more good back at the base dgunning raiders and assisting factories.
Huh?
All factories and constructors loop the list; allways.
no, they loop between tasklists. if I have 6 seperate conbot lists. then any conbot could have 1 of 6 lists. If i want it to end its list by sitting in the repair area reparing damaged units, and beleive me there is never a moment by the 15 minute mark where there isnt damaged units, thats currently impossible, and it'll go round spamming defences because all its other build options are ruled out at high energy levels.
User avatar
lale
Posts: 73
Joined: 29 Apr 2007, 08:36

Post by lale »

AF wrote: My current NTai dev cycle ended a while ago and NTai is back in Feature frozen status. I'm prioritizing, and AFLobby is higher up the list right now. I have several months of free time now and I'm sure at some point I'll come back to NTai and add some new stuff but now isnt the time, I enjoy workin on AFLobby more atm.
Got to try AFLobby, havn't tried spring on linux, since It dosn't include a good AI (hint, hint ;-) )

if this is really easy to do consider:
Exchange the planners selection of unit with emin/emax checks for B_rule type keywords.
E.G:
  • 1) b_rule encountered:
    2) finde all possible candidates / units (given go ahead)
    3) Reduce list of candidates with units e-maxed / min etc. (this is done AFTER step 4 in current build)
    4) Select optimal unit, from reduced list, to build according to planner.
    5) give order to build unit.
Its step 3 and 4 in above list that needs exchanging in current build.
(eg coradvsol is built instead of corsolar, because corsolar is emaxed)
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

solobuild isnt really feasable, it is a rduced 'parallel build' atm. The multithreaded nature fo NTai makes it harder to eradicate all parallel builds.
User avatar
lale
Posts: 73
Joined: 29 Apr 2007, 08:36

Post by lale »

1v0ry_k1ng wrote:1) NTAI is not good at taking out mex's. at the end of a match where all that the nemey has left is mex's. it wont go and attack them, it will move to the last threat point and stay there. the game then lasts until NTAI makes nukes.
Ok got me, seen this issue a few times. But this could also be solved if NTAI had more active updating of "attack pos" toward the end of game.


2)
1v0ry_k1ng wrote:oh come on use your head man. the krogoth would be send with a 20 strong attack wave, including L1 and L2 units, which is how you use a krogoth. it really IS that easy.
*lale waves white flag* :oops:
OK, but generally when reaching krogoth level with ntai, I have soo many units that I need to disable L1. And the time neede for construction of 20 L2 units plus krogoth, still gives a lot of passive time.
1v0ry_k1ng wrote:you'd think that, but I practice vs 2-3 of my config every night before playing online. it has singlebuild on L2 vehicle factroy. however, often I find two L2 vehicle factorys being constructed in an NTAI base at once. therefore, the tag isnt working properly.
and you know that solobuild isnt working right.
phunny, running 20+ games with singlebuild of certain factories, and I have yet to see any doubles. Maybe this has something to do with dual core cpus??
1v0ry_k1ng wrote:im a gamer not a developer, and i made my config as a challenging opponent. If you play a serious game there is no way that you can have 20 odd constructors building at once without nanostalling. some need to be reclaiming, some need to be repairing, some need to assist forever, some need to make mex forever. it dosnt matter if they are idle for a minute as generally a good AI is boarderline stalling.
now, there are uses for this in the commander needing an infinite factory gaurd to keep him out of trouble, as all AI's run their boys into LLTs and cripple themselves, he can do far more good back at the base dgunning raiders and assisting factories.
OK understand your wish now.
I do the following:
My commander has list:
corcom= >>long list of mex, solar and factories to construct<<, retreat,b_repair;
And the in my e-max section:
>>long list of mex,sol and factories to construct<< = 2000;
This way, when energy production reaches 2000, my commander goes into repair at homebase mode.

Recently, however, I've notice and alarming tendency for him to blow (getting attacked) up near my first fusion, so instead I uses him for a combomb when energy prod. reaches 2000.
1v0ry_k1ng wrote:no, they loop between tasklists. if I have 6 seperate conbot lists. then any conbot could have 1 of 6 lists. If i want it to end its list by sitting in the repair area reparing damaged units, and beleive me there is never a moment by the 15 minute mark where there isnt damaged units, thats currently impossible, and it'll go round spamming defences because all its other build options are ruled out at high energy levels.
Need to get educated on the use of multiple lists for same unit.
if I do:
  • [NORMAL]
    corck=ck1,ck2,ck3;
    [LISTS]
    ck1=cowin;
    ck2=corsolar;
    ck3=cormex;
This little test leads to:
  • 1) one corck exits factory.
    2) builds cormex
    3) builds corwin
    4) builds corwin
    5) builds corsolar.
So are lists simply choicen random, or what?
Lippy
Posts: 327
Joined: 16 Jul 2006, 00:24

Post by Lippy »

Bah, forget AI, I want AFLobby! :P
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

lists are indeed chosen randomly.

I'd also use b_power instead of defining wind or solar individually, as itll pick between the two based on map settings. I dont know but it might always build adv solars if you do that, so emin/max would handle that issue.

As a note: This doesnt mean I have quit NTai. What it means is that atm NTai si feature frozen and I'm only doing bugfixes, and I'll come back to extending NTai at a future date, probably when v0.75 is released.

IK That mex problem doesnt require scouting be fixed at all, even tho it would be helpful. When a base is destroyed, that positions threat started to dissipate because there are no longer enemy buildings inflating the value of that position. The surrounding mexes are still raising the value however and in time theyll be the only blips left. You keep saying this isnt true, which isnt correct. What you're seeing is a blip thats so large on the matrix that it takes too long to dissipate and you never spend enough time waiting for it to dissipate.

This is the art fo threat matrix control. Fiddling the values that determine how often the matrix depreciates, how much it depreciates and how it depreciates. From the looks of it, the matrix needs to depreciate more often, or at a greater percentage. It might be wise to allow this to be modifiable by toolkit, aswell as the resolution of the matrix itself, which could be problematic as higher resolutions take more processing power to search, and a config builder on a superfast computer may alienate much of the userbase.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

I added 2 new tags to the configs (but havent added them yet to toolkit)

One defines wether attack group size is increased by a number or a percentage, the other controls the percentage increase/increment.

I also checked and the all values on the matrix are multiplied by 0.9 (10% reduction) every 5 seconds, which I've reduced to every 3 seconds. Efficiency not power is now used as threat value, and its no longer multiplied by ten.
User avatar
1v0ry_k1ng
Posts: 4656
Joined: 10 Mar 2006, 10:24

Post by 1v0ry_k1ng »

AF wrote:Efficiency not power is now used as threat value, and its no longer multiplied by ten
this could do some crazy things.
more importantly, whats the efficency of mex's and solars?
imo you shoudl set it up to attack the area of least threat, so it goes mexhunting and flanking rather than leeroying into the enemys HLT line
User avatar
1v0ry_k1ng
Posts: 4656
Joined: 10 Mar 2006, 10:24

Post by 1v0ry_k1ng »

what do

automatic targetting values
and
adding more base pos

do in terms of how it plays?
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

1v0ry_k1ng wrote:this could do some crazy things.
more importantly, whats the efficency of mex's and solars?
imo you shoudl set it up to attack the area of least threat, so it goes mexhunting and flanking rather than leeroying into the enemys HLT line
aka empty space. This is how NTai has worked for a long time, its also how AAI works and how JCAI worked and OTAI.

Automatic targetting values means the values are generated automatically. Itll target based on efficiency. If you disable it then you provide your own targetting priorities. This hasnt been added yet to toolkit.

NTai holds a list of locations in an array called base_pos. Everytime a factory is built it'll add that location to the array. This way NTai can tell how near something is to its base. This is how b_retreat works, by ordering it to move to the nearest base pos. Sometimes the default behaviour of adding it just for factories isnt enough so theres a keyword to add a base pos in a tasklist. Dont abuse it though.
User avatar
DJ
Posts: 355
Joined: 17 Jan 2007, 13:26

Post by DJ »

I think IK has a point here, NTai would be best to build in areas of least threat then attack areas of threat in ascending order. I think this would be really quite powerful. If it's quick to code it might be worth experimenting with it to see how it performs...
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

Open the learning file, and add two zeros to the end fo resource stuff and hey presto.
User avatar
1v0ry_k1ng
Posts: 4656
Joined: 10 Mar 2006, 10:24

Post by 1v0ry_k1ng »

your _SURE_ it targets based on efficency? the latest NTAI version public released? it dosnt SEEM to..
User avatar
1v0ry_k1ng
Posts: 4656
Joined: 10 Mar 2006, 10:24

Post by 1v0ry_k1ng »

oh, and seriously, making the AI target the most powerful location might be how those AI's do it, but those AIs were pretty suck in terms of playing well (AAI still holds my heart for its cool learning). you dont want to base your AI on those.
KAI was the AI that attacked the weakest spot. it was consequently the best AI of its time. just ideas..
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

ST armada did it, Warcraft did it, homeworld does it, stratagus does it, glest does it, OTA does it, kingdoms does it, starcraft does it, etc.....

For now I'm happy that it works alright as it is.
User avatar
lale
Posts: 73
Joined: 29 Apr 2007, 08:36

Post by lale »

KAI must have change. Lately its all about building a big armada of units, and going for your home base.
Also it constantly tries to attack NTAI's first build fusion plant, with bombers, eventhough its the middle of a field full of sam's,eradicators and flaks.

KAI is faster than NTAI in building its first small army. And if it attacks NTAI during the first 11 minuts, then NTAI might loose. After 16 minuts of gameplay NTAI always has the upper hand, and just rolls over KAI.


AAI, still has the ability to keep pace with NTAI's tech-up. But its lousy placements and use; of static defenses, usally makes NTAI's "attack strong point" strategy a clear win.

Also AAI is better than NTAI, at attacking out-in-the-field mexes (aka ressource at weak points).
- Only it often attacks a mex out-in-the-field, behind the enemy base, which leads to another lemming effect.

Also AAI constant chasing of different weak point leads to a spreadout of units, due to differenses in units movement speed. This spreadout thins its defence against any counter-attack-squad from NTAI.

However AAI is the only AI I've seen capable of making an advance fusion plant, in just under 11 minuts, on a NON-speedmetal map. It should have won that particular match, if it only knew how to use its mobile units to defend said fusion plant. (NTAI just rolled over it with sumo's)
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

note: KAIs speed of getting a small army up faster than NTai is specific to your config. Its possible that you could tweak your config specifically for KAI to prevent this. Of course this isnt always a bad thing.
User avatar
1v0ry_k1ng
Posts: 4656
Joined: 10 Mar 2006, 10:24

Post by 1v0ry_k1ng »

KAI is broken due to its map hack not working. so it dosnt attack or flank.

NTAI with a good config will easily outproduce KAI or AAI or any other AI. mine does on xta atm.

KAI has intelligent attacking, which means with half as many units it can easily beat NTAI. it also places buildings intelligently.

I dont know why your being defensive AF i wasnt having a go at you or teh ai, im just telling you, if you want it to play well it has to attack the weak spot , ie target mexs + solars, not the wall of HLTS. im sure all those other AIs do use crappy targetting, but thats one of the reasons all those AIs youve listed were no match for a human player.
Post Reply

Return to “AI”