ALFA Campaign folder standards & conventions

Development of standard ALFA palettes (ABR)

Moderators: ALFA Administrators, Staff - Technical

Locked
Ronan
Dungeon Master
Posts: 4611
Joined: Sun Feb 20, 2005 9:48 am

ALFA Campaign folder standards & conventions

Post by Ronan »

Firstly, apologies for abandoning the ABR, 6 years ago now? I was kinda saddened when I came back and we didn't have good shared content. Lack of good blueprints is one of the biggest pains-in-the-ass of DMing, I've found.

Anyways, the campaign folder does present some challenges. Chiefly that campaign resources override module resources, which caused a lot of stuff to break on BG. Spawn groups and scripts need to be named differently than modules might; I'd suggest all scripts start with abr_*. Or, we could assume each module has object event scripts in the acf_* format... I'm not sure what way to go here? I need to look over what BG uses its acf_*s for, other than calling the base ACR events of course.

Blueprints override too of course, but generally speaking most abr_* blueprints should be overwritten by campaign resources, because the campaign resources are generally better.

For spawn groups, the "as_group_*" is kind of a cludgey convention given the 32-character limit, but its currently built into the spawn system. For now I'd suggest "as_group_abr_*".

There's also the question of how to control scripts in the campaign folder which only compile with module-side content. Obviously this is bad, and those scripts shouldn't be committed, but it might happen. I don't think this is a problem we need to tackle now; in most cases a script which uses server-side resources to compile (say the name randomizer of BG) is not going to break anything when used in another module, but if we prevent that script from running at all it will definitely break something. So I think the best thing here would be some sort of detection scheme against uncompiling scripts. For now I think we can just try to compile the campaign folder on its own with the ACR every now and then, and correct errors (I do my campaign work in a blank mod, anyway).

Another issue is factions. Currently I think all creatures should be set to a standard faction. We might want to look into other options in the future, but I'd think most builders would find a global campaign faction file limiting.

Hopefully we'll have the folder ready to go long before the next update, and be able to roll the templates hak into it.

Any other conventions we need to tackle?
Ronan
Dungeon Master
Posts: 4611
Joined: Sun Feb 20, 2005 9:48 am

Re: ALFA Campaign folder standards & conventions

Post by Ronan »

Riot asks,
From a high level, what is the campaign folder intended for? What does it accomplish that a hak does not? What should we use it for?
Unless the TA wants to roll the ACR into the campaign folder, I would say the ABR should encompass all generic, sharable server objects and their associated events which aren't part of the core rules (PHB, DMG, ALFA house-rules, etc.). All ABR content must be hooked into the ACR somehow, but the reverse is never true. Not a very rigorous definition, I know. The real divide is builder-contributed stuff vs. developer contributed stuff.

It should also implicitly define standards for ALFA content, e.g. max or half hitpoints? How do we implement things like Masterwork tools (equipable or non-slot)? How do we implement other items and monsters not perfectly replica-table in NWN2? Etc.

Given how much easier it is to get stuff from the campaign folder to servers, it might be worth testing new systems without side-effects beyond their objects which are only hooked to certain objects (such as proper regeneration from creatures like trolls) in the folder then moving it to the ACR, where appropriate.

It should never break unrelated module-side content though, which is why we need naming conventions to prevent conflicts.
User avatar
Riotnrrd
DMA's Technical Liaison
Posts: 1682
Joined: Sat Jan 03, 2004 2:04 pm

Re: ALFA Campaign folder standards & conventions

Post by Riotnrrd »

I agree with need for consistent logical naming standards that do not conflict with module resources.

One problem I'm sure you've faced before is 'stickiness', that is... once this content is in the campaign folder, and builders build with it, things break when changes are made. For example, the as_group scripts are what's called from variables within the spawn waypoints, which are then placed in module areas. Changing the scripts means changing the waypoints, which means editing every area that uses them. This is a lot of extra redundant, tedious work (the kind I hate to do).

Similarly, changing ABR item names would mean changing every creature that uses them, or you get fun things like creatures appearing without their weapons.

Could you clarify what you mean by factions? I use a couple of default factions, for instance 'defender' or 'hostile', but nothing else.
It should also implicitly define standards for ALFA content, e.g. max or half hitpoints? How do we implement things like Masterwork tools (equipable or non-slot)?
I'd prefer to see things like this as explicit standards. If the admins rule on a topic it needs to be documented and enforced across all standard content.
For spawn groups, the "as_group_*" is kind of a cludgey convention given the 32-character limit, but its currently built into the spawn system. For now I'd suggest "as_group_abr_*".
I had assumed as_* meant 'alfa spawn', which IMO should be global. I do note the change to as_group_alfa_ has broken at least three existing scripts because the new name exceeds 32 characters. I can't fix MS until this is clarified, because I am absolutely NOT going to change everything again ... twice.
User avatar
Riotnrrd
DMA's Technical Liaison
Posts: 1682
Joined: Sat Jan 03, 2004 2:04 pm

Re: ALFA Campaign folder standards & conventions

Post by Riotnrrd »

Any objections to adopting the standard

'asg_<groupname>' to ABR spawn groups, intended to be used globally across modules?

Note: this will propagate to waypoints and thus be time-intensive to change in the future.
t-ice
Dungeon Master
Posts: 2106
Joined: Fri Apr 17, 2009 6:24 pm

Re: ALFA Campaign folder standards & conventions

Post by t-ice »

Can't the resref names be chosen such that campaign resources never ovetwrite existing module things, but start a new progression? So that future content can be built with campaign resources, but existing stuff won't need to be redone? The exception can be some basic items: abr_... masterwork longsword might be overwritten as harm is exceedingly unlikely.

