.com.unity Forums
  The Official e-Store of Shrapnel Games

This Month's Specials

BCT Commander- Save $6.00
World Supremacy- Save $10.00

   







Go Back   .com.unity Forums > Illwinter Game Design > Dominions 2: The Ascension Wars

Closed Thread
 
Thread Tools Display Modes
  #1  
Old August 4th, 2006, 04:34 AM
Arralen's Avatar

Arralen Arralen is offline
Major General
 
Join Date: Nov 2000
Location: 500km from Ulm
Posts: 2,279
Thanks: 9
Thanked 18 Times in 12 Posts
Arralen is on a distinguished road
Default Re: Artificial stupidity

There are certain limitations to the game engine atm - your perceived 'stupidity overload' is the result of, sorry to says that, your ignorance towards them:

1) Commanders do what they are ordered to - literally. They do not 'think about' what might be your intentions. The only freedom of choice is what spell to use when ordered to 'cast'. In that case, the AI will mostly go for buff (target:self) spells first. If there are targets in range, the battle engine will try out several different ranged spells and choose the one which deals the most damage. That does not mean it will do maxed damage, or any damage at all, because the random factors are newly calculated when the spell is actually cast.

2) Units do not 'know' about battlefield hazards. They move into poison clouds as well as into a breath of winter. Likewise, units do not 'know' about their own auras/fields.


Ok, another quick test:

A mage who is ordered to "cast spells", but can cast absolutely no spell defaults to "stay behind troops" it seems. (E.g. Blood-1 mage without slaves and low research - only spell would be 'bleed' which requires a slave).

"sometimes cast BoW THEN run to where it can inflict the most casualties"

Obviously, the only spell the mage could cast at that time was BoW. As he was ordered to cast, he did just that. Afterwards, he was ordered (by the game engine) to "stay behind troops" - and he did just that.

"sometimes run to position first, THEN cast BoW"

Behaviour like that I couldn't recreate unless I ordered the mage to move via "attack" order. If ordered to cast a specific spell 4x and then cast spells, the mage always stays put until running completely out of spells. In that case, he casts "BoW" first and moves on the next turn.
Exception might be heroically quick or quickened mages. The additional action points screw up the order of orders (if that makes sense).

"to where it can inflict the most casualties on their own side"

As unit do not know about auras, fields, units around them (other than who is 'rearmost', 'nearest', 'archer' etc), they can't deliberatly run where they can cause the most casualties. They go for the rearmost unit. Simply make sure your rearmost unit is 100% cold-resistant and keeps a healthy distance from the rest of your troops and you'll be fine. If you bunch up all your vulnerable mages, either by setup or use of "stay behind troops", the 'stupidity overload' is surely not on the games side

Admittedly, there are some possibilities for improvement with the battle engine as well as with the game engine in general

__________________
As for AI the most effective work around to this problem so far is to simply use an American instead, they tend to put up a bit more of a fight than your average Artificial Idiot.
... James McGuigan on rec.games.computer.stars somewhen back in 1998 ...
  #2  
Old August 4th, 2006, 07:05 PM

Arker Arker is offline
Corporal
 
Join Date: Jun 2006
Posts: 62
Thanks: 0
Thanked 1 Time in 1 Post
Arker is on a distinguished road
Default Re: Artificial stupidity

Quote:
Arralen said:
There are certain limitations to the game engine atm - your perceived 'stupidity overload' is the result of, sorry to says that, your ignorance towards them:
Obviously it has limitations, and obviously all game engines have limitations. But, sorry, your second clause is exactly reversed. The perception of stupidity here is a result of learning about those limitations, not of being ignorant of them.

Quote:
1) Commanders do what they are ordered to - literally. They do not 'think about' what might be your intentions. The only freedom of choice is what spell to use when ordered to 'cast'. In that case, the AI will mostly go for buff (target:self) spells first. If there are targets in range, the battle engine will try out several different ranged spells and choose the one which deals the most damage. That does not mean it will do maxed damage, or any damage at all, because the random factors are newly calculated when the spell is actually cast.
Actually, that's the point, they DON'T just do what they're ordered to do. As you point out, there are several things they will do without being ordered to do. AI is difficult programming, I realise as well as anyone, and practically speaking it's impossible to get it perfect. I don't expect that.

I did expect, however, an AI that with some basic, fairly simple logic checks like 'don't cast this spell if it's more likely to harm your own troops than the enemy' or 'don't move close to friendly troops when you have an area of damage effect following you around.' That seems pretty elementary.

Quote:
2) Units do not 'know' about battlefield hazards. They move into poison clouds as well as into a breath of winter. Likewise, units do not 'know' about their own auras/fields.
That's a pretty severe limitation, and quite an annoying one from a gameplay perspective, but it wouldn't actually be necessary to fix that to stop what I'm talking about.

