Tuesday, August 28, 2007

Taking Shape

I thought I should post some info about my intentions with the planned modules.

It's all very well explaining the mythology here, but that's not the only thing I regard as unique in the way the game will take shape. Sure, the mythology is important, extremely so in fact, for much of the unfolding story deals with what's happening among the Gods. The unfolding story will unfold in "chapters", with each one revealing part of the broader picture from the perspective of a different character. In effect this will mean each mod will be playable as a seperate entity, but playing them all will give a far greater overall picture of what's happening for the player.

The first module is being designed for a Dwarven Fighter, but don't let that rather bland character class put you off from exploring this new world. As I mentioned earlier, Gods don't take a back seat in what's going on, and this first module will be no exception. Our story starts with the Dwarf stumbling upon the God of Death as he goes through the motions of introducing plague to the port town of Kerral for reasons that become clearer later in the game. Our first encounter with Death takes place as a cut-scene (watch this space for an exclusive preview of the scene), but another encounter occurs later in the game, where I am currently busy typing away at his conversation file.

Although the story itself might appear a little linear (such is the nature of a good story, but that's another subject entirely), efforts are being made to make certain actions responsible for differences within the game. While our player character will be a given alignment, with conversation choices limited to such, variation still exists, making it possible to attain a different level of gratitude from the God of Death, depending of course on how you want to play it. It's difficult to comment more on the subject without giving too much away.

Progress is good at the moment, with area creation steadily ahead of game progression. Area creation is one aspect of the NWN1 toolset I enjoy the most. I like the challenge of clever use of placeables, sounds and lighting to create areas some may never have considered, such as the top floor of the lighthouse which you can see here. The second major (and most difficult) cut-scene is near completion, and work on the Hak has begun, making magic more tailored to the "Relbonian" setting.

That's all for now. Thanks for watching. :)

Sunday, August 19, 2007

The Art of Placement

You'll be surprised at what you can build in NWN1, particularly with imaginative use of how you place objects. Such things should be given careful consideration if your module is to look fresh to those that play.

Fortunately there is a much under used tool available that's been a real boon to me since I discovered it. Truth be told, I knew it was possible for a while, just didn't know how simple it was to call it up.

For those of you wondering what tool I'm talking about, have you ever placed an object on a table, then gone back to it later on, left clicked to select it, then discover it's fallen through to the floor? Perhaps, like me, you just destroyed the object and placed a new one on the table? Well, that can get a bit tiresome at times, but what's especially nice about this tool is it can be used to help you place anything, so, if for example you've grown tired of paintings always being a default height on the wall, you can use it to adjust the height.

I am of course talking about the "Adjust Location" tool, accessable by right clicking on any placeable then selecting "Adjust Location". There... that wasn't too difficult now was it? ;) Use this tool to bring up the details of an objects location, and alter the numbers to adjust it accordingly. Ever placed a papersheet on a rug, then become frustrated because the rug blocks out the papersheet? Simply adjust the height of the papersheet so it's .01 higher than the rug then presto! All is revealed! The same technique can be used on adjoining objects to stop that flickering you sometimes get in game.

I might post some example screen caps of the type of thing I mean when I give my next update on how Chapter 1 is coming along, so watch this space. :)

Friday, August 10, 2007

Effective Use of Sound Effects

If there's one thing that bugs me, it's a module let down by poor use of sound effects. I think sound placement is a major factor in helping immerse the player into the world you're trying to build for them, and I'm not just talking about the ambient sounds you select under area properties.

Placed sound effects can make a huge difference in making your module feel alive, but they can be far more powerful than simply placing them where you think sound should be present. Okay, I admit that for a majority of sounds that's all that's required, after all, a waterfall for example is pretty much going to be constant and not likely to change position.

It seems that some people miss the opportunity to customise their sounds. If you go to sound properties and click on the advanced tab, you'll see a number of options that determine when the sound is played, such as play all the time/day only/night only/specific hours. It's a good idea to make copies of the master sounds if you're going to tinker with them, particularly as it enables you to select them from the custom sound menu for later use. So how can we make use of the above options? That all depends on the type of sound you're placing, so here are a few examples that I've dealt with in the past:

