HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Thoughts on AI design

06-13-2003, 11:23 AM#1
Vidstige
I intend to design a model over an AI playing the melee-game, and I therefore wonder if someone has made such a thing or have any ideas on it.

My idea is to model it as communicating modules (or agents in ai language). One agent would act as the ruler, making plans on highest level; another would be responsibel for constructing buildings, the third for training units and the fifth for controling the army.

I am doing this for a university project and one of my goals is to interest artificial intelligence researchers for computer games, WC3 specifically. If they get interested we might get help creating the ultimate AI. 8)

If there are any interest I could post my model as it evolves, just tell me.
06-13-2003, 03:49 PM#2
AIAndy
In a way AMAI implements such a model.
The strategy changer would be the ruler. He decides what strategy to apply and changes it according to what the enemy builds.
The build_sequence decides what units and upgrades should be built for the strategy at what priority and controls tier advance. The units it likes to have built are added to a priority queue.
While adding another part checks what buildings are needed for the ordered units and adds those to the priority queue.
The build_loop processes the priority queue and tells the hard coded AI what to build.
The attack_sequence checks enemy strengths and looks for a target or attacks creeps instead.
06-14-2003, 12:15 AM#3
Vidstige
I thought that you might had a decent model behind MAI. :gsmile:

I'll investigate build_sequence, build_loop and attack_sequence next week. I just read JonahDean's document on The Warcraft III Build Queue and found it very interesting.
06-16-2003, 06:14 AM#4
Zalamander
Well since AIAndy redesigned the build function of common.ai our build queue's work very different from the original.
We only have to enter the end products of the build and the new dynamic build function of AMAI will know what to build to get there.
for example in original AI if you want the compter to build 2 riflemen you have to wirte all buildings/upgrades and workers that is needed to get 2 riflemen in the right order while in AMAI you simply just have to write one row of code "call SetBuildUnit(2, RIFLEMAN, 100)" and everything will be built. til it got 2 riflemen.

Take a look at AMAI build_sequences and the original to see the clear difference.
06-16-2003, 06:28 AM#5
Vidstige
Belive me I will, I already hate how the original common.ai works.
06-16-2003, 09:47 PM#6
Vidstige
Does your ai build towards one goal unit/building at a time or
does it build in paralell against all defined goals?

I also wonder if your ai may change it's building goals before
reaching the former goals. That would probably be useful since
the ai could be made more responsive that way, but you
probably thought of that already. :gsmile:
06-17-2003, 02:45 AM#7
AIAndy
Each goal defined as a target unit or target upgrade gets a priority and can be worked on parallelly that way.
The strategy (goals) can be changed at any time. The decision to do so is made by a pretty independant part.