Friday, 29 October 2010

Music

It's been a difficult couple of weeks for me since I last blogged. Personal circumstances have impacted on my health and time, which means work on the module is affected. An ongoing personal issue has robbed me of being able to do much more than the occasional conversation line for the module. On a positive note, however, Hoegbo is close to completing the areas he took on board to do for me, which means quite a bit of work has been done "in my absence" as it were. Furthermore, Deflektor has kindly put together a couple of music tracks for the module for me. The first track (as it currently stands) is the main title track for the campaign, while the second is one I have reserved for an area. I won't give you its title as it would be a spoiler. He said he would like to do some more in the future. Hoegbo has also said he would like to do the tracks for the areas he has created if he gets the time between doing his own module.

I have quickly put together a simple video of a few screenshots (all previously shown in this blog) as back drops to the new music tracks. To save space, I have had to drop the quality a bit, but I hope the quality remains good enough to hear the tracks: (EDIT: Having seen the video playback, I can see that Blogger downgrades the video even further than my original upload. Fortunately, the music is still clear enough to appreciate.)

MAIN THEME:

video


AREA PIECE:

video

Subject to how my personal circumstances play out over the coming days and weeks, blog updates may affected until I am back to a more stable environment. Rest assured, I will continue to work on the module as and when I am able, but I must prioritise this current personal issue until it is resolved.

Sunday, 17 October 2010

Monsters! (UPDATED)

I decided to take the plunge and incorporate some elements of Pains Monster Pack this week. I already had quite a number of these creatures added to my module, but felt that it may be easier for the player if I organised the new creatures as hak packs rather than being incorporated within my campaign. In theory, this also allows for possible future updates to the haks. However, due to the size of these haks (when combined) I may rearrange it again so that I incorporate only those creatures I actually end up using. Time will tell. The important thing is that I will use Pains appearance.2da to help ensure consistency for the creatures.

UPDATE: I decided to remove this hak in the end as it did change a number of humanoid creatures (as also pointed out by Kamal). Instead, I will look through the additional creatures I may use and add them as required. This does also mean the file size drops considerably, which can only be a good thing.

Area Design Progression

In the meantime, Hoegbo, of The Demon Melody module, has been working hard to create new areas for me. He has worked incredibly fast and has managed to do more exterior areas in one month than I have done in 3 years! And they are far superior to my own! Matthew Rieder, of The Wizard's Apprentice module, has also contributed an outstanding interior area for me, and I can't wait to start writing more towards the quest that uses it. Eguintir is also working on both an interior and exterior area for me, and reports he will be updating me once his own module gets released any moment now.

With the current help, module 1 of the campaign has most of its areas completed. Hoegbo is currently working on the last external area for the module, and I have a few interiors to complete, and then all that remains is to finish writing the quest code. In theory, I may even have a working beta of the first module by the end of the year. It all depends on my own health and what the future brings.

Other Stuff

I am slowly working my way through the quests, writing conversations as required, and even adding the odd small cutscene. I am not very good at managing cutscenes, as they take me a long time to get right. I always worry whether the effect they bring to the game will be worth the time they take to do. There is even a chance that the cutscene will not be seen if the player does things differently to the way expected.

I am also adding to the Readable Books selection in the module one format or another: scrolls, placeable and item books. I feel they are a good way to give the player background and depth to the story in a way that is more appealing to the eye.

On a more humorous note, you may recall a while ago how some of my NPCs kept ending up in the tavern due to some error in the code. Well, this week I was working on my own version of the ActivetFleeToExit function and I ended up having a dog end up at the tavern as well! What is it with this tavern? Must be something in the ale. ;)

Monday, 11 October 2010

Trade Skills (More Skin Problems)

A short while ago, I discovered that using a skin in a PC's creature armour slot caused problems when the PC later equipped or unequipped armour: The armour penalty figures would eventually start to miscalculate and give errors with skill scores. At the time, I thought I resolved the problem by using an adapted creature bite object instead. Unfortunately, only this week, I discovered that this adapted item also caused problems, but this time with unarmed combat: If a PC with the adapted bite item on them attacked an object with unarmed combat, then only bonus strength damage would be applied. This was obviously not going to work and I came to the conclusion that skin items did not work anymore with NWN2.

