Thursday, 29 May 2008

The Mushrooms Are Served (ADV)

Week ten of playing Soul Shaker saw the group of heroes finally escape the lower levels of the citadel and reach the ground floor. And while the in-game clock reports 17 hours 30 minutes of play, I suspect it has been nearer 19 or 20 hours after the slight delay in the counter for networked play has been taken into account.

There were no further issues due to any coding (as such) this week. However, I think the area sizes of the module are placing a strain on the computers when it comes to heartbeat checks, as I noticed some of the "growths" did not always disappear as they were meant to. They, like some other aspects of the module, have heartbeat scripts to help govern their behaviour, and while the visual effect is not critical, I noticed the lack of response all the same.

Heartbeat scripts have often been the cause of minor issues in past modules and I have decided that while single player modules appear to handle these scripts OK, it seems multi-player games (where computers are trying to work in synchronisation across a WAN) are less forgiving and throw up these kind of minor issues. Because of this, I have decided to reconsider module area sizes in future designs to help alleviate strains on heartbeat scripts in a multi-player game. This may mean either reducing area size designs, or simply reducing the number of scripts that use the heartbeat hook.

SYNOPSIS SNIPPET: (REALM LEVEL: Sixth) REALM TIME: 17 Hours 30 Mins

"It was not until Karasten drew close to the water plants that he realized that these too were part of the hostile environment. Suddenly, tendrils from the plants reached out and grabbed him, sticking their sharp barbs into him. Finding a target with normal weapons was not easy in this situation, but Grimbold found that a well placed fire or acid grenade helped release the plants grip on those trapped within their binds." Read the full synopsis here.

Thursday, 22 May 2008

The Heart Of The Problem (ADV)

This evening went well again, even though I did encounter a handful of minor bugs. There was one that had been introduced with an earlier fix that was supposed to drop a hint to those who may have become locked behind the force-field with no way out. However, the code made the numbers appear on all bookcases and cabinets on other levels, which was not the desired effect. This, along with the following fixes have been addressed in patch v1.06, which has already been uploaded for other players of the module:
  1. Bless Water can now be cast on stacked water bottles without destroying them all.
  2. A water fountain will no longer run dry.
  3. A mushroom explosion has had its radius reduced.
  4. More code has been added to try to make a creatures target more random. (MP)
  5. Bookcase/cabinet numbers removed. (As detailed above.)
We managed to play a good two hours in this session and the game was otherwise quite stable throughout. We may have even played slightly longer than this, but once again, the in-built timer had about a 15 minute discrepancy. That said, I did pause the game occasionally and so that may have had an impact on the final count.
I did also notice one other minor issue regarding the backup deployment of "plot items". I had coded some fail safes into the module to ensure a player could not leave themselves in a position without vital plot items. However, in hindsight, some of the code checks only really work well for a single player game. It's not that the plot item is not checked in a multi-player, but more that the item may be given in error due to the check being made when not all players are in the game. Therefore, the code assumes the item is missing and recreates it accordingly. This has happened for one plot item I have witnessed already - and to be fair, the circumstances of this happening may not have always come about. If, however, I find this sort of thing too damaging for the multi-player game (due to giving even more plot items), then I will have to address the issue.
SYNOPSIS SNIPPET: (REALM LEVEL: Fifth) REALM TIME: 15 Hours 15 Mins
"Beyond the illusory wall was a small alcove, which in turn had another illusory wall that hid the way to a long passageway filled with bunk-beds. After a few moments, the group realized where they were: They had found a secret way to the north wing." Read the full synopsis here.

Sunday, 18 May 2008

Interior Design

Today, I took my first steps at using tiles to design interior settings. I wanted to take a break from the scripting I have been doing and try to do something that would help inspire me back into design as a whole since being demotivated at the loss of my pet rabbit, Anakin.

I started by making a passage for one of my locations and, almost straightaway, found that the walkmesh allowed a PC to walk through a wall if I used one of its variant designs. I tried all sorts to stop the PC from being able to walk through, and then after applying a bake for about a fifth time, the walls worked as they should! I have no idea why this should have happened, but I am glad it resolved itself.

