Choose Your Language

Friday 6 September 2024

Episode 88: Delving Deeper!

The biggest difficulty to making improvements and additions to the campaign code, is that there is always a risk to alter break something that was working fine for months! I must be the number one 'Guilty Guy' for this sort of thing, as, once again, I have had to release yet another version of the campaign (v1.13) to address some new issues due to changes made. However, what this also means, of course, is that I have been making reasonable progress on the second module, Predestinated Days ...

Latest Alpha Four Testing

My wife recently finished testing Stage One of the second module for the fourth time, finishing in a similar time to previous test runs, at around 30 hours. This was (as to be expected), the most stable test to date, but there were a couple of module changes I needed to make that means there will be a fifth alpha run.

However, due to the changes made of late, I asked my wife if she could test the first module again... just to be on the safe side. This is when I discovered the impact of the latest alterations to the campaign code had made. Frustratingly, even though the changes were extremely small, it just so happened that while these additions fixed one issue (for the second module), they broke aspects of the first.

I hasten to add that these alterations are/will become fewer and fewer as time goes by and as the core code becomes adequate for the newer second module to run alongside the original first. As an example of the kind of thing I mean: An animation in the second module was causing NPCs to shuffle their legs without ceasing... very annoying! So, I added a small "cancel animation" command to the area of code that was causing it, only to find it would cancel a rare animation I had been using in the first module, which I did not want to cancel. Only play-testing the first module in its entirety with the latest campaign files revealed the issue.

I have to confess that recently there were also some blatant mistakes by me when adjusting some code to be more efficient to handle bigger loops required for the second module. A bad variable check caused a whole condition check to always return an invalid object and so stop the correct object from doing what it was supposed to do. Again, it affected only one object, but nonetheless, it was broken because I had altered the function to work more efficiently with objects of the second module.

Yet, it is also during the latest alpha testing of the second module that previously unaddressed problems come to light. When this happens, I fix them and then schedule a new update for the campaign files as a whole. When that is released to fix these issues (which have normally been fully tested for both modules), that is when some of the newer issues mentioned above, sneak in at the same time as I am repairing those issues that should be addressed.

So, where am I going with this? Basically, there are two things that are happening, which should help moving forward: First, I am starting to write more unique scripts for the code I am needing for the second module, which means I am no longer having to adjust "core" code to accommodate some of the newer second module events. Secondly, I believe I should have fewer "old" scripts left to have to alter due to them not being up to the task to support the second module. In brief, I am reaching a point where I am now able to break away from core code alterations and concentrate on new scripts only, which will have no impact on the first module at all. As an example of addressing some old core files, the 'scaling' function should now be stable (which was one such broken in v1.10), the 'enemy detection' function should now be fixed properly, (which was also broken around v1.10), and most (if not all) inventory management systems have been fully tested in both modules.

The code for the new second module (Alpha) and older first module, should now be a lot closer to completion and apart from some "old" bug that comes to light, should not need to be opened and altered again.

Closed Beta Testing

To help alleviate any issues moving forward, I have also invited Dustin_Offal to a closed Beta Testing of the second module (Stage One). He is someone who has already offered great feedback that helped me iron out some issues with the first module, and I hope his input will help me to address any final lingering issues that remain in the code between the two modules. He has a good understanding of how the campaign is designed to be played and so I hope will be able to notice any issues that come to light as soon as he finds them.

Stage Two Development

I find myself still working on the Bloodstone College scenario. In particular, a "simple" comment in my own pen and paper notes, regarding a part of the adventure that in one sentence requires of me an extremely unique area design and adds a degree of complexity to the design and coding that I had not at first given much thought to. Without giving any spoilers, this section of the adventure allows multiple players... or a single player with multiple companions... or even a single player to enter an area and carry out a task that can vary according to who of these variations is present. I certainly have had to delve deep into the design and coding aspects to accommodate this aspect of the story, that's for sure!

Thankfully, I believe I have broken the back of the design now, and the code is working well in first testing (all new scripts that do not touch module one I hasten to add), and it should be fairly straightforward from now on. Although, an accompanying conversation (already up to 3000 words), is also quite cumbersome with numerous variables. Once again, however, I have written the largest portion now, I believe, and so should be reasonably straightforward to finish off now.

Considering this is a relatively small part of the overall scenario, I am hoping I can finish it next week, and allow myself to get my teeth into the rest of the areas involved. There are still a number of events to finish designing and write up, but I am already pleased with what has been accomplished so far, and I think will be one of the more exciting adventures for players when the time comes.

A Strange Dusty Room!