Jump to content

The Black Scourge of Candle Cove -- Tchos' development diary


Tchos

Recommended Posts

I filled the gaps between the doors and the walls, through experimentation. This is what it looked like before. Note that in this video I'm in stealth mode so they won't attack (when my party's not in stealth mode,

), but see how they light up and then go dark again as I pass some gap which allows line of sight:

 

 

First I tried increasing the overlap between the wooden beams, the walls, and the door as I mentioned before. That didn't help. Next I tried using a walkmesh cutter, to see if that would fix it, because I noticed there was in fact a walkable gap where the wooden beams are, since they're environmental objects. But it didn't help.

 

Finally, I changed the wooden beams back to placeables, but didn't re-bake the walkmesh. This worked. The beams don't block line of sight as environmental objects, but they do as placeables.

 

So, that's fixed now, and no more aggroing monsters through these walls.

Link to comment
Share on other sites

  • Replies 254
  • Created
  • Last Reply

Top Posters In This Topic

Something I should mention is that over the past couple of days I've been not only doing work on this module, but also playing some Icewind Dale. This is my first time going through the game, and I'm in Lower Dorn's Deep, which I understand is the last of the areas before moving into the expansion Heart of Winter. One spell from this game and the BG games that I really would like to have in NWN2 is Chromatic Orb -- a first level spell that only gets more and more useful as you level up, adding effects at higher levels like stuns, petrification, and even instant death at CL9.

 

But adding new spells is not within my current ability, so on with this module. Currently, I'm developing one of the side quest areas, which contains exploration and a quest mini-game which also features in another side quest. This quest involves an item that I want to make create a visual tether of some kind to a distant object, as part of its action that captures something from a distance.

 

This also includes some set dressing and scripting the quest and dialogue associated with it. Some of these side quests have the primary purpose of allowing the player to gather the money that they'll need to further the main quest, but I hope that they're enjoyable enough that even players who import characters with plenty of money will play through them anyway.

Link to comment
Share on other sites

Another interesting set of hurdles is crossed now. As I was saying in my last post, I had a side quest to work on. Complicating this one was that the objects that needed to be interacted with are, by necessity, outside of the walkable areas. No real problem there. The way I structured the quest takes that into account. This quest involves a quest item that allows you to snatch the items you need from the jaws of their possessors from a safe distance.

 

My previous post mentioned that this would require a special effect to illustrate the capturing of something from a distance, and pulling it to you. This turned out to be pretty straightforward, as there's an entire class of effect files that I hadn't really looked into before -- those being the "beam" effects. I originally had in mind one that would look like a rope, and I tried to create one that looked like that. I designed one that looked convincing enough, but after looking through all of the ones that were available and doing some experimentation, I decided that the "chain"-looking effect looked better. I just had to reverse the direction of the beam in the effect editor, and it looked fine.

 

I tested it out on a blocked-off area in Questland to make sure I could target and snatch objects from across non-walkable areas, and it worked fine. However, when I placed them into the actual quest area, I found I was unable to target them, because there was an obstruction that couldn't be avoided.

 

So, instead, I have the device work on the nearest of the objects, without targeting, which is actually how I had originally described the item in its description anyway, so no big deal. And you still need to get within range, so the only thing you're really losing here is being able to click on and read the description of the objects before you snatch them with the device.

Link to comment
Share on other sites

I guess I didn't need to be so vague in my last post. I was trying to avoid spoilers, but it occurs to me that I want to include footage of this in the trailer for the module, so anyone who's interested in playing the module will probably see it there first anyway. It's a pearl-diving side job, and the gnome who runs the undersea tours lets you borrow this gnomish device to collect pearls from the giant snapping bay oysters to help offset the rental cost of the equipment.

 

I spent some time looking for appropriate sounds for it, but I couldn't find what I needed with any of the key words I could think of, including ropes, pulleys, reels, wheels, chains, etc. I also looked through Kamal's freesound collection for it. I ended up importing a new sound, and combining it with a standard gem sound for when you collect it.

 

In the sound test, I found that the sound was playing about 2 seconds too late, out of sync of the visual effect. I was using PlaySound for the purpose, but since the script that calls it is the item activation script, I had to use AssignCommand, because items can't play sounds. But assigning the command to the action queue of the player apparently introduced an unpredictable delay between assigning it and carrying out the action.

 

Anyway, there may be other ways around that, but I recalled that some VFX files include a sound, like the water elemental effect, so I opened the effect I was using, and looked around for anything to do with sound. It was there, under "add new event". That ended up being a much nicer solution than scripting the visual effect and the sound separately.

 

