Choose Your Language

Saturday 11 November 2023

Episode 79: Area By Area (Stage One)

As there was no blog last month, I felt I needed to bring readers up to date with the current progress of the second module. I had hoped this blog entry was to bring news that the first stage (chapter) of the second module was signed off by now and being alpha tested... but I'm not quite there yet. Read on to learn of latest developments.

A Significant Jump

I can report that in the last two months, I have managed to sign-off on a number of areas of development that required some intensive design work. By this, I mean area building, item building, and some conversations. However, in that time, I was unable to finish every important conversation, and until I do finish them, then this first stage of the module cannot be tested to "completion". I remind readers that this Stage One (of three in total) accounts for around 50% of the second module (in my estimation), and so will be a significant step once it moves on to the testing stage.

Area By Area

I won't divulge how many areas are to be found in this first stage (to avoid spoilers), but as a means to help me cover all final content for alpha testing, I have switched back to signing off one area at a time. That is, I am now working through all areas for the first stage and working on the finishing touches for each. This may be as simple as removing test items left in the area, to writing final conversation sections, or adding hostile encounters based upon story requirements. The main point to recognise here, however, is that all design for the first stage areas are now completed. For instance, it was only in the last few days I finished designing the final room to a dungeon that was the last area for this first stage to finish. It involved a puzzle element and some careful attention to effects and sounds, but the end result was as I had hoped.

So far, I have covered around 14% of the areas I need to finalize for this first stage. However, many of the remaining areas need nothing more than test item removal, which takes only a minute or two to do. It takes me longer to double check for any potentially unfinished conversations for an area, or an encounter placement, for example. A final check for each area is whether I feel it lacks enough "interaction potential". Possibly surprising to some, this final stage is what takes more time for me than many other aspect of building. This is the stage when I decide if there is anything else a player may have their PCs discover in the area, be it something as basic as a crafting item, unusual treasure, or just some other point of interest. Depending upon what I finally decide to do, determines whether it is a five minute job, or something that may take me days to implement.

A Design Delay Example: Missile Only!

As an example of how something can cause a delay in development:  I have a situation where I wanted an object to only be targeted by missile weapons. So, if targetted by a melee weapon, then the PC was to stop their attack and report they required a missile weapon. The problem is that NWN2 does not handle any Z (height) axis very well, and so it was allowing an attack on said object even though it was effectively "out of reach". It took some thinking, but I eventually figured out a way to allow this to work, even when the default action for the object was set as an "attack". This was further complicated by the fact that I have an "attack object" button that a player can use to have any companions/cohorts attack any currently targeted object. Therefore, I had to also update that area of code to work with the newly implemented missile only code. Thankfully, that is all done now, and another area of code sorted for the campaign. Testing to date shows it works as intended.

That Which Is Done

I have finally finished all the journal entries for the first stage. This was a reasonably large task, as some of these entries can differ subject to what the player does from the very start of the module, and if they have played the first module. Finishing these also required me to have many items built and conversations written so that I could ensure the entries made sense from what the PCs had already done. Due to the amount of flexibility of play I allow, this coordination between journal entries and conversations (especially), was a big challenge, and one that I had to restrict building to days when I could cope best (with my health) in managing them.

That Which Still Remains

I have two plot lines that still require some conversations, which are currently holding back alpha-testing. It took quite a bit of pre-planning and design (now completed) to reach the point where I can now safely write them without (I hope) causing any potential logical flow in their writing. Sometimes, I can write a conversation ahead of time, because I am reasonably sure at what stage of the game the PCs will be at. At other times, like with these two conversations, I needed to wait until all the gameplay aspect was in place to help me determine what options the conversation should offer.

There also remains some plot items that require considered placement surrounding these two conversations, as well as some of those final area checks (that I mention above) where these conversations take place. Once I have these two sections of gameplay sorted, then alpha testing will begin.

Continued Improvements

Alongside the latest building, I have been continuing to support and improve on the overall campaign code. Some of the key updates and improvements have been some tweaks to the follow routines when switching between PCs and/or AI and Puppet Mode; help avoiding PCs becoming stuck in the environment, as well as general improvements and a few minor fixes. There are currently over 40 amendments and fixes listed for the next v2.56E release, and so it will be a worthwhile download, even if not critical. Some of these updates have been due to preparation of spells and other play for the second module. This latest update will be released after my wife has finished play-testing it for a few hours.