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

Modding Discussions
Moderated by Alexastor, MosheLevi, Mister SCP

Hop to:    
loginhomeregisterhelprules
Bottom
Topic Subject: Idea: Let's start a "Better AI project"
« Previous Page  1 2 3 4 ··· 10 ··· 17  Next Page »
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).]

Replies:
posted 10-25-12 01:32 AM EDT (US)     26 / 406  
Careful with those words! I may use complicated vocabulary and say my opinion often, but I am not as knowledgeable as the other coder, though I may be more proactive in writing.

I will see what I can do about what you suggested, about writing a new guide.



regards,



murdilator

[This message has been edited by murdilator (edited 10-25-2012 @ 02:25 AM).]

posted 10-28-12 06:36 AM EDT (US)     27 / 406  
I've gotten quite far working again with the AI. I will remain stiff with Specific unit preferences, because I've found a good way to change it to my advantage.

- Added some Military Improvement cards for France, Sioux, and Russia (French Cavalry Combat, TEAM Ranged Infantry Damage, Warchief Damage Aura, Mustangs card, Russian Cavalry Combat), and removed a few unnecessary forced cards. Portugal should also have Dragoon Combat card in their deck.

- Greatly improved Deathmatch gameplay (be sure to play Post-Imperial) by forcing the AI to build two Town Centers, two mills and two plantations before building military buildings; they build their economy and can actually beat you if you are lazy.

- AI will no longer spam artillery in any circumstance (may still have problems with Germany, but we will see). The maximum they will build is probably 6 cannons, not counting Heavy Cannons.

- Rebalanced India's unit preferences; they will favour Sepoy/Gurkha, some Sowars and Zamburacks and sometimes Rajputs, building minimal amounts of Elephants. I am working on a system where they will build some as support units - this so that they do not spam them. I may then give the Camel Cards a higher priority in India's deck instead of Elephant improvement cards.

- Spanish/Ottoman AI have slightly changed unit preferences,
and Britain favours more Musketeers and Hussars than before.

- Spanish AI will no longer upgrade the "Spanish Gold Tech"



regards,



murdilator

[This message has been edited by murdilator (edited 11-14-2012 @ 03:32 AM).]

posted 11-14-12 03:35 AM EDT (US)     28 / 406  
I have again updated the AI, with much improved changes.

The AI

- no longer builds mercenaries (these drained their economy too much and did not allow them to age up fast enough).

- has about 10% less wood gatherers

- has slightly improved decks

- has better unit selection, although this unit selection is still governed by civ-specific unit choice.


Overall this AI plays quite well.


Enjoy!


regards,


murdilatr
posted 11-25-12 04:42 PM EDT (US)     29 / 406  
Hello murdilator.
You are doing a very good job here, keep going! Don't get affected by "dietermoreno" like persons.

I have one huge problem though...
I get the AI error when loading a game although it's not affected by my mod. I installed the original TAD AI and the original Draugur AI and they both work but yours doesn't.

I say you have a quick look and make sure it really is compatible with the unmodded TAD, because I really want to use your AI in my mod since you say it does what it does.

Hope you see this soon and post some good news.

For king, for country, for glory, for Age of Empires!

Check out my 'Improvement Mod' in the Modpacks section!
posted 12-06-12 08:43 AM EDT (US)     30 / 406  
Hey MandosRex! Great hearing from ya!


I understand what you are saying about my AI. At least for the AI included in my mod, I included several techs that are in my mod, and thereby incompatible with other mods. However, I have also uploaded a version that should be compatible with TAD 1.03.

EDIT: I think I've found the problem in my coding. For the version that was supposed to be compatible with all versions of the Asian Dynasties, I had still not removed some new Native American Big Buttons techs which I had added to the computer tech tree list. Also, the computer tried to train Buccaneer Ships, and as they were not available, the computer file did not work. I am currently working on fixing this.

EDIT: I've fixed all of the coding problems. I've now uploaded the new version that can be played with all versions of TAD:

http://aoe3.heavengames.com/downloads/



regards,


murdilator

[This message has been edited by murdilator (edited 12-06-2012 @ 11:54 AM).]

posted 01-24-13 04:17 PM EDT (US)     31 / 406  
I've made great progress on the AI. However, this updated version is so far only included in the N3O Fan Patch.


New Features, starting from oldest to newest:

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

Update (January 3rd, 2013)

