Jump to content


Photo

BP vs SCS AI


  • Please log in to reply
11 replies to this topic

#1 pauljh5

pauljh5
  • Member
  • 19 posts

Posted 24 February 2010 - 07:43 AM

Hi, Im running through a new BiG installation and ive noticed the ability to choose the AI between Big Picture and sword coast stratagems.

however, i dont really know enough about them to have a proper decision to lean one way or the other, and the information that i have gleaned from one place or another has not been particularly enlightening.

What im hoping to find out is if there is a consensus as to one or the other being considered more stable for a BWP install at the moment, or even just 'better', whatever that means; particularly if one causes known problems in the "standard" install where the other does not. (I vaguely remember, for instance, that the BP AI was considered a possible cause of the wild mage mod not working as intended, not sure if thats still the case though)

anything anyone could add would be great :)

Edited by pauljh5, 24 February 2010 - 08:25 AM.


#2 Arkenor

Arkenor
  • Member
  • 255 posts

Posted 05 September 2010 - 03:38 PM

It's a good question. I'm currently sitting looking at that very stage in my install, dithering about which to pick.

It's never easy to be asked something like that, with no clue as to which the right answer is, or what the consequences might be! I have no idea whether to pick SCS, BP, or even both!

What's the officially recommended setting?

Edited by Arkenor, 05 September 2010 - 09:43 PM.

Arkenor Oakshadow
Ark's Ark Whois
Meddling in the affairs of modders. Modding in the affairs of genie.

#3 dabus

dabus
  • Member
  • 1982 posts

Posted 05 September 2010 - 10:39 PM

I think someone summed it up that BP makes a personal approach. So the mage uses spell that fit their personality. SCS makes the more general approach. I never played the game with one of them, so I can't tell from experience, but be sure that "enemies" and mages/priests will be tougher with SCS. They detect your spells and find solution to get rid of them, don't cast useless spells, prepare for a fight and so on.

Correct me if I remind it falsely.
THINK! - It's not illegal.

#4 DavidWallace

DavidWallace
  • Validating
  • 337 posts

Posted 06 September 2010 - 07:41 AM

I wrote some general thoughts about choosing between AI mods a couple of years ago (mostly points I was considering when writing SCSII) which you can read at http://forums.gibber...showtopic=11484 . However, while that might help assess SCSII, it doesn't tell you what BP does, because I don't know (and the BP that existed then, in 2007, is probably different from the current one).

Just to add to dabus's comment on SCSII (which is basically right), the large majority of spellcasters in SCS and SCSII get their spells determined (at install time) according to a reasonably complicated, but fixed, algorithm. A scattering of SCSII casters (Irenicus in Hell, for instance) get all their spells hand-picked; a rather longer list get a few specifically chosen spells.

Basically, I did it that way mostly because there are several hundred spellcasters in BG2. If I'd tried to determine them all by hand I'd have (a) become very bored, (b) probably not got to the end, and © in practice ended up applying some kind of tacit or explicit algorithm anyway, since I'm not imaginative enough to come up with 200 genuinely different sets of strategies.

I would want to stress that general doesn't mean unvaried. SCS spellcasters use a pretty respectable fraction of all spells (basically anything useful and enemy-scriptable), have about 40 different sequencers, spell triggers etc defined, can be any of four specialities (necromancer, conjurer, invoker, enchanter), etc. There are several hundred billion different combinations that the algorithm can produce.

None of this is particularly to answer "use SCS, not BP". I don't actually know the correct answer (other than it probably varies according to taste), and I'm not familiar enough with the new BP to be able to say anything more concrete.

Edited by DavidWallace, 06 September 2010 - 07:53 AM.


#5 Arkenor

Arkenor
  • Member
  • 255 posts

Posted 06 September 2010 - 08:23 AM

Thanks for your responses!

I take it picking the "Both" option would be to bring doom upon myself? (though I suspect that I was probably installing both before this question was added to the Big World installer)

One reason I found the decision difficult is that searching suggested that some mods might be unhappy if the BP AI is not installed. I want to be facing the most challenging and fun AI (whichever of the choices that may be), but I also want things to be stable!
Arkenor Oakshadow
Ark's Ark Whois
Meddling in the affairs of modders. Modding in the affairs of genie.

#6 10th

10th
  • Member
  • 621 posts

Posted 06 September 2010 - 08:47 AM

