Choose Your Language

Thursday, 17 October 2019

Episode 17: Now Where Did I Put It?

What a fortnight of fixes and updates! For those following the module status, you will know that I have currently withdrawn v2.93 pending some final testing by my wife, which has helped bring my attention to a number of issues that I wanted to iron out. From the simple removal of some debug text to a rewrite of some core scripts. That's why the module has been withdrawn until I have this sorted. At the moment, my wife is replaying the campaign in "hard core" mode, where if a companion dies, then they are removed from the party and replaced by a tombstone. From there, the player must either raise the dead companion with the spell or take them to someone who can raise them. It's been during this play through I have been able to finally track down some of the old issues and even give a little bit of an update with containers. Read on for more information ...


Let me start with an interesting update. You may recall that I have feedback given on any recipe book a PC carries if they single left-click on it within their inventory. The code (which required a loop limitation fix) basically checks each of the individual recipe scrolls of the recipe book and gives the player basic info about every recipe the book carries without them having to open and check them individually. So now, as an extension of this idea, I decided to add a single left-click feedback to every container item the PC carries. i.e. Other containers will now (on a single left-click) give named feedback of each item within the container and how many of each there are. This saves the player having to hunt around, opening each bag looking for anything in particular. Now a chat message will simply give you the contents with a single click without having to open the container at all. (Check out this weeks screenshot to see how it looks in-game.)


As I say above, the main hold up for v2.93 at the moment is final testing on the hard-core death system, which my wife is currently in the process of doing. So far, all has worked well with respect to companions dying and leaving tombstones since my latest rewrite of the death scripts. (I have now also made any tombstones sparkle gold to make it easier for the player to spot them.) Raising them either by spell or taking the body back to Orechin works fine. Initially there was a problem with odd duplicated items, but I changed the approach and now the system appears solid!

The last hurdle to overcome, which I believe I have now achieved was to ensure any plot items that a dead companion may have been carrying were transferred to the main PC upon the companion's death. This required a rewrite after I realised some players may have stashed an important plot item inside a container on the companion. This had also contributed towards the duplicated items issue mentioned above (with plot items), due to some plot items being left on the dead companion even after they had been transferred to the main PC. This has now been corrected too, and is the final part that requires further testing.

A slight update to the way the system works now, is that if a player chooses to abandon a fallen companion (option given when leaving the area and not picking up their body token), then items left at the tombstone will now still be left available to the player upon their return to it! The body token, however, that had been left on the tombstone will have been destroyed, meaning that companion is gone for good ... or bad. ;)


The latest version of the campaign will also have an updated module one come out alongside the latest campaign files. This is because I went over a few of the areas that I felt needed their objects checked. Many of the areas had not been checked since their first design and I have learned a bit more about what works best since they first appeared. To this end I did things like remove oddly placed placeables (that were out of view), converted some placeables to environmental objects and removed scripts that were otherwise not being best employed. This included some heartbeat scripts that I felt may be costing more against overall performance than they were delivering in-game. e.g. Door heartbeat scripts simply to automatically close a door, even when not required. Hopefully, these alterations should go a long way to help overall performance for the player.


So, v2.93 is sitting in the background, almost ready for release. Once again, many of the improvements that have gone into the latest campaign release have been driven by the need to get the scripting right for the addition of other modules moving forward. However, this also means I have been able to address quite a few annoying bugs that affect the first module. Example fixes ...

1. PLOT  STATUS: I discovered some plot items could accidentally lose their plot status in certain situations. Not good, but thankfully rare to never seen.

2. ENTRY SCRIPTS: I did a complete overhaul on these scripts due to the checks required for new modules, and then if SP or MP, and then if importing a PC, and then if starting afresh or coming from another module, and then if .... you get the idea I guess. In brief, I believe these scripts have been greatly improved, and I managed to tidy them up quite a bit. E.g. Before, if a player reloaded a game in a certain place, it would incorrectly assume they had just transitioned from somewhere else. Now a check is in place that stops all this kind of erroneous practice.

3. TB PAUSE COMBAT : I noticed a brief pause during my own testing when trying to unpause a TB combat round. I believe I have now removed this issue (which was rare anyway), and also tweaked the code to help the pause kick in on times when it appeared a bit reluctant to do so. Also removed GUI inhibitor to ensure combat GUI always showed when paused. Fixes here were minor and "cosmetic".

4. ITEM TRANSFER: Another nifty tool that I recommend all players to use is the right-click on an item within their inventory and use the Give To option to enable easy and fast transfer of items between their PCs. It really does make item transfer so much easier, especially alongside smaller portraits (if used). However, all this is also to point out that a minor fix was added to ensure container items did transfer on the first attempt. Previously, such items may have required more than one attempt to transfer successfully, even if told such anyway.

5. INVENTORY CLASS: A quick and simple cosmetic fix that ensured class names of a PC (as displayed within the inventory screen above the mannequin) fitted better and no longer had underscores in class names such as Spirit_Shaman > Spirit Shaman.

6. GOLD WEIGHT : An old problem that came back to haunt for a little while due to me missing an official gold script that was being used within conversations. Basically, I have to use my own gold transfer scripts rather than the official campaign ones due to the way gold works in my system.