In this video, I started recording after I had collected 4 pearls out of 5, to show what happens in three separate conditions: When you're out of range of a pearl, when you collect a pearl, and after you've collected your full quota of pearls.

 

 

 

Link to comment
Share on other sites

I wanted to use a certain helmet as a placeable for decoration, but I couldn't get it working. I spent several hours trying different methods. One was making an effect SEF out of it and then making a placed effect from that. Another was assigning the model to a line in the placeables.2da. Neither worked. Ultimately, I used a method I saw Dorateen use in Edinmoor, and made a frozen hidden NPC wearing it, at an appropriate elevation.

 

After that, I went back to work on the script that controls the boss' movements. Testing this one takes a while, because it happens after a major fight, and I don't feel like programming a shortcut widget to carry around to fire the various scripts that set it in motion, which could take longer than just fighting through it each time. I did set it to easy mode, though, which speeds things up, and I'm using level 20 characters for it.

 

Last test I got things working up to the point where her actions were supposed to be taken over by the ipoint regulator's heartbeat, but she just stopped for some reason. Well, the reason was that although I had written the script for the regulator, I forgot to attach it. That's not the first time I've made that mistake.

 

The next time I tested it out, I found I had told the main script to activate the wrong script state on the regulator, so nothing happened again.

 

Next time she fled, but kept stopping until the heartbeat forced her to start again. And even then, she basically ended up just running back and forth, never actually reaching the destination. I think it might have been because the script to make her ignore combat wasn't working. So I tried out a custom faction.

 

I started by trying a faction that was universally loved by everyone, but it didn't work. I tried again with a universally neutral one, and also tried out some other scripting commands for the exit, and I eventually got something I could live with. I decided that since almost no one would even be in a position to be able to see what happens at the end of the path, I didn't need to script it beyond reaching that end. In all of my tests, once she started fleeing properly, I was unable to follow her due to enemies being in the way.

 

The command that worked was ActionForceExit(), and I believe the reason it works when the others don't is because that function sandwiches its movement command between toggles that switch on and off whether the character is capable of being commanded. I think that prevents her from changing her behaviour while this command is being carried out. With this in mind, I could probably follow through with the rest of the planned movements by doing the same thing with a new function, but I'll just go with it as it is now, and alert the player to what happened with a message.

Link to comment
Share on other sites

There's a personal matter going on at the moment, so no updates right now. But in the meantime, this shows the result of the placed model effect for the helmet:

 

http://3.bp.blogspot.com/-gARlxN2PAWQ/UHoO4_wRpYI/AAAAAAAAEoU/F59714XDCLM/s320/bcocc+helmets.jpg

 

There are 7 diving helmets at this pavilion. One for each party member (5-member party), one for the tour guide, and one for emergencies. One is not visible in this picture, and the other is partially hidden.

Edited by Tchos
Link to comment
Share on other sites

In the downtime from the stressful family-related events, which is now past the worst of it, I continued checking in on forums, posted a little here and there, and polished up a review I had sitting on my hard drive. I also relaxed a little with some playtime.

 

I opened up the toolset again today, and started looking through some scripts again. Then I made a big batch conversion of all of the sounds and voices from the game's data files to mp3, to make them easier to play so I can better pick out sounds to play in the module. VLC player works, but it's not my preferred media player.

 

It's sort of a shame that it wasn't possible for me to really know all the resources that are available to use for my modules from the beginning. It's all right there, yes, but I can only truly understand these things once I have a grasp of the contexts in which they exist -- the whens, wheres, whys, and hows. I have a lot to learn.

 

There are some intriguing videos this mystery modder posted this summer. Anyone know anything about this?

http://www.youtube.c...neilYman/videos

 

Now I have my notes to review on what I need to do next on my module.

Link to comment
Share on other sites

Today I added some needed sounds here and there, and in the process of seeing how one of them sounded in-game, I found a quest had somehow broken. I ended up re-scripting the quest through a different method, using separate tag-based acquisition scripts to determine when certain items were acquired, rather than a central script scanning through the inventory to see if the items could be found across the party's inventory. More robust that way, anyway, and I added some useful feedback while I was at it. I had to delay a call to execute an external script, though, because it was checking a variable before the parent script had finished setting it or something.

 

