Aller au contenu

Photo

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


  • Veuillez vous connecter pour répondre
1056 réponses à ce sujet

#801
Tchos

Tchos
  • Members
  • 5 079 messages
Lugaid: A very interesting idea with making the PC emit (I assume silent) chat prompts to provoke a listener response. What about the system demands? The chief concern about using the listening patterns when I brought it up earlier was that it was a heavy load, and I considered my implementation safe because I only allowed the listening to be active while the PC is in a trigger -- Using SetListening(oListener, TRUE); on enter, and SetListening(oListener, FALSE); on exit for the trigger. If I have all barking NPCs using listening patterns, I think there may be a concern.

With this setup, the barks only happen once until the PC moves out of the NPC's perception radius, but at that point the bark does happen again when the PC comes back. For ambient barks of this sort, that's what I want (rather than barking more than once if the PC is standing near the NPC). It's true that the barks can be missed, but for this particular situation, since the barks are purely for ambiance, it's not too great a loss. However, it would require that I set the perception range of any such NPC to "short", or as you point out the bark may not even be visible, which is another strike against this method I'm trying.

But with conditional one-liners in the conversation files, I can still accomplish the different categories of barks you mention (I was thinking with journal checks).

I want to investigate the method you propose, and also see how it works with that fantastic conditional gnome dialogue script you posted elsewhere, with the plot-specific and region-specific statements.

Dann: I did a test to check on your question. I went into Garius' range so that he reported seeing me (the way the script is set up, seeing takes precedence over hearing, so if a character is seen, it won't also report the character was heard), then went invisible so that he reported not seeing me any longer. I ran around him while invisible with no report, and went into stealth just before the invisibility wore off. I snuck around him a little longer in stealth but no longer invisible, always staying in close range, and he eventually did say "I hear you."

It's possible that he just kept failing his Listen roll while I was invisible, though, or that the flag isn't cleared until invisibility wears off. Not sure, but the answer to your question seems to be "yes". For a more thorough test, I'd have to have a character who has high "hide" skill but low "move silently" skill.

I agree it would be nice to know a way to clear that perception list.


PS to Lugaid: Your gnomes like chou doufu, eh?  Yuck!

Modifié par Tchos, 28 mai 2013 - 04:57 .


#802
Lugaid of the Red Stripes

Lugaid of the Red Stripes
  • Members
  • 955 messages
Chou doufu is a bit of a double entendre...no, not that, just mildly suggestive.

#803
Tchos

Tchos
  • Members
  • 5 079 messages
Here's another little demo I whipped up to show what I had in mind for using this script.  Depending on the quest stage, these bystanders make various observations about the PC as she passes by.

In this demo, they're all using the same conversation, but you can specify any conversation for each one, so each one can be different if you want.  I gave 3 possible barks for each of 3 quest stages.  The conversation file checks the journal stage for the quest and selects one of the possible lines for that stage with gc_rand_1of().  The barks are separate conversation files than their normal conversation that fires if you click on them, though of course you could specify the same one if you wanted.

Since the selections are random, there are some repeats, as expected.

Since they're barks, I had to make a modified version of gc_journal_stage() because that script relies on there being a PC Speaker, and there isn't a PC Speaker when they're using SpeakOneLinerConversation().



#804
Dann-J

Dann-J
  • Members
  • 3 161 messages
I'm guessing they've got short perception ranges, which is ideal for these sorts of barks. Their perception lists get updated more frequently, and you're always close enough to see what they're saying. Plus you could always add snide comments said behind the player's back, when they think you're out of earshot (triggered when the player leaves their short perception range).

The animations are a nice touch too.

#805
Tchos

Tchos
  • Members
  • 5 079 messages
Yes, short perception ranges. I wish there were a shorter one than "short".

#806
Dann-J

Dann-J
  • Members
  • 3 161 messages

Tchos wrote...

Yes, short perception ranges. I wish there were a shorter one than "short".