- Greatly improved all AI decks (They use lategame shipments, and a great deal of them, and I mean all civs). Also, the Iroquois and Sioux should play much better now, and Japan will use a lot better cards, which will enhance their military greatly. Be sure to play at least against lvl 25 for them to use all of their cards correctly. The AI will now also attempt to send cards at more appropriate times of the game. Also, they should have more food and coin gatherers generally speaking. Deathmatch games should play better as well (they aren't perfect, and even though I have found out how to fix their bases, I haven't applied it too much because they wouldn't build military buildings as fast, and, as a result, you could rush them quickly and win).

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

Update (January 4th, 2013)


- Fixed some very important playability issues with the Russian AI, added better AI handling with Discovery and Colonial Economic Cards.

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

Update (January 6th, 2013)

- Better handling for cards such as Furrier, TEAM Furrier, Spice Trade, TEAM Spice Trade added; if these are available, the AI will most likely send them as their first card.

- Japanese AI uses a mix of Ashigaru, Yumi and Naginata Riders; testing them to use Yabusame and Samurai to support. Also, the Japanese AI has better decks, and will always ship Heavenly Kami as their first card in regular supremacy games. At the moment, however, they will not normally train Samurai as they used to, because these are not cost effective until lategame; I am still working on the Japanese AI, but training Ashigaru/Yumi/Nagainata makes them much more competitive.

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

Update (January 18th, 2013), 1.3z2w

- Made improvements to the AI; they now train up to just 90 villagers lategame (Imperial), 85 villagers in Industrial, 80 Villagers in Fortress, 45 in Colonial.

- AI has now direct civ-specific cards which significantly boost their performance. Germany now builds correct units, fewer mercenaries, has many more upgrade cards for Uhlans, and tries to build a more balanced military.

- Better handling and individual handling of important cards now is enabled, such as the Dutch "Religious Freedom" card, commonly known as the Dutch "Church Card," and the Russian "Reformist Tzar" shipment, commonly used for upgrading the 'Westernization' and 'Petrine Reforms' techs.

- Will add a few civ-specific crate and unit shipments to always be included and sent at the proper times by the AI.


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




regards,




murdilator
posted 02-01-13 03:32 AM EDT (US)     32 / 406  
Here are some screenshots of the Computer Decks:

http://s402.beta.photobucket.com/user/murdilator/library/N3O Fan Patch

As you will see, Computer Decks are improved during later testing, as well as Home City level. These screenshots are from about 4 different, recent versions of my upload; the pictures are not necessarily in chronological order.


Early Fighting against the Computer on a Post-Imperial Deathmatch Game:

http://s402.beta.photobucket.com/user/murdilator/media/N3O Fan Patch/screen27.jpg.html?sort=3&o=7

From Comps Perspective, France, under attack:

http://s402.beta.photobucket.com/user/murdilator/media/N3O Fan Patch/screen144.jpg.html?sort=3&o=0


British Deck (Latest):

http://s402.beta.photobucket.com/user/murdilator/media/N3O Fan Patch/screen143.jpg.html?sort=3&o=2

Ottoman Deck (Latest, may include 5 Spahi again):

http://s402.beta.photobucket.com/user/murdilator/media/N3O Fan Patch/screen161.jpg.html?sort=3&o=9

German Deck (Latest):

http://s402.beta.photobucket.com/user/murdilator/media/N3O Fan Patch/screen162.jpg.html?sort=3&o=10

Russian Deck (Latest):

http://s402.beta.photobucket.com/user/murdilator/media/N3O Fan Patch/screen160.jpg.html?sort=3&o=11

Earlier Russian Deck:

http://s402.beta.photobucket.com/user/murdilator/media/N3O Fan Patch/screen126.jpg.html?sort=3&o=29

Portuguese Deck (Level 32):

http://s402.beta.photobucket.com/user/murdilator/media/N3O Fan Patch/screen81.jpg.html?sort=3&o=30

French Deck (older):

http://s402.beta.photobucket.com/user/murdilator/media/N3O Fan Patch/screen122.jpg.html?sort=3&o=25

Dutch Deck (Level 32):

http://s402.beta.photobucket.com/user/murdilator/media/N3O Fan Patch/screen80.jpg.html?sort=3&o=20

Spanish Deck:

(No Screenshot yet)


Iroquois Deck (Latest):

http://s402.beta.photobucket.com/user/murdilator/media/N3O Fan Patch/screen163.jpg.html?sort=3&o=14

Sioux Deck (Latest):

http://s402.beta.photobucket.com/user/murdilator/media/N3O Fan Patch/screen114.jpg.html?sort=3&o=23

Aztec Deck (Latest):

http://s402.beta.photobucket.com/user/murdilator/media/N3O Fan Patch/screen115.jpg.html?sort=3&o=22


Chinese Deck (Latest):

http://s402.beta.photobucket.com/user/murdilator/media/N3O Fan Patch/screen127.jpg.html?sort=3&o=28

Indian Deck (Old):

http://s402.beta.photobucket.com/user/murdilator/media/N3O Fan Patch/screen118.jpg.html?sort=3&o=16

Indian Deck (Also Old):

http://s402.beta.photobucket.com/user/murdilator/media/N3O Fan Patch/screen43.jpg.html?sort=3&o=13

Japanese Deck (Latest):

http://s402.beta.photobucket.com/user/murdilator/media/N3O Fan Patch/screen134-4.jpg.html?sort=3&o=1

Japanese Deck (Water; earlier):

http://s402.beta.photobucket.com/user/murdilator/media/N3O Fan Patch/screen67.jpg.html?sort=3&o=4

Japanese Deck (Land; earlier):

http://s402.beta.photobucket.com/user/murdilator/media/N3O Fan Patch/screen40-1.jpg.html?sort=3&o=5




Regards,



murdilator
posted 02-06-13 01:12 AM EDT (US)     33 / 406  
hi,

first of all, nice job.

I have a question how you did that :

" no longer builds mercenaries (these drained their economy too much and did not allow them to age up fast enough)."

I tried to remove this feature without success
posted 02-07-13 05:20 PM EDT (US)     34 / 406  
I did that in the unit preferences list.


You will find separate "forbidding" rules for units for the Europeans, Natives and Asians. You will find Outlaws set to 0.0 priority, as well as other units.


For getting Mercenaries in the decks, simply go to the "Build Deck" area in the DraugurMain.xs, scroll down to the second half of it, past the "i" and "card", and you can tell the computer how many mercenary shipments you want to have them prioritize, after the "best" cards are chosen. Or, you can force certain civs to always have a "best" mercenary card to use if available, by adding that mercenary card to the list of "best" cards, both "i" and "card." Make sure that you get its prerequisite card below the "i" section, where you will find "HC lvl > 15", "HC lvl > 25", "HC lvl > 40", and other prerequisite cards. If you want a certain civ to have it, and no other, make sure to follow the way other "civ-specific" cards are done; first card, then civ for "i" cards, and then Civ, then Card for "card" cards.


I've written it like this because I believe you are familiar with the coding.
posted 02-13-13 10:36 AM EDT (US)     35 / 406  
thx a lot.
I've written it like this because I believe you are familiar with the coding.
yes, np.

I don't know if you have already put "the use of the minutemen" by the AI's in your AImain; but that would be a great thing.

I don't know how to make that, there is nothing about that in the draugur AImain. Maybe something similar at the warrior (from the firepit) would be possible.
posted 02-14-13 05:28 AM EDT (US)     36 / 406  
I know Felix himself said in his notes that he didn't know why the computer didn't follow the rule to research minutemen. However, I have realized that the minutemen techs, "Levy" and "Conscription" actually do note give "freehomecityunits." For instance:


<Tech name ='Levy' type ='Normal'>
<DBID>160</DBID>
<DisplayNameID>23459</DisplayNameID>
<Cost resourcetype ='Food'>150.0000</Cost>
<Cost resourcetype ='Gold'>150.0000</Cost>
<ResearchPoints>5.0000</ResearchPoints>
<Status>UNOBTAINABLE</Status>
<Icon>ui\techs\levy\levy</Icon>
<RolloverTextID>23458</RolloverTextID>
<Effects>
<Effect all ='true' type ='TextOutput'>28207</Effect></Effects>

</Tech>
<Tech name ='Conscription' type ='Normal'>
<DBID>161</DBID>
<DisplayNameID>36107</DisplayNameID>
<Cost resourcetype ='Food'>400.0000</Cost>
<Cost resourcetype ='Gold'>400.0000</Cost>
<ResearchPoints>5.0000</ResearchPoints>
<Status>UNOBTAINABLE</Status>
<Icon>ui\techs\conscription\conscription</Icon>
<RolloverTextID>36108</RolloverTextID>
</Tech>

The AI doesn't seem to regard these as regular techs, as they probably use a "grant unit" type of command to "Town Center" where they are researched at. Besides, because they are technically an "semi-infinite" tech available only once per town center, the AI doesn't register them as proper "infinite" techs. Let me explain. If the AI researches a regular tech, that tech becomes unobtainable for research again. Also, if the AI tries to research a proper infinite tech, it may use it continually. So, to make minutemen techs work for the computer, I'm afraid that we will either have to find a different way for "researching" the techs for the computer, such that they use the proper town center, or create another "special" tech in the techtree, which mimics the "Levy" and "Conscription" techs, acts like an infinite shipment, but is placed so far on the techs scale. Actually, by looking at this thing in the town center, you should notice the difference between "Tech," "Garrison," "Trainable Units" and "Command." Both "Levy" and "Conscription" appear as "command" pages here, just like the Town Bell, so it is easy to understand why the computer doesn't "research" the "Levy" and "Conscription" in the Draugur AI, because there Felix told them to research it as a tech. (Go down about three quarters way down, the "Command" pages are at the end).


<Train row ='0' page ='0' column ='0'>ypSettlerJapanese</Train>
<Train row ='0' page ='0' column ='0'>ypSettlerIndian</Train>
<Train row ='0' page ='0' column ='0'>ypSettlerAsian</Train>
<Train row ='0' page ='0' column ='0'>Settler</Train>
<Train row ='0' page ='0' column ='0'>Coureur</Train>
<Train row ='0' page ='0' column ='3'>HotAirBalloon</Train>
<Train row ='0' page ='0' column ='2'>Envoy</Train>
<Train row ='0' page ='0' column ='0'>xpColonialMilitia</Train>
<Train row ='0' page ='0' column ='0'>SettlerNative</Train>
<Train row ='0' page ='0' column ='5'>ypSPCBrahminHealer</Train>
<Train row ='0' page ='0' column ='5'>ypMonkChinese</Train>
<Train row ='0' page ='0' column ='6'>ypMonkChinese2</Train>
<Train row ='0' page ='0' column ='6'>ypMonkIndian2</Train>
<Train row ='0' page ='0' column ='5'>ypMonkIndian</Train>
<Train row ='0' page ='0' column ='5'>ypMonkJapanese</Train>
<Train row ='0' page ='0' column ='6'>ypMonkJapanese2</Train>
<Tech row ='0' page ='1' column ='0'>TribalIroquoisWarrior5</Tech>
<Tech row ='0' page ='1' column ='0'>TribalIroquoisWisewoman4</Tech>
<Tech row ='0' page ='1' column ='0'>TribalIroquoisYouth2</Tech>
<Tech row ='0' page ='1' column ='0'>TribalIroquoisYouth3</Tech>
<Tech row ='0' page ='1' column ='1'>XPRevolutionLouverture</Tech>
<Tech row ='0' page ='1' column ='2'>ImpImmigrantsNative</Tech>
<Tech row ='0' page ='1' column ='0'>TribalAztecWarrior2</Tech>
<Tech row ='0' page ='1' column ='0'>TribalAztecYouth5</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianAdmiralOttoman</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianViceroyGerman</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianViceroyPortuguese</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianCavalierDutch</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianMusketeerDutch</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianGeneralOttoman</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianViceroyDutch</Tech>
<Tech row ='0' page ='2' column ='0'>BigIroquoisWarParty</Tech>
<Tech row ='0' page ='1' column ='2'>ImpLegendaryNativesNatives</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianGeneralBritish</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianMarksmanOttoman</Tech>
<Tech row ='0' page ='1' column ='0'>TribalIroquoisWisewoman3</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianAdventurerBritish</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianMusketeerBritish</Tech>
<Tech row ='0' page ='1' column ='0'>TribalIroquoisChief4</Tech>
<Tech row ='0' page ='1' column ='0'>TribalIroquoisShaman2</Tech>
<Tech row ='0' page ='1' column ='0'>TribalIroquoisWisewoman2</Tech>
<Tech row ='0' page ='1' column ='0'>TribalIroquoisChief5</Tech>
<Tech row ='0' page ='1' column ='0'>TribalIroquoisShaman5</Tech>
<Tech row ='0' page ='2' column ='0'>BigIroquoisRaidingParty</Tech>
<Tech row ='0' page ='1' column ='0'>TribalSiouxYouth5</Tech>
<Tech row ='0' page ='1' column ='0'>TribalSiouxShaman4</Tech>
<Tech row ='0' page ='1' column ='0'>TribalSiouxShaman3</Tech>
<Tech row ='0' page ='1' column ='0'>TribalAztecChief4</Tech>
<Tech row ='0' page ='1' column ='0'>TribalAztecShaman3</Tech>
<Tech row ='0' page ='2' column ='0'>BigAztecScoutingParty</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianCavalierFrench</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianGeneralSkirmisher</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianBishopGerman</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianWarMinisterAct3</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianMusketeerFrench</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianSergeantGerman</Tech>
<Tech row ='0' page ='1' column ='1'>XPRevolutionOHiggins</Tech>
<Tech row ='0' page ='1' column ='2'>SpiesNative</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianSergeantDutch</Tech>
<Tech row ='0' page ='1' column ='0'>TribalIroquoisWisewoman5</Tech>
<Tech row ='0' page ='1' column ='0'>TribalIroquoisYouth4</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianAdventurerRussian</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianMusketeerRussian</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianPhilosopherPrince</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianEngineerPortuguese</Tech>
<Tech row ='0' page ='1' column ='0'>TribalSiouxYouth2</Tech>
<Tech row ='0' page ='1' column ='0'>TribalSiouxWarrior5</Tech>
<Tech row ='0' page ='1' column ='0'>TribalSiouxChief3</Tech>
<Tech row ='0' page ='1' column ='0'>TribalAztecWarrior4</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianTycoonAct3</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianCavalierGerman</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianCavalierRussian</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianScout</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianMarksmanPortuguese</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianCavalierOttoman</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianMusketeerPortuguese</Tech>
<Tech row ='0' page ='1' column ='0'>TribalIroquoisChief2</Tech>
<Tech row ='0' page ='1' column ='0'>TribalIroquoisShaman4</Tech>
<Tech row ='0' page ='1' column ='0'>TribalIroquoisWarrior4</Tech>
<Tech row ='0' page ='1' column ='1'>XPRevolutionBolivar</Tech>
<Tech row ='0' page ='1' column ='1'>XPRevolutionBonifacio</Tech>
<Tech row ='0' page ='1' column ='1'>XPRevolutionSanMartin</Tech>
<Tech row ='0' page ='1' column ='1'>XPRevolutionWashington</Tech>
<Tech row ='0' page ='1' column ='0'>TribalIroquoisWarrior2</Tech>
<Tech row ='0' page ='1' column ='0'>TribalIroquoisWarrior3</Tech>
<Tech row ='0' page ='1' column ='0'>TribalIroquoisChief3</Tech>
<Tech row ='0' page ='1' column ='0'>TribalIroquoisShaman3</Tech>
<Tech row ='0' page ='1' column ='0'>TribalIroquoisYouth5</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianScoutRussian</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianViceroyBritish</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianWarMinisterRussian</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianAdmiral</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianBishop</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianGeneral</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianMusketeerSpanish</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianQuartermaster</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianEngineer</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianSergeantSpanish</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianPirate</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianPresidente</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianNaturalist</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianTycoon</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianWarMinisterSpanish</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianExiledPrince</Tech>
<Tech row ='0' page ='1' column ='2'>HCBlockadeNative</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianCavalierSpanish</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianGrandVizier</Tech>
<Tech row ='0' page ='1' column ='0'>TribalSiouxYouth3</Tech>
<Tech row ='0' page ='1' column ='0'>TribalSiouxWisewoman3</Tech>
<Tech row ='0' page ='1' column ='0'>TribalSiouxWisewoman2</Tech>
<Tech row ='0' page ='1' column ='0'>TribalAztecWisewoman4</Tech>
<Tech row ='0' page ='1' column ='0'>TribalAztecYouth2</Tech>
<Tech row ='0' page ='2' column ='0'>BigAztecWarParty</Tech>
<Tech row ='0' page ='1' column ='0'>TribalSiouxChief5</Tech>
<Tech row ='0' page ='1' column ='0'>TribalSiouxChief2</Tech>
<Tech row ='0' page ='1' column ='0'>TribalSiouxChief4</Tech>
<Tech row ='0' page ='1' column ='0'>TribalAztecChief2</Tech>
<Tech row ='0' page ='1' column ='0'>TribalAztecShaman4</Tech>
<Tech row ='0' page ='1' column ='0'>TribalAztecWarrior5</Tech>
<Tech row ='0' page ='1' column ='0'>TribalAztecWisewoman2</Tech>
<Tech row ='0' page ='1' column ='0'>TribalAztecWisewoman3</Tech>
<Tech row ='0' page ='1' column ='0'>TribalSiouxWisewoman4</Tech>
<Tech row ='0' page ='1' column ='0'>TribalSiouxWisewoman5</Tech>
<Tech row ='0' page ='1' column ='0'>TribalSiouxWarrior4</Tech>
<Tech row ='0' page ='1' column ='0'>TribalAztecChief3</Tech>
<Tech row ='0' page ='1' column ='0'>TribalAztecChief5</Tech>
<Tech row ='0' page ='1' column ='0'>TribalAztecShaman2</Tech>
<Tech row ='0' page ='1' column ='0'>TribalAztecShaman5</Tech>
<Tech row ='0' page ='1' column ='0'>TribalAztecYouth3</Tech>
<Tech row ='0' page ='2' column ='0'>BigAztecRaidingParty</Tech>
<Tech row ='0' page ='2' column ='0'>BigSiouxDogSoldiers</Tech>
<Tech row ='0' page ='1' column ='1'>XPRevolutionHidalgo</Tech>
<Tech row ='0' page ='1' column ='1'>XPRevolutionSantander</Tech>
<Tech row ='0' page ='2' column ='0'>BigIroquoisScoutingParty</Tech>
<Tech row ='0' page ='1' column ='2'>ypImpLegendaryNatives</Tech>
<Tech row ='0' page ='1' column ='2'>ypImpLegendaryNatives2</Tech>
<Tech row ='0' page ='1' column ='0'>ypFakeColonialAge</Tech>
<Tech row ='0' page ='1' column ='0'>ypFakeFortressAge</Tech>
<Tech row ='0' page ='1' column ='0'>ypFakeImperialAge</Tech>
<Tech row ='0' page ='1' column ='0'>ypFakeIndustrialAge</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianAdventurerSpanish</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianGovernor</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianMohawk</Tech>
<Tech row ='0' page ='1' column ='0'>PoliticianMarksman</Tech>
<Tech row ='0' page ='1' column ='0'>TribalSiouxYouth4</Tech>
<Tech row ='0' page ='1' column ='0'>TribalSiouxWarrior3</Tech>
<Tech row ='0' page ='1' column ='0'>TribalSiouxWarrior2</Tech>
<Tech row ='0' page ='1' column ='0'>TribalSiouxShaman5</Tech>
<Tech row ='0' page ='1' column ='0'>TribalSiouxShaman2</Tech>
<Tech row ='0' page ='1' column ='0'>TribalAztecWarrior3</Tech>
<Tech row ='0' page ='1' column ='0'>TribalAztecWisewoman5</Tech>
<Tech row ='0' page ='1' column ='0'>TribalAztecYouth4</Tech>
<Tech row ='0' page ='1' column ='0'>fpPoliticianAdventurerPortuguese</Tech>
<Tech row ='5' page ='1' column ='1'>fpSpiesRevolution</Tech>
<Tech row ='0' page ='1' column ='2'>TribalConfederacyNative</Tech>
<Tech row ='0' page ='1' column ='2'>ProvincialGovernmentAztec</Tech>
<Tech row ='0' page ='1' column ='2'>ColonialGovernmentAsian</Tech>
<Tech row ='0' page ='1' column ='0'>fpPoliticianGeneralFusilier</Tech>
<Flag>ShowGarrisonButton</Flag>
<Flag>AllowAutoGarrison</Flag>
<Flag>StartingColonyBuilding</Flag>
<Flag>ColonyPlacementCenter</Flag>
<Flag>CollidesWithProjectiles</Flag>
<Flag>StartsAtFullEfficiency</Flag>
<Flag>Immoveable</Flag>
<Flag>NoBloodOnDeath</Flag>
<Flag>ObscuresUnits</Flag>
<Flag>NonAutoFormedUnit</Flag>
<Flag>Doppled</Flag>
<Flag>SelectWithObstruction</Flag>
<Flag>PaintTextureWhenPlacing</Flag>
<Flag>FlattenGround</Flag>
<Flag>HasGatherPoint</Flag>
<Flag>Tracked</Flag>
<Contain>Settler</Contain>
<Contain>SettlerWagon</Contain>
<Contain>Coureur</Contain>
<Contain>CoureurCree</Contain>
<Contain>SettlerNative</Contain>
<Contain>Pilgrim</Contain>
<Contain>NativeVillager</Contain>
<Contain>ypSettlerAsian</Contain>
<Contain>ypSettlerIndian</Contain>
<Contain>ypSettlerJapanese</Contain>
<Contain>Imam</Contain>
<Contain>NatMedicineMan</Contain>
<Contain>Missionary</Contain>
<Contain>Priest</Contain>
<Contain>Surgeon</Contain>
<Contain>xpMedicineMan</Contain>
<Contain>xpMedicineManAztec</Contain>
<Contain>ypDaimyoRegicide</Contain>
<Command page ='0' column ='3'>Levy</Command>
<Command page ='10' column ='3'>TownBell</Command>
<Command page ='10' column ='4'>Delete</Command>
<Command page ='10' column ='3'>ReturnToWork</Command>
<Command page ='0' column ='4'>Conscription</Command>
<Command page ='10' column ='0'>SetGatherPointEconomy</Command>
<Command page ='10' column ='1'>SetGatherPointMilitary</Command>
<Command page ='10' column ='2'>Eject</Command>
<Command page ='0' column ='5'>RansomExplorer</Command>
<Command page ='1' column ='10'>SetUnitAsHomeCityGatherPoint</Command>
<Command page ='11' column ='0'>Abilities</Command>
<Command page ='0' column ='1'>ypAssemble</Command>
<Command page ='0' column ='2'>ypMuster</Command>
<Command page ='0' column ='3'>ypAmass</Command>
<Command page ='0' column ='4'>ypMarshal</Command>
<Command page ='0' column ='3'>ypAmassIndians</Command>
<Command page ='0' column ='1'>ypAssembleIndians</Command>
<Command page ='0' column ='4'>ypMarshalIndians</Command>
<Command page ='0' column ='2'>ypMusterIndians</Command>


As you can see, I have learned also now about my previous misconceptions concerning the research of the minutemen techs. I myself had no idea until spurred on by your questioning, I found the ultimate answer. And as I believe the computer has commands to use the town bell inside the Drauger AI, it could be possible to force them to consider using Levies when threatened by a numerically superior force at their home base. However, my knowledge may fail me here, because the Town bell may very well be just a hard-coded AI programming, in which it would be impossible to replicate and use for minutemen.

[This message has been edited by murdilator (edited 02-14-2013 @ 05:38 AM).]

posted 03-01-13 10:45 AM EDT (US)     37 / 406  
On the loading screen when i go to play a death match I get this error for your latest patch

failed to load the aisLoaderStandard.xs

I got the standalone better AI working for TAD and here are my thoughts after watching a 3v3 deathmatch with hard computers.

Pros I have witnessed

- They build walls around their base
- They build castles closer to their main base
- They send forces to defend the wagon on route to create castle
- They split their armies into two

I dont know whether this is a pro. The armies that are split, sometimes just wander around the map doing nothing. They will walk past battles where allies are fighting and when under attack sometimes do nothing and keep wandering aimlessly.

- They build much better variety in their armies
- They use farms and plantations better in Post Imperial
- They collect resources super efficient


Cons I have witnessed

- Theres much less action at bases. AI does not seem to like attacking bases anymore or go after castles.

- They seem really thick in their tactics, When they send a full army to attack an enemy base about half will attack and the other half seem to be jittering back and for or just standing still.

- They dont help eachother or attack same locations as allies

- Sometimes they send armies in dispersed from their base. So basically its one big line of troops trickling accross the map to the attack location and they get picked off a group at a time.

- Sometimes they dont even attack bases. I watched an AI player do absolutely nothing for 30minutes before I quit. He just randomly sent armies to silly places and didnt attack anything that they came accross. They ran from battles.

- Walls are built in random places not linking up with other walls.

- Overall their attacks are better in vanilla AI



Overall I thought this made the AI worse. Maybe the AI is better in tactics moving through the ages, I dont know, Im a death match player. They really suck at attacking with this patch.

[This message has been edited by nate1122 (edited 03-01-2013 @ 11:52 AM).]

posted 03-05-13 03:34 PM EDT (US)     38 / 406  
Hmmm. I have a few answers.

First, I thank you for offering good criticism. This is finally a solid grading of my work + Felix Hermansons work.


To the cons, I will get to first.

- I agree about Computer bases. I'm not quite sure about everything, but it seems that because I have forced computers to build up an army that is cost effective, they more rarely get to a point where they consider an "army" being complete, and send it off to do its mission.

Also, when Felix Hermanson made his Drauger AI (which this AI is based on), he added a "defensive" feature, which made the Drauger AI keep some of its military back at its base, in case you should attack. In this case, the AI is far better on rush games, especially when aging up from Discovery and so on. They send much of their army to raid you and fight you, but I have not yet implemented what we call a "push" factor; the AI is still dumb as dirt as you would say .

Another thing about computer bases is their strategy randomizer. Sometimes, if placed on Rush mode, they attack all the time. Currently, they have a randomizer, which makes them 70% of the time rush, 20% of the time boom, and 10% of the time turtle. Turtlers generally don't attack, so I want to find a way to change this. Then again, they are generally those who build walls.


- I agree about Computers helping one another. They are dumb in this regard, but sometimes they help each other's bases out. I am not sure about general strategy, but this could really be helped by fixing other factors, such as building up their bases more properly, and setting defensive points a bit more outisde their town, or give them more variables for defending.

Currently the computer cannot delete units or use wonder powers, things which greatly benefit human players lategame.


- About dispersed armies, this is a rush principle aimed at first, getting treasures, then at raiding enemy villagers, then, attacking for some unknown purpose a wall or something. The AI uses "attack-move" instead of the tradition "move" "click" action of human players. That means their units attack your units usually when they come in the same LOS. However, this "attack-move" has some bugs with it, so it is rather a bug with the game engine itself, and not with my AI coding. I believe I have actually improved this by forcing them to build ranged units.

I am sorry to admit that this computer works better as a 1v1 or 1v2 AI, rather than a 3v3 AI, though I have made them use team cards.


- I agree completely about Computer Intelligence. They ought to be smarter in their tactics, though sometimes they flank. However, as I mentioned above in computer strategy, they have a bit randomized strategies, and turtling is not one of their strengths. The truth is I don't quite understand the AI well enough and have not been brave enough to test it while I had time.

I play on expert, and usually set a 20% handicap on the AI players. On hard, the AI plays quite like a joke.

I have thought of making them use factories only for gold until they hit Imperial Age or something like that, so that they age up faster. Also, perhaps church upgrade units could be ordered strategically, like minutemen or something like that, so that they push you out of their base with a surprise tactic, rather than super-expensive technologies.

The way Felix did it, he made the computer research the technologies as soon as they were available. In some ways this is ok, but other ways it really blows.


- Now about walls. The Computer builds them in a ring, but in supremacy games they don't always have time to build them; it seems you must attack their base heavily before they even consider building walls. In deathmatch they ignore this, and just build walls immediately. Their starting walls

- Deathmatch games are best played in Post-Imperial mode against this AI. Interesting what you say about the AI not loading properly on Deathmatch. I am quite sure this has worked every time for me before. Are you sure you tried the latest patch version with the latest AI? I may have changed a few things which would have made it incompatible, such as making the AI research a tech that it didn't normally research.


Thank you very much for the criticism! Be sure that I will try and do my best if I have time to update and fix these things which you have mentioned, especially the AI not attacking. Perhaps a better organized base and a more aggressive fort-building would be possible.

Another con that you forgot to mention is that they do not build proper forward bases. I should fix this, and force them, if possible, to build a fair amount walls, and maybe even aggressive walls.

I will also note another con is that when a player is defeated, they often retreat back to their own base, and don't push properly. I wish they could, it would make it more fun, and I wish I knew how to make them make tactical decisions on whether or not to engage or to build up if you defeat their army on the field.

They do not use units intelligently, such as cannons or howitizers. Therefore I have tried to limit these units heavily, as well as most hand infantry units.



Best of regards,



murdilator (aka Justus_Pacificia)
posted 03-06-13 05:00 AM EDT (US)     39 / 406  
When speaking about improving AI, especially attacking and defending, "void scoreOpportunity" is very important part of AI. It is basically the free will of AI and I think editing it could provide some good results, although editing it looks difficult.

Anyway, I put this code near end of it and it made AI much more aggressive. Well, perhaps a bit too aggressive as it doesn't want to defend main base at all...
   switch(oppType)
{
case cOpportunityTypeDestroy:
{
score = score + 5;
}
}

I'm thinking of increasing the score or other values for attack/defend missions depending on offense/defense factor. Of course, I first need to take a better look at this part of AI...

RM scripter and coder for Knights & Barbarians mod
posted 03-06-13 12:29 PM EDT (US)     40 / 406  
Hi, I was wondering if I may use part of your AI for some modifications I intend to make onto the WotTA mod's AI, there's many things I intend to improve and your AI covers plenty of points that would save me some time.

Team member of wotta, the latin american mod with many new features for the game!

HoopThrower in ESO
posted 03-07-13 03:11 AM EDT (US)     41 / 406  
Cool what you found, AOE3_Badger! Sounds like a fun idea. Would be great to get them to be more aggressive. Finally there can be "rush" and "defend" AIs.


And Hoop Thrower, you may use my AI as a rubric for WotTA mod's AI, making whatever changes you like. I don't really mind at all. This is a community project, and I wanted my AI to be at least a rubric for others to build upon. I've merely modified Felix's AI a little bit, to be modest. I had also borrowed some ideas from other custom AI's here on HG.


Also check out this for discussion about AI (though its my mod, Mandorex asked me some questions, I don't have all the answers, but it was about all I knew so far):

http://aoe3.heavengames.com/downloads/showfile.php?fileid=3363&f=&st=10&ci=


Mandorex also has his own page for AI discussion. Some veteran AI coders have given him suggestions there.

His Webpage:

http://impmod.blogspot.ro/


His Forum:

http://impmod.freeforums.org/


Somewhere I once saw about AI stuff on his place, I can't seem to find the exact discussion now, but there is a lot of useful information, although I'm sure both of you know better than me the AI.

[This message has been edited by murdilator (edited 03-07-2013 @ 03:23 AM).]

posted 03-08-13 07:31 AM EDT (US)     42 / 406  
Okay, I have now tested what happens if I increase the score of "cOpportunityTypeDefend", and the result if definitely working. It seems that instead of AI defending its own base, it sends lot of army to ally base and defend there. I also noticed a significant difference to attacks and it does that very rarely.

There are two other opportunity types as well. The "cOpportunityTypeRaid" doesn't have any values defined but increasing the score looks like making AI to track down and kill enemy Villagers. At least in my tests, AI went right to the edge of map just to hunt Villagers.
The "cOpportunityTypeClaim" simply makes AI more willing to build Trading Posts to empty Sockets.

I'll try different values and come back when I'm done testing those...

EDIT: What I did was this:
   switch(oppType)
{
case cOpportunityTypeDestroy: // Aggressive AIs attack more often
{
score = score + (0.2 * btOffenseDefense); // If -0.5 -> score - 0.1. If -1.0 -> score - 0.2. If 0.5 -> score + 0.1. If 1.0 -> score + 0.2
}
}
switch(oppType)
{
case cOpportunityTypeDefend: // Defensive AIs defend ally bases
{
score = score - (0.2 * btOffenseDefense); // If -0.5 -> score + 0.1. If -1.0 -> score + 0.2. If 0.5 -> score - 0.1. If 1.0 -> score - 0.2
}
}
switch(oppType)
{
case cOpportunityTypeClaim: // Claiming AIs build more Trading Posts
{
if (kbVPSiteGetType(target) == cVPTrade)
{
score = score + (0.2 * btBiasTrade); // If -0.5 -> score - 0.1. If -1.0 -> score - 0.2. If 0.5 -> score + 0.1. If 1.0 -> score + 0.2
}
if (kbVPSiteGetType(target) == cVPNative)
{
score = score + (0.2 * btBiasNative); // If -0.5 -> score - 0.1. If -1.0 -> score - 0.2. If 0.5 -> score + 0.1. If 1.0 -> score + 0.2
}
}
}

You can get more drastic effects by changing the multiplier of 0.2 to higher. However, I'd suggest not to use multipliers higher than 0.5 as it might result in a negative score value which means AI isn't allowed to do that opportunity at all. And we don't want AIs which can't attack or are way too predictable...
Just use the above code if you want to.

RM scripter and coder for Knights & Barbarians mod

[This message has been edited by Aoe3_Badger (edited 03-08-2013 @ 08:23 AM).]

posted 03-10-13 03:15 PM EDT (US)     43 / 406  
Thanks a lot! This will really help.

I honestly had no clue what "void scoreOpportunity" did. I never really paid much attention to it, nor to other parts of the AI, though I had a clue that "void" was a sort of setup, or build-order. I have a few questions though:

Just to make sure, I place this at the end of the code, after this?

score = classRating * instance * affordable;
// aiEcho(" Class "+classRating+", Instance "+instance+", affordable "+affordable);
// aiEcho(" Final Score: "+score);

if (score > 1.0)
score = 1.0;
if (score < 0.0)
score = 0.0;

score = score + source; // Add 1 if from ally, 2 if from trigger.

if (permission > source)
score = -1.0;
if (errorFound == true)
score = -1.0;
if (cvOkToSelectMissions == false)
score = -1.0;
aiSetOpportunityScore(oppID, permission, affordable, classRating, instance, score);
}

Or right before this above, after this (which is right before the above code):

case cOpportunityTypeRescueExplorer:
{
break;
}
default:
{
aiEcho("ERROR ERROR ERROR ERROR");
aiEcho("scoreOpportunity() failed on opportunity "+oppID);
aiEcho("Opportunity Type is "+oppType+" (invalid)");
break;
}
}


