Writings from the Bard of Althéa about the building of the world that bears the same name.
Choose Your Language
Friday, 7 December 2018
All Fixes & No Play - Start Saved Game Issues
LATEST VERSION HERE: https://neverwintervault.org/project/nwn2/module/scroll
Here is what happened: Graham (on WAN) wanted to bring in another PC to replace Aeriol, because he felt that another fighter would balance the party rather than with two wizards as it currently stood. After a quick mid game fix to repair skill/feat selections Graham had made for the fighter (which is also in the latest v2.17 campaign folder fix), we continued to play. However, we only got as far as leaving the Bloated Buckle Inn and talking to a store owner when we encountered the store problem, mentioned above. No problem we thought, as we could reload the game and continue without taking the conversation path until it was fixed. However, when we went to reload, Graham (on WAN) had no end of difficulties trying to rejoin the game with the latest save.
The previous save appeared to work still, but (just to be on the safe side) we decided to make sure we could save/reload again having just restarted the session. Then, even that basic step of save and reload gave the same issues as he had experienced previously. We then spent the remaining time we had trying to establish why this had happened without any successful reload for him. In the end, it looked like even Jennifer (on LAN) could not join the session either, experiencing the same error messages.
In the end we ran out of time and I had a new issue to resolve. After checking the code, I thought there were some potential issues that needed addressing (which I did) and by the time I came to test it (the following day), the problem appeared resolved. Then, just out of interest, I went back to the previous version and tried to reload the LAN character again … and it worked!
So, although I made a number of alterations that I believed may have contributed to the issue, in the end, it may have simply been some form of corrupt server data that was cleared after a computer reboot. (I know I should have tried that first, but it’s great with hindsight.) However, those additional alterations I have made did clear up some inefficient code, and (hopefully) ensured a better establishment of variables upon a reload - so that it may help towards ensuring the loaded game did not confuse some variables, including such things as who was the host. NB: The older code still looked good to me, but I am happier with the alterations I have made to help alleviate similar problems (that may have contributed) anyway.
So, no gaming news to report other than these experiences. Hopefully, we will have a decent session tonight. I will report back as usual.
Monday, 3 December 2018
The Adventure Continues .... 5. Freewill v Predestination. (Combat TMI)
Other than that, the session went reasonably smoothly for the 1 hour 37 minutes of unpaused play that we had. (We also started slightly later.) You can catch up on the heroes actions further below. Also note, there are a couple of GAME UPDATES of which to be aware.
The List of Fixes
1) CHARACTER SHEET (TMI): This was our first experience of a GUI opened by more than one player at a time causing an issue. A quick check of the characterscreen.xml showed the alteration I had made for displaying temporary hit points was the likely cause of the issue. It worked using an OnUpdate call without any restriction to that update, meaning it was making the same server call dozens, if not hundreds of time per second. Furthermore, the script it called, gui_fixtemp, had no limit set to the number of times the call would update the GUI, which meant the GUI was calling and updating many times for each player that had it open. The XML now has a limit set to a call only every 0.5 seconds. Furthermore, that call does nothing now, unless there is a need to update the GUI. This problem had escaped our attention until now, because each player was unlikely to have the same GUI open at the same time. However, the players had just leveled and so both players were now trying to look at their Character Sheets at the same time. To workaround the problem on the night, we simply did one player at a time.
2) DOOR LOCKED PCS INSIDE: This problem arose due to a door heartbeat check no longer allowing a DM presence to keep a door unlocked. However, the code was wrong in another way too, so it has now been fixed to ensure interior doors do not lock (if not locked) anyway. Workaround: As a DM was present, the DM simply unlocked the door to allow the players to exit.
3) TACTICAL GUI FEEDBACK (TMI): As the session drew to a close, I asked my players to consider performing one last action that we knew would involve combat, so that I could test that the new TARGETING GUI would work in a MP session as well as it did in SP. (I had not yet been able to test this in a MP environment.) I am glad we tried it, as the test showed there was a problem: the game stuttered and ground to a halt. At least now I could examine the issue and have it fixed before the next session. It turned out the problem was similar to the Character Sheet problem (item 1 above), but much worse. In this case, it was due to the altered noticewindow.xml that was being automatically called at the same time for all players (3 in our case) and had an OnUpdate set at maximum (no limit) to call a reasonably large script (involving multiple loops) dozens of times per second for every player. It was no wonder that the server ground to a halt and crashed. As I stated above, this kind of multiple call may work for a SP game, but it is just too much in a MP game. This is what I did to fix the problem: Firstly, as the main script call (gui_updatetargets) involved loops for all PCs anyway, there was little point calling the same script for every player (to do exactly the same thing each time), and so I restricted the called script to work from the host player only. Secondly, I limited the OnUpdate call to 0.1 seconds (meaning to call only every 0.1 seconds). The combination of these two fixes alone limited the instructions for the TARGETING GUI feedback by hundreds of times. Furthermore, I put in place some other checks that helped alleviate script execution when it was called anyway. The result: A smooth operation. (I have yet to test the system with the player on WAN, but testing locally has shown good results.)
4) MISSING HOLY BOOK: When Graham rested his PCs at the Bloated Buckle, one of his PCs (Elana the cleric) failed to learn any prayers, even though they had paid for expensive accommodation. It turned out that the cleric had "lost" her holy book. It was no longer in her inventory. My suspicion at this stage is that this was related to the COMPANION and their equipment bug on a player leaving the game. (See last blog post.) This was fixed with the last update, but Elana's missing holy book may have been collateral damage with respect to that bug and the fix at the time. Now that the companion equipment bug has been fixed (and Elana was given a new book by the DM), that problem should (hopefully) be gone. On reloading with the DM only (as a test), the cleric appeared to still have her book then. Next session we will know for sure.
5) COMPANION FOLLOW (INTERCEPTED): During some testing, I discovered there was a problem with companions following the correct player if both players controlled more than one PC. This had not been noticed prior to my own testing, as my wife (up to now) had only ever been playing a single main PC, and only Graham controlled more than one companion. The problem was due to variables NOT accommodating a MP environment. I have addressed these now and will try to locate situations where variables should also be updated to accommodate a MP environment. (My own MP testing is limited to a MP environment without a DM as host, which means I do sometimes miss MP issues depending on how I am testing at the time.)
6) OTHER MINOR STUFF: A TYPO was fixed in the Death and Raising rule. The DM calendar did not update immediately from party resting, but did on the hour. A fix has been applied but not yet tested.
Game Updates
1) AUTO-PAUSE REWORDING: The Main Menu currently has "AUTO PAUSE IF ATTACKED". This will be changed to "AUTO PAUSE IF ENEMY SENSED". This is because it more accurately describes the situation of the game pausing on enemy contact rather than any actual attack. i.e. The game can and often does pause before the player is actually aware of what the PCs have perceived. In such situations, the player may need to allow the game to be unpaused until the beginning of another round before they can target or take any action. (See next update.)
2) NO PAUSE COMBAT ROUND: If a player uses the campaign's Tactical Turn-Based Combat System, the game will now NOT allow additional pausing between combat rounds. i.e. Once the player has released the paused action, the game will not be able to be paused again until the six second round has completed, at which time the game will automatically pause itself. NB: This only applies when a player is using the Turn-Based system, which is automatically entered if they use the "AUTO-PAUSED IF ENEMY SENSED" option. (See above.)
![]() |
| The Heroes Return To The Bloated Buckle For A Night's Rest |
The Adventure Continues ... 5. Freewill v Predestination
Did we choose to come here, or was it always meant to be?
NB: Contains spoilers for Option 1 background.
Tired as they were, the heroes were fascinated by the scriptures they found around the Sanctuary of Boran. They discovered four ancient texts that spoke of an old argument of the different religions that discussed whether one was in control of their own actions or had always been destined to carry them out. There were the Sovereignites who believed in predestination and the Kingdomites, who believed in freewill.
Shortly after musing over the topic of freewill versus predestination, Helden picked up yet more texts in a nearby bookcase. One spoke of the horrendous disease called The Scourge, which caused living beings to turn into what resembled the undead. The second book went into details about a substance called the Life Essence and discussed the nature of good and evil. It was yet another fascinating read and one that nearly caused division in the party, had not Threska decided that the rest of the party may be right after all, and determined to take on board a change of religion. A rare thing indeed to witness such a change of heart in a person. The heroes decided they would aim to be Channelers, an action that asserted goodness in nature. However, in the light of what they had just been reading regarding freewill versus predestination, there was more than one hero that paused just a moment to consider whether it really was their choice or something predestined?
It was approaching midnight by the time the heroes decided to return to the Bloated Buckle and turn in for the night. The group were already quite fatigued, and Orechin, who had already locked up the sanctuary for the night, had to unlock the door before seeing them out. (See item 2 fix above.)
As the heroes made their way to the inn, they heard a scream. It was a blood-curdling sound that sent their hearts racing, and they paused briefly deciding whether to investigate it or not. After all, they were truly tired and did not want to run the risk of falling foul of night crime while in such a state. Then a voice in their conscience alerted them to the fact that they were supposed to be the heroes, and maybe it was their place to investigate. Clearly, it sounded like somebody was in need of help. So, they made the decision to run towards the scene. They arrived just at the same time as one of the guards turned up and all witnessed that a male figure had been murdered!
Helden was a little hesitant to get involved and wanted to get back to the inn, but Myara was curious and wanted to investigate a bit more. She examined the body and found a picture of a woman on it. The guard quizzed Myara about it, but said they could hang onto it if they would try to do a bit more investigating, and report back to Taloy or Orechin on their findings. The heroes agreed.
Eventually, the heroes did make it back to the inn, and Myara wasted no time in quizzing both Karl and Sandy about the girl in the picture. Karl had not recalled seeing her (after a little persuasion to talk about it), while Sandy was reasonably certain it was Sophie, the daughter of Kathy, the trader at the Apothecary. She said to check with Taloy, which when they did, appeared to confirm this was quite possible. However, Taloy was reluctant to speak about her due to the way she had only recently died herself under suspicious circumstances. He recommended that they speak with Orechin, as he dealt with her death.
So, as the heroes turned in for another night at the local inn, they had managed to gather more tasks under their belt. And as the heroes settled down for the night, Myara's thoughts went to solving the murder mystery, Karasten wondered more about the Arcaene Lore spells he had read about in the book that the heroes bought from Orechin, Helden considered and imagined himself taking up a little crafting, and Elana thought long and hard about whether she was making the decisions in her life ... or whether somebody else really was controlling her actions. In all, every party member had their own reason to start afresh the next day ... as long as their thoughts did not distract them from sleeping.
TOTAL SESSION TIME (UNPAUSED): 1 Hrs 37 Minutes. (Late start.)
QUESTS ACTIVE: 17 QUESTS COMPLETE: 1 (Ignoring Rule Info)
There were also a couple of questions raised about the mechanics, which I will answer for the record here too:-
1) When Do Henchmen Level? Henchmen level at a rate of a level or two behind the PC they follow.
2) What About the Level of Late Comers? If a companion or henchman is asked to leave the party: at the next time they are asked to join, they will level (gain experience) to a comparable level to the party average. The player can then level that character if required.
3) Automatic Storage of Keys: Every player in a MP game can own a key ring. The same is true of any auto-storage item. (Auto-storage items place items they carry automatically in them when acquired. E.g. If a player has one of their PCs pick up a key and any one of their PCs owns a key ring, the key will automatically be placed into the key ring item.) Note, however, items passed from player to player are NOT automatically placed into such containers and must be done so manually.
![]() |
| Sandy Speaks To the Heroes About Sophie, The Girl In The Picture |
Friday, 30 November 2018
The Adventure Continues ... 4. A Day In The Village. (Memory Leak Warning. v2.14 Now Available)
Funny enough, this last set of fixes escalated from initial minor ones, to those that ended up taking me a little while longer than expected to finally resolve. Recall last week,when I mentioned the "COMPANIONS IN MP"? Well it was from that "simple fix" that I managed to introduce a memory leak. More detail on that in a minute. For those that want to keep up with the heroes adventures, that's further below. I also placed this warning on the download page to stress the importance of the latest fix:-
v2.12 WARNING: If you are one of the few people to download v2.12, then please accept my apology, as that version had a memory leak, which will eventually make the module unplayable. From v2.13, the memory leak has been fixed. However, even patching will leave you with damage in the form of numerous invisible unwanted objects scattered over areas.
The List of Fixes
1) MEMORY LEAK (DISCOVERED): Let's get this one out of the way. Basically, to help resolve an earlier companion issue, I caused a function to be called from their heartbeat (every six seconds) to do a simple check. Unfortunately, when this check was called, it caused the companion to dump all their equipment into an "invisible container" every six seconds! By the end of 43 minutes in one area, there had been 423 containers dropped, and after 54 minutes in another area, 543 containers had been dropped (all with items). This would have kept on happening until the server eventually "died" under the strain. The latest update now prevents this from happening, but does NOT resolve damage already done. I have written specific "fix" code for our own situation (which a person can check out in "alb_althea_patchscript"), but I have commented this code out for the latest update, which would not need it. I only actually discovered this issue because I was having a problem with some items NOT being cleared from an area after being exited. Investigating that issue brought to light the mass of invisible items all over the two areas in question.
2) RESILIENT ITEMS (INTERCEPTED): This problem was not experienced during the session, but while testing some code to fix a TRANSITION problem, I noticed some items remaining in an area when they should have been removed. It turned out that the general Area Clean Up code was clashing with some dedicated clean up code for these particular offending items. Once I established this, I re-timed the checks and the offending items were destroyed as expected. And once that timing issue had been resolved, it sorted the transition problem ...
3) TRANSITION FAIL (INTERCEPTED): While returning to a place to test a conversation for the next session, I discovered that the transition that had worked fine before, stopped working. It would fade me to black and then fail to do the transition. This turned out to be caused by the problem above (see item 2), but this also highlighted another problem: What to do for a player left in "BLACK" after some other potential failed fade operation. To this end, I added a quick FadeFromBlack (which allows the player to see again) if they hit escape. This would be useful, as it allows the player to continue with the game at least. In this example, it would have even allowed them to do the transition again, which worked the second time around.
4) SOUND FILE FAILED (INTERCEPTED): Again, while working to resolve issue 5 (below), I discovered that a certain sound file was failing to fire as expected. I won't go into (spoiler) details, but I ended up having to move the sound file to play from a conversation rather than the script that called for the conversation. I believe it was just a matter of timing again. Although, there was also the issue of GetFirstPC not correctly calling a player (but the DM instead), which added to the problem.
5) GetFirstPC CALLS (INTERCEPTED): The issue with using GetFirstPC was highlighted in my testing this time around. I never experienced issues with it before, as I have never tested the campaign with a DM as host before. However, I believe it can be a problem because I think the function can sometimes return the DM rather than a PC player. This can be a problem when trying to then run faction member loops after using the GetFirstPC to "get" a PC. In the end I wrote a personal function to check if the first GetFirstPC was a DM, and grab the next PC if it was. It is a simple wrapper function that I call GetAPlayer. I ended up changing a number of both MODULE and CAMPAIGN scripts to use this wrapper function to be on the safe side of what was being used. The altered module files were added to the hak for our future sessions. (The latest version does not need the hak.) The NWN Lexicon says this about the function: "If you are building for multiplayer, be aware of uses of this function. You could be performing tasks on a player that was not your intended target." I think I experienced this and is why I now use my wrapper function when definitely requiring a player PC.
6) FRANK/KATHY CONVERSATIONS: Now this was the original problem (prior to all those above) that I had been aiming to "fix". The problem with this conversation came to light when the players noticed the journal had said it updated, but when checked, had not changed. The problem was confirmed as an issue when the players duly visited the apothecary as instructed, but were unable to ask Kathy for help. (The failed journal update did not unlock the chat option.) It turned out to be due to the way GetFirstPC and the QUEST node in a conversation work, especially with respect to lower quest states overwriting higher ones in a MP game hosted by a DM. I believe I have this issue sorted now, by keeping track of the player speaker when doing the journal update. (NB: This problem required fixes to MODULE scripts and dialogues, which meant I have had to introduce a patch hak for our sessions. Furthermore, I have also had to fix journal entry via the "alb_althea_patchscript", which is commented out in the latest public release.) There was also a second problem with Frank's conversation related to logic flow; this was also fixed. (Although there may be a minor issue with PCs already knowing Scraps name, which I may try to address later.)
7) CHAT WINDOW (AGAIN): This version of the earlier issue was "accidentally" discovered when one of the player's (Graham on WAN) chose to UPDATE MAP PINS by mistake. The option is quite legitimate, but had not been required at this time. However, it's process of leaving and returning to the same area demonstrated that some code was still needed for the exit/return exercise. E.g. The CHAT WINDOW needed closing again according to the player's setting. The missing application of some code was also the reason why the player had to now click twice to open their inventory - a variable had not been set.
![]() |
| Threska Seemed A Little Uneasy In This Sanctuary to Boran |
The Adventure Continues ... 4. A Day In The Village!
So many problems ... ?
NB: Contains spoilers for Option 1 background.
The session started a little later than we hoped due to Graham having difficulty starting his copy of the NWN2. However, once up and running, things progressed relatively smoothly, even if the list of reported issues did look longer this week.
We catch up with our heroes just having had a spending spree at the local stores. Before continuing on familiarizing themselves with New Edgeton again (it is their home village in option 1 background, but they had not been here for many years), the heroes caught up with a little gossip from the store vendors (item 1 fix last blog).
After the quick chat, Helden then took the lead, taking a circular route around the village. First stop was at the local smithy, where they met Todd. The blacksmith had a problem with disgruntled ex-employees and asked the heroes to retrieve a combination to his chest from them so that he could get back to his equipment. Myara did try to help the smith by attempting a lock pick for him, but was unable to crack the code at her current level of ability. Instead, the heroes said they would keep their eyes open for Joss and Billy, the two scoundrels who had messed with Todd's chest.
Continuing along the way, the heroes called in at the local Apothecary run by Kathy. They had noticed a strange pedestal before entering and quickly asked her all about it. It turned out to have once been the base of a statue called The Angel, which now stood as the headstone to Sophie's (her daughter) grave.
Kathy should have been able to offer help with Ant Poison, but the heroes were told to come back later. (Due to item 6 problem above.) Apart from that Kathy offered the heroes various items for a little gold, especially in crafting, and the use of her table for crafting (should they need one). She also offered help in solving Chameleon Puzzles for a price.
Moving around the village, Helden occasionally banged at a few doors of local houses, but most owners appeared out (probably at work). Myara thought about a bit of pilfering after listening to be sure, but thought better of it for now.
Towards the edge of the village, the heroes entered the tower garden of the local wizard, Astend the Wise. They had barely entered when Aeriol popped out from behind a tree and introduced himself to them. The elf wizard had been trying to gain entrance to the tower to meet Astend, but had not been successful. The heroes offered to help gain entrance, but came up against the same resistance as the elf, in the form of an odious talking door. The heroes made no inroads either, and so Aeriol tagged along with them for the time being.
Continuing on, the heroes eventually came upon the Sanctuary of the village: a holy place dedicated to the good god, Boran. Orechin was still the clergyman at the sanctuary and recognized the party of heroes as they came in. The group chatted about old times ... and the new ones ... and the heroes ended up buying a book from Orechin to learn more about the changes. Orechin had only just given them some gold to help them along though ... for old time sake.
The clergyman had a lot to talk about, especially pertaining to the sanctuary crypts, which had apparently been overrun with undead. Orechin asked the heroes if they could retrieve the legendary sword of Ragnor Oran from the crypts for him, but warned them of potential necromancy involvement too.
There was also the local Mercy Board that the heroes looked at in the sanctuary. A number of people had posted requests for help, and the heroes spoke to Orechin for more details about each. There were a lot of problems about the village it seemed, and it seemed the heroes had arrived at the right time!
The heroes had spent the whole of the morning shopping, and now the whole of the afternoon exploring the local area. It was already gone 8.00 pm, and the group were growing more and more tired and needed to rest. Who would have thought "normal life" could be so tiring?
TOTAL SESSION TIME: 1 Hrs 20 Minutes. (Late start.)
QUESTS ACTIVE: 16 QUESTS COMPLETE: 1 (Ignoring Rule Info)
There are a couple of things to remember for the next session:-
1) Frank and Kathy have both had conversation fixes (and may have more to say).
2) Use the "Z" key to highlight items in the area with which to interact.
3) You will be warned if you are about to do anything "evil" like steal, so it's safe to explore.
4) You have only just arrived at the Sanctuary and have yet to "explore" it further.
Saturday, 24 November 2018
The Adventure Continues ... 3. Quick Gold! (V2.12 Made Available)
The latest session went reasonably well for us. We had made the decision to restart (again) and play with the latest v2.11, which was the latest version with the store fixes at the time. Because, v2.11 had included a number of module changes (conversations), it made sense to bite the bullet and go for the restart with the newer module files. The reworking of the store files turned out to be a success for the player on WAN, as well as the LAN connection I had managed to test earlier. There were still a couple of remaining/new issues, but these were easily worked around for us, and have already been fixed in v2.12 that we will start from next time.
NB: Due to a problem with the RULE TAB (See below), the latest v2.12 fixed that problem (introduced with v2.11) and was made available immediately; replacing the v2.11. This means new players will have access to all the latest fixes to date, including the ones we discovered this session:-
The List of Fixes
NB: The fixes I have made in this v2.12 update address a couple of minor ones that were introduced with v2.11 and some quest logic corrections and updates that will be appreciated in both SP and MP games.
1) STORES: Importantly, the latest versions (v2.11 and v2.12) have made vast improvements in performance and fixes around the use of stores. Previously, v2.11 had removed massive memory leaks, and the latest v2.12 fixes the “direct switch” action where a player may click between vendors without going through a conversation. These fixes alone would warrant an update to this latest version whether playing SP or MP.
2) COMPANIONS IN MP: On the back of deprecating the PLOT ITEM code, I managed to fix the companion of another player being unavailable if a second player joined a server before the player who owned the companions. (The server could crash if the second player tried speaking with the companions that did not belong to them.)
3) MISSING RULE TAB: This had just been a silly mistake in the last update (v2.11), and was quickly repaired. Thankfully, nobody had downloaded v2.11 at this time and so will not be seen.
4) QUEST LOGIC: I noticed one quest (in a a rare circumstance related to stores) would return an erroneous journal entry. This has been removed. Another minor quest has had a conversation updated to allow immediate response rather than have to restart the conversation with an NPC if an item had already been found.
5) DM STUFF: I fixed a missing calendar GUI for the DM, because he did not receive it correctly at the time. Removed the risk of DM accidentally overwriting the STORED TEST of players.
6) DEBUG & OTHER: Fixed a TYPO. Reworked the CHAT toggle option for MP again, as one player was still suffering from having to repeatedly shut the window when entering a new area. Hopefully squashed now. (UPDATE: Had to do some more before this was finally squashed. Will be available in next update.) Removed some DEBUG lines related to the STORE testing.
![]() |
| The Heroes Haggle Over New Equipment |
The Adventure Continues ... 3. Quick Gold!
Groundhog Day .... and beyond ...
NB: Contains spoilers for Option 1 background.
Before continuing with our story, I would like to point out a couple of minor differences that the players experienced in their play that returned them to where they had reached previously ...
1) On entering the village, the heroes ran into a snotty kid who asked where they had come from. After the brief encounter, the heroes were left with an understanding that the village had been encapsulated within a barrier. This now makes logical sense to their adventures and conversations with reference to a barrier, which was the title of last week's adventure blog: Trapped!
2) Just prior to coming into the village, the players found a "doll" near the river by the bridge. A little bit of meta-gaming I guess, as the players were aware that they were going to be on the look out for a doll if they picked up the same quest as last time. They did pick up the quest again, and were quickly rewarded with a Chameleon Stone that Myara, after taking a trap hit on her first attempt to open it, then managed to successfully resolve it and was rewarded with a magikal dagger! (This potential action of other players gave me the head's up regarding giving the immediate conversation response, as in item 4 above.)
3) This time around the players discovered more information at the village obelisk, and found and repaired a ripped scroll (puzzle) that they spotted near the village Notice Board. (Extra effects had been added in patch v2.11 to help in this.) Once the ripped scroll was put back together, another quest was added to their journal.
Apart from these few differences, the players quickly found themselves back in the same position as the last session, ready to purchase items from the local traders. This time, however, they had the magik dagger to hand, which they sold to make some quick gold: around 383 gp, which they helped equip the entire party, including Threska, their new partner cleric.
Now, both rested and equipped, the heroes had more quests to complete!
TOTAL SESSION TIME: 2 Hrs 22 Minutes. (A complete session.)
QUESTS ACTIVE: 9 QUESTS COMPLETE: 1
Again, we took our time; especially spending time at the stores and ensuring everybody was properly equipped. (There was also one need of a reload during this time, as a conversation bug caused players to lose control of their PCs. See item 1 above.) A quick reload from just prior the bug though and we were able to workaround the issue until I fixed it for the next session.
Thursday, 22 November 2018
The Adventure Continues ... 2. Trapped! (More multi-player fixes.)
The Multi-Play Issues
Continuing play with the same setup as before. HOST: Me. On LAN: Jennifer. On WAN: Graham. Don't let it ever be said that coding for a MP game cannot be that much more difficult than doing so for a SP one!
1) PLOT ITEMS: Prior to starting the game, I took the decision to abandon/remove some code that supported maintaining plot item between sessions in the situations where a player may be absent. The code still is in place to safeguard plot items accidentally lost or left on fallen companions, but trying to support automatic drop-in/drop-out of players has been abandoned. Simply put, the game now assumes that the same group of players will be present from week to week, and any potential absences should be managed in the following way:-
A) Player who may be absent should ensure they leave plot items with another player or companion.
B) Player should then EXPORT their main PC to save any other current equipment they may have.
This allows the game play to continue in their absence (if need be), and allow them to return to the game with their exported character at a later date without disrupting the integrity of the session. The only caveat here is that the HOST must always be present for every session.
2) CONVERSATIONS: During play there were one or two conversations that behaved slightly differently, and it turned out to be due to some accidentally missing MP or PARTY CHAT ticks. This caused some conversations to be not shared, when I had hoped they would be, and even one to be "skipped". I checked through the conversations again, and believe I have fixed them now. On a positive note, the change in the "grey" to a "dusty pink" worked well in non-participating conversations.
3) STORES: The biggest problem this time, which was critical (and game-breaking), was that the players could not retrieve the descriptions of store items. I have a new GUI system that incorporates the ability to compare items in a store with those already owned. This worked fine in a SP game, but some poor/old coding was causing an overload in GUI calls from four problematic XML scripts. In particular, these XML scripts were making rapid update calls that constantly fired the examine GUI and associated scripts, when they did not need to. Today, I managed to unravel the poor code and remove it from each of them. In testing (I was only able to test one computer on LAN), the problematic stores now appear to be fixed. Furthermore, I was able to address a couple of other related minor issues in the process. Further testing with a WAN will confirm or deny.
4) LOGICAL FLOW: There was also a problem with story logic in OPTION 1 background, which will NOT apply to many users, as OPTION 2 is the recommended background choice for those not familiar with my PnP background. However, for my own peace of mind I wish to fix this, and is the next thing to do on my list of problems to solve.
The Adventure Continues ... 2. Trapped!
Here come the warts again ...
NB: Contains spoilers for Option 1 background.
While the party had just learned more about the new Empire and the Darkening, they also learned that the village had its own problems: It was trapped behind a barrier! LOGIC PROBLEM: Sadly, this is where there is a logic problem, for while the party have now learned about this, the conversations were not setup correctly to accommodate their path to this discovery. i.e They ended up speaking about it to NPCs (as if aware), before they actually knew about it. (Item 4 above.)
However, it was already getting late, and the group were already starting to suffer from tiredness. Karasten also pointed out that he wanted to learn some spells. So, rather than go anywhere else for now, they decided to catch up on other local gossip while at the inn before getting an early night. During their socializing, they managed to grab a number of promising tasks to help with their acquiring gold. There was your standard missing cat and someone was even pining over a missing doll, but two other quests stood out: One involved somebody called Ravel, a creepy looking guy who had taken residence at the inn. He had had a divining rod taken from him by a dog that needed retrieving. The second quest found the heroes partnering up with a dwarf cleric called Threska who claimed to be searching for the fabled Grimbold's Gold. She was offering a fair share of the gold if the heroes partnered with her to find it. She offered the heroes some riddle that was supposed to help them find it ... time would tell if they would figure that out. At least the cleric was not a shirker, and she chipped in 40 gp towards the heroes coffers.
So, with a new person in the party, the heroes eventually settled down for the night at the Bloated Buckle Inn hosted by Karl and Sandy, and rose eight hours later after parting with 5 gp for a room for five, and included food and drink for all. It wasn't the most luxurious place of rest, but then again, the heroes were not in any position to pay for anything more expensive for now. At least they had rested, and would be fit for the day. Karasten even managed to learn his spells OK, which was a bit of a surprise under the circumstances.
The party had made sure they bought enough food to last them if need be, but for now set off out to read the village notice board, which, according to Taloy, offered some advise with respect to the changes of late. The heroes learned quite a bit from one post, especially with respect to the order of colour, and also learned of another task they could help with: A chap called Frank at the local mill was having problems with ants. They took the notice with them and added it to their list of objectives for earning gold.
The heroes still wanted to see Orechin at the local sanctuary and check out the Mercy Board there for tasks. And if they wanted to help the Blood Guard along the west road, then they also still needed to acquire a permit from the local guild hall. For now, however, the heroes needed to check out the local stores and consider purchasing some items to help them in their tasks: At least someone should be armed, and maybe others armoured, if they wanted any chance of surviving. To this end, the heroes checked out the two local traders, Wilf and Gavin. It had been a long time since the heroes had had to barter for goods, and it was hard to get anything from them. ;) (Item 3 above.)
... And that is where we are currently. Brought short again due to some technical issues. I almost forgot to mention that there was another "gold problem" that I have now fixed, in that Taloy had only handed over 10 gp (in total) for the three PCs for Graham. That loop has now been fixed to give gold to all faction members (PCs), rather than all players. We still probably got around a couple of hours, but were taking our time.
On a final note, there is a small possibility that I will try to encourage my players to start over, as there has been some module coding changed in this last lot of fixes, and it would be easier if we did so. It would probably only take us around 30 minutes to get back to where we are currently at.
Saturday, 17 November 2018
The Adventure Continues ... 1. Welcome Home! (The Scroll Undergoes Some Multi-Player Fixes)
Since v2.02, there has been some minor preparations in updates for MP gaming and for any potential new modules to the campaign. To date, the latest version available is v2.09, which is the most stable SP experience, but does still contain some issues for MP gaming that will be addressed with later version updates.
Full MP Testing Finally Underway
My wife, Jennifer, and a friend of ours, called Graham, formed a small party of PCs to play “The Scroll” with me using the DM Client (acting as the HOST). They connected via LAN and WAN respectively. This method of play through allowed me (as the DM), to monitor actions taken by the players and take notes for any fixes required.
Even this initial testing has revealed that there are need of some fixes when playing “The Scroll” in multi-player, especially when using the DM Client as the host. As I have said before, v2.09 is (as far as I am aware), a solid single-player experience now. However, some of these later fixes will have some benefit to a single-player experience too. E.g. Typo corrections.
Below is a list of fixes that have already been addressed and will be available in the next game files updates. (I will keep readers updated when latest file revisions become available.): -
NB: Remember that these fixes mainly affect multi-player gaming experience: -
- TYPO correction in “Real Life” Rule Info section - “Equivalent”.
- Calendar Rule Info now updates at the correct game trigger when selecting Option 1 Background.
- Multi-player CHAT window toggle (via Rod tool option) now keeps correct toggle between areas/loads.
- In the event of a player leaving a game, any plot Items are now temporarily stored on the HOST rather than a potential leader of party. This is in case it was the leader who dropped out from the game that a DM was hosting. (i.e. The leader is not necessarily the HOST in a MP game, which had been the previous assumption. Especially when there is a DM at the helm.)
- Area Entry code had some other fixes, especially relating to the DM Client as HOST, including: ensuring the SAVE GAME request stopped repeating between sessions; preventing combat GUI from falsely starting on first entry of DM.
- Campaign Welcome “sound” message fixed for SP game.
The Adventure Continues ... 1. Welcome Home!
So, how did the gaming session play out ... with warts and all?
NB: Contains spoilers for Option 1 background.
The three of us started the session with an understanding that this was the first time The Scroll had undergone a proper MP session since our last attempt in the previous June, when some fixes and preparations had to be later implemented due to some "serious" DM Client issues that prevented us from going any further at that time .. and so we were prepared for a potentially bumpy ride.
Thankfully, although it took a couple of minutes for the server to have the players ready to play (loads take longer in MP games), everything started as it should do, and those problems of last June were not present. Graham (on WAN) created a fighter PC called Helden to act as the party leader, with two other supporting PCs, a wizard called Karasten and a cleric, called Elana, for a total of three PCs. My wife, Jennifer (on LAN), played a single PC, a rogue called Myara. So, the session started with three players, with me as the DM and HOST of the session, and two other players controlling a party of four PCs among them.
PLOT ITEMS ISSUE: The first "major" issue we encountered was when Graham on a WAN connection needed to drop out of the session and rejoin (due to an innocuous sound issue, which was resolved on restarting). This revealed the issue that any PLOT items (item 4 above) MUST needs transfer to the HOST. This was an issue because in this case, Graham, although playing the leader of the party was NOT the host, and so when the game tried to preserve plot items within the session by transferring them to the "leader" of the party (which is usually the HOST in a MP session without a DM), it was not possible as they were the same player that was dropping out in this instance. This led to a plot item that Helden was carrying (from the start of the game) to be "lost" by the time he had rejoined the session.
RETURNING TO A GAME IN SESSION: There was also a related issue in that when Graham returned to the game, the code had "lost" where to jump the player to to join the other player(s), as it was trying to jump to the leader's position, which he already was! Therefore, I updated the code to ensure the returning player is jumped to the HOST, which if it is the DM, then the DM can ensure the player thereafter reaches the correct area and position (if need be).
RELOADING A GAME: Because the party leader, Helden, had "lost" a plot item upon returning to the session, we decided to reload the game. This is when I noticed the DM was asked to SAVE the game again (item 5 above), which was not required. Furthermore, nearby creatures could cause an invalid combat alert (which did self-terminate correctly anyway), when a DM entered, but this has now also been corrected, as it was a nuisance. Lastly, the MP chat window (which we had closed before saving) had not remembered our settings (item 3 above). This was also fixed.
After reloading and ensuring all items were present and correct (and giving the players time to become familiar with the new interfaces and campaign rules), the party set forth on their adventure. They recognized that Vol had returned them to Althéa close to their home village, New Edgeton, and so knew Taloy, the village Reeve, should be able to help them out. (Graham selected the "Companion Protector" Vol Gift for his PCs, and Jennifer chose the "No Fear of Death" Vol Gift for the party as a whole.)
With journal and DM guidance, the players headed east/south towards where they knew the village was located. Travel was smooth and without incident, although time had moved on and by the time they reached the village, it was already dark and around 9.00 pm. Only the Blood Guard patrolled the village area. (The earlier first cut-scene had worked fine.) Other villagers were either already in bed or at the local inn, The Bloated Buckle. This did not stop Myara from casually looking over a nearby building that intrigued her (Merkes Place), and discover a secret door to the building. The party checked out the secret door and followed it inside, but decided not to go in any further under advisement of Karasten, and especially as they lacked any equipment, including weapons or armour that may be required for entering where they were unwanted. For the time being, the heroes simply made a mental note of the secret entrance and continued into the village.
MINOR JOURNAL GLITCH: While traveling about the village, the "CALENDAR" information journal entry updated sooner than it should have done. (Item 2 above.) This has now been fixed to only update for background option 1 after speaking with Taloy, which is when it was supposed to update. (On a positive note, the optional campaign quiz event started without problems, and the players are already starting to fill in the answers.)
Shortly after wondering further into the village, Myara was pulled over for a random search by one of the Blood Guard. Thankfully she was "clean" of any stolen goods and the guard allowed her to move on. This was a new experience for Myara though. Since when did guards start patrolling basic village streets and do random searches? After all, New Edgeton was only a village, not a town! As it was late and the party had missed the local traders opening times, the heroes decided that a visit to the local inn was probably a good idea to find company, food and a place to stay.
Upon visiting The Bloated Buckle, the heroes found Taloy, and managed to catch up with events with him. A lot had changed since they had last spoken: Events such as The Darkening had taken place, and there had been the coming of the Empire! A lot of changes in what they had perceived as so little time, but then again, more time had passed while they had been away in the Outer Planes than they had realized: eighteen months had passed!
Taloy not only brought the party up to date with events, but also generously gave each of them 10 gp towards food and lodging, as the party had returned from the Outer Planes with nothing more than worn under garments. (ECONOMY: The campaign has had the economy settings redefined to equate 1 gp being equivalent to one day's work for somebody well paid. Therefore, when Taloy handed out a total of 40 gp, that would equate to around one months wages for somebody in his position. For many on low wages, this would equate to 2-3 months wages. As another guideline, ten days food rations costs 1 gp. Although, a meal at an inn could cost 1 gp, or as much as you could drink for the same money.)
Knowing that even the generous 10gp that Taloy gave to each of them would not last long, the party also made inquiries how they might be able to earn more gold. Taloy directed them to help out the guards along the west road (as long as they acquired a work permit first), and towards the Mercy Board at the local sanctuary that advertised tasks for a reward of gold. And if they wanted to know more about the Empire, they needed to check out the Notice Board outside the inn, which also sometimes advertised work required doing for gold.
And that is where we are at for the time being .... the party making contact with the local village, acquiring 40 gp for the four of them, and in need of some rest and new equipment, as well as needing to start finding some tasks to earn more gold!
TOTAL SESSION TIME: 44 Minutes. (This was shorter than normal due to the need to restart.)
Wednesday, 8 August 2018
NWN2 Movies (In Game)
I was asked by Kamal to remind people how I managed to play BIK movies inside a NWN2 module, as opposed to just playing as an intro at the start of a module. Here is what I found from an old post of mine at the forums:-
IMPORTANT: ONLY WORKS IN OUTDOOR AREAS
Therefore, if you wish to have a movie within an interior area, you will need to jump to an outdoor area prior any movie starts and then move back to an interior if required. This can be handled by careful timing of scripts.
The naming structure of files is quite strict here due to the way the XML
works. Here is the clearest example I can give you to work, using a movie called "MYINTROMOVIE.BIK" as an example:-
1) CREATE UNIQUE XML FILE (EVERY MOVIE REQUIRES OWN XML FILE)
Create XML file, in this example: "MYINTROMOVIE.xml" This is a simple text file in Notepad (not compiled) as follows ... and NOTE the name of the movie in this file .....
<?xml version="1.0" encoding="utf-8"?><!-- Main Menu definition --><UIScene name="SCREEN_MOVIE" x=0 y=0 idleexpiretime="0.1" priority="SCENE_INGAME" fullscreen=true scriptloadable=true backoutkey=true OnBackout=UIObject_MISC_ExecuteServerScript("gui_lb_movies") OnAdd0=UIScene_Misc_SetPauseState("true") OnAdd1=UIButton_Input_ShowMovie("MYINTROMOVIE") /><!-- Define the MOVIE background --><UIIcon name="MOVIE_ALPHA" img="alpha.tga" x=0 y=0 width=PARENT_WIDTH height=PARENT_HEIGHT scalewithscene=true OnMouseEnter=UIObject_MISC_ExecuteServerScript("gui_lb_movies")/>2) USE DEDICATED MOVIE SCRIPT
THE FOLLOWING GUI SUPPORT SCRIPT MUST BE CALLED: "gui_lb_movies" and should be compiled in the toolset. There are NO CHANGES in this script at all. It is the supporting script the system uses.
3) CREATE THE MOVIE CALL SCRIPT (EXAMPLE)// MOVIE SCRIPT void CloseMovieScreen() { object oPC = GetFirstPC(); while(oPC != OBJECT_INVALID) { CloseGUIScreen(oPC, "SCREEN_MOVIE"); oPC = GetNextPC(); } } void main() { SetPause(FALSE); DelayCommand(0.01, CloseMovieScreen()); }
You can give the activation script any name you want and (as an example) attach it to a lever's OnUsed hook. HOWEVER, NOTE the name inside ....
4) MAKE SURE ALPHA IMAGE IS PRESENTvoid main() { object oPlayer = GetLastUsedBy(); DisplayGuiScreen(oPlayer,"SCREEN_MOVIE", TRUE, "MYINTROMOVIE.xml"); SendMessageToPC(oPlayer, "<<< MOVIE PLAYING >>>"); }
DO NOT FORGET to put alpha.tga image into your folders too: DOWNLOAD alpha.tga (Zipped)
Monday, 23 April 2018
Webspace Concerns
I am currently seeking help from them, and hoping a viable resolution will be found. I am also trying to get help from friends who may be able to make any transition as easy as possible.
As soon as I have a resolution, and possibly new site, I will update you will the information. Sorry for any inconvenience this causes.
UPDATE: With the help of a friend, I have successfully managed to move my website to a new location. The link in the sidebar below points to the new site. My thanks go to Simon, without whom the site would not have been preserved.
Thursday, 7 September 2017
Toolset Search Issue
I managed to find out that I could batch rename a folder of files using Windows own PowerShell with the following command:
Get-ChildItem -Exclude X2-* | rename-item -NewName { "X2-" + $_.Name }
I could then add these files to my campaign directory (and easily find and remove them again if and when need be), but in the meanwhile, they can be referenced within a PowerBar "Campaign" search and it helps me to locate the searched value within these copies of the original X2 files.
![]() |
| X2 Scripts renamed and placed into Campaign folder for PowerBar search capability |
Tuesday, 22 August 2017
The Scroll: Updated and Improved. (Version 1.10 Coming Soon!)
Latest fixes and updates can be found on the second post here:-
https://neverwintervault.org/forums/neverwinter-nights-2/nwn2-modules/module-scroll-first-day-currently-updating-v110-coming-soon
In the meantime, I also wanted to be able to use this blog to add screenshots that I can link to from the forum mentioned above.
I will update this blog more as I can, but will try to keep on top on fixes in the above list in the Neverwinter Vault forum noted above.
![]() |
| Screenshot showing Map work: Name, Pins, Fog of War. Also shows reduced GUI activity. (No hotbars) |
The New TB Combat Target GUI
![]() |
| Combat started - Auto-pause initiated. New Target GUI opens showing PC current target/actions. |
![]() |
| Player has selected actions/target for the PCs and allowed the Target GUI to update. It automatically reports at the beginning of each round. |
Thursday, 12 May 2016
RELEASED: The Scroll (The First Day)
The Scroll has finally been released. You can read more about it and grab the files from here:- http://neverwinterva...2/module/scroll
There are a total of FIVE compressed files containing all the data you will need to install and play (as long as you own NWN2 and both expansions). Please follow the installation instructions carefully, and use the Quickstart Guide (contained within the Information.rar file) to ensure you have installed everything correctly and that the game starts as it should.
NOTE: Regrettably, no MAC beta tester was able to get this module to work on their computer. If you are a MAC user and succeed, then please report back to me so that I can update the instructions advising how other MAC users can install and play the module.
REPORTED ISSUES & PATCHING INFO
I have to recognise that some minor issues will still remain in this final release, and wanted to encourage players to report anything they may find, so that I can address them as required. NOTE: I will update this post with issues found and inform you when they are fixed. However, no patch will be uploaded unless the issue is game-breaking. Therefore, some issues will remain in place until either a ) A game breaking issue is reported, or b ) A significant amount of time has passed allowing all to be reported. At which time, a patch will be uploaded for current players, and the main files updated.
PATCHING THE MODULE
Any patch file added as a download is only required if your version of the module is lower than the patch version. i.e. If you are only just downloading the latest version of the module to play now, then you will NOT require any new patch file at this stage, as your download will already contain the latest scripts. However, once installed, it is *VERY IMPORTANT* to make sure your game is always patched to the latest version. Therefore, keep track of the current patch version in case it is higher than your current module version. Note that the hak patch only addresses essential game-breaking bugs, which are mostly campaign ( C ) scripts. Any module ( M ) fixes, considered non-essential, are only updated for the latest module version uploaded. The differences in the module files should be overlooked by the player unless they are prepared to restart The Scroll completely afresh with the latest files, which would not be worth the time already played for the small differences they might make on a restart.
INSTALLATION: Simply download, unpack and replace the existing althea_patch.hak with this latest version before restarting NWN2. The latest version will always include previous patches and be backward compatible.
VERIFICATION: When you reload your latest saved game, the module should welcome you again, and inform you of the latest patch update. This figure can also be found from the Althéa Main Menu ("Rule Information" section).
PATCHING HISTORY
v1.01 - Fixed containers ( C ). Fixed licquor cabinets & light flicker ( M ).
Thursday, 5 May 2016
Beta Testing (Last Entry)
For those interested in playing the completed module, The Scroll (The First Day), then please go to its download link in the side bar below to the left under "My NWN2 Material".
For the sake of completion, I will make this final post on the discoveries I made and the fixes it required. Even at this very last stage of testing, I had to make some "significant" changes, simply due to the code being so messy and inefficient. Read on ...
FIXES
1) Fixed a "placeable item" drop name.
2) Fixed a description update that was not updating when a level item updated.
3) Creature AI: Added a missing variable to encourage a creature to use its spell abilities.
4) Removed "cleric" description from Jagged Tooth scroll.
UPDATES
1) Rewrote the OnAcquire and UnAcquire scripts, which were in a very haphazard state.
2) Rewrote the sbfunctions include script, which had some very inefficient coding.
3) Rewrote the Rune Puzzle GUI to enable players with low resolutions to drag the GUI apart.
4) Redesigned the item required system for crafting. (Previous system could not handle larger loops.)
5) Updated some journal entries to be more informative regarding the quest at hand.
6) Added weapon equipped feedback when PC swapped.
7) Added a mage workbench to an area.
Basically, much of what was required in the last set of coding was rewrites of OLD poorly written code and making other code work more efficiently. I still see this kind of thing scattered around the module, but the good news is that most of the important sections have now been addressed, and any that still needs attention can be addressed as I continue to work through modules 2 and 3, as they are campaign scripts, which will be backward compatible.
![]() |
| I think it's time for a lay down. |
Wednesday, 27 April 2016
Beta 9.0 (Part 12)
FIXES
1) PLOT FEEDBACK - Removed some superfluous feedback regarding plot items.
2) PARTY RALLY - Now ignores henchmen and Main PC that could give erroneous feedback.
3) SECRET COMPARTMENT - Changed default action to use. (Sometimes prevented lock GUI.)
4) CONVERSATIONS - Fixed a couple of typos, an incorrect link and some missing cameras.
5) MASTER MAPPER - Fixed a couple of events where the auto-mapping was not auto-restarting.
6) VFX INSTANCES - Fixed VFX removal where more instances were present than I realised.
7) ANIMAL PRESENT - Fixed a "REMOVE ANIMAL" warning missing from a check.
8) UNDEAD WEAPON - Fixed a missing SLAM attack on some undead creatures.
9) MONSTER POSITION - Fixed/added missing post locations of some creatures.
10) PLACEABLES - Stopped some placeables from disappearing after use (that were not meant to).
11) LOOTING - Prevented some looting on a placeable before the PCs were meant to.
12) COMPANION AI - Removed some AI alterations done on PC swap. (Redundant code of mine?)
13) DEATH ANIMATION - The main PC did not always look dead - Hopefully, this fixed it.
14) JOURNAL ENTRY - Fixed an illogical entry and some XP based upon it.
15) ENCOUNTER TIMING - Removed 0.5 second delay that allowed PCs to move too far.
UPDATES
1) PARTY RALLY - PCs now mainly appear behind the Main PC rather than around it.
2) ANIMAL PRESENT - Added an option to allow an animal to STAY in the area when dismissed.
3) ENCOUNTER - Added an encounter where I felt one was needed.
4) EQUIPPED WEAPON - Altered some feedback when giving player equipped weapon info of PCs.
5) BARBARIAN RAGE - Made "raging cry" more creature generic.
6) DATE FEEDBACK - Added the hour to any date feedback given.
7) JOURNAL ENTRY - Added some extra information in the journal for a quest reminder.
CURRENT PLAY TIME: 42 hours and 0 minutes.
![]() |
| We Have Come A Long Way! |
Friday, 22 April 2016
Beta 9.0 (Part 11)
FIXES
1) RITUAL BOWLS - An earlier fix introduced duplicated items/tags, preventing work. A nasty one!
2) RITUAL BOWLS - Fixed problematic/intermittent container opening.
3) REST WITH SUMMON - Fixed broken "remnant" portraits of summons after resting.
4) FACTION PAUSE - Fixed a conversation from pausing too soon.
5) COMPANION AI - Fixed spell casting (etal) from ending when switching PCs during turn-based.
UPDATES
1) RECIPE BOOK INFO - Instant information when recipe books hovered over in inventory.
2) FEEDBACK IN COMBAT - Reduced some "normal" feedback while PCs in combat.
3) LIFE ESSENCE USAGE - Removed need for Life Essence use with Enchanter's Satchel.
CURRENT PLAY TIME: 40 hours and 38 minutes.
I'll leave you with a screenshot of my last battle, which turned out much more difficult than I first thought it would be. It required me to make good use of my turn-based system, and careful use of spells and resources. Believe it or not, I lost this battle from this position on the first attempt!
![]() |
| A Tough Battle! |
Tuesday, 19 April 2016
Immediate Crafting Information (Modern Recipes)
The Scroll supports every OC crafting system, but with some heavy improvements to make crafting much simpler. To help differentiate between the various OC systems, I now simply refer to the "ANCIENT" (uses molds and essences) and "MODERN" (uses recipes) systems.
I don't intend to use this post to speak about the various differences between the two systems, but to announce how I have made further improvements to the "MODERN" recipe system.
INTELLIGENT RECIPE BOOKS
The initial improvement I made to this system was to make gathering recipes easier by automatically placing each recipe into its appropriate recipe book for ease of reference. However, I have now taken this automatic help one stage further by having intelligent feedback from each book and its contents.
When a player now hovers their mouse over one of these recipe books, it will give feedback about the recipe pages that are collected within it and whether the party meet the main criteria to use each recipe contained therein. This information is sent to the chat window without the player even needing to open the book if they choose not to.
At a glance, the player will now know what recipes each book contains, and by the colour of the name used, be able to tell if they can immediately use the modern recipe (green font), or need a workbench to complete the task (blue font), or be unable to use it at this time (default font).
Furthermore, additional party information is given with respect to the skills and feats being required/used, the gold the party carries and whether they have an Enchanter's Satchel to use in place of a Magician's Workbench.
If, after all this initial information, the player wants further information (e.g. What exactly are they missing?), then they can simply open the book and read the recipe requirements after clicking on its page. Or ... if they left click on the icon to try to activate the recipe, that will also give detailed feedback about what is missing/required.
Check out these screenshots for further information ....
![]() |
| Enchantment Recipe Book - With New Rune Enchantments! |
![]() |
| Weapons Recipe Book - Both Possible If Workbench Found |
![]() |
| Alchemy Recipe Book - A Single Page Remains! |
![]() |
| Wondrous Items Recipe Book - Many Potentials Await! |
![]() |
| Armour Recipe Book - All Used! |
Friday, 15 April 2016
Beta 9.0 (Part 10)
FIXES
1) CONTAINER WEIGHT - Fixed a bug where containers did not show their total weight.
2) RUNE LOCK ATTEMPTS - Fixed "exploit" check. Could be reset with two consecutive rests.
3) TREASURE ITEM DECAY - Fixed a decay time that was decaying much too quickly.
4) LOOT DEAD CREATURES - Made accessing dead creatures more stable. (Added backup.)
5) COMPANION AI - Created PCs had the wrong On Perception script attached.
UPDATES
1) Added "Gather Party" facility to help get around path-finding issues.
2) Added party "Stand Ground" on enemy perceived if "PAUSE ON ENCOUNTER" enabled. (*)
(*) NOTE: Rather than pause immediately on any encounter (with this setting), I found that simply having the PCs "stand their ground" until the creature actually attacked was the better solution. Otherwise, PCs could potentially "pause" the game even before the creature was able to be targeted by the player. The player can still manually pause (before the automatic pause) if they want to, of course.
CURRENT PLAY TIME: 37 hours and 40 minutes.
![]() |
| To Battle! |
![]() |
| And Treasure! |
Tuesday, 5 April 2016
Beta Test 9.0 (Part 9)
1) RESTING - Fixed a bug when resting started from a companion (miscalculating rations).
2) RESTING - Fixed constructs to now ignore the need for rations.
3) ARCAENE SCROLLS - Fixed a missing base item value check. (Were casting at the wrong level.)
4) ENCOUNTER - Fixed some "undead" encounters that were "absent" outside of "TEST MODE".
5) RUNE BAG - Fixed feedback when "activated" by the Main PC. (Required CAST as well as ACTIVATE.)
CURRENT PLAY TIME: 35 hours and 7 minutes.
![]() |
| Into The Unknown |


















