Choose Your Language

Tuesday, 22 March 2016

Beta Test 9.0 (Part 7)

I know this may come as quite a surprise, especially considering the amount of beta testing this module has already gone through, but even now, I am still finding some niggling points that need fixing. Even to the point of updating core XML files and tlk entries. Anyway, without further preamble, here is the latest list of fixes:-

1) Fixed a door being opened by creatures. (Missing variable.)
2) Fixed related door (to above) by adding a missing script to ensure fade worked on exiting it.
3) Fixed a function that could (on rare circumstances), cause a creature to spawn in the wrong area.
4) Fixed a "treasure object" from being inaccessible due to not having "useable" in the properties.
5) Amalgamated two "function" scripts to prevent toolset crash on exit.
6) Updated stylesheet.xml to give me smaller tabs/buttons where required.
7) Updated the tlk to give clearer feedback with crafting skills.
8) Removed default "Spell Failure" info, which was giving wrong feedback (and not used anyway).
9) Updated a faction setting for an NPC to prevent improper NPC reaction after a party death.

CURRENT PLAY TIME: 32 hours and 20 minutes.

Time To Head Back Down Again!

Friday, 18 March 2016

Beta Test 9.0 (Part 6)

Beta testing continues alongside the updates I have been making to having better feedback with respect to the party as a whole. E.g. Managing equipment (to prevent encumbrance) and crafting item information feedback have been top of my list. I know these may appear to be "additional" work to the beta testing, but for me, it's all part of the same process. My goal is to make the game as "easy to play" as possible as well as being "bug free". (Updated screenshot below.)

The Reasoning

1) Having access to class and level within the inventory screen is helpful for validating items carried.
2) Seeing encumbrance remaining (or over) makes for quick equipment management.
3) The new Party Craft tab enables players to keep track of the crafting skills and items in the party.
4a) A toggle to make the Party Bar icons smaller when controlling larger parties. (Also "draggable".)
4b) The party bar ( normal or small icons) now ensures the controllable PCs stay at the top of the bar!
4c) Names are also added to the PC boxes to make recognition much quicker and at a glance.

Bug Fixes

1) In some circumstances, some conversations would not fire subject to how many were in the party, due to some "heavy" conditional checks. (Scripts were rewritten and delays added to ensure conversations started even for larger parties.)

2) A sound activation was updated to ensure it always fired. (Now uses own homebrew function.)

3) Some core functions were rewritten and recompiled to ensure loops involving faction members did not include associates, as their testing was NOT required in the functions that had the new condition added. (Helped reduce overhead.)

Updated Screenshot

New Additional Party Feedback


Monday, 14 March 2016

Party Crafting Info (New Character Screen Tab)

To complement the updated bag system, which I spoke about last time, I decided to add a TAB onto the PC Character Screen GUI that would allow access to more information about the whole party with respect to crafting skills and the more common related items, which the party held as a group.

This way, it is much simpler to keep track of which PCs have which skills, and what party crafting abilities are available to the group as a whole. Also, common items such as planks, ingots and hides, along with the lesser and greater essences can be seen in an instance and in one place. I, for one, find this much easier to check what base items I have available to me (as a whole) for any crafting I hope to try, without having to locate and check every individual PC within my group.

Hopefully, this may be of help to other players too:-

Text Colour Determines Access (or Not)

Friday, 11 March 2016

Beta Test 9.0 (Part 5)

Beta testing underwent a few changes this time around as I decided to also add some code to make managing the inventory slightly easier and also help make some aspects of crafting a little easier, in particular the distillation of creature parts and essences.

I will list the usual fixes in a moment, but first I wanted to explain some of my changes:-

DISTILLATION UPDATE:

I have coded many "party" based skill checks (as opposed to the PC doing the activity) already. However, I decided to also update the code when it came to working with the mortar or alembic. Now, any PC may use/activate these two items to distil or work with essences, as long as the party has a PC with the appropriate skills, is nearby and not incapacitated. (Appropriate feedback is given.)

BENCH & SMELTER UPDATE:

I have also done a similar thing when it comes to a PC clicking to work at any workbench or smelter. As long as somebody in the party has the appropriate ability, is nearby and not incapacitated, then any PC may start the activity. In fact, most workbenches do not even require the hammer or mortar to target the bench now, and simply make the check when the bench is "closed", because it assumes the workbench has those tools at hand to use. (Appropriate feedback is given.)

The only thing that the player has to be aware of now, is that if the crafting/enchantment is via a recipe rather than at a workbench, then the PC activating the recipe must be the one carrying any items required. (When using a workbench, items are placed onto that instead.)

ITEM COLLECTION UPDATE:

This update was made to alleviate some of the issues I was experiencing when trying to locate some items to do with crafting in particular.

If a player buys a particular "bag" or "container" item, I use a process to automatically place items found into the appropriate bag for them. However, before now, the bags only worked for the PC that carried them. E.g. If the Main PC picked up a crafting component, but it was a companion that carried the auto-collecting "Crafting Component" bag, then the item would have simply remained in the Main PC inventory and the player would have searched for the container to ensure it was placed correctly. Now, however, I have made the process fully automated, so that irrespective of who owns the auto-bags, or who picks up a qualifying item, the said item will always be placed into the correct container.

There are six such bags, in the following order of collection priority:-

1) "Crafting Components Holder": If large, bulky heavy crafting items are picked up, then they are prioritised to special weight reducing bags if present in the party. (E.g. Ingots, planks, hides and ore.)

2) "Alchemy Satchel": Automatically stores essences and creature parts that can be distilled into such.

3) "Crafting Component Carrier": Automatically collects all those other items that can be used in crafting, including molds, creature parts (not distillable), and other components. (E.g. Fairy Dust.)

4) "Bounty Bag": The bag that automatically catches all that the previous bags miss (or if they are absent). This includes creature parts (all types) and essences (if other bags are absent). Note that if other bags are present, then this bag will only collect creature parts not used in crafting in any way.

5) "The Treasure Bag": The default location for identified gems, amulets and rings. Any items that are acquired unidentified remain in the main inventory to highlight they need identifying. (They can be manually placed into the bag if desired.)

6) "The Key Ring": Any key items are automatically placed onto a key ring you carry.

Note the following:

A) If a party has more than one of the same special bag, then the automatic process checks the PC that picks up an item for a valid bag first, and then checks the rest of the party if it cannot find one. (I have not limited the capacity of these bags, and so there may be little reason to have more than one of each kind, apart from they do still reflect weight of their contents.)

B) If a valid item is picked up and placed into a bag, there is feedback telling you to which companion and to where the picked up item was placed.

FIXES & OTHER UPDATES:

1) Fixed some broken crafting feedback. (Noticed during the update.)
2) Fixed distillation results. (Too many being created.) (Noticed during the update.)
3) Updated the name format of essences to be able to more easily recognise their type and purpose.
4) Updated bag auto location for molds. (Component instead of Alchemy.)
5) Updated container XML message text to relate to "recipes" only.
6) Updated various texts and descriptions to reflect changes made and for ease.

Wednesday, 9 March 2016

Beta Test 9.0 (Part 4)

Testing continues. My latest list for those who like to follow:-

FIXES:

1) Fixed a creature location that was stuck in the walkmesh.
2) Fixed a conversation (grammar).
3) Fixed a camera angle (which had moved to looking at the floor!)
4) Fixed some object descriptions that were missing.
5) Fixed a fire VFX (that was missing) and removed VFX "flicker" when active.
6) Fixed a broken beam effect. (It was missing in some situations.)
7) Fixed Cursed Items to destroy when dropped (as per description). (Instead of becoming a placeable object.)

UPDATES (CONSIDERING):

1) Update crafting system to work with crafting items no matter which PC starts the crafting procedure. The code will simply check if there is a PC in the party that meets the requirements and allow the activation to work without having to move items to the specific PC to begin with.