Gaining Feats With Skill Benefits

Thankfully, many of the ideas I had that involved using a skin can now be coded using new functions allowing us to directly alter attributes. One aspect that did still need consideration, however, was if a new feat altered a PC's skills in some way. The problem is that while it is possible to alter PCs skills directly, the same process leaves small icons showing the changes as spell effects, which is not wanted.

In the end, I opted to design and include a new item: The Trade Skills tome. This tome is a non-drop item that now keeps track of all skills altered by new feats. This method is also quite useful for players to be able to see how their newly acquired feats are boosting their skills, which can be helpful when determining what skill-boosting items to keep or trade. I feel it complements other feedback methods used in the module well. Here is an image of the book being examined by a PC that has acquired some such skills.


New Colour Font For Time Warped Spells

As a response to popular demand, the text colour for Time Warped Spells feedback has been changed to something more visible:


Ideal Party Size

Don't forget to vote in the poll on your ideal party size if you have not yet done so.

Friday, 1 October 2010

... And Time Again!

You may recall in this post, I said this about Game Time Keeping, "In most NWN modules (my own included), time is scaled in such a way to allow it to pass quicker than in real life. For example, in 'Better The Demon', 1 minute real time equates to 4 minutes game time. However, this is not the case where combat or certain spells are involved, which can be confusing if not recognised."

Now, after giving this some more thought, I decided to come up with a system to help the player understand what is going on with respect to those spells that cause this anomaly with time due to their duration. This still requires some concentration to grasp, but I hope this helps.

Active Spell Effects
To begin with, I decided I wanted an easy way to give the player information about the spell effects that their PCs had on them. Perhaps it's just me, but I always find it frustrating not knowing exactly what spells are still active (by name) and just how much longer a spell has to last. So, to this end, I made a "Spell Effect" GUI that presents itself to a PC when targeted with a spell. It looks like a scroll that simply lists all the spell effects that are currently on the PC in question. (See screenshot below.) However, this GUI also gives further information about the duration of the spells in question. This information is presented in two formats: For short (rounds) or long (hours) duration spells I use a black font and show the time the spells have been active; and for the intermediary spells (lasting minutes), I use a yellow font and show their time remaining. It is these intermediary duration spells that cause us the problem with time and which I will now refer to as Time Warped Spells.


Let me first explain a little more about the GUI layout in the screenshot above. For ease of use (and coding), I decided to show spells that last only a few rounds or those that last for hours per caster level in a black font and how long they have currently been active. This is because for these duration spells the time element can usually be ignored. Why? Because spells that last only a few rounds (or a few minutes at best) are normally cast for the immediate effect and current situation only, and will quickly expire and drop from the list; and spells lasting hours really need only say how long they have been active in a number of hours without a need for so much accuracy. Also note, in both these situations, the existing spell code works fine with respect to time within Better The Demon, because by definition a) No short duration spell lasts longer than a game hour (15 minutes) and b) The HoursToSeconds function used in spells lasting hours already translates the time to work within the module's adjusted time frame. It is true that short duration spells could be argued to last four times longer (using Better The Demon settings) than they say due to this time shifting but, when actually playing the game, this will not be noticed, as the player's mind will interpret short duration spells as immediate timed spells. NB: There is a problem with short duration spells if a module's time settings are set to a much lower setting (which I think they are by default), as this would then mean that spells lasting a couple of minutes could, potentially, appear to last an hour of game time. Thankfully, with the time setting used in Better The Demon, the number of spells than fall into the "Time Warp" category are minimised, and with the system I am about to explain, are properly managed.
Time Warped Spells

I will now discuss those spells that cause the problem with game time, how they are managed and how their duration time remaining works. The first time a PC receives one of these spells, the module updates the in game rules to explain the nature of these spells and their working within the game. (See screenshot below.)

