Jump to content

SCSII-Ascension related components and BP-Ascension


Guest Fennek

Recommended Posts

I'm trying to figure out for the BWP-setup how SCSII and BP-Ascesnion can be combined.

 

If one uses the old Ascension, one installs Ascension and the additional components and afterwards the Ascension related components of SCSII (Illasera AI, Yaga-Shura AI) etc.

 

My first question is: Is it intended to install Abazigal AI, Balthazar AI and Sendai Ai with as well as without the additional components from Ascension? Or only with the additional components?

 

(At least if one uses BP-Ascension, the above mentioned three components can be installed without the additional components of BP-Ascension, while the two components mentioned at ht beginning are skipped if the additional components are not installed).

 

My second question is: Is compatibility with BP-Ascension intended? (I know that problems are mentioned in the readme, but I think that BP-Ascension will be the "standard" Ascension at latest after Miloch and Turambar have finished their updating of the old BP-code).

 

If yes, there's a problem at least with the henchmen of Illasera. The Black Talons do not get SCSII AI, but keep their BP-AI, while the AI of the cleric is totally messed up, meaning apparently a broken script, resulting in standing around without doing anything. I know that BP-AI and SCS-Ai mixed together cause problems, but here SCSII apparently does not even recognize / change the AI of the Black Talons (while I do not know if the cleric's AI is messed up by the combination or is already buggy in BP).

Link to post

I hope the readme is clear on this. SCSII was designed with the original Ascension in mind. Since then, a new version of Ascension has turned up. SCSII was not designed with this version in mind; reports suggest that there are clashes.

 

Do I intend to support BP-Ascension? No, not any time soon. I think it was a crazy decision to take basically the oldest widely-used mod in existence and release a version which made all manner of compatibility-breaking changes, so I sincerely hope you're wrong about it becoming the standard version. Equally, I think it was very unwise of the BWP people to settle on BP-Ascension instead of standard Ascension as their core version, but ultimately it's up to them (I'm not in any case a fan of the BWP approach, so arguably it's none of my business how they make fine-grained decisions like this.)

 

I suppose if in a year or two everyone seems to have settled on BP-ascension as standard I might grumpily do a compatibility fix. Don't hold your breath.

Link to post

IIRC, BP-Ascension doesn't make any large-scale changes to the scripts or file layout (or depend on the main component), so BP's Ascension should integrate seamlessly with SCSII. Regarding Improved Abazigal/Illasera/Whatever, BP should really decouple them from the main component (as it does with Ascension and the other borrowed Tactics components), in which case integration with SCSII should be effortless as well. Pretty sure that Miloch and Turambar could be lobbied in that direction.

Link to post
Regarding Improved Abazigal/Illasera/Whatever, BP should really decouple them from the main component (as it does with Ascension and the other borrowed Tactics components)
I thought it did this as of v180. Or do you mean make such components not predicated on the main component? Yes, we're working on that. In theory, BP-Ascension should be the same as the original Ascension with some bugfixes (according to the BP readme anyway). It overwrites some resources (something we're also changing to patching) but then so does the original. So obviously, install it before SCS2 and most other mods until we change that.
Link to post
Regarding Improved Abazigal/Illasera/Whatever, BP should really decouple them from the main component (as it does with Ascension and the other borrowed Tactics components)
I thought it did this as of v180. Or do you mean make such components not predicated on the main component? Yes, we're working on that. In theory, BP-Ascension should be the same as the original Ascension with some bugfixes (according to the BP readme anyway). It overwrites some resources (something we're also changing to patching) but then so does the original. So obviously, install it before SCS2 and most other mods until we change that.

 