2) Add an inventory "search" system to list party items according to various category tabs. Currently in design discussions.

I already have one of those belts thanks!

Friday, 4 March 2016

Beta Test 9.0 (Part 3)

Once again, I have been slowly working my way through the module, and finding the odd problem here and there that needed addressing. My latest list for those who like to follow:-

FIXES:

1) Fixed a conversation where the object rather than the PC name was being used.
2) Fixed the journal item counter when first acquiring an item for a task. (Jumped to 2 instead of 1.)
3) Fixed the journal item counter if items were sold. (Involved an "Inventory" fix.)
4) Fixed automaton conversation by switching interaction to "use" instead of "auto" and adding some variables back (which had been removed).
5) Fixed remaining quantity of "Decipher Tools" on the puzzle GUI. (Out by one.)

UPDATES:

1) Updated the colour for journal items counter to use Dark Green text instead of just Green.
2) Stopped inventory from popping up with description if just looting gold from an object.
3) Set all Main Menu items to "OFF" by default. (i.e. Players must toggle "Spells Active" scroll to "ON" to pop up now.)

And for those that also enjoy a screenshot ....

I told you I could get it working!

Thursday, 3 March 2016

Beta Test 9.0 (Part 2)

I have been continuing to test my module. (Sadly, the beta tester who had volunteered dropped out.) I am still being surprised at the number of bugs I am finding even after the beta testing it has already received. Admittedly, these bugs are somewhat harder to spot (unless you are quite knowledgeable with the code and processes involved), and so would probably only have been noticed by myself anyway. Here is the latest bugs found and fixed:-

1) The "REST" system. (Fixed some duplicated and irrelevant feedback in some situations.)
2) In relation to the above, I also fixed a broken homebrew function that was ignoring the Main PC if controlling a companion. (*)
3) Fixed Orechin conversation, where a repeated node was possible (due to missing variable).
4) Altered light flicker rate on main village light.

(*) This function is used in quite a few other places, and is designed to check for the quantity of items held by the player's group of PCs. The problem was that it worked correctly when you were controlling your Main PC, but ignored the Main PC inventory if you were controlling a companion at the time. In theory, this should fix a few other issues that may have been missed during initial testing.

I have also reached a point where the main plot can take two different paths, and continued along the "most likely" route for now, leaving myself a saved position that I may go back to if I feel it needs it.

Still tired? But you only just rested!



Friday, 26 February 2016

Beta Testing (9.0)

I know it's been some time since my last post here, but real life issues had caused me to have to take some time out. However, as the new year gets underway, I also find I am able to better manage time for this blog again.

As you can see from the title of this post, beta-testing has still been continuing, as I have had one or two people volunteer to help test it. Although feedback has been slow, mainly due to RL situations, I am also continuing to have one last play through. In my own testing (and from feedback), I have fixed bugs to do with:-

1) The weather system. (Fixed a memory leak and variables to do with VFXs.)
2) Some transitions. (Relating to party settings.)
3) Some broken dialogues. (On certain paths taken.)
4) Broken AI on a Skull Trap. (Trap would stop responding after the first time.)
5) Secret Door. (Door could remain locked even after using a key to unlock it.)
6) Replaced some "destroyed" doors with "normal" ones. (Unreliable otherwise.)
7) Clarified some REST feedback. (Gave feedback why some PCs may not rest due to "Too Soon".)
8) Fixed "Racial Light" spell. (Had not been updated to work with my own system.)
9) Changed voice set on a companion.
10) Altered some conversation timings.
11) Updated some spell information to work with my own system.

According to the in-game timer, I have played around 23 hours. I have a party of six and a dog who tags along with me. All PCs are 6th level. I am guessing that I am about half way to two-thirds through, and probably have around 10-20 hours left to test.

What Next?

Saturday, 5 December 2015

Beta Testing (6.0)

I am still running through a final beta test (version 6.0), and have already ironed out one or two minor bugs that had haunted earlier beta testing, including ...

1) Conversations failing to fire due to too many conditional checks. (Condition moved to another script.)
2) The main PC losing focus on a reload. (An on entry fix.)

I have currently played around five hours in this beta test and have had no plot issues or continuity errors, which is great news. However, I did have to fix the following ...

1) Feedback on Chameleon stones: The player now has the PC with the highest Set Trap skill check the stone for traps if they are available and able in the group. Also, additional checks are made automatically, allowing the possibility of learning more information over time.

2) Fixed an NPC interjection (Kasandra) that was not firing due to the script that called the conversation not working properly.

3) Fixed weather system.

Note: None of these additional fixes are game breaking, but instead, remove "frustration elements" or amend "flavour elements" that would be missing otherwise.

To remind you, I hope to have the module fully tested within the next month or so, and have a final version released shortly into the new year. If I don't write again this year, I wish you all a happy new year.

Friday, 6 November 2015

Beta Testing Update

To date, the module has passed through five stages of beta upgrades and is currently on its sixth rendition. Two beta testers have completed the module from Beta 1 and one beta tester has completed from Beta 2. One tester completed the module on Beta 5 on a second play through and other testers are currently on a second play through, with the latest just starting Beta 6.

BETA 1 and 2: Had 73 patches.
BETA 3: Had 55 patches.
BETA 4: Had 6 patches.
BETA 5: Had 17 patches.

TOATAL PATCHES: 151

BETA 6 should, theoretically, only require typo fixes and minimal overall patching. This current beta version has also had a couple of module updates, including:-

1) Extra information about Crafting Recipe usage in GUI.
2) Extra feedback on Combination Locks if you have the Expert Decoder feat.
3) Fast Travel road markers for one area.

The following statistics have been ascertained:-

1) Total Play Time: Around 25 - 40 hours, subject to path and quests taken.
2) Party end level: Around 7-10th (after starting at 1st level).

Due to both testing and personal circumstances, the final version is likely to be delayed until the new year 2016. At that time, the module should be very stable and I will be in a better position to give support if it is required.

Tuesday, 1 September 2015

Beta Testing Report (FIRST FIVE BETAS)

Today, I have finished uploading the files and I have decided to use this blog as the central link for informing beta testers of bugs discovered and the changes made. It will also be the area where a player can check back and find the links to any patch file, which I will keep a link to from here, as well as in any emails I send. Note: Apart from the patch file and the "Information.rar" all other file links will be supplied direct by the emails you have provided me.

BETA TESTERS (Updated upon request): andysks; Thierry (4760), Grinsekatze, rjshae,  ...

IMPORTANT NEW PATCHING INFORMATION

Patching process is now only received via direct email communication.

Replace existing hak with this one. (Confirms version update in game. NB: Name will now always be althea_patch_latest.rar. This way I can replace an existing patch and simply update the version number here of what to expect after patching your module.) NB: If your game does not tell you it has been updated after replacing the hak, then please try downloading again. If it still fails, let me know. The version you are currently running can be found in your Main Menu when you click on Rule Information.

// v5.17 - Fixed ROUND COUNTER.
// v5.16 - Fixed snowballs and healing herbs. Updated bestiary include and images.
// v5.15 - Fixed crafting case sensitive resrefs checks.
// v5.14 - Fixed companion journal for Thierry. Fixed lag problem in Chaos Vortex due to scaling issue.
// v5.13 - Fixed broken journal for companions and Orechin conversation.
// v5.12 - Map Pins improvement (by allowing companions area transition to keep something upon enter.)
// v5.11 - Journal Fix.
// v5.10 - Fixed post descriptions on items when unacquired for any reason. E.g. Runic addition.
// v5.09 - Fixed broken function that checks party skill - best PC in.
// v5.08 - Astend conversation logic on order of events. Core dump.
// v5.07 - AI FIXES - CORE FILE DUMP.
// v5.06 - CORE FILE DUMP.
// v5.05 - Fixed Travis conversation. Fixed Melissa conversation about ants.
// v5.04 - Fixed smelter usage.