As this screenshot explains most of the mechanics involved (and can be viewed and read by clicking on the image), I will only add a few more details to emphasise a couple of the points here:

Varying Duration: The most significant difference between this type of spell and all others is the fact that their duration alters when looking at the GUI remaining spell time. However, this is not exactly the case. What is actually happening is that the code is altering the figure to show the relative time remaining according to the game time. Let me explain the kind of thing that is happening with a Pen and Paper D&D example of a similar thing: A player tells the DM that their 12th level cleric is casting an Aid spell on themselves. This spell lasts 12 minutes according to the rules. The player then says I walk to the centre of town and attack the mayor. The DM determines that the walk will take the PC 10 minutes, leaving 2 minutes of the spell remaining. In a sentence that takes less than 10 seconds to explain that the PC is walking to town and attacking the mayor, the spell's duration drops to 2 minutes, even though only a few seconds have passed since the player said anything to the DM. Hopefully, this next screenshot will help demonstrate some of the in game feedback:


The 30 Min Rule: To begin with, take a look at the first screenshot again, and note the remaining durations for each spell. We are only interested in the Time Warped spells now, so ignore the spells in black (apart from Resistance, which I will touch on in a minute). You will notice that prior to taking the journey along the North West Road that Threska had the following remaining spell durations: Aid 56 min; Resist Energy 60 min and Blindsight 56 min. Now, however, after taking a journey lasting approximately 30 minutes, Aid and Blindsight have dropped to only 7 minutes remaining, while Resist Energy remains at a higher value of 32 min. This is because when Time Warped spells have more than 30 minutes remaining, time is deducted in 4 minute chunks (for every 1 minute real time) to reflect the module's time setting of 15 minutes real time equating to 1 hour game time. However, once they drop below 30 minutes remaining, the GUI updates to reflect Non Warped Time, and time is now only deducted by 1 minute for every minute.

Why 30 minutes? The answer is simply because this is the smallest amount by which time will ever be jumped forward in the game. Therefore, this same time span (30 min) acts as the governing factor in how Time Warped spells react with time. You will note that even though the remaining duration values currently differ after the travelling by 25 minutes, that in either of the following circumstances this system still works because:

a) If the player does not travel any further (and does not jump forward time), then within a few more seconds, the Resist Energy spell (which was cast just a few seconds behind the other two) will "catch up" with the Aid and Blindsight spells as it drops by 4 minutes to what would have been 28 minutes, which now translates to 28/4, which is 7 minutes, to display the same as the other two spells. All three spells now have approximately 7 minutes remaining. If they did travel again (taking 30 minutes), then all spells would be removed as they only had 7 actual minutes remaining.

b) If the player quickly turned around and did the same journey back (and jumping time forward by another 30 minutes), all the spells would still end simply because of the time for travelling. The Resist Energy spell might show as less than 1 min remaining upon arrival, but would quickly end after the same amount of time it was cast after the other two had been (within seconds).
Short Duration Spells: You will note that Resistance had disappeared from the list after the first travelling. This is because it only lasts a minute and so quickly dropped off as the PC travelled. All short duration spells will only ever show ACTIVE less than 1Hr, and is merely a courtesy comment to show them as active.

Long Duration Spells: By contrast, long duration spells will remain on the GUI for as long as the spell duration, and give a rough idea of how long they have already been running. Below are a few snapshots of the GUI showing the spells active and how long they have been running. Note, the Mage Armour spell was cast a few seconds after the other two, and so shows a slightly different time remaining in the middle image. Within a few seconds though (the time difference between the castings), the GUI updates to show the new time, which is similar to the other two spells.

The Differences: The bottom line is, the players will not notice the duration differences simply because the game adjusts according to the style of play. For even if a PC stays within the same area for a period of time greater than 15 minutes, an hour game time will pass thus ending any spells that may, at first, appear to be greatly improved by the system. When all the sums are done, it is possible that some spell combinations give slightly longer durations, but on the balance of things, I believe this gives a much more accurate system than the default.