Another important thing is classifying. Campaign content needs to come up with a strictly enforced classification scheme with minimalistic approach to number of classes. That can then live alongside server schemes. But if the campaign has prolific use of classes, add on top module classes , and you made the creator hell for DMs. (Or made DMs to not employ most of the content available because finding it is too hard.)
Ronan
Dungeon Master
Posts: 4611
Joined: Sun Feb 20, 2005 9:48 am

Re: ALFA Campaign folder standards & conventions

Post by Ronan »

t-ice wrote:Can't the resref names be chosen such that campaign resources never ovetwrite existing module things, but start a new progression? So that future content can be built with campaign resources, but existing stuff won't need to be redone? The exception can be some basic items: abr_... masterwork longsword might be overwritten as harm is exceedingly unlikely.
That was the plan suggested above, yes. Though do you have abr_ UTCs in your module which are non-generic and should not be overwritten? The campaign stuff should all be as generic as a MW longsword.
t-ice wrote:Another important thing is classifying. Campaign content needs to come up with a strictly enforced classification scheme with minimalistic approach to number of classes. That can then live alongside server schemes. But if the campaign has prolific use of classes, add on top module classes , and you made the creator hell for DMs. (Or made DMs to not employ most of the content available because finding it is too hard.)
Reclassing is relatively easy, but right now we're going for "0_*". That way the zero starts above the 'A' in aberration of the OC resources. On BG we've reclassified everything so our categories mesh with the campaign folder's, it wasn't much work.
t-ice
Dungeon Master
Posts: 2106
Joined: Fri Apr 17, 2009 6:24 pm

Re: ALFA Campaign folder standards & conventions

Post by t-ice »

Ronan wrote:Though do you have abr_ UTCs in your module which are non-generic and should not be overwritten?
No, I don't think that I do, so it should be all fine.
Ronan
Dungeon Master
Posts: 4611
Joined: Sun Feb 20, 2005 9:48 am

Re: ALFA Campaign folder standards & conventions

Post by Ronan »

Creature naming:
This is a common thing to append to creature names: "{CR 5}"

However the creator renders creature CR without this tag (most of the time? I think I've seen it not be rendered but am not in a position to log in currently), and so it probably isn't necessary. The CE also lets players see things within a {...} block, making the CR meta-information. So we should leave it out unless we can produce cases where the CR is not rendered in the creator anyway.

Creature names should describe what a normal layman would assume about the creature. "Human", "elf", "goblin" are "ogre" are fine, while "mimic", "avariel" and "kua toa" are not. "Chest", "winged elf" and "smelly fish-man" are better. Many archetypes will naturally be identifiable, e.g. mages have many foci and spell component pouches, warriors have heavy armor and a variety of weapons, priests have holy symbols. "Knight" is a good term for a holy-looking-warrior. Other classes such as rogues and monks may not be identifiable at all. Rog7 "commoners" are fine, provided they aren't wearing better than padded armor.

The idea is not to surprise anyone with blank mob names that turn out to be CR14, while at the same time not conveying meta-information about a mob.

Creature HP:
Always max, for reasons stated elsewhere (mostly CR accuracy). Remember that undead always have 12 hp per level regardless of what that level is, and always have 10 CON.

Dragons:
These guys get feats and skills just like PCs. Spells should be given to them via sorcerer levels, with their own Dragon levels reduced to preserve the proper BAB. This makes their HD a bit higher than it should be which might affect some spells, but they're missing so many canon abilities I don't think it matters. Multiattack is a good feat to give them.

Dragon names should be prefixed by their size (e.g., "huge blue dragon") not their age category. The later is meta-information.

Grappling:
If a creature has grappling-oriented special abilities, I generally give them Improved Knockdown.

Other missing special abilities:
Try to replace them with something suitable and balanced. Don't simply let the mob go without unless you've adjusted its CR. We shouldn't spend a ton of time getting everything to match 3.5 rules; the perfect should not be the enemy of the good. "Better than what we currently have" is all that is needed (though I'll take perfect!).
FoamBats4All
Githyanki
Posts: 1289
Joined: Sat Feb 04, 2012 6:00 pm

Re: ALFA Campaign folder standards & conventions

Post by FoamBats4All »

Please be aware that your file names should never be over 32 characters in length.

Made obnoxiously emphasized for a reason.
Ronan
Dungeon Master
Posts: 4611
Joined: Sun Feb 20, 2005 9:48 am

Re: ALFA Campaign folder standards & conventions

Post by Ronan »

Yeah, Riot added "_alfa" to the spawn group scripts, which broke a few due to length. Honestly I can't remember why I went with anything as long as "as_group" instead of "asg_" for spawn groups; this is probably something we should change in the next ACR update.
FoamBats4All
Githyanki
Posts: 1289
Joined: Sat Feb 04, 2012 6:00 pm

Re: ALFA Campaign folder standards & conventions

Post by FoamBats4All »

Ronan wrote:Creature naming:
This is a common thing to append to creature names: "{CR 5}"

However the creator renders creature CR without this tag (most of the time? I think I've seen it not be rendered but am not in a position to log in currently), and so it probably isn't necessary. The CE also lets players see things within a {...} block, making the CR meta-information. So we should leave it out unless we can produce cases where the CR is not rendered in the creator anyway.
The chooser does put a number after the faction. Though there is no decimal support, so CR 0.5 becomes CR 0.

I'd still push to keep these CRs in the mob name, for the following reasons:
  • Decimal CRs are not displayed.
  • The CE meta concern should be fixed in a future version of the CE.
  • While the creator shows a truncated CR, the chooser does not.
  • There are situations (bad as they are) where two creatures have the same name, but different CRs/abilities.
  • There are plans for a new creator UI that may find the information useful.
Locked