Thursday, April 24, 2008

Hak Progress

Thanks to being given a day off from house-husband duties recently, I made some real progress with the Hak pack that is to accompany this module.

This is my first work that requires a hak pack. Although it was very tempting to make do without one to avoid the work involved, I couldn't deny the fact that it would make a huge difference in tieing the module more closely to the storyline it contained. Thanks to some tuition from another NWN community member (Lance Botelle...thanks Lance), I've been able to tackle it.

For those of you asking yourself how The Relbonian Chronicles will benefit from the hack, it's important to emphasise how the world of Relbonia sits apart from traditional D&D settings. Relbonia is a world of its own, complete with mythology. The mythology isn't the only thing that differs from the conventional however. The very fact that it has a mythology of its own affects its history too, resulting in a unique background where magic is either devine or mystical. There is also a limit to the character classes that can be played. Part of the reason for this is a desire to return to the good old days of D&D, when character development was more about developing personality than numbers. Other than that, it keeps things far simpler for developing the mod, particularly when one considers the mythology involved.

So, first of all there is the class limitations. Although the player will be expected to play pre defined characters (more on them at a later date), I wanted to make sure players didn't go off on a tangent when leveling up by selecting a class that didn't fit with storyline, so classes are restricted to Fighter, Rogue, Sorceror, Cleric, and Druid. The hak ensures that only these classes are selectable. Of course, it's advisable to stick to the class of the pre defined character when playing any particular module, but I didn't want to have to introduce a new hak for specific modules, so the one hak will serve all.

Magic is where the major differences are taking place. First of all, as Relbonia is a setting of its own, I wanted to remove any references to Forgotten Realms etc, so spells that are named after a particular person (such as "Bigby" for example) have been changed to fit in with the Relbonian setting. There is also a clear distinction between divine and mystical magic. Divine magic is granted by the Relbonian Gods to those who worship them, whereas Mystical magic has been derived by the Sorcerors who have learnt to tap powers held within the land. As a result, Clerics and Druids (Clerics serve the Druids, while Druids serve the Gods/land) look down upon Sorcerors, whom they consider blasphemous and damaging to the land. For this reason I wanted there to be a clearer distinction between the two types of magic, so many of the divine spells (ie - those used by Clerics and Druids) have been renamed to reflect their connection to the Gods/Relbonian mythology. While some of you may think this may be overly daunting from a player perspective having to cope with the renamed spells, the transition should be a gentle one. The first module involves playing a Fighter, during which time they should be able to familiarise themselves with the setting. I'm currently undecided whether to involve a Sorceror in the second or third module, but whatever the case, it will be before playing a Cleric, and Sorcerors have far fewer renamed spells than Clerics, so by the time they get to play a Cleric they should be far more familiar with what the spell names are likely to mean, such as "Mud of Muthna" shown here. Of course, this is also an excellent opportunity for me to further add to the available history/mythology of the realm by having the spell explanations themselves containing little nuggets of information, so having to read up on a spell isn't nescessarily a bad thing.

I've managed to rename almost everything I intend to, and having tested the hak, I'm pleased to announce that only one error remains, although I should point out that this is after many many tests and correcting many errors. I still have to tackle some spell descriptions, but this does mean that a major portion of the hak work has been done.

Considering that playing a user of magic is not the goal of the first module, some of you may be wondering why I am already dedicating time to the hak at this stage. The answer is simple. I want spells used by enemies/NPCs to show up with their new names so as to further immerse the player.

That's all the gossip for now. If there's something specific you'd like to know why not drop me a line here. Would be nice to know that some interest is developing :)

Monday, April 14, 2008

Immersing the Player

The Relbonian Chronicles is a story, and as a story it's important to immerse the player within it if they are to truly enjoy the experience. One of the methods I'm employing to achieve this is to have the character interact with their environment. It's a fairly easy method to employ, involving little more than triggers in the areas where you want a character to make a comment. Such comments can be scripted so that they only occur once.

For those of you wondering how to do it, here's a simple script that will have the player character say something when they enter the trigger area for the first time by placing the script in the "on enter" area of the trigger. Alternatively, instead of using a trigger, you can also place the script in the "on enter" of an area, although I'd advise you build in a delay so that the comment gets noticed.

//Put this script OnEnter
void main()
{
object oPC = GetEnteringObject();
if (!GetIsPC(oPC)) return;
int DoOnce = GetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF));
if (DoOnce==TRUE) return;
SetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF), TRUE);
AssignCommand(oPC, ActionSpeakString("Line spoken here."));
}

Pretty simple, and easily effective depending on how you use it. Here's some example statements that could be used to give you some ideas:

On getting close to a corpse that's hidden from view - "What's that awful smell?!"
On approaching a statue - "That's beautiful!"
A Dwarf moving through a cave - "Hmmm...feels to me like there's a slight incline here."
Walking on a beach - "Ah...there's nothing I like more than feeling the sea breeze against my face."
On hearing a noise (which could be played via the same "on enter" script with a delay before the comment) - "What was that?"

These are only examples, but should enable you to see how you can take that extra step in making your module more immersive.

Stay tuned for an update on Chronicle progress soon. :)