.com.unity Forums

.com.unity Forums (http://forum.shrapnelgames.com/index.php)
-   Dominions 2: The Ascension Wars (http://forum.shrapnelgames.com/forumdisplay.php?f=55)
-   -   Artificial stupidity (http://forum.shrapnelgames.com/showthread.php?t=29703)

Arker August 4th, 2006 07:05 PM

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 http://forum.shrapnelgames.com/image...ies/tongue.gif

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.)

Valandil August 4th, 2006 08:55 PM

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.

shovah August 5th, 2006 09:41 AM

Re: Artificial stupidity
 
who says he will only be using mind burn? seems a waste of such expensive mages.

Folket August 5th, 2006 10:06 AM

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.

Arralen August 5th, 2006 04:49 PM

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.

Folket August 6th, 2006 08:51 AM

Re: Artificial stupidity
 
Are you sure a fire mage being out of range will cast fireflies after the opponent?

Arralen August 6th, 2006 09:38 AM

Re: Artificial stupidity
 
Nope. He can't cast any spell, because he has no target in range to cast fireflies at. Dunno where I should have said otherwise.

He will cast at a single inf unit at max range despite the to-hit chance must be around 0.1%, though.

Likewise, he'll cast any other spell that has a target that is in range - preferably buffs spells, because those have range "self" or "1".

Only if he runs totally out of castable spells he'll start to move.

Agrajag August 6th, 2006 04:27 PM

Re: Artificial stupidity
 
Here's what I want to know, how come everytime someone remarks that an AI is stupid he says Artificial Stupidity in mock of Artificial Intelligence. Why not Genuine Stupidity which is a much more fitting title. (IE the AI is genuinely stupid)

Wick August 6th, 2006 07:09 PM

Re: Artificial stupidity
 
Because computers are stupid but for idiocy on a grand scale you need a human. ;-)

Gandalf Parker August 7th, 2006 10:30 AM

Re: Artificial stupidity
 
Actually neither term should be used. Artificial Intelligence isnt all that hard and has been done often. Its a common topic in the AI work groups. In those groups they joke about AI always meaning almost implemented because anytime an AI project is completed it stops being referred to as AI. Like diagnosis software, or autopilot, or streetlight management. All were AI projects until they were done.

What the players want is artificially human. As just one example... artificial intelligence would use a straight line. It takes a artificially human would sneak around behind or do a flanking attack. Or better yet to randomly select between them, sometimes when its even a bad idea but might be a surprise.

What programmers, especially game programmers have learned is that the closer you get to AH the more random gets worked in. So its often a shorter project that instead of starting with intelligent then gradually add more randoms, AH is often best achieved by starting with it being random then making it gradually more intelligent.
Just FYI trivia


All times are GMT -4. The time now is 05:49 AM.

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