I recommend doing an actual cross-check with original Ascension - my recollection is that it does a bit more than fix bugs. (I'd be happy to be proved wrong.)

Link to post
I recommend doing an actual cross-check with original Ascension - my recollection is that it does a bit more than fix bugs. (I'd be happy to be proved wrong.)
I plan to if I can figure out a human-readable way of diffing 2 installs with each mod. I think the bigg and cmorgan have a method, but I don't know if it reports what the differences are (just that there are differences). I do have a utility to report .cre differences, so I can check that fairly easily at least. I suspect the BP version adds or has an option to add BP AI, but that would only be enabled if BP's main component is installed.
Link to post

Apparently, the existing documentation on SCS(2) and (BP-)Ascension is confusing a lot folks, so I'm trying to help clarify it (don't ask why - I'm a masochist I guess). A recent discussion is here. I myself don't really understand which components are supposed to be compatible with others. I suppose no one has a really clear picture short of comprehensive mod compatibility testing or code analysis (neither of which has been done, or if it has, I'd like to see the reports).

 

As noted in the link, SCS2's readme as of v11 (the version I've got installed from a few months ago) says this of BP compatibility:

Big Picture

 

The core AI component of Big Picture is probably compatible with SCS II. Install that component first, then install whichever SCS II components you want (they will overwrite the corresponding bits of BP AI). I have confirmed that this combination will install but I don't guarantee that there aren't any minor bugs.

 

The other components of BP are also pretty likely to be compatible with SCS II (and don't really overlap with it). Again, install them first.

Fair enough. But sometime between then and the current v15, the readme was changed to this:
Big Picture

 

My impression is that the latest version of Big Picture is largely incompatible with SCS II. I suggest installing one or the other.

So I'm wondering what in the "latest version" of BP or what reports made you change this? The latest SCS2 readme gives even Improved Anvil a better shot at compatibility, or at least gives a slightly more verbose account of why it might be incompatible.

 

On somewhat similar grounds, I've seen reports that SCS2 overwrites BP's own scripts. Here's one example from genai.tph (there are others I'm sure):

ACTION_IF FILE_EXISTS_IN_GAME ~bpmaevar.bcs~ THEN BEGIN
 COPY_EXISTING ~wdasight.bcs~ ~override/bpwdasgt.bcs~ // Big Picture compatibility
 COPY_EXISTING ~wdarsgt.bcs~ ~override/bpwdrsgt.bcs~
END

Overwriting vanilla scripts is one thing (not necessarily a good thing, but perhaps warranted in an AI-overhauling mod) but is overwriting a mod's scripts really necessary? Can't you just patch the CREs you want to change with your own scripts? If you end up overwriting a slot in which BP had a script, so be it, but this shouldn't necessarily always be the case.

Link to post
So I'm wondering what in the "latest version" of BP or what reports made you change [sCS2's readme]? The latest SCS2 readme gives even Improved Anvil a better shot at compatibility, or at least gives a slightly more verbose account of why it might be incompatible.

 

A couple of player reports, plus the fact that my previous effort to make SCS BP-compatible was based on a much older (2007) version of BP and I haven't revisited the issue of compatibility since then.

 

Overwriting vanilla scripts is one thing (not necessarily a good thing, but perhaps warranted in an AI-overhauling mod) but is overwriting a mod's scripts really necessary? Can't you just patch the CREs you want to change with your own scripts? If you end up overwriting a slot in which BP had a script, so be it, but this shouldn't necessarily always be the case.

 

BP (again, as of the last time I studied it, which was three years ago) fairly systematically replaces the game's core combat scripts with its own scripts (e.g., fairly systematically replaces wtasight.bcs with bpwtasgt.bcs). Since SCS works by modifying all the game's core scripts, choosing not to extend those modifications to BP's core scripts would effectively mean not installing SCS. This solution means that those bits of BP that don't involve core-script changes can be installed compatibly with SCS (again, as of the 2007 version). That's the only coherent sense of "compatible" that I could reasonably find (and again, when I was claiming compatibility I was up-front about this: "[sCS] will overwrite the corresponding bits of BP AI".)

 

Put another way: you say "why don't I just patch those CRE files I want changed?" Answer: those CRE files I want changed are, by definition, exactly those which use a core combat script (and, more specifically, the CRE file script slot I want changed is the one with the core combat script in it.) BP changes the definition of "core combat script". Relative to that new definition, what you suggest I do is functionally equivalent to what I actually do.

 

(Incidentally, the last time I looked carefully at that compatibility code was a long time before the last set of big structural rearrangements in SCS, and I'm no longer sure it does what was advertised; that's another reason to stop advertising compatibility.)

 

On a broader level, what this reflects is that when I wrote SCSII in 2006, I went to a lot of effort to make it compatible with what was then on the market. Since then, I've tended to actively support compatibility only with things that actually seem to be being used concurrently with SCSII, which for the last few years hasn't included BP. Currently BP seems to be having a bit of a renaissance, so it's possible next time I do an SCSII update, I'll look at updating compatibility (though still not in a way that'll be to your liking, I fear). But as of the last SCSII release, I was aware that there were significant compatibility problems but didn't have time to investigate and solve them. Hence the change to the readme.

 

(The IA readme comment borders on an in-joke, I shouldn't take it too seriously.)

Link to post
overwriting

Yeah, what's up with this? We're no longer in the dark ages of modding. Just because the easiest, cleanest, and most logical way to accomplish a task would be to overwrite, that doesn't mean you should ever consider it. Shame on you DavidW.

Link to post
A couple of player reports, plus the fact that my previous effort to make SCS BP-compatible was based on a much older (2007) version of BP and I haven't revisited the issue of compatibility since then.

 

BP (again, as of the last time I studied it, which was three years ago) fairly systematically replaces the game's core combat scripts with its own scripts (e.g., fairly systematically replaces wtasight.bcs with bpwtasgt.bcs).

It still does, but in a slightly different way from SCS2. Essentially it scans all CREs via regexp, checks if they have a generic script (e.g. wtasight) and replace it with the BP equivalent if so (bpwtsigt or whatever). The difference being that if SCS used a prefix or other designation for its own scripts (for some I've seen either dw# or the tutu underscore) then it would not replace those. Thus, by installing BP after SCS2, players could have a "hybrid AI" install if they so wanted. I'm not sure who would, but the nature of comments on the megamod forums seems to suggest several would.

 

The problem with that approach is that the current BP still overwrites some resources - not so much scripts, but CREs and spells. And it patches a lot more than it used to - this is probably the primary difference between the latest version and the one you looked at (hopefully the next version will be fully patching - I've already done this locally for the main component).

 

The goal is that perhaps BP and SCS2 could be technically compatible and perhaps even install order-independent. Clearly, they try to do similar things and so there'll be situations where it's a one-or-the-other choice, but also they have separate areas of focus where there should be no real conflict.

Currently BP seems to be having a bit of a renaissance, so it's possible next time I do an SCSII update, I'll look at updating compatibility (though still not in a way that'll be to your liking, I fear). But as of the last SCSII release, I was aware that there were significant compatibility problems but didn't have time to investigate and solve them. Hence the change to the readme.
Well it's not so much "my" liking - I haven't actually played a full game with either AI system, so I couldn't say what's best. I'm just relaying what I've seen other express. Would it be feasible to offer the BP script overwriting as an option in the main component? For example, a subcomponent that displays only if BP is detected could say "Preserve generic BP scripting". Since your code uses mainly includes anyway, you could just have that option set a variable, and in any instances where a bp*.bcs would get overwritten, skip it if the variable is set.

 

If you can point me to any compatibility reports, I'll investigate. So far the claims I've seen have resulted to be either bugs with BP's overwriting (where the CREs in question fail to get any combat script - easily fixed) or bugs by using some other mod in the mix entirely (like DSotSC, NTotSC, etc. - also things that Turambar has fixed I believe).

 

[@Mike1072: I expect you're trying to be "funny" (and failing) but you might actually want to read a discussion to see what it's really about before interjecting irrelevant gibberish into it :).]

Link to post
Would it be feasible to offer the BP script overwriting as an option in the main component?

 

I think basically no. Ultimately, either BP is providing the core AI, or SCS is. If you want BP to, don't install the relevant core-AI components from SCS. I'm not sure what would actually be gained by your proposal. (Indeed, since BP basically eliminates the vanilla core-AI scripts from the game, if SCS's core-AI components didn't overwrite BP core-AI, they basically wouldn't do anything.)

 

While we're having this conversation, can you explain BP-Ascension to me? I think some of the conversations earlier show I haven't 100% understood the project. As far as I can tell, I'm being told that (a) BP-Ascension is theoretically separate from the rest of BP; (b) BP-Ascension still does lots of overwriting. If so, what's the advantage of trying to update BP-Ascension over updating vanilla Ascension? (The disadvantage being that vanilla Ascension, not BP-Ascension, is the version that's been used as the base for most Ascension-requiring mods these last ten years.)

Link to post
@Mike1072: I expect you're trying to be "funny" (and failing) but you might actually want to read a discussion to see what it's really about before interjecting irrelevant gibberish into it :).

Actually, I was trying to make a point. (And tired though I may be, I believe I understood the discussion, though it appears you may have missed David's response.) My point being made, I shall gracefully take my leave.

Link to post
I think basically no. Ultimately, either BP is providing the core AI, or SCS is. If you want BP to, don't install the relevant core-AI components from SCS. I'm not sure what would actually be gained by your proposal.
The difference for BP at least is that its core component does a lot besides update the core AI (just one example is it adds a custom thrown boulder projectile for giants, etc.). In theory it could be made a separate component if that makes sense and horred is open to it.

 

Since SCS2 has a separate "Smarter general AI" component with an advertised purpose of replacing all the generic AI, I guess I don't see the point in changing it. It's the other components where BP's scripts are replaced I'm not too sure about (and when I say that, I mean it literally - I'm not sure about what either BP or SCS2 are doing). To that end, I think it'd serve players to have better documentation at least about which components of SCS conflict with which components of BP. There's a presumptive list from BWP here (in the spoiler tag) with some questions by the poster and some comments of mine, but as I said, I'm just guessing in some cases as to compatibility as I don't really know.

While we're having this conversation, can you explain BP-Ascension to me? I think some of the conversations earlier show I haven't 100% understood the project. As far as I can tell, I'm being told that (a) BP-Ascension is theoretically separate from the rest of BP; (b) BP-Ascension still does lots of overwriting. If so, what's the advantage of trying to update BP-Ascension over updating vanilla Ascension? (The disadvantage being that vanilla Ascension, not BP-Ascension, is the version that's been used as the base for most Ascension-requiring mods these last ten years.)
I did a preliminary code review of both Weimer's Ascension (which I understand is supposed to be a fairly faithful conversion of Gaider's version) and BP-Ascension. BP-Ascension does fix some apparent bugs still in the latest WeiDU-Ascension (such as soundclips being wiped or garbled for no known reason). But as you suspected, it does other things besides bug fixes, even beyond using BP scripts. So I agree - it makes sense to update Ascension (and update it to patching too, for Mike1072's own personal edification so that, for example, it can be installed *after* the Fixpack without wiping out its fixes). And *then* update BP's components to patch those resources if those components from Ascension are installed. (Or possibly even if they aren't, if that makes sense... Not sure if I'm up to this task personally, but that'd be the best way to handle it IMO). I'm guessing SCS2's Ascension-related components do something like this? (I'm having trouble following your various includes and macros.)
Link to post

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...