Quote:
Ok, another quick test:

A mage who is ordered to "cast spells", but can cast absolutely no spell defaults to "stay behind troops" it seems. (E.g. Blood-1 mage without slaves and low research - only spell would be 'bleed' which requires a slave).
Yep. It will do that even if not given that command.

Quote:
"sometimes cast BoW THEN run to where it can inflict the most casualties"

Obviously, the only spell the mage could cast at that time was BoW. As he was ordered to cast, he did just that. Afterwards, he was ordered (by the game engine) to "stay behind troops" - and he did just that.
Sounds right. And easily fixed, by anyone that has access to the code, one would think.

Quote:
"sometimes run to position first, THEN cast BoW"

Behaviour like that I couldn't recreate unless I ordered the mage to move via "attack" order. If ordered to cast a specific spell 4x and then cast spells, the mage always stays put until running completely out of spells. In that case, he casts "BoW" first and moves on the next turn.
Exception might be heroically quick or quickened mages. The additional action points screw up the order of orders (if that makes sense).
It does, actually, as the latest observation of that behaviour was out of a severely quickened unit. (A random R'lyeh hero, Traitor King? or something like that, L4 water mage with heroic quickness and the spell quickness as well. Definitely NOT ordered to attack or stay behind troops. I have the save game stashed to look at again if there's any point in it.)

Quote:
"to where it can inflict the most casualties on their own side"

As unit do not know about auras, fields, units around them (other than who is 'rearmost', 'nearest', 'archer' etc), they can't deliberatly run where they can cause the most casualties. They go for the rearmost unit. Simply make sure your rearmost unit is 100% cold-resistant and keeps a healthy distance from the rest of your troops and you'll be fine. If you bunch up all your vulnerable mages, either by setup or use of "stay behind troops", the 'stupidity overload' is surely not on the games side
Your rearmost unit, if you have archers, is pretty much always going to be those archers. In this case, as I recall, I had my Illithids (archers in the broad sense) on the right hand side, firing. The melee troops were spread across right-middle and slightly forward, and the assorted mages spread across the back row tending toward the left, with the exception of the hero with the BoW fixation, who was on the far right side and forward, just behind some melees, to keep him as far as possible from other troops when his casting orders ran out, on the basis of previous assertions on this thread. The melees move forward, the illithids fire, the mages cast... for several rounds it's all working well. Then, I'm guessing, what happens is that in the final rounds of the battle, as the spell ques empty, the battle has been won, the enemies are all in flight... and at this point there's no more targest for the spell casters. So they all run and bunch up behind the illithids. The earlier posters on this thread had said this was because I was using the 'stay behind troops' command, remember, so I was testing this and not using the command, and it happens anyway.

I can't believe I'm the only one that finds this beyond annoying. It's absolutely senseless. And fixing it wouldn't require any radical expansion of the AI engine so far as I can see. Simply disabling that forced 'stay behind troops' command you hypothesise (and it matches my observations) would pretty much do the trick. There's no need for mages to be moving around and casting spells when all enemy forces have broken anyway (and that's always or very nearly always when this happens - AFTER all enemies have broken.)
  #3  
Old August 4th, 2006, 08:55 PM

Valandil Valandil is offline
Second Lieutenant
 
Join Date: Dec 2005
Location: Everywhere
Posts: 495
Thanks: 0
Thanked 13 Times in 1 Post
Valandil is on a distinguished road
Default Re: Artificial stupidity

actually, I've never had a problem with this, and I play ry'leh. Order your mages to ALL cast BoW, and then cast, and, since mind burn is absurdly long-ranged, they should never move.
__________________
Unus vocis. Unus manus. Unus Universitas. Unus Deus. Is est meus fatum praeeo pro totus populus.
Ut est meus fortuna.

  #4  
Old August 5th, 2006, 09:41 AM

shovah shovah is offline
Colonel
 
Join Date: Aug 2005
Posts: 1,606
Thanks: 0
Thanked 0 Times in 0 Posts
shovah is on a distinguished road
Default Re: Artificial stupidity

who says he will only be using mind burn? seems a waste of such expensive mages.
  #5  
Old August 5th, 2006, 10:06 AM

Folket Folket is offline
Major
 
Join Date: Sep 2005
Posts: 1,122
Thanks: 5
Thanked 2 Times in 2 Posts
Folket is on a distinguished road
Default Re: Artificial stupidity

He means that the mages will be able to cast mind burn when the enemy is runing away becuase of the range, so your mages will not default to stay behind troops as they do when they can't cast any useful spell.
  #6  
Old August 5th, 2006, 04:49 PM
Arralen's Avatar

Arralen Arralen is offline
Major General
 