// v5.03 - Fixed incorrect pause delay. Creation Pen Removal. Halls Effects Removal. Journal entry.
// v5.02 - Fixed an impotent Melakar
// v5.01 - Removes debug feedback.
//======================================================================
// v4.06 - Resest attempts for Thierry.(Critical.)
// v4.05 - Fixed book for Zakeree for beta testers.(Critical.)
// v4.04 - Fixed broken rune lock timers. Broken journal entry.(Critical.)
// v4.03 - Fixed Talanthian door to remain unlocked on second usage. Add missing items. (Critical.)

// v4.02 - Fixed non-comtainer placeable combi locks. E.g Anciet Crypt pedestal (Critical.)
// v4.01 - Dryad conversation fix (updates quests). (Critical.)
// v4.00 - Quest fixes (completion) for Rjshae and Thierry (Non critical.)
//======================================================================


EARLIER FIXES LINK

// ==============================================================================

LATEST REPORTED ISSUES


09/09/15: THE GAME TIMER - This module uses a simple game timer, which is accessible from the Main Menu. It is only provided as a very rough guide, as it runs a bit inaccurately, and even stops when the game is paused (of course). Those of you who may have been monitoring your Game Time, may also notice that the time recorded has been halved. This is to take into account an error found in the time keeping (going twice as fast as it should have been).

09/09/15: "NO REST" AREAS - This module uses its own NO RESTING feedback. However, I did not remove the "No Resting Allowed" property from some areas prior this release, which means the official campaign system kicks in before my own system gives any feedback. Therefore, be aware of this when trying to rest in some areas. E.g. In Merkes place, you simply get the "No resting allowed in this area" in the chat window, which can easily be missed if you are used to the other system.

08/09/15: "STOLEN" ITEMS - I discovered there still remains a number of placeable containers missing an important script that means the contents are not marked "Stolen" in the normal way and Trickster Jewellery is not setup correctly. I am addressing these as I discover them, and they CANNOT *easily* be fixed via the patch and so it's not worth the time doing so. (They will be fixed in the final.) You will find an example of this in a chest inside the Bloated Buckle Inn (if you find it).

04/09/15: SOUNDS - I discovered a deeply embedded function "LBPlaySound" needed to have its target association changed when playing sounds. This has been fixed for future releases, but no patch will deal with a situation in your own game. Basically, if you are not possessing your main PC, who is far from the one you are possessing, then you may not hear some sounds play. (Rare situation.)

04/09/15: GEMS - I discovered a couple of gems were not indicating that they can be used in crafting: the Alexandrite and the Amethyst. These have been updated in this module, but will not show in your findings of them. They can still be used as such though.

03/09/15: LOWER RESOLUTIONS - I discovered that some of you are running at lower than 1920 x 1080 resolution. This causes a problem with some new GUIs that are "fixed" for 1920 x 1080 resolutions. However, I have "unlocked" them with a fix so that player on lower resolutions setups can move the GUIs around to suit their needs. At the moment, this has only been reported as required for the Rune Lock puzzle. If you play at a lower resolution and require any other GUI "unlocked", then please let me know. Here is the Quick Fix to unlock the Rune Lock GUIs. Decompress the file and place the two XMl files into your override. They are unique and will not affect any other game you may be playing and are safe to leave there.

03/09/15: AREA LIGHTING - I discovered that the lighting for the "Boathouse" was not set correctly. The module has been corrected, but your version will not be. Apologies for that.

03/09/15: CRYPT COFFINS - I discovered that some of the crypt coffins had older scripts on, which do not make unusable after looting. The module has been corrected, but your version will not be. Apologies for that.

03/09/15: RULE INFO - The Scroll comes with a number of House Rules, covered in the Rule Information section, which could be an overwhelming amount of text to read in one go. I would recommend only referring to this section as and when you are curious about the way something plays. In other words, you can "ignore" the rules all the while you are playing along without any issues. Consider the Rule Information tab like the "DM" (dungeon master) who gives you information when you need it.

02/09/15: FONT SIZE - I have had one tester report back with the following error as shown in the image below. (See the previous blog post, which is now dedicated to beta tester images.) This problem is related to font sizes used by the game. It is important that anything that alters font sizes used by the game is removed or "returned to normal" prior to starting this module. This module also uses an altered fontfamily.xml, which is found inside the UI/Custom/LBAlthea folder. It is *critically important* that you use only the fontfamily.xml that comes with this module, otherwise you may end up with missing text as per the image below ... or potentially worse? If that is not the case, then something more fundamental could be at work, along the lines of a computer setting or a video hardware driver. RESOLVED: Ensure *ALL* third party add-ons are removed from both the override and the ui folders. (Pending Confirmation.)

0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0

FEEDBACK

Beta testers can send me both emails or use this blog to send me comments regarding the testing or any other relevant information. I will use information sent to me to list "bugs" reported and "comments and suggestions" made, which they believe would improve the game, with any feedback I can give.

MODULE 95% COMPLETE

I want to point out that this module is not yet considered "complete". It is, however, at the stage where I need other people's perspectives to help with the final balancing and any last minute alterations. In this case, I would like to remind the testers that I cut short my own alpha testing so that I could try and meet the deadline I have set for myself. Your feedback will help me to concentrate on the important issues.

CAMPAIGN 33% COMPLETE

It is important to recognise that this module, The Scroll (The First Day) is only the first in a series of three planned modules. Playing it to the end may be like reaching the end of "The Fellowship of the Ring" in the Lord of the Rings trilogy ... but with nowhere else to go ... yet.

Note, I hope that there will still be a sense of satisfaction for reaching the end of this module, but there will be at least one or two loose threads remaining, which are the reasons for the modules that I hope will follow. At the very least, I hope the module will also act a showcase for the many other ideas and systems that I have developed along the way and that others may be able to use within their own modules.

WARNING

While I have gone through some extensive testing, there is still a real possibility that a fundamental game-breaking bug remains in the code. If you believe you encounter one of these types of bugs, let me know as soon as possible so that I can release a patch as quickly as I can to help keep the testing moving. In every such case, I will endeavour to provide a working solution so that you will not need to restart the game wherever possible. Restarting will only ever be a last resort during this stage of testing.

DOWNLOADING & INSTALLATION

Beta testers will be sent an email with a link to this blog and direct download links to the three essential files required to install the module. It is essential to follow these instructions to ensure the module installs correctly and plays without problems beyond currently undiscovered bugs:-

1) Ensure your "Neverwinter Nights 2\ui\custom" and "Neverwinter Nights 2\override" are currently empty. (NB: This module must not have any other third party add-ons included.)

2) Download and unpack "Campaign_Althea.rar". It contains a folder called "Althea", which must be placed inside your NWN2 Campaigns folder.

3) Download and unpack "Module_Althea_001.rar". It contains a folder called "Althea_001", which must be placed inside your NWN2 modules folder.

4) Download and unpack "Others.rar". It contains four folders:
  1. "hak" folder, which contains  3 "althea_xxxxx.hak" files, which all go into your hak folder.
  2. "movies" folder, which contains "TheScrollIntro.bik" file, which goes into your movie folder.
  3. "tlk" folder, which contains "Althea_01.TLK" file, which goes into your tlk folder.
  4. "ui" folder, containing a "custom" folder with "LBAlthea" folder inside. Use in your ui folder.
5) Download and unpack "Information.rar"and follow the Quickstart Guide to ensure you have setup the files correctly. The opening screens should now reflect "The Scroll" as the module you are about to play. This is important, as it also means you will have correctly setup some essential GUI changes required for the module to work correctly. (NB: If you are playing other modules at the same time as this one, then you will need to remove the LBAlthea folder before playing a different module. It is essential that you replace it before playing The Scroll again though.)