Next, I laboriously reassigned icons to the fish in Heed's Angler Pack, which had been scrambled up for some reason. I don't know one fish from another, so I relied on Google Images to find the appropriate fishes and match the icons to what it showed me. Maybe this fish identification practise will come in handy some day. Who knows.

 

For all of my bashable placeables, I try to remember to throw the x2_door_death script into its On Death slot, just so that it gives it a little burst of splinters when the item breaks. Otherwise, they just fade away.

 

I was thinking about the visual effects editor again, and I also saw that Marshall posted the Legends AI plugin on the Nexus, which includes sleeping NPCs. I remember watching the tutorial videos for it, and I think he mentioned that NPCs are supposed to have an effect over their heads when they're sleeping, and I recall seeing some mention of floating Zs in some NWN1-legacy code in one of the AI systems in here. I don't know why they left out that effect when they made NWN2, but I fiddled around in the effect editor and made one. I'd guess someone else probably made one of these a long time ago, but I didn't check, and if that's the case, then here's another one.

 

I picked a handwritten-style font for the Z the first time, but when I saw it in action, it created the illusion of unintentional jagged edges, so I changed it to a smoother one. Most of the time in the editor was spent reducing the default number of particles, and slowing them down to a more sleepy speed. I'm not sure what colours are most appropriate to evoke a sleepy feeling, but I suppose it doesn't matter. I also threw a snoring sound effect in there, but for better flexibility that should probably be just a sound object placed over the bed, instead of in the effect. There are several snores to choose from. I use one of them for the resting screen at the inn.

 

http://www.youtube.com/watch?v=LkqYUP8ZB2U

 

Anyone know if there's a way to make them fade away instead of just popping out of existence?

 

I was finishing up the last thing missing from the temple, and that's the temple services, such as healing, restoration, and resurrection. The way I'm setting it up is in line with the philosophy I've espoused from before, and it may not be entirely popular, but I'm doing it for roleplay reasons. As mentioned before, I chose the SoZ death and dying system because I appreciate how other D&D-based games, including the pen & paper versions, handle death. Death is something to be avoided, and although it's a curable condition in this world, it should come at a cost.

 

I don't like the way in the vanilla game that your dead party members come back to life automatically, and for free. It trivialises almost every encounter, and from an RP standpoint I can't imagine joining any party so reckless that they think nothing of getting killed multiple times per day. Even when they introduced the SoZ death system, they gave out cheap Coins of Life, and casting the Raise Dead spell had no material cost, because NWN2 just didn't implement any of the material component costs from the game rules.

 

In the Infinity Engine games and in the Temple of Elemental Evil, you did your best not to get killed, because if you didn't have a high enough cleric with you, or someone who could cast the spell from a scroll, you had to bring the body back to a temple and pay a priest to bring the dead back to life, or else you reload. The Temple of Elemental Evil went even further, and insisted that the party pay the cost of the material components that are specified to be required for the spell in the player's handbook, even when it's being cast by one of your own party members! If the spell requires specific material components beyond those that are assumed to be in a cleric's standard kit, then the cost of those components are taken into account when you cast. I like that. All it lacked, in my eyes, was some appropriate context and flavour to explain why it was necessary. That's what I'm doing.

 

So, at my temple, the priestess will perform the rituals at your request, for the necessary cost, and explain why. If you appreciate RP, this is the avenue for you, and you'll get a little story out of the deal, of a kind that I've never seen in any of these games. However, I am also providing options for player convenience. The same priestess will sell you as many scrolls of Raise Dead or Greater Restoration as you want to buy, and your own cleric can use them without any further cost, and of course I'm not changing the cleric spells to add the cost to them that they're supposed to have.

 

Moreover, the temple will raise all fallen party members for one cost, and not require separate payments for each one, as the IE games and ToEE did. And you'll get a free healing out of it. Similarly, the Restoration service at the temple will act as a Greater Restoration for all party members, at the cost of only a standard Restoration. So I'm not going completely hardcore with it.

 

I think the gold inflation that occurs in these computer versions of the game is partly due to their retaining the rules for progression and rewards, but omitting the rules that create a use for all that gold you accumulate. I believe this may have been the reason why the Baldur's Gate expansion Tales of the Sword Coast included no less that four very large expenditures for almost no return, at the beginning of its content. At the expected level for that content, the typical party should be quite rich, and it's hard to get excited about looting Durlag's Tower if your party assets could afford to just buy the tower outright.

 

Anyway, it did take a while to write some decent RP-based dialogue around the restoration, healing, and raising of the dead, but it's done, and I think it was worth it.

Edited by Tchos
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...