Day Only
  • Seagulls - They rarely cry out at night. Making them day only makes ports feel more alive during the day.
  • Crowd Noises - Even if you want them all the time, make two versions, with the daytime one being louder than the nightime one.

Night Only

  • Frogs - Place near a pond. They're much louder at night.
  • Owls - A little obvious perhaps.

Specific Hours

  • Bells - If placed by something that resembles a bell tower, have them play at 9am, 12am, 3pm, 6pm, and 9pm. They help inform the community of the time, and players will soon realise they don't play all of the time.
  • Cockeral - Have this one play the same hour that your module has designated as morning.

The above are perhaps a little obvious, but you'll be surprised at how much more alive your module will feel.

Another trick is in the placement of them. If you have a city dock where seagull can be heard, make a copy a little less loud, and place it beside doors or windows in interior areas accessed via the dock area. It really helps create the illusion that the worls is still going on outside.

If you want to go a little more advanced, there's always the option of having sounds fired by script. If scripting scares you, fear not, for it doesn't get much easier than this. Let's say for example that on boarding a ship and talking to the captain, the captain says something along the lines of "We're departing now, raise the anchor." It would be pretty neat to have something that sounded like the anchor being raised at that point. First, we have to find a sound that suits the purpose. If you look under the civilisation category in your sound list, you'll find "Crank Creaks Large" which pretty much fits the bill. Make a copy of it, and change the tag name to "raise_anchor". Now, place the sound where you want it to be played, then right click on it and select "properties". Under the "Advanced" tab we need to change the play style to "Once only", otherwise it'll sound like they're forever raising the anchor, and we also need to make the sound inactive so that it will only play when we activate it via script. Got that? Good. Calling it from script is pretty easy. If we go back to our conversation where we want to activate it from, we can click on the "Actions Taken" tab of a conversation mode and build the following script:

void main()
{
object oPC = GetPCSpeaker();
object oTarget;
oTarget = GetObjectByTag("raise_anchor");
DelayCommand(5.0, SoundObjectPlay(oTarget));
}

The delay command gives a five second delay before the sound is actually played.

Of course, there is an even simpler way, and that's to click on the "Other Actions" tab of a conversation node, and select the sound you want played under "Play Sound". The advantage of this method is that you don't have to physically place the inactive sound in your area, while the dowside is you have to know what your sound file is called (although you can get round that by looking it up in the properties of a placed sound). To be honest, for something this simple I'd probably opt for the latter, but the above code can be a handy thing to know if you're starting to dabble with scripting.

That's it for now. Hope this article has been of use to someone :)

Saturday, August 04, 2007

Chapter One Underway

Progress is good on the first of the mods intended to make up the series, where the player will take on the role of a Dwarven Fighter returning to his local tavern in his home town of Kerral. As this is an introduction to Relbonia, several opportunities are taken to present the player with information regarding the world, provided in a manner that doesn't intefere with the telling of the story. Such opportunities can present themselves in books or character conversations among other things.

My first ever cutscene is complete, which gave me quite a buzz having never done one before. I'm quite close to needing to start work on my second, although this one will require more work. So much so in fact that I'm considering doing away with it and replacing it with an intro movie instead, in which case I'll have to split the mod into two parts.

It's funny how much bigger the project becomes as playtesting what's currently complete brings different issues to light. At the moment, the main plot involves having to leave Kerral (where plague is said to have surfaced) via ship. During a test run it became apparent that it was possible to visit the ship in a diseased condition, whereupon I thought "Hang on a minute, this place is said to be suffering the ravages of plague. Would this captain allow a diseased person on board ship?" The answer is of course no, so I had to implement another conversation node that would deny access if the player character looked unwell. Of course, after that, I had to make sure denied passage wasn't a show stopper and that a cure was possible, even if the character couldn't afford it. As you can imagine, the whole process leads to more work, but the end result is quite satisfying, even if a majority of players are likely to miss the fact that being diseased presents a further problem in leaving.

Well, that's about all I can say on progress for the moment, although it did occur to me that sound placement within a home grown mod can be an art form in itself. So much so that I might just create a tips article aimed at the subject. Stay tuned!