You must be logged in to post messages.
Please login or register

Modding Discussions
Moderated by Alexastor, MosheLevi, Mister SCP

Hop to:    
Welcome! You are not logged in. Please Login or Register.385 replies, Sticky
Age of Empires III Heaven » Forums » Modding Discussions » Idea: Let's start a "Better AI project"
Bottom
Topic Subject:Idea: Let's start a "Better AI project"
« Previous Page  1 ··· 10 ··· 14 15 16  Next Page »
murdilator
Skirmisher
posted 09-22-12 06:52 AM EDT (US)         
EDIT:

Here are links to The Beginner's Guide to AI Modification, written by me:

Part 1:

http://aoe3.heavengames.com/cgi-bin/forums/display.cgi?action=ct&f=14,38878,,10

Part 2:

http://aoe3.heavengames.com/cgi-bin/forums/display.cgi?action=ct&f=14,38885,30,100


------------------------------

Original Post (9-22-2012, 06:52 AM)

I have an idea that we can significantly improve the AOE3 AI. This will of course build from the Drauger AI. I have made a decent AI in my mod N3O Fan Patch, but it currently uses some techs that I have added to the game, so it won't work yet for an unmodified Age of Empires III. Yet I can easily remove those techs with some testing (to make sure it works) so that it can be played on an unmodified AOE3 and furthermore be a base rubric for further AI improvement.

http://aoe3.heavengames.com/downloads/showfile.php?fileid=3363

Mandorex also has an improved version of the Drauger AI:

http://aoe3.heavengames.com/downloads/showfile.php?fileid=3222


I also noticed another Drauger AI improvement uploaded for Vanilla AOE3 which makes the computer build forward bases. This would be interesting to look into, but I do say that this is quite a job for one coder. However, what I suggest is that we make it a community project to sort of build off an already improved AI and (for those who have time) fix various issues. I myself am pressed for time otherwise.


Anyone for an idea such as this!


Feel free to discuss and share your ideas! Its best if we discuss before we actually decide anything big.



best of regards to all here,




murdilator

[This message has been edited by murdilator (edited 06-23-2013 @ 10:35 AM).]

AuthorReplies:
ylg_hke
Skirmisher
posted 11-14-18 10:19 AM EDT (US)     376 / 385       
Any progress on escrows?

anyway, i just wanted to say that kbUnitQuerySetAreaGroupID is very important when it comes to maps like ceylon, Yucatan.
AlistairJah
Skirmisher
posted 11-15-18 01:47 PM EDT (US)     377 / 385       
You know, I kinda missed you

No progress at all... I practically abandoned this stuff. I mean, I *think* there is not much to do with escrows. But I'm checking here from time to time hoping to get interesting infos.

Indeed I was making a short AI for a single player RPG scenario. Query with area is really helpful. BTW I think you should seriously consider recheck the original AI, it has too many typos and human mistakes. I don't remember all of them... But I it's always better to remain clean.
ylg_hke
Skirmisher
posted 11-15-18 11:42 PM EDT (US)     378 / 385       
haha, I was busy last 2 weeks.

I haven't checked anything about "resource leakage in escrows" yet.
Can you please give me some more infos about it, so that we can speed up our overall progress?
eg: Does it happen all the time, or randomly? By how much(approximately)?

Currently I think kbUnitQuerySetAreaGroupID is a must for ManualGathering, take Yucatan as the example, we have 2 seas on 2 sides, without AreaGroupID, we might end up in tasking a fishing boat on the left to the right, the same goes for land areaGroup.

BTW I think you should seriously consider recheck the original AI
==> True, but don't worry since I disabled most rules, I also build my own functions, only things like ai chats from the original AI are active.
Its fair to say i put a new AI after the original one so that i dont have to constantly worry about OOS error.
Panmaster2014
Skirmisher
posted 11-16-18 10:37 AM EDT (US)     379 / 385       
Currently I think kbUnitQuerySetAreaGroupID is a must for ManualGathering, take Yucatan as the example, we have 2 seas on 2 sides, without AreaGroupID, we might end up in tasking a fishing boat on the left to the right, the same goes for land areaGroup.
I think kbCanSimPath() would also work.
Fishing boats are a nuisance.
What's the fastest way to count total settlers count and population?
AbstractFishingBoat includes too many ships so I think counting each settler is fastest: coureur, cree coureur, pilgrim, wagon, settler, Asian settler...