6) Continue to follow the Quickstart Guide until you reach the point where the module automatically saves the game for you. (See CHOOSING A BACKGROUND below.) At this point, you are ready to start playing. Referring to the Althea Manual_BETA_1.00.PDF may be helpful at this time. Please let me know if I have left any misinformation in either of these two PDF files or if there is anything more I could add that may be helpful to the player.

CHOOSING A BACKGROUND: When you first enter the game and go through some character selections, you will eventually be asked to choose a background. Unless you are familiar with my pen and paper campaign (or played my NWN1 module, Soul Shaker), then I would recommend that you choose OPTION 2.

INFORMATION REQUIRED

I provide this as a guideline to the sort of things I would like feedback about, but please give me information in any way that is most comfortable for you. For instance, if you have the ability to record your gaming session (and don't mind doing so), then please do record your sessions and upload them to a site where I can download them and view them. (Add commentary as you play, and this will serve as good feedback.)

Consider the following for feedback:-

1) Installation & Starting: Any issues with installation and/or manuals, or starting the module. (See point 5 and 6 above.)

2) Emotional Response: Report on anything confusing, frustrating, enjoyable or any other experience you have.

3) Practical Observations: Is something not working as expected or given the impression it would? Basically, this is the "Is something broken?" question.

4) Glitches & Typos: Are there any grammar or spelling errors? (Do not include NPC mannerisms.)

5) Logical Flow: Does the game flow naturally? Does anything not make sense? Do the journal entries keep track correctly? Do the conversations remain consistent? Are there (in your opinion) any more conversation lines you would have liked to ask?

6) Combat & Treasure: Is there enough combat? Is there sufficient treasure? NB: This is a question of balance. Your feedback in this area will help me to tweak the final settings.

7) New Systems: This campaign has many new systems incorporated. Some of them still require updates, like adding code to some spell scripts. If you notice any spell or object that may be missing some code, then please let me know.

8) Your Statistics: I would also be interested to see how long you have been playing (per session and overall) as recorded in the Main Menu (or by your own timing) and what sort of party you are playing.

KNOWN ISSUES

Like all projects, there are some issues that I know to still exist within my own. Here is my current list:-

1) On very rare occasions, the module hangs when starting for the first time only. (1 in 100)
2) One of the Crafting Manuals (Greater Essences) is incomplete.
3) Not every spell has been updated to work with the new system. (Please report your experiences.)
4) Game balancing for combat and treasure remains untested.

The Scroll - Beta Testing

This blog entry will be where I will post images provided by other testers and myself to help demonstrate potential issues we may come across. The latest image will always be at the top of the blog entry. These images will be referenced by the Beta Testing Blog page.


BETA TESTING IMAGES BELOW
 
Font Size Error - Notice The Differences
Much Text Missing
 

CLICK ON IMAGE TO ENLARGE
EARLIER FIXES (PRE BETA 3.0)

// v3.55 - Tweaks On Enter settings for areas - Memory? (Critical.)// v3.54 - COSMETIC: Added VFX to rune creation. BALANCE: LE give half attempts again on Rune Locks. Exploit from v1.62 Fixed (Critical.)
// v3.53 - Fixed *very rare* but unreliable object usage after scaling. (Critical.)
// v3.52 - Fixed *very rare* rune duplication error. (Semi-critical.)
// v3.51 - Fixed armour rune scroll. (Semi-critical.)
// v3.50 - Fixed Clarence and Orechin conversations. (Semi-critical.)
// v3.49 - Fixed "crypt doors puzzle" on a player game reload. Removed map close when on same area. Fixed SD detction. (Critical.)
// v3.48 - Removed plot item recovery for a single player game reload. (Critical.)

// v3.47 - Fixed barrier journal entry. (Critical.)
// v3.46 - Fixed Dryad's soil for those who had already started the quest. (Critical.)
// v3.45 - Fixed portal control. (Critical.)
// v3.44 - Fixed missing Talanthian scrolls. (Critical.)
// v3.43 - Fixed an XP exploit. (Critical.)

// v3.42 - Fixed oddity with player Map Pins "duplicating". (Semi critical.)
// v3.41 - Fixed Ammonite key any PC usage. Fixed guards from return to post early. (Critical.)
// v3.40 - Fixed Ammonite key creation journal entry. (Critical.)
// v3.39 - Fixed some logical flow in the dryad's conversation regarding the PCs already knowing of Arlen. (Non critical.)
// v3.38 - Altered colours in book conversation and for NPC names. (Non critical.)
// v3.37 - Fixed Soul quest upon Soul's destruction. (Semi critical.)

// v3.36 - Fixed Secret doors, which I broke in a previous patch! (Critical.)
// v3.35 - Fixed Dryad quest to allow finish. (Some elements cannot be fixed this way.) (Critical.)
// v3.34 - Missing script found. *** CORE FILE DUMP *** uploaded.
// v3.33 - Made goggles usage more intuitive. (Critical.)

// v3.32 - Fixed Sebastion's door (closing and returning). (Critical.)
// v3.31 - Fixed pressure plates in Halls. Fixed broken combi door in Goblin tower. Red leader Combi. (Critical.)
// v3.30 - Removed debug feedback on statues. Updated transition bug.
// v3.29 - Tried to fix broken transition and walkmesh issues.
// v3.28 - Fixed broken Spell Risk feedback. Also fixes Orechin's conversation regarding the necklace.
// v3.27 - Fixed broken transition when trying to re-enter the goblin tower. (Critical.)
// v3.26 - Fixed combi changers to reset EXPLOIT DATA upon changing. Beta quest fixes.
// v3.25 - Fixed Family Heirloom quest. (Critical.)
// v3.24 - Fixed Merkes door lock with companions and cutscene if companion dies. (Critical.)
// v3.23 - Eased companion check looting protocols for "dungeon" areas. Stop HB spawn during conversation. Red Leader.
// v3.22 - Fixed sick man scroll. Altar Name message. Remove Sebastion. (Critical.) *** CORE DUMP FRIDAY ***
// v3.21 - Made dropping plot items more flexible/robust. (Critical)
// v3.20 - Fixed map view with room at Inn and Astend place. (Critical)
// v3.19 - Fixed Sebastion Rewilders Comments for Journal Updates. (Critical)
// v3.18 - Caught up with elusive missing cat called Thomsk! (Critical)

// v3.17 - Gave clearer feedback about snowball distances. (Semi critical)
// v3.16 - Fixes inventory interruption and Crystal names. (Critical)
// v3.15 - Removed pages from area and sorted GetNearestObjectByTag scripts. (Critical)
// v3.14 - LID fix for Astend's tower. (Critical)

// v3.13 - Finally fixed that balsted Halls puzzle door. A deeply embedded include file was required.(Critical)
// v3.12 - Eased up party objection if bashing doors. NPCs will still react. (Non critical)
// v3.11 - Fixed rogue key in Bloated Buckle for BETA THREE TEAM. (Critical)