It should be possible to add a 'Mr Magoo' category to ranges.2da, and give that to NPCs.

http://nwn2.wikia.com/wiki/Ranges.2da

#807
Tchos

Tchos
  • Members
  • 5 079 messages
Dann, I wish you could have seen my expression when I read that.  Thank you!

Here's an approximation.

#808
Tchos

Tchos
  • Members
  • 5 079 messages
Just trying out something that I suggested in another thread.  This is only tangentially related to my mod, in that it uses the perception script from before.  Here, I'm using for a stealth environment, where a guard without any special spotting skill is aided by a guard dog.

For a more complete result, I would make it so that instead of the guard threatening the thief when the dog starts barking, the guard would throw some dust of appearance down to make the thief visible, and then go on with any other actions.

It could start a timer where after issuing a warning, the guard and dog would attack unless the thief backs off, and/or spawn an ipoint to rapidly check proximity and have them attack if the thief gets within a certain distance, destroying the ipoint if the thief backs off.  And, of course, any hostile action would have to turn them hostile, too.

Video demo

The audio's a little quiet on the dog bark.  It's a stock NWN2 sound file.  Also, when I convert these to a compressed format to upload to Youtube, it delays the audio about a second.  I don't know what format wouldn't do that and still maintain high visual quality.

Modifié par Tchos, 31 mai 2013 - 04:47 .


#809
Guest_Iveforgotmypassword_*

Guest_Iveforgotmypassword_*
  • Guests
I like that, I'm still wondering how to incorporate such a thing in my mod but where my party are heading I might have to use guard zombies sniffing food instead !

#810
Tchos

Tchos
  • Members
  • 5 079 messages
Well, it's just a single script to put on your NPC, and a few local variables on the NPC and 1-line conversation files. No triggers or waypoints needed, or anything like that. Shouldn't be hard to incorporate it. :)

#811
Tchos

Tchos
  • Members
  • 5 079 messages
I tried adding a new range to the ranges.2da file. I copied the "PercepRngShrt 10 10 6668" line to base it on, adding "17 PercepRngVeryShrt 5 5 Very_Short_5" to the end.

In the first test, with the 2da just residing in the module folder, it showed up in the toolset fine, but resulted in the NPCs simply disappearing when I applied that range to them. Possibly some kind of conflict, though I checked the override folder for the file. I put a copy in the override and tried again, and this time the NPCs did not disappear. However, testing in game showed that their perception range was identical to PercepRngShrt. Possibly perception range simply can't be any shorter than 10.

#812
Tchos

Tchos
  • Members
  • 5 079 messages
Since I started adding those perception barks, I also added death barks. For quest NPCs, I'm making the chance for them to say something 100%, but for non-quest NPCs, it's a smaller chance.

Since I was adding these, I also added them for monsters. The trouble is that some monsters don't speak Common (even broken Common). Also, I couldn't find any good lists or reference materials for languages like Aquan and Undercommon. I found plenty of Drow word and phrase lists, but the language spoken by the typical Drow is not the same as Undercommon -- it's a hybrid of Undercommon and Elvish, and tends to look more like Elvish to my eye, and unlike the very, very few examples of Undercommon words that I was able to find.

At any rate, I wrote a script to generate phrases from a lexicon of words -- sentences between a minimum and maximum number of words, with a randomly-selected punctuation at the end.

The only caveat is that drow is a playable character race, and drow should automatically understand Undercommon, and can know Aquan as a bonus language, but they won't here. Other races and classes should also have the option of knowing some of these languages.

#813
Tchos

Tchos
  • Members
  • 5 079 messages
In this example, I have them speaking 75% of the time just to show the variety of phrases they can speak, but in actual gameplay I would have the barks appear at a lower frequency.