Join Date: Nov 2000
Location: 500km from Ulm
Posts: 2,279
Thanks: 9
Thanked 18 Times in 12 Posts
Arralen is on a distinguished road
Default Re: Artificial stupidity

.. make that "can't cast any spell". They will cast even the most unuseful spell before they start moving.

Btw. - to correct this whole issue is obviously not trivial, or the devs would have done that long before.

There's no 'do nothing order' - even commanders set to "stay behind troops" wiggle about a bit each turn. So a mage who cannot cast any spell (no matter who silly it may be) can't simply stand still for one turn - he has to move and defaults to "stay behind rearmost" because of this.
__________________
As for AI the most effective work around to this problem so far is to simply use an American instead, they tend to put up a bit more of a fight than your average Artificial Idiot.
... James McGuigan on rec.games.computer.stars somewhen back in 1998 ...
  #7  
Old August 6th, 2006, 08:51 AM

Folket Folket is offline
Major
 
Join Date: Sep 2005
Posts: 1,122
Thanks: 5
Thanked 2 Times in 2 Posts
Folket is on a distinguished road
Default Re: Artificial stupidity

Are you sure a fire mage being out of range will cast fireflies after the opponent?
  #8  
Old August 8th, 2006, 02:29 PM
Graeme Dice's Avatar

Graeme Dice Graeme Dice is offline
General
 
Join Date: Nov 2000
Posts: 3,013
Thanks: 17
Thanked 25 Times in 22 Posts
Graeme Dice is on a distinguished road
Default Re: Artificial stupidity

Quote:
Arker said:
Actually, that's the point, they DON'T just do what they're ordered to do.
No, they do exactly what they are ordered to do, which is exactly as has been described to you. It doesn't necessarily match with what you think you ordered them to do, but that's a problem with your understanding of the logic used for decision making.

Quote:
I did expect, however, an AI that with some basic, fairly simple logic checks like 'don't cast this spell if it's more likely to harm your own troops than the enemy' or 'don't move close to friendly troops when you have an area of damage effect following you around.' That seems pretty elementary.
If it's simple, then you'll be able to tell us all how to determine both cases. How does the AI know whether breath of winter is more likely to hurt your troops than the enemies?

Quote:
Yep. It will do that even if not given that command.
No, it will only move forwards if there are no other possible spells to cast, or if you didn't give your commanders any orders at all. Stay behind troops is the default order.

Quote:
Sounds right. And easily fixed, by anyone that has access to the code, one would think.
If it's easily fixed, then you'll be able to describe exactly what the proper behaviour would be in each possible game situation.

Quote:
(A random R'lyeh hero, Traitor King? or something like that, L4 water mage with heroic quickness and the spell quickness as well. Definitely NOT ordered to attack or stay behind troops.
I already pointed out in my first post to this thread tat heroic quickness screws things up. Perhaps you should have realized that when somebody refers to heroic quickness, they are explaining that your units with heroic quickness fall under that category.
  #9  
Old August 8th, 2006, 03:15 PM
Ballbarian's Avatar

Ballbarian Ballbarian is offline
Colonel
 
Join Date: May 2005
Location: Kansas, USA
Posts: 1,538
Thanks: 289
Thanked 194 Times in 94 Posts
Ballbarian will become famous soon enough
Default Re: Artificial stupidity

I've mentioned this before, but a little check box next to researched spells in the spell list would solve most of these types of issues. If the check box is unchecked, then God has outlawed this spell (removed from castable spells list for this nation as far as the mage's ai is concerned) and any mage caught casting that spell will be stoned to death.
__________________
RanDom v2 - Map gen & Semirandomizer.
Province Editor - Custom province creation made easier.
God Editor - Custom pretender creation made easier.
Map Forge - Map editor
  #10  
Old August 8th, 2006, 03:26 PM
Cainehill's Avatar

Cainehill Cainehill is offline
Lieutenant General
 
Join Date: Mar 2004
Location: Albuquerque New Mexico
Posts: 2,997
Thanks: 0
Thanked 0 Times in 0 Posts
Cainehill is on a distinguished road
Default Re: Artificial stupidity

Quote:
Ballbarian said:
I've mentioned this before, but a little check box next to researched spells in the spell list would solve most of these types of issues. If the check box is unchecked, then God has outlawed this spell (removed from castable spells list for this nation as far as the mage's ai is concerned) and any mage caught casting that spell will be stoned to death.
But of course, only _after_ the offending sage's BoW has killed all the expensive mages.
__________________
Wormwood and wine, and the bitter taste of ashes.
Closed Thread

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On

Forum Jump


All times are GMT -4. The time now is 09:48 PM.


Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©1999 - 2025, Shrapnel Games, Inc. - All Rights Reserved.