// v3.10 - Fixed Halls puzzle door (again) and transition from Astend's place. (Critical)
// v3.09 - Fixed Astend's door. (Critical)
// v3.08 - Fixed door puzzle in Halls. (Critical)
// v3.07 - Drop plot item rods. (Critical)
// v3.06 - Fixes sewer panel being operated by a companion. (Critical)
// v3.05 - Fixes changing door combination after Scar is dead. (Critical)
// v3.04 - Fixes searching to give a potential healthier bonus. (Critical)
// v3.03 - Fixes sewer crystals description (when read book). (Non critical)
// v3.02 - Fixes logical flow issue with Merkes door. (Logical flow)
// v3.01 - Fixes logical flow issue with sewer hand rescue. (Critical)
// v3.00 - Fixes henchmen, typos, textures, plot items returning (E.g. Ravel Key)
// ==============================================================================
v1.73 - Fixed Mold’s Mission Quest (FINALLY). (Critical.)
v1.72 - Fixed Mold’s Mission Quest (Again). (Critical.)
v1.71 - Fixed Mold’s Mission Quest. (Critical)
v1.70 - Fixed incorrect time rested report. Handling stones. TYPOS. Ant nest. (Critical.)
v1.69 - Fixed TYPOS. Some henchmen no longer cost at the Inn. (Non critical.)
v1.68 - Fixed Alchemy Satchel usage so that any PC gains the benefits of a party member having alchemy knowledge (and so auto-uses bag at all times). (Critical.)
v1.67 - Fixed Panel GUI pop up at wrong time.  (Critical.)
v1.66 - Fixed broken recipe books bought at stores. (Critical.)
v1.65 - Fixed missing Alchemy Bag. Incorrect Store Compare bug with Helm. Convers Spots Fix. Kathy Logic. (Critical.)
v1.64 - Fixed Cocoon spell. Typos and Orechin logical flow. (Critical.)
v1.63 - Fixed Murder Bug so Orechin has something to say. (Critical.)
v1.62 - Fixed an Arcaene Lore Spell Exploit. (Critical.)
v1.61 - Working on an Arcaene Lore Spell Exploit. (INCOMPLETE) (Critical.)
v1.60 - Fixed ladder and bunker in cellar key. (Critical.)
v1.59 - Fixed password mismatch with Melissa and Grist. (Critical.)
v1.58 - Fixed Fairchild's Mercy Mission quest ending. (Critical.)
v1.57 - Fixed a permanent anti-hostile setting. (Critical.)
v1.56 - Fixed guildhall members locations and sentry alert status. (Critical.)
v1.55 - Improved robustness of Knock and Break Lock spells. Added cutscene to ensure spell casts. (Critical.)
v1.54 - Updated info from Grist about Guildhall at night (and give key). Fungi gives Vigour. (Semi critical.)
v1.53 – A couple of typo fixes. (Non critical)
v1.52 - Fixed Tumbler Picks compatibility with some Combi Objects. Made feedback easier to read. (Semi critical)
v1.51 – Fixed in game TIMER. (It's only a rough guide anyway.) (Non critical) - SEE ALSO REPORTED ISSUES (BELOW)
v1.50 - Altered alb_make_statue to try to prevent Effect OverFlow on Statues. Also BBNecklace. Also changed HP values for “Normal” setting. (Important)
v1.49 – Attempt NPC sit issue (AGAIN!) Flask fill in group fix.(Non critical.)
v1.48 – Fix a fade from black with Frank Millerson conversation.(Critical.)
v1.47 - Lowered shop new stock durations. Attempting to sit NPCs again! Ant poison entry.(Non critical.)
v1.46 - Fixed Seeking Adventure Quest completed. (Critical.)
v1.45 - Fixed Red Leader logical flow conversation. (Critical.)
v1.44 - Added Betsy's missing glow. May differ in the final. (Non critical.)
v1.43 - Fixed an auto conversation start. (Critical.)
v1.42 - Fixed ore recovery that was not being created in the correct place. (Critical.)
v1.41 - Prevent an annoying Grist on a wrong node choice. (Critical.)
v1.40 - Added missing treasure to Josiah's Chest. (Non critical.)
v1.39 – Addressed NPCs failing to sit between reloads. (Non critical.)
v1.38 – Fixed Sebastion's conversation about door puzzle. Typos corrected. (Critical.)
v1.37 – Fixed Obi Sten's conversation of player cuts conversation short. Plus logical flow fix. (Critical.)
v1.36 – Fixed logical flow of sewer entry on scroll fix. Fixed Expert Decoder to work from companion. (Critical.)
v1.35 – Fixed timing of patch application due to enter problems & Guildhall illegal entry.(Critical.)
v1.34 – Accumulation of critical updates. See previous notes.(Critical.)
v1.33 - Fix vigour loss on Main PC; Josiah’s chest lock and DEBUG HB from v1.32. (Critical.)
v1.32 - Fixes "work permit" quest (of Melissa) if talk after getting work with guards. (Semi critical.)
v1.31 - Fixed spell name changes for Captured Spell Books. (Critical.)
v1.30 - Fixed incorrect resref ref for ant poison when crafting. (Critical.)
v1.29 - Fixed possible store miss-use and appraise notice over influence one. (Semi critical.)
v1.28 - Fixed odd placed crate and door options at guild. (Critical.)
v1.27 - Fixed Scar's conversation. (Critical.)
v1.26 - Removed alpha code that was causing havoc with Real Life system. (Critical.)
v1.25 - Prevent companions automatically trying to bash combination chests. (Non critical.)
v1.24 - Fixed a logical flow problem with Todd's combination chest. (Critical.)
v1.23 - Fixed stack split/Essence Distil with Bags/Dropping Bags. (Critical.)
v1.22 - Fixed accessing non-essential containers. (Logical Flow.)
v1.21 - Fixed RESTING at the inn. Allows proper recovery rates. (Semi critical.)
v1.20 - Fixed auto conversation (Murder Picture). (Non critical.)
v1.19 - Fixed containers being inaccessible due to mechanics creature. (Critical.)
v1.18 - Fixed an unfair advantage where revived PCs regained Vigour. (Non critical.)
v1.17 - Fixed AI "Brain" icon again (if not possessing Main PC). Also LBPlaySound. (Non critical.)
v1.16 - Fixed bag container display error. "CONTAINERCHECK"(Non critical.)
v1.15 - Fixed it so containers are not protected by "mechanic" "DESTROYME" creatures.(Non critical.)
v1.14 - Fixed it so Trickster Jewellery is auto acquired into gem bag.(Non critical.)
v1.13 - Trickster Jewellery was losing its properties if acquired with gem bag.(Semi critical.)
v1.12 - Ensured permanent HB was not started with v1.11 by mistake.(Critical.)
v1.11 - Tracked down a "bad encounter" and out of reach creature. (Destroyed for test.) (Critical.)
v1.10 - Updated alb_comppc_conv to fix AI of companions ignoring commands. (AI Critical.)
v1.09 - Treasure overload exploit. (Balance non-critical.)
v1.08 - Updated alb_mon_deathscript (HPBars) again & alb_area_enter (AI Image) & alb_comppc_conv. (AI Critical.)
v1.07 - Updated alb_mon_deathscript (HPBars) and nw_s0_summon/alb_summon_item for BUMPABLE. (Semi-critical.)
v1.06 - Updated alb_ore_recover to fix collection of Cold Iron Ore. (Non critical.)
v1.05 - Updated alb_comppc_conv to fix AI of companions and Puppet Mode. (AI Critical.)
v1.04 - Updated alb_spellcast to only respond to PC casts in some places (TEXT feeds). (Critical.)
v1.04 - Added missing area vars (also in toolset) for rest and map options. Fixed patch. (Non critical.)
v1.03 - Fixed alb_container_prepare (campaign script) to fix illegal interaction. (Critical fix.)
v1.03 - Now informs the player of patch being applied correctly upon reload. (Non critical.)
v1.02 - Updated weapon bench speech (campaign dialogue) to fix party speech. (Non critical.)
v1.01 - Updated alb_speech (campaign script) to fix Orechin in graveyard speech. (Critical fix.)

Friday, 28 August 2015

Alpha Testing #3

Sorry about the lack of a post for the last month, but I am trying to get through alpha testing so that I can upload the module for my beta testers. Things have been going a little slower than hoped, after I encountered another issue that forced me to restart my testing for a third time. Thankfully, so far, this third run through appears to be easier going than the previous two, and I am considering contacting beta testers in the next few days.

50th Birthday Target

I have tried setting myself a date for when I would like to release this module to the public: the 1st October (this year), which coincides with my fiftieth birthday. I would like to give the beta testers at least a month to give me feedback, and so that means having something ready for them to be able to play by the end of this month. To meet this date, I have decided to cut back on my own testing and concentrate only on two aspects:-

1) Lighting and Sound for areas. (Currently 23.5% checked.)
2) Encounters and Bestiary entries. (Currently 15% checked.)