The group of sahuagins is speaking my representation of Undercommon, the water elementals are speaking my representation of Aquan, and the kuo-toas are speaking my representation of the Kuo-toan language.  The languages are made of whatever real examples I could find (such as suggested common names), as well as online words from other sources, and my own words based on the descriptions of how the languages sound.

The way this is set up, I can easily add pre-made phrases to their list, or alternate language possibilities for creatures that typically speak more than one language.



Also, just for fun:

Posted Image

Modifié par Tchos, 02 juin 2013 - 06:24 .


#814
Guest_Iveforgotmypassword_*

Guest_Iveforgotmypassword_*
  • Guests
Impressive and I like the fins on the sahuagins they look really good. One thing though how is anybody going to be able to read that in the middle of a fight ? Throw in a few placeables, have a fight in a corridor or include some fireballs and there'll be so much text and numbers hanging around that nobody will be able to see what's going on. Sometimes in big fights I like to hit the h button and take a chance that nobody dies for this reason and that's without text.

Modifié par Iveforgotmypassword, 02 juin 2013 - 09:44 .


#815
Tchos

Tchos
  • Members
  • 5 079 messages
Well, like I said, for the actual module, the percentage chance that a monster will say anything will be much lower, so it won't be a screen full of text. I just have the percentage chance up high in the video for the sake of demonstration. Of course, you can pause the game, and the text will remain on the screen, or you can review your chat log, but these are nothing but flavour text, so don't worry if you miss any.

The sahuagin is part of the RWS creature conversion pack. :)

Also, I noticed a bug on reviewing the video. There was a missing space between the last two words of all of the creature barks. I fixed it.

#816
Guest_Iveforgotmypassword_*

Guest_Iveforgotmypassword_*
  • Guests
With something like this you could put it on the creatures when they're nearly dead so they run off shouting or lie on the ground begging for mercy.

#817
PJ156

PJ156
  • Members
  • 2 987 messages
I planned something like that for Gathering storm.

Npc's on low hp would go to neutral. you could then speak to them, from the convo you could let them go or coup de grace. If you did not talk to them for thirty second they run off anyway. Exp is still granted at the point they go neutral as you have still overcome them.

PJ

#818
Tchos

Tchos
  • Members
  • 5 079 messages
I was thinking of exactly what you're saying, Tsongo. Some, but not all, could flee on low HP, shouting for help, and running toward any of their allies that are still alive, including ones that hadn't spotted you yet.

I don't plan of having them collapse helpless and neutral, though. At least not the average goblin. Maybe in special circumstances.

#819
Arkalezth

Arkalezth
  • Members
  • 3 193 messages
Dammendrech had that mechanic. Some enemies would flee towards the closest map transition, others would go berserk and attack both allies and enemies, etc.

#820
Dann-J

Dann-J
  • Members
  • 3 161 messages

Tchos wrote...

The group of sahuagins is speaking my representation of Undercommon, the water elementals are speaking my representation of Aquan, and the kuo-toas are speaking my representation of the Kuo-toan language.  The languages are made of whatever real examples I could find (such as suggested common names), as well as online words from other sources, and my own words based on the descriptions of how the languages sound.


Anything that sounds like a fart in a bathtub (ie. Blibdoolpoolp) would do for Kuo-toan. Posted Image

#821
Tchos

Tchos
  • Members
  • 5 079 messages
Ark: I had to look up the name. I guess you're talking about the PW by that name? I haven't played it, but options like that are good.

Dann: Heh, yeah. That's what I went with.

#822
Arkalezth

Arkalezth
  • Members
  • 3 193 messages

Tchos wrote...

Ark: I had to look up the name. I guess you're talking about the PW by that name? I haven't played it, but options like that are good.

Yes, it was a PW, but it went down some time ago.

#823
Tchos

Tchos
  • Members
  • 5 079 messages
I finally finished another complicated conversation. I'd been slowly chipping away at it for a long time, and probably would have spent even longer on it if I hadn't opted for the brute force method, and also cutting a branch that promised far too much complexity, as it would have involved blackmail. It was a branch for brash people, but don't despair -- there are plenty of brash options elsewhere and in other dialogues.