I hope kbUnitQuerySetAreaGroupID doesn't slow queries down. Testing already has sorted queries of a normal sized map down to 2000 to 4000 per second.

Escrows don't leak as far as I can tell. I was more concerned with shipments or xp being escrowed.
Using aiTaskBuild, aiTaskTrain, aiTaskResearch results in wrong values for escrow amounts requiring kbEscrowAllocateCurrentResources() to reset in proportion to percentages. Gaining back resources from cancellations might also mess it up.

Not made any real breakthroughs. Lot's of small ideas but nothing inspiring. You can add action type 8 for units blocking building foundations and wandering away.
ylg_hke
Skirmisher
posted 11-17-18 04:06 AM EDT (US)     380 / 385       
I think kbCanSimPath() would also work.
==> how? it always returns false.
even if kbCanSimPath works, if it can't simPath, then we will have to continue the for-loop, right? then it might ends up in doing hundreds of loops to get the correct resource.

What's the fastest way to count total settlers count and population?
==>the fastest way must be AbstractVillagerNo + SettlerWagonNo, but the fastest may not be the most helpful one, it largely depends on how you are going to handle the villagers.
personally I don't think counting all villager types is a good idea.

Using aiTaskBuild, aiTaskTrain, aiTaskResearch results in wrong values for escrow amounts requiring kbEscrowAllocateCurrentResources() to reset in proportion to percentages
==>thanks!

[This message has been edited by ylg_hke (edited 11-17-2018 @ 04:11 AM).]

Panmaster2014
Skirmisher
posted 03-06-19 12:34 PM EDT (US)     381 / 385       
Work on the AI project continues.

Micromanagement efforts for conventional scripted AI have improved dramatically.
The "attack nearest unit" algorithm is by far the most efficient but more sophisticated tactics such as melee mode are used effectively also.

Neural Net AI Training is hampered due to commanding 80 units with multiple actions and have only a simple "good" or "bad" feedback. Either it always converges on "attack nearest" or "retreat from enemy" to avoid losing units or worst of all no changes or a NaN explosion.

Action ID 42 allows cannons to be controlled more effectively.
Atomiswave
Skirmisher
posted 03-26-19 03:36 AM EDT (US)     382 / 385       
Do you plan to release it to the public?
murdilator
Skirmisher
posted 07-21-19 05:50 AM EDT (US)     383 / 385       
Is this thread still active? Is anyone still interested?
Atomiswave
Skirmisher
posted 07-24-19 09:17 AM EDT (US)     384 / 385       
Ofc, we are still waiting for new version of your AI projects. Helot Major is great.....
Panmaster2014
Skirmisher
posted 07-26-19 07:47 AM EDT (US)     385 / 385       
edit:
What new things have been discovered?

What's the most efficient way to detect and delete settlers stuck between buildings?

What causes lag? Attack-plans or build-plans?


edit: edit:
Now have:
unlock all homecity cards, taunts, gates, wonder powers, HC destination, treaty time, repair, cancel train, eject garrison.

Building rotation is far too difficult.
Abilities are quite close but there's 1 parameter I can't identify. I've found where the explorer plans use ability 91 sharpshooter and have found the entire code but it takes 1 unknown parameter as well as guardian ID, explorer ID and ability ID.

[This message has been edited by Panmaster2014 (edited 08-09-2019 @ 00:40 AM).]

« Previous Page  1 ··· 10 ··· 14 15 16  Next Page »
You must be logged in to post messages.
Please login or register

Hop to:    

Age of Empires III Heaven | HeavenGames