This means "Conversations" and "Treasures" (which I had hoped to double-check), will now be left to the beta testers for feedback, alongside everything else, including basic working and flow.

New Material

I did also have to spend a little time accommodating another side quest after realising I had made reference to it, but somehow missed doing anything about it. To prevent further delays, I made the decision not to cover one or two "options" that I was going to include originally, and see if the beta testers are conscious to the "missing" options. If too many report a request, then I will endeavour to include it before final release.

Store Conversations

This new quest did help me to finish off another system concept I wanted to include, which is to allow conversations start if a PC sold a particular item to a vendor. This has now been achieved, and adds a neat element to the already new store system.

Fixed Crafting Anomaly

I also fixed a crafting anomaly, where you could add enchantments to "gloves", but not to "bracers". This appeared to be down to a confusion about the BASE_ITEM_XXXX, where BASE_ITEM_GLOVES use the "Gauntlet" descriptor and BASE_ITEM_BRACERS use "Bracers". The problem is, only the "Gauntlet" allows enchantments. Therefore, as changing the descriptor does not affect anything else to do with "bracer" items, I set all their "Bracer" descriptor to "Gauntlet", which means it now returns BASE_ITEM_GLOVE, which can be enchanted like any other worn items. No more anomaly!

Friday, 24 July 2015

Alpha Testing #2

Latest testing reached the point where I decided to restart my alpha-testing ... and so I am now on Alpha-Testing #2. Basically, I had a number of fixes to creature AI, journal updates, feats and general maintenance that made me decide a restart was required to ensure I had sorted these first issues. It also gave me the opportunity to start with a different class PC to try a few other ways of approaching the module.

Script Handling & AI

The main changes I made this time around were to do with the scripts that are attached to companions and creatures, especially as dictated by the NWN2_ScriptSets.2da. In the early days of my coding, I relied more on existing scripts and OC protocols, using variable holders to fire my "custom" scripts associated with creature event hooks, like OnSpawn and OnHeartbeat. However, as my scripts have grown, these two "older" systems have become more of a confusion and hindrance than simply rewriting my own and directly associating them using the SetCreatureScriptsToSet function pointing to the NWN2_ScriptSets.2da. After the issues I experienced in Alpha-Testing #1, I decided this change was sorely needed to allow me to sort through both companion and creature scripts more easily. This change helped a lot when it came to working with henchmen and other associate types that shared scriptsets in common, or I had manually edited to try to workaround the differences between them. This separation has helped streamline the code and tidy many of the discrepancies.

Journal Entries On Creature Death

Another change that determined a restart for me was after I encountered a failure with a "trigger" event to do with a journal entry update after I killed all creatures spawned from an encounter. In this case, a single trigger for an encounter would be simple enough. However, I had a series of encounter triggers that spawned creatures, which was only meant to update a journal entry when all creatures from all these spawned encounters (from shared triggers) were killed. My existing system relied upon another trigger involved in the setup, which simply did not work reliably. Therefore, it was a case of rewriting the scripts surrounding this journal update event for those quests that relied on such.

Other Fixes

There were some other issues that revealed themselves in the latest lot of testing, but they were straightforward to fix by comparison. There was a situation where two "Hunger" icons were displayed in certain circumstances, due to me not doing a correct condition check.

There was the reappearance of some erroneous "faith" related information, which pointed towards an error I had in setting a variable at the time of "losing faith". This also had an impact on clerics "resting" and the prayers they gained, which meant it was important to track down and fix.

"Out with the old and in with the new" is probably the saying I mostly used regarding script changes recently made, as I rewrote some of the oldest scripts I had previously written ... even amalgamating similar event scripts to reduce overhead. I believe I have addressed most of these older scripts now, and, hopefully, I will be able to make progress again.

Hopefully, I will have a bit more to say in a few weeks time. If you don't hear anything in the meanwhile, just assume I am focussing on another set of issues, and will update you when I have more to report.

Thursday, 9 July 2015

Alpha Testing #1

I have finally reached what I would consider the alpha testing stage for my module. I know there are some that would say I should just jump straight to using beta testing, but due to the high amount of customization in both AI scripts and XML, this module needs this final stage of internal testing before I release it into the hands of beta testers. As it happens, it's a good job I did, as some of the latest changes I made did have quite a bad affect on the module. Here is just some of what I picked up in my recent testing:-

Companion and Henchmen AI

This was one of my biggest concerns in my initial testing, as I discovered both companions and their summoned creatures would fail to return combat after a first combat. This was a hard cookie to track down! In the end, it turned out to be due to a player AI toggle setting to do with my own AI master control between having PCs in AI Mode or Puppet Mode.