Next, I set about trying to set some of the lighting for atmosphere. In the process, I wanted to make a prefab that allowed a light source to be attached to an existing prefab. This was not as intuitive as I thought it first would be. After grouping the objects together, I then exported the group, which saved in the prefab folder. However, to make the prefab available to use, I had to copy the exported file to my override folder and reload the module before I could access it. At one point, I tried to redo the prefab while the existing prefab was in my override folder, and this time the prefab appeared. Something strange is going on with these, and while I can get them to work ... eventually, I hope Obsidian intend to make these work a little more smoothly in the future.

Anyway, after messing around with some of the lighting options, I decided to allow the passage that I designed to appear more "accurate" according to available light sources than allow what I would call "studio lighting" (Directional Light) to be used. It does mean the passage appears darker than if I had used Directional Lighting, but I think the overall atmospheric effect is more desirable in the end result. I have included a couple of screen shots to show some of the lighting effects in place for this first interior design. One shows the darker basic torch lighting and the other, brighter magical lanterns:

Thursday, 15 May 2008

Escape From The Sewers (ADV)

This week went smoothly with no faults to report. The only thing I did have to correct this week, was where I had used the name "Helden" by mistake instead of "Karasten" in some of the synopses. These have now been corrected. (Both PCs are played by the same player, but Helden is not played in this adventure.)

The only other thing I noticed was the elapsed time was slightly less than the time we actually played, by about 15 minutes. I do, however, already have this noted as a known issue for the module, as the timer appears to only be approximate, especially when used in a MP game where one player is accessing from a distance rather than in a LAN game. I also believe if there is a slower computer being used on the network, then this too has an impact on the timer.

SYNOPSIS SNIPPET: (REALM LEVEL: Fifth) REALM TIME: 13 Hours 15 Mins

"Eventually, the heroes made it back to storage chamber one and Karasten entered the combination code they had acquired earlier to gain entrance to the room. Inside, there was a bookcase and a number of crates. The bookcase contained a number of procedure manuals, which Karasten made note of, and all but one of the crates held spare parts to the sewer pump system. The crate that was supposed to hold diaphragm seals was empty, and it turned out from a note in a nearby desk that the workers had been salvaging old seals from manual pumps due to lack of supplies." Read the full synopsis here.


As a side note, I finished the NWN2 OC yesterday. I found the last battle extremely hard to do and had to replay the Merdelain (I reckon that should be "Murder Lane") area due to running too low on party resources by the time I reached the three Shadow Reavers.

Controlling that many PCs was also extremely hard, and I learned from this experience how not to (in my opinion) make a combat, grand finale or otherwise. Maybe its just because I am not a good player, but I simply felt overwhelmed and had to make a lot of use of save and load to get to the end. Overall though, I found the experience good fun and I believe I did prefer it to NWN1, simply because of the ability to have more control. It just felt like too much at the end. ;)

Thursday, 8 May 2008

Sewer Pump Failure (ADV)

Sometimes I wonder if NWN code decides to do its own thing on occasion. For while the game went reasonably smoothly tonight, there was, however, one incident when a Citadel Exterminator appeared to be set as indestructible and not take any damage. Why this happened, I am still not certain. Fortunately, as DM I was able to ensure the problem was fixed, but not after it caused some problems with attacking the PCs. In hindsight, I wonder if it may have been something I did as a DM, but I don't recall doing anything in particular. I also went through the scripts after the session and found one script that would set anything that passed through it as "plot". Why I had this I have no idea, but I have since removed the code and made it an update in patch v1.05. I also ensured that if a PC carried more than one of the same type of bag that they could no longer take advantage of an exploit whereby items would not be removed from a second or third bag (plus) of the same type.

The heroes have managed to make gradual process through the sewers and have finally gained access to the Pump Control Station, where they have now recognised that fixing the Access Control Panels must be their next priority.

SYNOPSIS SNIPPET: (REALM LEVEL: Fourth) REALM TIME: 11 Hours 30 Mins

"There was one other feature they quickly came to recognize in these tunnels, and that was small caged access elevators that lead to lower sections of sewers. As they continued to explore this region, they found a number of them that led to other sections, and others that had failed, which meant the heroes had to find other ways to reach the various sections. In all the sewers were a maze of tunnels and everywhere required time to search properly." Read the full synopsis here.