Or separately at each cOpportunityTypeDestory, cOpportunityTypeClaim, cOpportunityTypeRaid and cOpportunityTypeDefend?



Anyways, I'm testing it by putting it after "cOpportunityTypeRescueExplorer" and right before "score = classRating * instance * affordable;".



I can see many possibilities with this. However, I agree that it looks difficult to edit and I myself would not know where to start. However, this might enable us to make computer players use separate build orders (by making a new void-start for Treaty games, for instance, or specific supremacy strategies, by using things like:

if (aiTreatyActive() == true)
classRating = 0.0; // Do not attack anything if under treaty

code, found before "case cOpportunityTypeClaim:".


Cards might be able to be customized by "Treaty" and "non-treaty" as well. That lies on in the future, however; its difficult enough with the improving here.

I have to reinstall my game before I can test this thoroughly.

[This message has been edited by murdilator (edited 03-10-2013 @ 03:24 PM).]

posted 03-11-13 08:31 AM EDT (US)     44 / 406  
I placed the code like this:
...
score = classRating * instance * affordable;
// aiEcho(" Class "+classRating+", Instance "+instance+", affordable "+affordable);
// aiEcho(" Final Score: "+score);

***place the code here!***

if (score > 1.0)
score = 1.0;
if (score < 0.0)
score = 0.0;

score = score + source; // Add 1 if from ally, 2 if from trigger.
...

Obviously, the score needs to be defined first before altering it and we don't want it to be negative or over 1.0 (excluding ally commands or triggers), if you wonder its place...

RM scripter and coder for Knights & Barbarians mod
posted 03-12-13 01:05 PM EDT (US)     45 / 406  
It doesn't seem to work for me. I copied and pasted it in, but I get an error when I try and play with it.
posted 03-13-13 10:03 AM EDT (US)     46 / 406  
It works for me, so you probably did something wrong. Just to make sure, I tested it with both Draugur and Vanilla AIs...

RM scripter and coder for Knights & Barbarians mod
posted 03-13-13 04:12 PM EDT (US)     47 / 406  
You're right! I did! More surprisingly, it was an elementary mistake that I, while installing my mod, had forgotten to copy and paste the Protoy and Techtree files (I was just doing it manually), and as I copied in the modified AI for my mod (which requires certain new techs from the modified techtree), its obvious I would get an AI error.

In short I got it to work.

It seems to work well so far; I need to test it more. It will definitely be a good addition to the game itself.


Thanks a lot!


regards,


murdilator

[This message has been edited by murdilator (edited 03-13-2013 @ 04:13 PM).]

posted 05-05-13 03:22 PM EDT (US)     48 / 406  
I have made significant progress on the AI, for standard Age of Empires III. I am working on letting them keep some early game cards (I just got back doing this a couple days, realizing how it is more important than other modding), allowing more accurate cards to be played, but in some ways I want to include shipments so that 3 Villagers always beats 2 Villagers; I think I can do this by adding a "cost" to some cards, such that the AI uses them and prefers them in the deck, without me telling them to do so otherwise. At the moment, a Settler is 165 * QuantityAvail, so 2 Settlers is 330, 3 Settlers is 495, etc. I could simply put a value on cards like Landgrab as I did Furrier, etc.

Anyways, Here is the link:

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


- AI builds only 80 villagers in Industrial and Imperial Ages (down from 85 in Industrial and 90 in Imperial)

- Added a few more specific cards to civilizations, and added more rules to incorporate them in the right time of the game

- Natives now include the 'Town Dance' card in their decks, and use it when you besiege their town instead of the Firepit 'Alarm' Dance.

- German AI uses Settlers Wagons from Industrial onwards, and is magnificently improved (builds civ-specific units; I found out how). Given that they build Settler wagons, they will have generally 20 more settler population than other AI civilizations.

- Added correct cards Unit Improvement for Portugal

- Added Yeomen card for the British; the AI should ship this card as a secondary card - the military still concentrates on Redcoats and Lifeguards (sends it when it sends cards such as TEAM )

- Testing trying to get the Natives to do the 'War Dance' as standard; they now include only 20 Dancers (down from 25) so as to improve their economy.

- Will remove French Church card from the French, and replace it with another more useful card (because this is really underpowered and gives +50% Building Cost; not worth it)

- Added rules for the Asians to upgrade their Imperial Economic Upgrades

- Japanese AI builds much more Ashigaru; builds some Samurai/Naginata, sometimes Yumi

- Testing different card priorities for resource/villager/wagon cards; may make a difference in the future.

- Aztec AI has much better card selection

- Added more bank cards and rules for the Dutch, they will also use Tulip Speculation and Dutch East India Company correctly, and added 700 wood shipment to them

- Will test out things for different civilizations regarding specific cards; I will try and remove the 2 Settlers, 2 Coureurs, and miscellaneous Settler Wagon Shipments, since Settler Wagons are trained via the Mill now.

- Added Guild Artisans to the German Deck; this is now properly used with German Town Farmers

- Only the Dutch AI builds Heavy Cannons from Factories; all other AIs keep both factories on coin and (should) upgrade them on coin.

- Capitol Upgrades rule disabled for Natives and Asians (helps keep the AI more busy on important matters; too many active rules slows down their processing time)

- In General, the AI builds more Musketeers/Skirmishers, and builds even less artillery.

- May allow in the future the Aztecs to Spawn Warriors Priests instead of Skull Knights from the Firepit, thus allowing them to build more units, properly speaking.

- Added Cavalry Hitpoints Card to the French; (at the moment, though, it replaces the Fort; so the church card may be removed to allow the Fort back in)

- Computer ships 'Improved Buildings' and 'Team Improved Buildings' sooner in the game.

- Added more small rules for Economic Techs; may do so for Resource Trickles, in order that the computer use them.

- Perhaps will add separate rules allowing France to have Advanced Trading Post Card, and maybe Allow Germany to include Cheaper Natives card as well.



EDIT: Version 5: May 3rd, 2013 (again):

- German AI should build significantly less mercenaries, and concentrate more on the right units.

EDIT: Version 4: May 3rd, 2013:

- AI now builds two layers of wall upon hitting Industrial

- Now uses German Town Farmers and Guild Artisans cards correctly; the AI should train Settler Wagons once these cards are shipped

- Will remove most Mercenaries (especially for Germany) so that the AI will concentrate on building the right lategame counters and focus on upgrading them (this was included in N3O FP1.3 version of the AI, but not in this one or its previous version to the same extent. I was unaware that I had not changed it previously).

- Will add specific Crate shipments, after some testing.

- AI plays more agressively generally speaking

- AI will upgrade Iroquois, Aztec and Sioux lategame economic techs, if they are available



Currently this AI is more up to date than the N3O FP AI. I plan to update the other AI files on the other patch versions to this setting.



regards,


murdilator
posted 05-10-13 09:17 PM EDT (US)     49 / 406  
wow, good work murdilator! although i haven't tried it yet, since i'm waiting for the N3O AI
posted 05-11-13 03:30 AM EDT (US)     50 / 406  
Its quite out, actually, I update it periodically; and these changes have been applied to that AI which you mention.


However, to admit some disappointment, when the AI builds walls, it suddenly becomes more defensive - which is not a problem if you like playing offensive games rather than defensive games. I would like it to be aggressive no matter what.

I have also found out how to make several wall layers and how to make the AI task several villagers to the building of walls, so that it goes faster. I would probably include more villagers, but I need to test the tasking of wall building, so that the AI doesn't make their new walls collide with their allies' bases.


Thank you very much for you support! I've basically added a forward wall for them as well.

I hope you enjoy what I have done so far!

By giving new crate shipments, or rather favoring them, the AI will send more resource shipments, and thereby advance in Age faster, and be more of a challenge. Also, it will always keep the 3 Settler Card, 3 Coureurs Card and 2 Settler Wagons Card, while favouring these resource shipments, plus most will favour Covered Wagons, and Fort Wagons still. (I'll try and remove these from Portugal, and possibly from the Dutch, while keep for most of the others).



regards,


murdilator
« Previous Page  1 2 3 4 ··· 10 ··· 17  Next Page »
Age of Empires III Heaven » Forums » Modding Discussions » Idea: Let's start a "Better AI project"
Top
You must be logged in to post messages.
Please login or register
Hop to:    
Age of Empires III Heaven | HeavenGames