BP+SCS I/II at the same time (may be outdated information, so take it with a grain of salt. Moreover it's generally recommended to use only one AI enhancing mod):
Some creatures will behave in a totally idiotic fashion, e. g. a lich will probably attack you in melee instead of crushing you with his spells, while other creatures may get such a boost that you wonder what happened to them.

Take an ogre mage:
BP adds some 6th level spells to his memorised spells. Later SCS II comes along, sees that there's a creature with 6th level spells, but unable to cast them legally as its level is too low. Therefore it raises its level, and now you have a fighter 12/mage 12 ogre mage who is only worth a paltry 650 XP.
Due to him being level 12/12 he gets all the scripts and spells for a such a powerful creature, which could result in the following:
Ogre mage sees your party and casts some instant spells to simulate the pre-buffing of your party. Now it has stoneskin, minor globe of invulnerability, phantom blade, blur, mirror image and shadow door. It continues with haste, slow, chaos and some skull traps.

10th

Edited by 10th, 06 September 2010 - 08:48 AM.

Avast! You cannot defeat our titan-mounted submarine staffed by cannibal vikings! - Nodwick

"I grab his deceased spirit and piledrive it back into his body, duplicating raise dead." - Psyren Oots board

#7 Arkenor

Arkenor
  • Member
  • 255 posts

Posted 06 September 2010 - 08:53 AM

Aha. Hmm, maybe if picking the "Both" option is that bad, it ought to not be an option during the install, or at least it needs to be made a lot scarier sounding!
Arkenor Oakshadow
Ark's Ark Whois
Meddling in the affairs of modders. Modding in the affairs of genie.

#8 Miloch

Miloch

    Barbarian

  • Modder
  • 6579 posts

Posted 06 September 2010 - 04:41 PM

Frankly, you should be able to use BP and SCS1-2 at the same time because of this: Largely speaking, BP replaces the generic scripts of certain creatures with its own scripts (which generally have a BP prefix). Whereas SCS (last I checked its code a while back anyway - it has likely since gotten to complex for me to read) in effect overwrites some generic scripts with its own versions (correct me if I'm wrong, DavidW). In practice, this means that BP will probably overrule SCS regardless of install order (unless SCS explicitly re-writes the script names in .cre slots). Also, since a lot of scripts in these mods are essentially self-contained, it means whichever mod has installed its script in the "highest" slot in a creature file (from top-to-bottom: override, class, race, general, default) will effectively control the creature in question. But if an AI requires more than one script slot and another mod has written to that slot, odd behaviour may well result. What 10th said is probably valid too, but that may not be a bad thing to some folks (particularly those who like a challenge and are already using XPMod to lower experience values).

Yeah, that probably doesn't answer the "which should I choose" question either, but I do think there's a way to get both mods working together where one can cover situations the other doesn't address, and vice-versa, without resulting in too much insanity.

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#9 DavidWallace

DavidWallace
  • Validating
  • 337 posts

Posted 06 September 2010 - 05:09 PM

Frankly, you should be able to use BP and SCS1-2 at the same time because of this: Largely speaking, BP replaces the generic scripts of certain creatures with its own scripts (which generally have a BP prefix). Whereas SCS (last I checked its code a while back anyway - it has likely since gotten to complex for me to read) in effect overwrites some generic scripts with its own versions (correct me if I'm wrong, DavidW). In practice, this means that BP will probably overrule SCS regardless of install order (unless SCS explicitly re-writes the script names in .cre slots).


This isn't entirely correct. At the time I wrote SCSII (3 years back) I explicitly checked for BP and overwrote its changed script names, basically on the grounds that anyone who (a) installed BP and then (b) installed SCSII presumably wanted to see SCSII AI. (BP replaces all the generic AI slots, so without doing that, SCS basically wouldn't have done anything, and the player who wants that presumably wouldn't install it in the first place).

However, that was 3 years ago. I haven't done any testing with BP since, and I think the new version of BP is fairly heavily edited. As of now, I don't know what would happen if both were installed. If I have a chance, I'll see if I can update the compatibility code.

#10 Miloch

Miloch

    Barbarian

  • Modder
  • 6579 posts

Posted 06 September 2010 - 05:35 PM

At the time I wrote SCSII (3 years back) I explicitly checked for BP and overwrote its changed script names, basically on the grounds that anyone who (a) installed BP and then (b) installed SCSII presumably wanted to see SCSII AI.

That should be good enough, I would think. Probably the only thing majorly changed in BP in the last 3 years is it's gotten more patch-friendly... horred has added some content but it has been stuff like improved animations (or removed unused ones).

Perhaps SCS1-2 could log an output listing the scripts slotted for any creatures to which it assigns AI. Possibly it could even be smart enough to detect whether there's an Attack() or similar command in a higher-level script that could render any lower-level scripts inoperative. I could try including something like that in BP but I think BP would typically be installed earlier, so it makes more sense in SCS. But then again, there are earlier megamod-assigned scripts that could interfere with BP as well.

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#11 Arkenor

Arkenor
  • Member
  • 255 posts

Posted 06 September 2010 - 08:02 PM

But then again, there are earlier megamod-assigned scripts that could interfere with BP as well.


I'd have thought they'ed be alright. BP was pretty much born to get those early Megamods under control. There are various later mods that dabble in scripts too though, of course, which might be more of a problem.

It would be great if the two great schools of AI thought could work together, though I imagine the approaches are too different though to allow more than, as you said, failsafes to make sure they don't inadvertently break eachother.

Edited by Arkenor, 06 September 2010 - 08:05 PM.

Arkenor Oakshadow
Ark's Ark Whois
Meddling in the affairs of modders. Modding in the affairs of genie.

#12 DavidWallace

DavidWallace
  • Validating
  • 337 posts

Posted 06 September 2010 - 11:41 PM

[quote name='Miloch' date='07 September 2010 - 02:35 AM' timestamp='1283823331' post='496026']
[quote name='DavidWallace' date='07 September 2010 - 02:09 AM' timestamp='1283821787' post='496023']
Perhaps SCS1-2 could log an output listing the scripts slotted for any creatures to which it assigns AI.
[/quote]

The problem is that SCS largely assigns AI by modifying standard scripts. If you want to find out which creatures have those standard scripts, you're better off asking NI.

[quote]
Possibly it could even be smart enough to detect whether there's an Attack() or similar command in a higher-level script that could render any lower-level scripts inoperative.
[/quote]

Unfortunately, doing that reliably is somewhere between unrealistically demanding and provably impossible (it's uncomfortably reminiscent of Turing's Halting Problem).

In SCS, though, all combat scripts are non-transparent (i.e. render all lower-level scripts inoperative). That's to avoid slowdowns - I don't want all 15,000 lines of some mage's script (or even all 3,000 lines of some fighter's) to be gone through every script round, even if said mage or fighter is nowhere around.