And examples of campaign updates that module one also gains immediate benefit ...

1. REST/WAIT GUI: An improved rest/wait system that now works on direct button press (when options available) or cancel. Before a player had to potentially make a selection before confirming with OK. This was both confusing and potentially a backdoor to a rest exploit due to the cancel callback returning zero, which still means something other than cancel as it currently stood. This was required because some rest/wait options may not be available in The Scroll, meaning a proper cancel callback was required.

2. PARTY KEYS: Another small but quite useful update is the update that allows a door to be "unlocked" by any party member, as long as somebody in the party has the key required. Caveat: A PC with the Open Locks skill may still try to pick the lock first (if they do not have the key), but will immediately use any key present in the party thereafter.

3. PC SKILL BOOK: The PC skill book (which every PC receives at the start of the game) has had its look changed to help it stand out. It's a minor alteration, but I often confused it with any holy book a cleric may have been carrying too, so it just helps distinguish the book. (Of course, there is always the likelihood another book will clash in the future, but at least it will be less frequent.)

4. AUTO LIGHT : Players of The Scroll may be aware that a PC could auto-equip a light source if they entered an area that was effectively pitch black. This also used to auto enable low light or dark vision if the PC had the ability. Due to some difficulties, I decided to remove the auto-enabling of low light or dark vision, but ensured another light source was auto-equipped if the players controlled PC entered a dark area and had not got any potential low light or dark vision enabled. This is done as a check throughout the party the player controls, so if they do not have an alternative light source, but another member does, then they will auto-light the area. The code now also ensures any lantern equipped has fuel to burn so it is not quickly removed again.

Let Me Check This Container For It!

Saturday, 5 October 2019

Episode 16: Running Away!

It's been a mixed bag of goings on with the campaign over the last couple of weeks. From adding more content, to fixing bugs and more testing! Unfortunately, I made an annoying discovery while testing some encounters with a party without the Companion Protector feat. The "hard core" death system had another bug in it, which is now patched in the current latest v2.92. It came to light as I tried to run away from an encounter that was too tough for my test party ... This weeks screenshot shows the GUI that was not quite doing what it was meant to do and highlighted the issue.


Tracing the issue I discovered back to its origin, I believe it was introduced when I did a fairly large rewrite of the core transition code, which I did last summer. The problem is, with much of my own testing (and I suspect the same with most players), I tend to employ the Companion Protector feat during testing (or playing), which means I do not see the hard-core death system come into play that often. I only noticed it this time because I was testing an encounter which turned out to tough for me, and some of my party died (leaving tombstones) due to playing in a hard-core death system mode.

Basically, the idea is that should a player have an encounter which they deem to be too tough for their party, then if they are able to have a PC run away from the combat and reach the transition point before being killed themselves, then they will be given the option to end the encounter and respawn their party with an XP penalty (negated if they have another specific feat). See screenshot below.

On testing, the GUI ended the encounter, but failed to respawn the dead PCs! This was because these dead PCs were "dead" in a different way to the "normal" way. Closer inspection of the code also highlighted that the same check would have prevented a player from being able to transition their party while carrying dead companions. My heart sank at this discovery, as it meant any player playing The Scroll this way would have had a real difficulty. It had made the system just a little too hard-core, as I had never meant for a player not to be able to carry their dead companions back to Orechin (the priest) to be able to have them raised if they had the gold.


Anyway, I believe I have fixed those transitions for a party carrying dead companions now, and furthermore, an encounter that is fled should now raise fallen companions regardless of the death system used. I admit that I have not fully tested this yet, but the testing I have done appears to indicate all is well. However, this is the kind of thing that other players could help test in the field. Therefore, if anybody is playing The Scroll (without the Companion Protector feat), then please let me know how the death system is working for you.

Note: Module one does not have specific overland encounters of the type I mention above, but does still require feedback with respect to general usage, especially when carrying fallen companions back across areas.


As for new content for module two, I have been continuing to write the conversations. These can be quite difficult for me, as depending upon my concentration for the day, I may write more or less. The problem is also compounded by the need to keep track of the variables where conversations relate to one another.

So far, however, I have written two more rather lengthy conversations, and have reached a point where I can add to them without having to recall what came before. i.e. The conversations are not fully completed for the NPCs in question, but at least one stage of them is.


Not only have I been writing conversations, but I have also been putting together various scripts to work as a whole event. This required some tidying of some more older scripts, but less seriously than the transition ones, and related to resting instead. The problem I am finding now is that some of the older scripts are not as well written as I would like and so I am put in a position where I am tidying them (and improving them) to work with the newer material. I am keeping any alterations to a minimum, but if I see something that is just plain wrong, it is being updated. I am also adding more comments to the scripts where I believe they were lacking from before.


This may be a strange request ... well perhaps not after this report, but I am looking for somebody (or more) who may like to consider playing The Scroll module one without the Companion Protector feat. The game would be a lot harder, but I am hoping it would also give me some feedback with respect to the latest updates as well as this way of playing. Any play tester would also have priority feedback and help from me if they needed it. Let me know if you are interested.

Abandoning An Encounter Choice To Continue Onwards!