Tuesday, 6 May 2008

Toolset Crash

I was working on adding some spell components today and the tool set crashed as I went to save it. It's a pain when that happens, especially when I have been demotivated of late. I was trying to get involved again, and instead, found I had to go back two modules and redo a couple of things I had already done. Fortunately, there was not too much to do (as I have not been doing much lately) and furthermore, in the process, I made a discovery. The bit I had done tonight was easily recoverable, as I had saved the work within the campaign folder, which meant all work was saved independent of the module. The work I had to redo involved the section where I had amalgamated my new Captured Spell Books (still awaiting final beta testing before being released) with the main module. While it did not take long for me to get the files back in order, I discovered in the process that one of my edited OC XML files required special placement for the module to work properly.

To date, every other XML file I have worked on, appears to work fine if placed within the Campaign folder and not placed anywhere else, including my own and altered OC files. However, I discovered fontfamily.xml required being placed inside the custom UI folder for the text in my readable books and spell books to even show. My guess is that because the fontfamily.xml file is used by the readable books and spell books XML files, it needs to be placed in a higher priority than even the Campaign folder. Hence, the module only worked after I placed the file in the higher priority custom UI folder. I will have to ensure people are aware of this when they use this module.

Even though I still have a handful of mechanic scripts to write, I can say that I have been encouraged by the feedback I received from an earlier post to start work on the actual scenario instead now. I have already outlined the scenario, and have decided that I will start designing and coding the adventure prior to finishing off surrounding mechanics, and will get back to that side of coding as and when I feel the need. The final few areas that I am putting to one side include:

1) Finishing spell components and foci requirements.
2) Finish the rest system and wiz/sorc spell book requirements.
3) Complete creature drops surrounding alchemy and special drops.

For those interested, the working title for the first adventure in the new era is, "The Devil You Know."

Thursday, 1 May 2008

Toxic Gases (ADV)

I had to step in and play a character this week, as one of the players has had to stop playing due to other life commitments. Unfortunately, it meant he also missed out on some more custom content, which I am sure would have appealed to him as a fellow builder. Actual play went smoothly enough, although Grimbold (the character I took over) did get dispersed once (died), which probably does not say a lot about my ability to play. I did manage to kill the creature as it killed me though, so that is something.

There were a few very minor issues, the first of which I have addressed in patch v1.04: If a player has their PC click on a Lore Tome to learn it (but does not need it), it is supposed to be left on the ground for other players to try for their own PC. However, there was a variable that prevented this from happening, which I have now addressed.

The other two issues are old ones, which I thought I may have cured, but still come back to haunt us now and then. The first one is "mixed tokens", which basically has the players see each others stats when clicking on a menu at the same time. However, this only appears to occur if one player is playing remotely rather than on a LAN, and I believe it is to do with the speed of the Internet connection and the passing of data. The simple quick fix is to simply reopen the Main Menu, but it is something to be aware of when playing such a game. If I do ever find a definite solution, I will add it. The problem is, I can add a variable that checks between each player accessing the conversation, but I am worried the conversation could lose the variable in network traffic and prevent the Main Menu from opening altogether and so I don't want to go down that route if I can help it. The second issue is to do with monsters appearing "friendly" when first encountered. Again, I have checked the code, and I cannot see any reason why this is happening, and it appears to correct itself after a short while anyway. The quick easy solution to this one for the time being, is to right click and select attack. Hopefully, these minor glitches will not show themselves too often anyway.

Otherwise, the group handled the toxic areas well, even under the added stress of combat. They also finally managed to gain access to the sewers and locate the elevator and discover what the problem is. Now, they just need to fix the problem so that they can reach the ground level!

SYNOPSIS SNIPPET: (REALM LEVEL: Fourth) REALM TIME: 9 Hours 40 Mins

"There were many bodies in this area, many mutilated and left as bloody corpses throughout the area; one had even been left on a table.... Just as Karasten reached the farthest point within the chambers, a sudden known cry echoed all around the group, "Give me flesh!". In that instant the group realized more Death Walkers had tracked them down and combat was engaged. There was nowhere to run from here and the heroes had to stand or fall." Read the full synopsis here.