Journal UpdateHappy to finally be getting some things done, decisions made, etc.
I loath tedious tasks in generating content, but they have to be done. Case in point was coming up with a conversation for the player's first
Artifact Reward and then testing every single option.
As I've mentioned previously on this thread, the Artifact system was something I wanted to create akin to what you experience in Baldur's Gate 2, where you find unique artifacts in the game world and then some NPC can shape them into a cool reward for you. But I wanted more flexibility with my system. In Baldur's Gate 2, for instance, if you find a dragon scale, it can really only be made into one specific piece of armor. I want the player to have choices. For example, they turn in an artifact and a couple other "ingredients" to the artificer, and in return they are asked what type of weapon they want in return. This is a flexible system that allows the player to tailor rewards to their character build (a necessary step in my mind, since there will be no crafting in this campaign, and the artifact system is, in fact, meant to replace creafting as a reward/customization system). But all of this means a dialog tree, a lot of scripting and very complete testing.
The trick to making this easy and repeatable (for future Artifacts in the story) was to do it via scripting. I don't want to create and maintain 30+ blueprints for, say, a single weapon reward, which is what you have to do if you don't script it. That's simply too much work for the number of artifacts I am envisioning (and really, even for one, it's too much work).
Instead, I create a single item blueprint with appropriate stats and lore, and then via a script, we have the NPC change the base weapon type and icon prior to handing over the reward to the player.
This isn't difficult to do - just time consuming from a coding standpoint. The conversation is easy enough to setup and it's easy to copy to another NPC for another reward when the time comes. But it was the scripting that was just tedious, writing out all the case-statements for each base weapon type (to return the weapon template and icon string).
Today all of that got tested and tweaked and finished (at least for weapon artifacts; armor is yet to come) and I was really pleased with the result. It made the whole thing really easy.

The other thing was finally coming to a decision on how to handle party management.
I have been loath to handle it through dialog. It's just tedious. I want party management to be easy for the player, because this campaign is very focused on adventure, encounters and fun. I'm not into creating a virtual world, or attempting to make everything "realistic".
One of the things I find myself doing in a large campaign like this is swapping gear between companions. I did it a lot in the OC with Sand and Qara, and same for Khelgar and other fighters. There's almost never enough good gear to go around for your companions and it costs every gold piece you have to outfit your party with belts, boots and rings.
The problem with swapping gear in the OC is that you can only alter your party on the way out of the Inn. It's inconvenient to say the least.
I decided that what I wanted to do was provide a book, in certain places in the campaign (inns are popular, but so will the player's "Stronghold" be when they encounter it) that would launch the roster management GUI.
Problem I had with the GUI is that after you change your party, the characters you dump disappear. This is part of the RemoveRosterMemberFromParty() call which causes the character to disappear, and the game saves their state. When you add them back into the party via the GUI, they reappear.
I tried various ways to make the companions return and stand at their home spot, but it just never worked right. The game gets confused with which characters are in or out the party. It was after toying with this for a few days that I understood why the OC does it the way it does it (which is when you click on the door to exit the Inn): Because as soon as you close the GUI, you exit the Inn, and you don't see the companions disappear. When you re-enter the inn, the game repositions the companions at all their home points.
That was when I decided I just had to do it through conversation. But shortly into coding all of that into every companion's conversation I decided against it. For one thing, it's just tedious to walk around the inn conversing with the various characters when you want to change your party composition. Plus, it's just easier to use the GUI.
I don't really care of the characters disappear. I rationalize it by figuring the companions are going to their rooms, or to attend to errands in town, whatever. But it makes it really easy for the player to deal with their party, and that's the most important thing, I think.