I did some work on the final-final-secret-extra boss area, but only the first pass -- the rough work.

Next day, I've done a second pass on the boss area, which I'll tentatively call the Plateau of the Elemental Rift. This required some visual effects that don't seem to be in the toolset. I've installed a few FX packs to try them out. Also, there's new lighting and placement of some torches, and an attempt to create what Valve calls a vista here.

I tried out the effects, and some of them were nice, but I actually found what I needed (animated running water effects) under the placeables, not the effects. There could still stand to be a few more available to create certain kinds of streams. Maybe I'll make something like that later.

I'm hoping this will be a particularly fun boss fight in an interesting location, so I'm not sure I should spoil anything by showing a picture of the place. Maybe later, after I select textures and a few more decorations. I used some of the Witcher placeables for it. (I did some more conversions in that project, too, but not enough to show.)

#824
Tchos

Tchos
  • Members
  • 5 079 messages
I thought that the script was working fine that turns off the lights in town during the day, and turns them on again at night, but it's not. I was doing a quick test run with a party comprised of both player-made companions and recruited NPC companions from the module just to make sure mine didn't have the problem I've seen in a couple of other mods where the companions lose all of their items when they die, and I was reassured to find that they behave as expected. But I saw while passing through town that the lights were not on, despite it being past the time when they should have come on.

I had seen this happen before, and I thought I had fixed it by removing the lines in the hourly heartbeat that check if the player is in the area. I'm using a modified version of these scripts, running the lights-off and lights-on code on the dawn and dusk events.

I've seen the lights come on in my presence, and I've also seen them change appropriately after resting at an inn and letting 8 hours pass, so I know it can work even if I'm not in the outside area. It's just a mystery to me why it doesn't work all the time.

Another thing I saw in one test, while I had debug mode active, was that one NPC (a city watchman walking waypoints) was overflowing with instructions, and eventually hit a limit. I looked around his entire patrol area multiple times trying to find him, to see if he was stuck on something, but he was nowhere to be found. I'm guessing some kind of bug made him fall through the ground, or into a non-walkable area, or something of the sort. I'm surprised that the standard walk waypoint scripts don't have some kind of contingency for that sort of thing.

I needed a loud waterfall or rushing water sound, and I didn't find one in the stock resources. Waterfalls and rushing water, yes, but not loud. With the volume all the way up on the slider, the "large" waterfall sound still seemed quieter than the gentle trickling sound of another sound effect near some still water's surface. I'll check Kamal's Freesound project, but if anyone happens to know one offhand, please let me know.

That's when I'm right up next to it, but I also have had trouble getting sounds to sound right from a distance. Sometimes in the toolset they sound fine, but in-game I hear nothing as I approach, until suddenly the sound kicks in at mid-volume, increasing as it should as I get closer. I want this loud sound to be audible from quite a distance, and increase appropriately in volume as you get closer, but I'm having trouble with that.

Last time I said I might not show any pictures of this area to keep it a surprise, but I'm changing my mind. I think I want to showcase this one, actually. It'll definitely in the trailer, so it might as well be here, too. Needs a little more decoration and texturing first, though.

#825
Dann-J

Dann-J
  • Members
  • 3 161 messages
I tend to make the range of maximum volume for placed positional sounds higher than the default, otherwise you literally have to be standing on top of them to hear them at full volume (which can be uncomfortable where camp fires are concerned). If I have a camp fire or fireplace sound, I'll usually set the range of maximum volume to around 10m, with the total range to around 30m.

I've also found that setting the total range of a positional sound to encompass most of an area ensures that it never cuts off suddenly. I've used such a sound placeable for a group of bards playing in a town square. You can hear them playing faintly from just about anywhere in the area, with the sound reaching full volume when you're within about 20m.