![]() |
Re: Artificial stupidity
Quote:
However Trident gives 2 attacks every round. |
Re: Artificial stupidity
It may seem a little wierd to reply to myself, but I thought over what I've posted and have a bit to add. Editing the post this long after it's posted would be even wierder.
Quote:
Quote:
Quote:
|
Re: Artificial stupidity
Offtopic but, heh ... might I point out, while the TC cavalry has some parts to be desired, the Vanir and Centaurs are actually incredible units if you know what to do with them.
|
Re: Artificial stupidity
So what's your strategy then?
|
Re: Artificial stupidity
Duel bless them. Vans are incredible with f9/w9 (or even just w9 actually) and the centaurs are easily blessed to e9/n9 thanks to medusa.
|
Re: Artificial stupidity
Ideally, every single battlefield spell would have a "desirability" function that observes factors about the battlefield situation and tries to gauge the usefulness of each spell. Then just cast the most useful spell.
This would take a lot of coding and testing but is probably not totally unfeasible, mostly because a lot of spells have basically the same behavior. For example, there's scads of projectile spells that all function in basically the same way. There's a lot of spells that hit the whole battlefield. There's a lot of personal protection spells. There's a lot of summoning spells. And so on and so forth. Of course it's far too late to add this to Dom2 or even 3, but it's a nice pipedream. |
Re: Artificial stupidity
Thats actually in there already. I just dont understand it. Here is a combat log. It gives me a headache trying to follow what its thinking but it looks good. I know that "com " means commander so this seems to be the "thinking" for one commander named Bellare until the spell as chosen.
Gandalf Parker Mrlreport (left): good0 broken0 autobreak0 turn0 com Bellare cast spell (favspell Summon Earthpower) (mayusegems 1) est. choices 27 comp_castspell: eval Fire Flies result -1 comp_castspell: eval Air Shield result -1 spellscore, Freezing Touch score -9999 (boost 102 scorat 0) Eval: Freezing Touch score 0 (fat 10) comp_castspell: eval Freezing Touch result 0 best Flying Shards this far, 14 10 (4 pnts) spellscore, Flying Shards score 13 (boost 83 scorat 0) Eval: Flying Shards score 12 (fat 15) comp_castspell: eval Flying Shards result 12 best spell so far Flying Shards (score12) comp_castspell: eval Twist Fate result -1 comp_castspell: eval Hand of Dust result -1 spellscore, Sleep Touch score -9999 (boost 101 scorat 0) Eval: Sleep Touch score 0 (fat 10) comp_castspell: eval Sleep Touch result 0 comp_castspell: eval Bleed result -1 best Banishment this far, 3 6 (0 pnts) spellscore, Banishment score 0 (boost 119 scorat 0) Eval: Banishment score 0 (fat 0) comp_castspell: eval Banishment result 0 best Blessing this far, 3 6 (35 pnts) spellscore, Blessing score 35 (boost 114 scorat 0) Eval: Blessing score 38 (fat 0) comp_castspell: eval Blessing result 38 best spell so far Blessing (score38) comp_castspell: eval Sermon of Courage result -1 comp_castspell: eval Smite Demon result -1 comp_castspell: eval Holy Avenger result -1 comp_castspell: eval Divine Blessing result -1 comp_castspell: eval Smite result -1 comp_castspell: eval Fanaticism result -1 comp_castspell: eval Word of Power result -1 comp_castspell: eval Burning Hands result -1 comp_castspell: eval Fire Darts result -1 comp_castspell: eval Flame Bolt result -1 comp_castspell: eval Shocking Grasp result -1 best Slime this far, 14 10 (5 pnts) spellscore, Slime score 5 (boost 105 scorat 0) Eval: Slime score 4 (fat 20) comp_castspell: eval Slime result 4 looser spell Slime (score 4) comp_castspell: eval Cold Bolt result -1 comp_castspell: eval Geyser result -2 comp_castspell: eval Acid Spray result -2 comp_castspell: eval Star Fires result -1 comp_castspell: eval Fire Resistance result -1 comp_castspell: eval Charge Body result -1 comp_castspell: eval Aim result -1 comp_castspell: eval Resist Lightning result -1 comp_castspell: eval False Fetters result -1 spellscore, Cold Resistance score 1 (boost 108 scorat 0) Eval: Cold Resistance score 1 (fat 5) comp_castspell: eval Cold Resistance result 1 looser spell Cold Resistance (score 1) spellscore, Resist Fire score 1 (boost 81 scorat 0) Eval: Resist Fire score 1 (fat 10) comp_castspell: eval Resist Fire result 1 looser spell Resist Fire (score 1) spellscore, Fists of Iron score -9999 (boost 84 scorat 0) Eval: Fists of Iron score 0 (fat 15) comp_castspell: eval Fists of Iron result 0 best Earth Grip this far, 14 10 (8 pnts) spellscore, Earth Grip score 7 (boost 102 scorat 0) Eval: Earth Grip score 7 (fat 5) comp_castspell: eval Earth Grip result 7 looser spell Earth Grip (score 7) best Earth Might this far, 3 6 (27 pnts) spellscore, Earth Might score 29 (boost 100 scorat 0) Eval: Earth Might score 26 (fat 20) comp_castspell: eval Earth Might result 26 looser spell Earth Might (score 26) comp_castspell: eval Hand of Death result -1 spellscore, Eagle Eyes score 135 (boost 114 scorat 0) Eval: Eagle Eyes score 142 (fat 5) comp_castspell: eval Eagle Eyes result 142 best spell so far Eagle Eyes (score142) spellscore, Poison Touch score -9999 (boost 89 scorat 0) Eval: Poison Touch score 0 (fat 5) comp_castspell: eval Poison Touch result 0 spellscore, Resist Poison score 0 (boost 116 scorat 0) Eval: Resist Poison score 0 (fat 5) comp_castspell: eval Resist Poison result 0 spellscore, Barkskin score 293 (boost 116 scorat 0) Eval: Barkskin score 308 (fat 5) comp_castspell: eval Barkskin result 308 best spell so far Barkskin (score308) comp_castspell: eval Personal Luck result -1 comp_castspell: eval Combustion result -1 comp_castspell: eval Phantasmal Warrior result -1 comp_castspell: eval Mirror Image result -1 spellscore, Quicken self score 878 (boost 98 scorat 0) Eval: Quicken self score 798 (fat 20) comp_castspell: eval Quicken self result 798 best spell so far Quicken self (score798) spellscore, Stoneskin score 523 (boost 102 scorat 0) Eval: Stoneskin score 550 (fat 5) comp_castspell: eval Stoneskin result 550 looser spell Stoneskin (score 550) best Armor of Achilles this far, 14 10 (5 pnts) spellscore, Armor of Achilles score 1 (boost 86 scorat 0) Eval: Armor of Achilles score 1 (fat 20) comp_castspell: eval Armor of Achilles result 1 looser spell Armor of Achilles (score 1) best Earth Meld this far, 3 6 (-35 pnts) best Earth Meld this far, 14 10 (17 pnts) spellscore, Earth Meld score 21 (boost 105 scorat 0) Eval: Earth Meld score 12 (fat 80) comp_castspell: eval Earth Meld result 12 looser spell Earth Meld (score 12) comp_castspell: eval Immolation result -1 comp_castspell: eval Mistform result -1 comp_castspell: eval Ghost Wolves result -1 comp_castspell: eval Numbness result -1 spellscore, Ironskin score 1003 (boost 98 scorat 0) Eval: Ironskin score 1003 (fat 10) comp_castspell: eval Ironskin result 1003 best spell so far Ironskin (score1003) best Protection this far, 3 6 (256 pnts) spellscore, Protection score 293 (boost 116 scorat 0) Eval: Protection score 266 (fat 20) comp_castspell: eval Protection result 266 looser spell Protection (score 266) comp_castspell: eval Body Ethereal result -1 comp_castspell: eval Spirit Curse result -1 best Tangle Vines this far, 14 10 (9 pnts) spellscore, Tangle Vines score 11 (boost 116 scorat 0) Eval: Tangle Vines score 10 (fat 20) comp_castspell: eval Tangle Vines result 10 looser spell Tangle Vines (score 10) comp_castspell: eval Summon Storm Power result -1 comp_castspell: eval Summon Water Power result -6 comp_castspell: eval Phoenix Power result -1 comp_castspell: eval Summon Lesser Fire Elemental result -1 comp_castspell: eval Summon Lesser Air Elemental result -1 Not enough vis for Summon Lesser Water Elemental comp_castspell: eval Summon Lesser Water Elemental result -3 spellscore, Summon Earthpower score 203 (boost 83 scorat 0) Eval: Summon Earthpower score 184 (fat 20) comp_castspell: eval Summon Earthpower result 184 best spell so far Summon Earthpower (score100184) Not enough vis for Summon Lesser Earth Elemental comp_castspell: eval Summon Lesser Earth Elemental result -3 comp_castspell: eval Power of the Spheres result -1 comp_castspell: eval Desiccation result -1 comp_castspell: eval Farstrike result -2 comp_castspell: eval Blink result -1 comp_castspell: eval Returning result -1 comp_castspell: eval Communion Master result -1 comp_castspell: eval Communion Slave result -1 comp_castspell: eval Horror Mark result -1 comp_castspell: eval Dust to Dust result -1 comp_castspell: eval Decay result -1 comp_castspell: eval Frighten result -1 comp_castspell: eval Seven Year Fever result -2 comp_castspell: eval Curse result -2 comp_castspell: eval Bonds of Fire result -1 comp_castspell: eval Mind Burn result -1 comp_castspell: eval Berserkers result -1 comp_castspell: eval Sleep result -1 comp_castspell: eval Rage result -1 comp_castspell: eval Sailors' Death result -1 best Iron Will this far, 3 6 (13 pnts) spellscore, Iron Will score 15 (boost 97 scorat 0) Eval: Iron Will score 15 (fat 10) comp_castspell: eval Iron Will result 15 looser spell Iron Will (score 15) comp_castspell: eval Panic result -1 comp_castspell: eval Arcane Bolt result -1 best Mossbody this far, 3 6 (186 pnts) spellscore, Mossbody score 160 (boost 85 scorat 0) Eval: Mossbody score 145 (fat 20) comp_castspell: eval Mossbody result 145 looser spell Mossbody (score 145) castspell: cnr113 spl438 (Summon Earthpower) vis0 x3 y6 spldmg4096 vis 0 xvis 0 blastsqr: unr14799 x3 y6 aoe0 dmg4096 eff23 spc8404992 as10192 al9 affectvic vic14799 hv0 hitunit 14799 14799 dmg4096 spec8404992 ba2 battle_incheck |
Re: Artificial stupidity
Quote:
I like it being somewhat random. People in battle are somewhat random. They make decisions based on imperfect information, without the time to sit down and weigh all the factors and think it all through carefully, and that means a lot of the time they don't make the best choices. But that said, yes, what would be good would be for it to have at least some grasp of these factors. Casting BoW then bunching up with a bunch of friendlies with no cold resistance is taking it way beyond realism into the land of the absurd, for instance. And that's what's so frustrating about it for me, I guess, it's not that I'm taking friendly fire (I take that all the time, naturally I don't like it, but in a wierd way it adds to the charm of the game... in cases where it makes sense.) Quote:
Anyhow that's a comparitively minor point. They do seem to calculate what spell will do the most immediate damage to enemy troops and cast that. The big problem is with the spells that don't fit that mold. The buffs and utily spells basically, tangle vines, aim, protection, blink (THAT one can really cause problems too) anything that doesn't do direct damage... the AI doesn't seem, from my observation, to have any underlying logic at all to when they cast those, they just seem to pull one out of the hat and throw it out like 'what the heck, I have absolutely no clue.' Throwing out fire clouds directly in the path of their own troops when the enemy is running away, for another example to add to the ones we've run into the ground http://forum.shrapnelgames.com/images/smilies/wink.gif I've seen that several times. Most of the time it does silly stuff it's not directly destructive though, and so you don't notice it unless you're paying close attention... casting strength buffs on other mages when those knights are charging the heavy infantry line for instance... watch closely for it and you'll see, but it's not even in the same league with BoW for annoyance, and as long as it doesn't happen too often it actually makes the thing seem more 'human,' no? I don't want it to be perfect, but I do want it to simulate someone with something approximating a clue. And it really *does* do that most of the time. Just needs some work on certain spells... |
Re: Artificial stupidity
Quote:
What you're doing there, though, is giving up a huge number of creation points to supercharge them magically, and what you get out of it is really some quirky heavy cavalry. I've played both of them that way, and experimented with the bless strategies, and my honest opinion is that while you can make them work that way, you'll still get your rear handed to you up against someone that spent those points on scales instead, and uses independent heavy cav/knight recruits. But for the sake of argument, let's say you at least have a fair chance of winning that way. It's still beside the point to me - I'd like to be able to play it in role, that is to say, play them as light cavalry, using their speed advantage to bring those ranged weapons to bear effectively, not converting them into some oddball heavy-cav units. And of course it's totally inapplicable to non-holy light cavalry, T'ien Ch'i, Arco... and actually not applicable to the Centaurs I was talking about either. You know, the Centaurs, not the White Centaurs, just plain old Centaurs, the ones that should logically by description and theme be the feared and fabled archery section of Pangaeas army, but in reality are totally useless http://forum.shrapnelgames.com/images/smilies/wink.gif |
Re: Artificial stupidity
Thanks for posting this!
The 'favspell' entry is interesting, this might confirm my early hunch that each caster seemed to get a little fixated on their favourite spell... an impression I discarded as silly anthropomorphic imaging http://forum.shrapnelgames.com/images/smilies/wink.gif so maybe I was wrong on that. I'd guess the -1, -2, -3 values are special disqualifications. I'd guess -1 is out of range to start with... and then we can discard that hypothesis almost immediately I think... I never use fire flies so I'm guessing, but doesn't it have at least as much range as flying shards? So it's something else... the really wierd thing is that it seems like it settled on mossbody(?) as the best choice, then cast summon earth power anyway... geez... gonna take some time to figure out how to parse this thing properly. Anyone already figured it out by chance? Might really clarify a lot... |
All times are GMT -4. The time now is 12:34 PM. |
Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©1999 - 2025, Shrapnel Games, Inc. - All Rights Reserved.