Dispatches From Neverwinter

A journal of my progress as I (attempt to) learn how to build modules for Neverwinter Nights.

Name:
Location: United States

Started playing Neverwinter Nights back in November '05 and got hooked. Tried to write my own module, but I just didn't have the time. Maybe I'll try again someday.

Thursday, May 24, 2007

Simplification

After writing down everything I needed to do for the cupquest, I figured out a way to cut out a lot of the complexity by exploiting an aspect of my module usually not found in other modules. All (or almost all) of the north/south transitions along the Kingsroad will let the PC go north, but not south. Once the PC has left an area going north, he can never go back to that area again. The idea is that the PC is fleeing northward, and so they wouldn't ever want to go south. Because of this, I realized I could completely cut out the possibility of the PC killing Thaddeus and then going back to the monastery by placing the henchman interjection trigger in the area immediately north of the area with the monastery. That way, if the player decides to go north after accepting the quest, in the next area Thaddeus will abandon the PC, and the PC won't be able to go back to the monastery. More importantly, if the player decides to go north after retrieving the cup, Thaddeus will attack him, and if the PC kills him, he won't have the option of returning to the monastery.

This cuts out the need to keep track of all sorts of variables in all sorts of places, and also cuts out the need to write a big chunk of dialogue. Best of all, it prevents the player from doing something weirdly irrational. As such, the conversation nodes and variables I need to deal with are a lot simpler, and look like this:

1) The PC has accepted the quest, but hasn't completed it. (Cupquest = 1).
2) The PC has the cup, but hasn't finished the quest. (Cupquest = 2).
3) The PC has finished the quest (Cupquest = 4).
4) The PC has the cup, but never recieved the quest to begin with (Cupquest = 5).
5) The PC returned the cup, having never recieved the quest to begin with (Cupquest = 3).

Cupquest = 3 was originally supposed to be set if Thaddeus was killed by an NPC. However, I realized that wouldn't work and didn't make sense. Instead, I added a line to Thaddeus' OnDeath script that sets the variable "thad_dead" to 1. That way, when the PC returns the cup to Bertram, I can reference that variable to include a conversation thread that acknowledges that Thaddeus is dead.

I've modified the OnDeath script and the Acquire_Item script to account for the necessary changes. I also turned Bertram and the other monks into genuine clerics and assigned them to their own faction. I now have to write all the necessary conversations for Bertram and Thaddeus, and include scripts to make them go hostile, and to have Thaddeus run off, when necessary. I'll also need to create a new area and put the Henchman trigger for Thaddeus in there. Being able to cut out a lot of that chaff has definitely brightened my mood.

0 Comments:

Post a Comment

<< Home