The problem turned out to be due to two issues: The first issue was because I had failed to NOT include henchmen (inc summons, familiars and animal companions) in the master AI toggle, which meant when the game switched automatically to turn-based combat, it turned the AI off on these creatures too, which it is not meant to do. The second issue was more difficult to track down, and turned out to be due to the main PC not using the conversation script attached to it until after the player had switched to at least one companion. Once I had addressed these two issues, the AI all worked again as it was meant to, with companions using AI or not (according to the player's AI toggle setting), and henchmen (etal) using AI as standard.

Indestructible Quest Items

When a PC returned a quest item to an NPC, the item is destroyed as normal. However, upon a reload, the quest item returns to the player. This problem was due to the database not being updated correctly due to the item being "destroyed" rather than "un-acquired", where the check is normally updated. In the end, I decided to have the database update as the player used the escape key to bring up the "Options" menu when saving or quitting the game. This turns out to be a better way of dealing with this code anyway, and it sits quite nicely alongside my "henchmen fix" code that uses the same XML. (The "henchmen fix" code removes henchmen prior to exiting the game, which normally makes the module crash on exit if not done.)

Conversations

As some may recall, I have made a list to double-check four things during this testing time, and conversations was one of them. In the testing, I discovered a few conversations that had illogical nodes due to where the PC was located according to the time of day. (A rare situation, but one that I have proven to be possible.) While this was not a drastic problem, it was the sort of thing I was keeping an eye open for and so it got fixed.

I also decided to add an option to allow a conversation to continue after a player chose to "shop" via an NPC. This was because I wanted the player to not miss out on any potential new nodes that may present themselves *after* having browsed the shop's goods. Works a treat!

I also noticed that if the area map was open when a cutscene conversation started, that sometimes, the map would still be visible over the cutscene conversation. I edited the cutscene.xml to ensure it closed the area map GUI as it started, which now does away with that potential issue.

Quest Completed!

I have a dedicated quest VFX and small tune that plays with some quests, which adds quite a nice sense of achievement. However, in my testing, I discovered that the method I was using to deploy the VFX (via a conversation) was not being reliably displayed, due to the way the conversation set the camera angle. Therefore, in the end, I opted to deliver this VFX outside of a conversation and just within the game itself. I had to alter the SEF slightly, but all now looks far better when presented.

Debug Feedback

And while the least of my problems, I discovered there were still one or two lines of debug code giving feedback, even though I was no longer testing the game in "Test Mode".

Additional New Code

The only new code I added was the implementation of Spell Resistance (SR) when wearing items that give SR. I decided to use the feat system to add a new feat (SR Via Item) whenever a PC wore an item that gave them a higher SR value than any natural benefits the may have had.

And Onwards ...

That's all I have found and fixed so far, but I will continue to go through the module at a reasonably swift pace, and in a fashion that I think may help to mimic the most common choices or path. (Beta testers will probably do better at finding the more unusual path for me.) That said, this first batch of alpha testing has had me restart about four or five times, mainly due to the AI bug, as that was difficult to track down. However, now I am underway again, and have the support once more, hopefully, I will make quicker progress and iron out any other final major issues prior to beta release.

I will report back further testing issues in the days that follow ....

Tuesday, 30 June 2015

Installing User Mods & Custom Content: READ THIS FIRST!

If you are new to installing users' modules or their custom content, then hopefully reading this will save you a lot of potential frustration and/or having to send emails back and forth with the authors asking them for help about getting something to work. Even if installing user material is not new to you, then maybe this article will help you be aware of any potential pitfalls you have not yet experienced.

NOTE: This article is intended for the player end-user of created material, as opposed to material created for builders to use within their own projects. It is assumed builders will already know most of what I am about to cover, although I would draw their attention to the ADVANCED section, which may help to avoid issues with accidental duplications of files.

Even if you think you understand the BASICS, please at least consider reading the ADVANCED section of this article, as that covers where most issues arise after an installation.

THE BASICS

BACKGROUND

The Neverwinter Nights PC game franchise comes with a toolset that allows users to build their own custom content for others to download, and then to install to use or play. User content can vary from relatively simple User Interface (UI) alterations (e.g. Making the "Game Paused" wording say something different when the game is paused), to building an entire module, with or without additional material. When installing user content, however, care is needed to make sure the files and folders that make up that content are placed into the correct NWN folders on your own computer.

NWN FOLDERS

From here on in, whenever I use NWN, I will be referring to the NWN2 game only, but some aspects of what I say can also be applied to the original NWN1. The main differences are that NWN2 has more places where user content files and folders can be placed.

The following also assumes a default installation on a computer running Windows 7. Please bear that in mind if you have changed the installation path or run a different operating system.

When you install NWN, the main game default installation path is:-

C:\Program Files (x86)\Atari\Neverwinter Nights 2

When installing USER CONTENT, there is NEVER any reason to alter any of the files or folders from those in the above folder. At the very most, only ever make copies of files from this installation directory, and work with the copies inside the folder mentioned next.

However, at the time of installation, a user folder for NWN is also set up here:-

C:\Users\UserName\Documents\Neverwinter Nights 2

When you are asked to install user content, it will be into the folders that are found in this folder. The most important folders to note are as follows (as found in alphabetical order):-

Campaigns
hak
modules
movies
music
override
tlk
ui

This article covers files (and/or folders) that are asked to be placed inside these folders. If you asked to place any other files into other folders in this path, then please follow the builder's instructions.

USER CONTENT PLACEMENT

When you download user content or a user module, then the builder should explain to you in a Readme.txt or similar instructions where to place the files you have downloaded. Some user content may only use one of these folders, whereas downloads (such as modules) are likely to use many or possibly most of these folders.

Hopefully, even if the builder does not give clear instructions where their files should be placed, the way they may have packed the files may help indicate where they should be placed. This is the way each folder should be used:-

Campaigns - Contains the "campaign" folder. i.e. The "global" files for one or more modules.
hak - Contains hak files: Material used to alter in-game visuals. (Primary 2da files are placed here too.)
modules - Contains a module file, or a module folder. (Differs according to builder tastes.)
movies - Contains user created movie files in bik format.
music - Contains user created music files in bmu format.
override - Contains different files or folders to help change the way a game plays.
tlk - Contains user created tlk file. Alters what text the player receives in a game. Can be original reworded or new text.
ui - Contains user altered or created primary UI XML files. (Can include supporting images & sounds.)

NB: This is a general structure. However, it is possible (and even likely in some instances) that many files (even XML or 2da format) can and will be placed in the Campaign folder. However, some primary XML and 2da files have to be treated differently and are placed elsewhere, as explained above.

ADVANCED

FAULT FINDING

If you have followed the builder's instructions on where to place their files and you have done so correctly, then all should work fine when you start the game. However, through no-one's deliberate fault, problems can occur and are often down to duplicated files. (NB: There is an exception to this: See Some Safety Steps To Follow #4 below.)

While any file duplication can be a problem, there are two specific types of file that are more prone to duplication and are the highest likely to cause problems with your game. The two file types I refer to are the 2da and XML file formats. These two are more likely to suffer from duplication due to the high amount of alteration and testing they go through at build time, and also due to the location they are finally placed when the content is released.

For example, a single XML file may have five clear different versions (but all with the same name), spread across four different folders, with each one making a difference, subject to where it is placed. I will give an example of this in a moment, but first need to explain something about "priority" with respect to files being read for the game.

FILE PRIORITY

As far as I am aware, there are up to four folders that can affect when file priority is involved. Here follows the priority of folders from which the NWN reads and finally executes a file:

HIGHEST PRIORITY
================
HAK (PRIORITY) (*)
HAK (NORMAL) (*)
OVERRIDE
CAMPAIGN
CUSTOM UI (+)
=================
LOWEST PRIORITY

(*) NB: A game can come with more than one hak file to place inside the hak directory. Hak files have their own order of priority, subject to how they are installed by the builder, and so if a file appears duplicated in multiple haks, then only the highest priority hak version will count.

(+) This folder does, however, take the priority when you launch NWN for the first time, which is why it is used by builders to set up fonts, typefaces, opening images, etc for their module. However, once the game is loaded, it becomes the lowest priority as other folders (with files) take precedence.

So, what I am saying is, if you had, for example, an official campaign XML file with the same name (but each slightly altered in some way) in each of these directories, then the one in the HAK (PRIORITY) would be the only one to fire. If the XML file was not in the HAK (PRIORITY), then it would look at the one of next priority in the list, HAK (NORMAL), and if it were not there, it would look inside the OVERRIDE folder and so on, until it had gone through all the potential user folders.

If, after going through all the USER folders it does not find anything, then (if an official version exists) it will default to the official game version, which is installed with the game. (i.e. The ones you should NEVER alter.)

NB: I have NOT included the "module" folder, as not all files placed inside this folder have an impact. E.g. An XML file placed here will not do anything (at least in my tests). However, for the purposes of including it in the list, and if it does have any impact anywhere, then it would come below CUSTOM UI and just before the official game files. E.g. Official scripts can be altered and saved to the module by the builder, which then take priority here.

The 2da files suffer from the same kind of duplication error, as they can often be found in many places. So, if you have an old version of a 2da sitting in your override folder, which is taking priority of the one that you downloaded and comes in a campaign folder, then errors will occur.

SOME FILE INFORMATION

XML FILES: These are the files that alter the way the UI works within the game. UI are the "user interface" such as character sheets, inventories, maps, etc. It also includes some things you may not expect, like the fonts used and individual components, like scrollbars. If a font is missing, or a UI does not look correct, then the fault is likely to be with an XML file.

2DA FILES: These are two-dimensional arrays (2DA). Basically, think of a table with columns and rows, where code calls for references held within this table according to a row or column reference. If you are seeing odd behaviour with respect to some wording or missing text, especially related to character information, then it is likely to be caused by a missing or corrupt (old version) of a 2da file.

OTHER FILE TYPES: The user folders will contain a great number of other files, from new models, tilesets, terrains, images, sounds, scripts, etc, etc. And, in principle, they can all suffer from the same "duplication priority error". E.g. An old tga image file sitting in a hak, when a game is trying to use the one that comes within its campaign folder, will cause problems. However, due to the way that many of these other file types are put together at build time, they are less likely to encounter this issue. HOWEVER, if you do experience unexpected results, then do a search for the file in question among all the sub-directories of the NWN user directory.

SOME SAFETY STEPS TO FOLLOW

Here is my advice to follow when installing custom content:-

1) KEEP THE OVERRIDE EMPTY: Most user content, if properly structured, should NEVER need to have anything placed within the "override" folder. The "override" folder is a quick and messy way to fix things, or, more normally, to test things. If you have downloaded custom content that uses the override, then chances are, if you have other custom content you use, then it is likely to break that. NB: Note, however, a duplicate file in an override (even if newer) will NOT take priority over the same named file in a HAK.

2) CARE WITH CUSTOM UI FOLDER: You should take careful note of files that are added to the CUSTOM UI folder. There is nothing wrong with files being placed here, but you should be aware that files placed in this directory have the potential to alter EVERY game you play while these files are present. However, sometimes, these files NEED to be present to ensure the custom content or module work as intended, and so one must not be afraid of following the instructions to place them there. Just be advised that it is best to work with only one custom folder at a time within the CUSTOM UI. Most builders will provide a folder with their CUSTOM UI content, so it is simply a case of temporarily removing this folder to the desktop (for instance) if you intend to play a different module.

3) CAMPAIGN & MODULE FOLDERS: Files and folders can be placed into these folders without any real concern, unless, of course, somebody happened to use exactly the same name for a file or folder as you are about to copy. They can sit here indefinitely without causing any concern to any other game at all. The only caveat to be aware of, is if the builder updates their content, you may also need to update files in these folders too. (However, see THE PRIORITY HAK next.)

4) THE HAK FOLDER: Treat similar to the Campaign & Module folder. i.e. Files placed in this folder are not likely to interfere with any other module, unless they have the same name as another hak used for another module. NB: This may be important to know if you have downloaded two modules, and each uses the same hak, but the builder may have slightly altered the original hak and not renamed it. This is unlikely to happen, but may be worth noting if the builder forgot themselves.

THE PRIORITY HAK: More importantly, however, is this folder is the one that can contain what I call the "Patch Hak", which is basically a dedicated priority hak for a campaign or module. If your module comes with such a hak, then be sure to keep this hak up to date, as it contains all the latest fixes for the game in question, and any files it contains get priority over any older ones. In this case, this is where the file priority system works in our favour, as it uses (in theory) the most up to date version of the file in question, over  and above any other version found lower in the list of folder priorities. This is the one time when file duplication is expected for players who are "patching" their game. Using this method of file updating means a player does not have to restart a module, but can carry on from a saved game.

5) THE TLK FOLDER: This folder is where you place the builder's own tlk file. Once again, files placed in this folder are not likely to interfere with any other module, unless they have the same name as another tlk file used for another module. NB: The official campaign tlk file is called Dialog.tlk and is found in the installation directory. This file should NEVER be altered, and any user tlk files should use a different name and be placed in the tlk user folder.

NB: I am unaware of anybody editing the official Dialog.tlk file directly, but there would have to be good reasons for doing so. In theory, a good builder will rather supply an end user with edited 2da files and a new tlk file so that all original files are left unaltered.

6) MOVIES & MUSIC FOLDERS: Treat similar to the Campaign & Module folder. i.e. Files placed in this folder are not likely to interfere with any other module, unless they have the same name as another file used for another module.

FINAL COMMENTS

There is a great temptation for players to try to install all their favourite modifications for the many user modules available. This comes inherent with installation dangers! Often, a module contains hundreds, if not thousands of edited files. Unless you know where to look for potential file duplications, then any modification left within an override or added as another hak has huge potential to cause the game to fail. Even if you do find the clashing (duplicated files), trying to merge them without knowing the full implications, will also likely cause a broken game.

So, while the temptation may be great, I would recommend being prepared to make sure your environment is "clean" before you attempt any potential installation, and use only the files that come with the module.

Lastly, if you have done everything your end correctly, then at least you have a good understanding of what to explain to the builder with respect to the problem you are experiencing.

Monday, 15 June 2015

Light, Sound, Conversation & Monsters!

ATMOSPHERE

I have set myself a procedure to follow now as I go through my module area by area. First I go through an area checking the lighting and sounds, to make sure the ambience feels right and that the player can "see" relatively well, subject to their own visual capabilities or need of a light source. I make sure area sounds are balanced, and offer audible clues if need be.

At this stage, I also check to make sure the area and mini maps are set up and working correctly with respect to whether they are available in the first place, and to ensure they are not giving more information than they should be by revealing hidden rooms before they have been discovered.

If all looks good, I double check that I can reach every object I need to, and make sure transitions work as they should, at the time they should. Once I am satisfied that this all seems fine, I move onto stage two: conversations.

Evening fireflies and a cloudy sky
INTERACTION

Checking conversations is much more difficult to do due to them relying on variables being set. However, I check what I am able, and even alter some variables or leave access to certain links just to check other responses if need be. This testing stage is more to do with ensuring I have at least finished all the conversations in an area with respect to what I want the creatures or objects to be able to "say" in the first place. For instance, I have a number of placeholder conversations that have only partial comments and need finishing off. My goal now, is to ensure I finish all conversations in an area as I make my way through them on this final testing stage.

Store Interaction: This book looks interesting!
SURVIVAL

Once the conversations are completed for the area, I move onto the combat monsters that will be encountered in the area. This part requires a little more attention, as I want to make sure I have allowed a fair and reasonable environment in which the player can meet the challenge. This is all about game balancing, and player choices prior to encountering any monsters can make the difference in whether the player perceives the game as a fair challenge or not. That's not to say the design should make every encounter a breeze or nightmare simply based on statistics, but also recognise environmental factors that may alter factors for either the PC or monster in the first place. E.g. A place where a PC could never rest would eventually wear them down to the point where even a fight with a giant rat may be difficult.

This monster stage, is also the time I ensure the bestiary has been updated for the creature if required. The bestiary can give slightly more information about a creature, which sometimes gives extra clues about how to fight it. At the very least, it will help categorise the creature for the player.

Example: Animal selected from creature category.

Tuesday, 26 May 2015

Life Can Be Draining

Progress continues ... and once again, I find myself back into coding some AI related scripts. This time, however, these scripts deal with creature encounters and how they respond in certain opening situations rather than the actual combat responses thereafter. That is all rather deliberately vague, I know, but suffice to say, it all works as it should do now.

However, to be blunt, I have not done as much as I would have liked since I last blogged, simply because of real-life issues (including worse health again). I had hoped to have finished the dungeon I am currently working on by now, but this has simply not happened. Apart from the above AI scripting, however, I did manage to alter some existing spell code to rework the way life-draining creatures work with my Life Essence system. (Something I touched upon in my last post.)

I'll keep doing what I can as I can ... and obviously keep you all updated. In the meantime, here is another screenshot ...

The Beginning or End of a Mystery?






Monday, 11 May 2015

Lots of Little Updates

Things are still moving along ... gradually. I am getting closer to finishing the last part of an area that will then leave me with just a few odd jobs throughout the module ... and then ... perhaps a final alpha test by myself to ensure there are no glaring mistakes and then it goes to beta! But, let me slow down a bit and just take this one step at a time ... and speak about some of those points I have been doing lately.

TLK & 2DAs

Recently, I have been updating my custom tlk file and spells.2da to make spell descriptions read more logically. E.g. Some spells that have lesser or greater versions I have renamed them with the quality in brackets. E.g. Dispel Magic (Lesser). It's only small changes, but ones that I have always been meaning to make and so as I was rewriting the Restoration spells, I thought I would do this at the same time.

Life Essence Update

I rewrote the Restoration and Restoration (Greater) to require Life Essences per drained level if the target requires any level restoration. This fits into the general scheme I have in mind with respect to Life Essences as a whole in coming campaign developments. This system is the same that I will eventually use with respect to level draining creatures sapping "life" and gaining Life Essences for themselves. Think of vampires gaining extra life by sapping yours. While not a direct level to level swap, it does equate to a gain by the life-draining creature.

Other Stuff

I have also been adding to the item drops available when it comes to showing "placeable" objects rather than the generic loot bag. This required some extra work to fit in with some of my other systems and to make sure acquisition scripts still worked fine, including a new crafting option that uses some new runes specific to a particular area.

Anyway, just a quick screenshot to leave you with for now ....

What Is This Place?