Choose Your Language

Wednesday, 12 March 2008

Shake, Rattle & Crash!

What a disappointment! :( I wish I had better news to share about the transition from Torén Norus into the Soul Shaker module, but alas, it is not to be. In all my testing over the weeks, months and years, I have never had the game crash on me completely like it did for our session tonight. The start of the adventure played along relatively smoothly while the players were in Torén Norus, but at the moment the last player sat in the magik throne that would start the procedure to transfer them into the Soul shaker module, CRASH!

First, let me apologise to my players and say that I hope it did not spoil the otherwise fun experience up to that point. It turned out to be a rough night for them, as they also lost their cleric, Morgellin, to an Iron Golem breath when he rolled a one on his saving throw! Furthermore, as it was the cleric that died and there was still no way out of the tower, it meant Morgellin had to be packed away in a bag of holding until the heroes could find another way to raise him. (Messy!)

Regarding the crash again, the only consolation I had was the fact that it did not appear to be anything to do with my code as such, but it simply seemed that NWN could not handle the module changeover over the Internet where one of the players was accessing the game. Why this would be the case, I don't know, but as soon as they were not involved, the module changeover process went smooth as silk.

So, in the end, I had to reload the game just for the LAN players, allow them to enter the Soul Shaker module from the Torén Norus module first, and then get the player on the Internet to do it separately afterwards. His joining still caused the game to crash, but by then all the data for his PC was recorded, and it meant we could start afresh with the Soul Shaker module and simply rejoin the module bypassing the module changeover step.

Unfortunately, the process did mean the players missed out on the introduction movie, and the opening speeches by Terrell, but at least we reached the point where we could save the game ready for the next time we played. I had looked forward to this moment for so long that the eventual disaster of the transition really annoyed me. I just hope now that the rest of the gaming experience is one of smooth sailing.

In the meanwhile, I ask that all players download and read the manual ready for the next time we play. The game is obviously a lot different from anything you will have experienced before, and even the brief introduction that we did see should have given you a clue to as much. The manual can be downloaded from here: SOUL SHAKER GAME MANUAL. Please spend some time reading pages 5 - 29 so that you are familiar with the basic mechanics of the game. Combat is no different from normal (real time) play, but character development and surrounding mechanics is definitely affected upon this demi-realm of the lich. I advise NOT TO READ past page 29, as it starts to speak of things that the player would not yet know about the Realm and so it would spoil their experience if they did.

SYNOPSIS DELAYED

After that disappointment and the extra time it took me to sort out the problem with the game to make it ready for next week, I have not had time to sort out the regular synopsis yet, but hope to find some time tomorrow - so please check back then.

XML TUTORIAL

On a positive note, I have been making headway with the XML & GUI Tutorial. I am making all sorts of discoveries about XML as I write it,which I hope will help others when the tutorial is finally released.

Monday, 10 March 2008

Digesting XML

I have been spending some time just reading over the information that elf des coquillages pointed out to me in a comment yesterday regarding XML coding. (Links have been added to the Useful Links section on the left.) Sometimes it is just good to get to grips with something like this to be able to gain confidence with regards to custom building as a whole. I think I have got to grips with as much as I need for now, and will probably try to put together a small beginners tutorial to help remind me, but also to post on the Vault for others. It won't necessarily contain the correct language for certain terms, but will be aimed at people similar to myself who may just like to have some of the more basic concepts outlined in a language easily understood, which I feel is missing at the moment.

First, however, I want to be able to right my own XML file to demonstrate the level of knowledge I have reached and maybe to help show some of those elements that are not obvious, like the different fonts available.

Hopefully, once I have that off my chest, I will be able to start looking at writing more towards the first module of the campaign within the new era. I still need to add the books sections (which is why I did "Readable Books"), but maybe I can look at one or two other areas of the mechanics from a different approach now that my knowledge of XML has improved. I will have to wait and see how the mood and imagination takes me.

Sunday, 9 March 2008

XML Code - Backward Engineering

I have to confess that I like the new GUI interface operations and how we can, as builders, develop various feedback and displays for our players. To me it adds a new dimension to the game, and allows me to help structure a module to keep players aware of events and help keep the plot focused. Or, I may also be able to design an interface to make use of new and complete independent systems that make the world of Althéa unique.

The only problem is that XML is new to me, much like script was when I first encountered it. However, whereas script appeared more logical, XML requires a little more forethought, as much of what you are doing is building something visual with numbers (or so it seems to me). In script the objects to code with were mostly already present, whereas XML is more like coding the object in the first place.

Therefore, if I wanted to make more use of the new GUI interface, I needed to start looking at what others have done and pull them apart to understand it. To help me in this project, I copied and printed off the small amount of information available at Obsidian's XML Blog. The XML information is on the first few pages (oldest) of the blog. I then opened up some XML files that others have written and started to try to make sense of everything.

I found that if I copied the text into something like Word and then highlighted different sections according to when each "function" appeared to start and end, I began to see a pattern among the otherwise just "rush" of text. Then, comparing the highlighted code with the information I copied from Obsidian, I could begin to see how the functions were being used, and even managed to start editing my example XML to test in game. The results were encouraging, and while I am not going to be making many of my own to begin with, I do believe I have enough knowledge now to be able to work on someone else's XML file and alter it for what I need. As there are quite a few official and unofficial files available, I should be able to do what I need when the time comes. (I will let you know.)

Here are some of the XML commands that I have started to get to grips with:

  • < !-- COMMENTS HERE -- > : How to make comments in the XML code.
  • UIScene : Defines the main GUI size, placing and function. (The box that appears.)
  • UIText : Places text within the main GUI.
  • UIButton : For placing a button, but appears to rely a lot of UIFrame for visual look.
  • UIFrame : Appears to be used with UIButton to define an image.

Feel free to comment on XML coding if you can help enlighten me to anything or lead me to a better understanding of it. There are still a few functions that I need to look at more closely and learn how all the different parameters interact with other, including:

  • UIObject : Appears to be used with most other functions in some way.
  • UIListBox : Has similarities with UIPane.
  • UIScrollBar : Appears to be used UIListBox (among others).

Readable Books

I am pleased to report that my Readable Books hak has been very well received from the NWN2 community, and so far, has received all tens for its contribution. :) (Link to the mod is on the left.) Note, I originally uploaded this module into the mods section, but later had it transferred to the Custom UI section, which is more appropriate. This has, however, made some of the comments normally shown within the "View Comments" section unavailable. They can, however, still be read from the comments below the module listing.

Friday, 7 March 2008

Dark Waters Looks Amazing!


















I am spending a little time just surfing and looking at other NWN stuff in general and must confess how amazed I was when I saw Adam Miller's latest module "Dark Waters 2 - Beyond The Sea". It was the new GUI and custom content that has astonished me at the moment and I can say that I can't wait to take a look at what he has done and to see if I can learn anything more new from it that may be useful for some of my own designs. It's when I see work like his that I realise I still have a lot to learn about scripting and XML files in general. I have added his website to the links to the left, and will be keeping a close eye on his work.

Take a look at this video link to see what I mean:

Thursday, 6 March 2008

Readable Books

Yesterday I said I would expand on my workings with my version of Readable Books, based on clubok's original work. Well today, I hope to give a bit more detail as well as announce that my version will be posted onto the Vault later today, and the link to it added to this blog site shortly afterwards when it becomes available. There were two reasons that drove me to this work:

  1. I needed to add some books that some PCs needed to carry around for the resting system I am working on.

  2. I liked the way these books worked and always intended to have them for the new campaign, but wanted an easier way to add or remove the text data.

The original design by clubok required editing a TLK file and updating a 2da file so that the text could then be viewed. This has some advantages in that it is probably easier to write the text in the first place, but does, in my opinion, require too much extra work trying to keep track of stringrefs and having to update the 2da file with the various types of information it needs to work properly. I also believe that because my version is based in scripts, it is probably more flexible to the everyday builder. Each has its merits, and so I felt there was room for my version to be built, even if it is just me who ends up using it. ;)

One of the advantages was that I was able to add a "Picture Book", which is basically a book with pictures added. The pictures have to be added to the hak before build time, but after they are added, they can be selected to be viewed as if a page of a book. I included an example in the demo mod, but the pictures were not the best possible, as I did not want to spend too long on preparing them.

Not Bookworms - Bugs!

During my alteration of the code, it gave me a chance to learn a few more things about NWN2's tool set in general. Most of the time things went smoothly, but there were a few things that had me stumped for a while. Three things were related to some bugs in the engine:

1) Inventory Item Limit: The first problem that I encountered was that I was unable to limit the number of items that a placeable could hold. I wanted to reduce a bookcase's contents limit to no more than about ten items. Unfortunately, even though I changed the inventory limit figure, it would still default to a high number. I learned this is a known issue and will be dealt with soon.

2) SetFirstName(): The second issue that I encountered was to do with renaming an object using SetFirstName(). This function is supposed to work in a similar fashion as SetName() from NWN1. All my debug testing showed it to work, but the item would not change its name in game. It turned out the bug is that the name does change, but it is not updated on the item until after it has been moved within the PC's inventory.

3) GetHasSpell(): The last bug I encountered, which is probably the most frustrating in some ways, was the GetHasSpell() function. The function is supposed to check if a PC has a particular spell memorised. Unfortunately, it will say that a wizard has a Summon Creature spell memorised (for every level) even when they do not. I tried to exclude these particular spells from the check, but it prevented all the spells from working for a sorcerer. :(

Scripting Issues

There were a couple of scripting issues that came to light for me using NWN2, which I was not aware of when using NWN1:

1) Include Compiling: The first issue was the very important requirement to recompile scripts that rely on an include script, if the include is changed in any way. I don't ever recall having to do this when using NWN1, but it may be because I have done more with include scripts using NWN2 than I have done before when using NWN1. In this module I had three scripts that each used the include script called "alb_booktext". As this include file was where I write all the main text for the books in question, I soon came to realise that compiling and saving this single script to test my alterations in game was not enough. Basically, the three scripts that called upon the data from this include file also needed to be compiled and saved, even though there was nothing directly being changed in them! Now that I know this happens, I write it here as a reminder to myself and anybody else who may be wondering why a script is not applying updates one may have done to it.

2) Script Order: The second scripting issue I encountered was based upon the order in which my code was firing. At first I could not see any reasons why my loops were not working correctly. They would run through the loop for a while and then appear to drop out. It turned out that I was probably asking too much from the loop, and by altering where I did certain checks for the object being tested within the loop, it allowed the function to complete the loop without dropping out. The function in question is written below, and the original problem was that I was doing the if checks for the iCount number before checking if the PC had the spell. By moving the if checks until after the spell had been checked first, the script worked fine. Unfortunately, the "OR" commands do not show if I type the script and so I will have to rely on an image to show what I mean:

(Click on the image to enlarge it.)

The rest of the coding went fairly smoothly. I would like to thank diophant on the NWN2 forums for pointing me in the right direction with one of the scripts. Check out the ReadBook.PDF file that comes with the ReadBooks module for more information about setting up the books themselves. (Link to the left in My NWN2 Modules.)

Wednesday, 5 March 2008

Gary Gygax - D&D Creator Dies

I heard the news today that Gary Gygax, creator of D&D died yesterday at the age of 69. Here is a snippet from the BBC website where you can read the full story:

"Gary Gygax, co-creator of the first role-playing game Dungeons and Dragons, has died at the age of 69. Gygax, who developed the game in 1974 with Dave Arneson, had been suffering from health problems for several years.

Famous for its mythical creatures and odd-shaped dice, Dungeons and Dragons was an instant success that spawned a slew of video games, books and films. Gygax was also an author who wrote numerous fantasy books, including the Greyhawk series of adventure novels. He died on Tuesday at his home in Lake Geneva, Wisconsin, leaving a wife and six children. "




Readable Books (NWN2 Mod)

For the last few days, I have been rewriting clubok's "Readable Books" module to work without 2da and tlk files. I loved the original concept, and having books look like books adds a lot to the atmosphere of the game in my opinion. It was always something I intended to do, and as I have reached the stage where I needed to define the wizard or sorcerer's spell book and cleric's holy book for when it comes to resting within the new era of the campaign, I made the leap to go ahead and do it.

The end result, I believe, is a much easier process to manage , where all data is added or changed within one script within the module, rather than having to edit a tlk file and a 2da file, with confusing string resrefs and large tlk numbers. I have been able to maintain all the events that the original could do and even add one or two new elements of my own, including viewing pictures within a book.

I am in the process of finishing off the PDF manual that explains how to add new books and update the text, and once that is complete, I will upload everything to the Vault and give a link from the menu on the left hand side. Furthermore, I will give some feedback on the building of the module that may be useful to others. For those familiar with clubok's version, you may notice I have made a difference that the contents conversation stays open all the while the book is being used. I personally found this easier to work with.

Torén Norus Adventure Postponed
Unfortunately, unforeseen events caused me to have to postpone this week's D&D adventure, which means the launch of Soul Shaker has been put back another week. It has been a long time coming since I first started working with it in October 2004, and so one more week should not make much difference. As it happened, the Internet appeared to be somewhat sluggish tonight, and so it may have hampered our gaming experience anyway.

First Ever NWN2 Internet Connection
As the D&D adventure was postponed tonight, one of my players and I tried to play another CRPG. However, as that was hampered by the Internet problem, we then decided to try to use NWN2 for the first time over the Internet instead, using my Readable Books module as a test. At first, he kept being kicked out as he tried to join. Then, I quickly recalled something about a PWC file and after creating the file in the toolset and sending him a copy, we managed to connect fine.

I was a little disappointed with the functionality of the DM Client, as even the movement felt a little jumpy rather than smooth. It was probably due to the fast movement that the DM has, but it still felt a little awkward to use. I also found the controls a lot harder to find and some of the basic stuff (like searching an inventory), I could not find at all!

However, my use of the DM Client is a long way off yet, and so I hope many of these issues will be resolved by the time I come to use it, or I will have a better computer on which to run it, or I may just get used to using it in time.

Thursday, 28 February 2008

A Soul Shaking Moment!

Today, for some unknown reason (call it suspicion), I decided to do just one last double check on the current module's ability to transfer the PCs data into Soul Shaker, which I hope we will start playing next week - and I am glad that I did, as I found some errors! As you can imagine, I was not too pleased as it meant having to redo some code for Soul Shaker as well as the current module, just to be sure everything synchronised alright.

As it happens, I could do most of the fixes from the current module, but there were two aspects that required me having to update Soul Shaker:
  1. The opening journal entry was incorrect for players joining from Althéa.
  2. I had missed two racial checks for setting a camera on the player.

These fixes have now been added to Soul Shaker and the module has been updated on the Vault.

I first considered a problem might be present when I had a vague recollection of updating an important script a few months ago that handled the data transfer from one module to the other. At the time, the update was straightforward enough and worked fine for normal play. However, because in the Althéa campaign the players play their PCs via a player mannequin (PM), the incorrect details were being recorded from the PM rather than recording the details from the PC being played/controlled with the PM.

I have now updated both the Soul Shaker module (v0.18) and the current module (0.04) to allow a successful entry into the Soul Shaker module whether playing a normal PC or when playing a PC via a PM (as with the Althéa campaign). Let us now hope for a smooth transition when the time comes.

Wednesday, 27 February 2008

Tombs of the Dead (ADV)

The sixth week of this adventure saw the heroes venture into the fourth and part way into the fifth level of the tower of Torén Norus. While there were no major glitches this week, I did notice a small problem that required a fix ready for next week, and there was a minor problem with an object being missed (which has now been fixed and I will ask the players to retrace their steps for next week to discover it). All these fixes have been added to the TNPatch 0.04, ready for next week's play. Read all about this week's adventure in the synopsis, now available at the website. There is a snippet below as usual:

SYNOPSIS: (SESSION XP: 141 + 100 bonus for Karasten and Myara) 17/09/1197

"There were a number of open crypts around the large chamber in which they found themselves, but everyone was drawn towards the huge obelisk towards the centre of the tower. It stood firm and tall and had fiery glyphs drawn on every one of its sides. When approached they revealed their message for all, "Here lie the Elf Lord founders. Their memories will never be forgotten all the while the towers of Torén Norus and Torné Norus stand."

Tuesday, 26 February 2008

Companion Development

I have been off work for the last week due to ME, a chronic illness I have that stops me from doing regular activities more often than I would like. When I get a few minutes respite from the symptoms, playing around with NWN and writing this blog are one of the few things I can do that help me to relax by removing me from the stresses that make my illness worse. And while I may not even be as active with this as much as I would like, at least I can still contribute something.

I have been continuing to look at the resting system that the campaign will use, and I hope to be able to make another post about that when I have finished ironing out some of the last items and scripts that it will use. In the meanwhile, I made a couple of discoveries regarding companions and their development when it comes to some of the properties set on them.

Where Have All My Spell Slots Gone?

The first thing I learned was that if you add spell using classes to a companion in the toolset and then try to use them in game, then their empty spell slots would be missing and there would be no way to learn spells with them. (Interestingly, I can see this being quite useful as a way of developing characters in a way that excluded them from spell learning in a world where such may not be possible ... but that's another story.) The solution turned out to be to use the Set To Package Defaults button under the "Spells" properties tab for the PC, which would then allocate all the spells for you. NB: If you add the spells manually (a few at a time), you are able to alter the amount of spells that the PC has access to from the start, but they will still be unable to learn more, even if their level would imply otherwise. Of course, in normal game play, this would not be an issue, as the player would have allocated spells as they progressed in levels within the game. I simply mention it here as it confused me for a while.

Learning A New Trade

The second thing I learned was how to remove the class restriction for companions when they had acquired enough XP to be able to learn a new class. In the OC, each companion is restricted in which class they can progress. However, by removing the Starting Package under their properties allows the player to select any class for them to progress in. (See image to the left.)

I Want To Talk!

There was one other handy tip that I learned from Nasherzor on the forums, and that was how to enable any PC to speak with another NPC. By default, the Main PC will switch back to being played if a player speaks to an NPC. However, there may be circumstances when a player may wish a specific PC they are controlling to speak with the NPC in question. To enable this, I have learned that the Can Talk To Non Player Owned Creatures button on the NPC being spoken to needs to be set to TRUE.

Thursday, 21 February 2008

Tomes of Times Past (ADV)

This week, the fifth, was another great week without any problems or issues and everybody was around to appreciate the game. The session started at the beginning of the third level of the tower and ended up with the players about to go to the fourth level. Read all about this week's adventure in the synopsis, now available at the website. There is a snippet below as usual:

SYNOPSIS: (SESSION XP: 288) 17/09/1197

"In this room, however, there was also a strange floating automaton that eyed the newcomers without any signs of concern. Grimbold and Wanda slowly approached the mechanism, and as they did so, it spoke with a metallic voice, "How may I assist?"

In fact, the only issues I had this week was trying to locate extra web space to upload a copy of the book the players found: "Ado Ia Dom". I normally have tons of web space with Microsoft Office Live, but their server appears down at the moment and I cannot upload anything. In the meanwhile, I have used the last part of my own ISP server space to store the PDF file, but will move it when the MS server is back up. I have also uploaded the pages as JPG files to be viewed online from the website, although they may not be as clear to read as the PDF file. (Check out the synopsis from the link above.) UPDATE: The file has now been moved to the Microsoft site.

Sunday, 17 February 2008

Resting & The Passage of Time

For the last two weeks I have been writing code to handle resting and the passing of time. Like all things to do with scripting and creating new mechanics however, the exercise has taken longer than I first thought it would do. This is mainly to do with the fact that determining who the main PC is when possessing a companion can be quite difficult, especially when using the in-game "rest" command.

There are also other conditions to consider that can affect the rest and recovery of HPs, spells, prayers and general recovery, such as lack of food, nearby monsters, or simply not being allowed. Lastly, of course, is the fact that in a multi-player game, one player may initiate a rest period, but you will not want every player to then add more time just because they choose to rest straight afterwards. It all gets very confusing as you can imagine, but I believe I have finally come to a conclusion with all this and have just a few minor details to finish coding before it is done. Throughout this time, I have been in touch with people on the NWN2 forums, and I can thank Jassper for his explanation of such things as to what constitutes a party or a faction or just a single person. This has an impact on which characters are treated when a player presses the rest button.

Waiting or Resting

When a player presses the rest button within the game, they will be requesting one of two things: Either to Wait or to Rest. Both of these options are displayed within a GUI (Graphical User Interface), allowing the player to choose which option they prefer. However, there are a few conditions that will prevent the REST GUI from being displayed, such as nearby enemies or being within a "No Rest Allowed" zone, such as city streets or active dungeons. In these cases, the player will have to continue with their adventures or find another place to rest/wait.

If the player is able to initiate the REST GUI so that the options are displayed, then they may still be restricted to being able to wait only. This will be the case if the PCs do not have any food (and therefore cannot gain the benefits of resting) or they have already rested within the last eight hours (not tired enough). The player will receive both an audio (gong sound) and a visual feedback if they are too hungry to rest (first image above), but the GUI will still open within half a second of this warning (second image) allowing the PCs to wait if they so desire.

WAITING: Depending upon the time of the day that the player chooses to wait, then they will be offered to wait until dusk or wait until dawn. As long as the GUI has displayed (meaning the PC is outside of any current restrictions), then they will always be able to choose the wait option. The current time of day the option is selected will also determine how many hours pass until the dawn or dusk, and will also count as time towards their PC's next available time before they can rest. In other words, if there are six hours until dawn and they choose to wait, then six hours will be removed from their eight hours wait time between resting. With waiting, the PC does not recover any HPs, spells or general health - only time passes and costs a food ration. If the PCs do not carry any food, then they may suffer from some hunger damage (in which case there would be no good reason to wait to try to rest, as resting cannot be done on an empty stomach anyway). NB: Having the Survival skill will help prevent some hunger damage if none of the players characters carry any rations.

The image to the left shows the player having chosen to wait until dusk without having any food to eat first. The screen has now turned darker (dusk), the result of a hunger check is displayed because they did not have any food, and the number of hours passed has been shown along with the new current time and date.

RESTING: As long as all the right conditions are met, then a player may choose to rest his characters instead of waiting. The conditions to allow resting are: (a) Not to have already rested within the last eight hours and (b) To carry food (normally rations), one of which is used up on resting. There are also audio and visual warnings to help warn players if any of their characters do not carry items that may be required to help study for prayers (Holy Book) or learn spells (Spell Book). Resting will always give some HPs back (according to the place of rest), and may help towards recovering from an ailment (poison or disease), but will not allow PCs to recover their prayer or spell abilities if they are missing vital objects required for the task. Resting is always considered eight hours. (However, see the note on Amorphous & Personal Times next.)

Amorphous & Personal Times

To help keep time flow reasonably standard and in the control of the players, I have currently opted for 15 minutes real time = 1 hour game time. This would mean a player would have to play for two hours real time before the eight hours restriction has passed by in game time before the PCs can learn either their prayers or spells again. Note, however, that if the wait option can be selected, then they will be able to overcome even this real time restriction. However, to be able to rest after this wait time, it would still mean the PCs are effectively camped outside in an open area, do not have any enemies nearby, can feed themselves and have access to their objects of study. This also precludes any other restrictions the DM may place upon the PCs, such as other environmental (severe weather) or personal restrictions (cursed?). The bottom line is, resting will not be readily available, unless the players are in a safe area and well prepared.

When it comes to calculating the eight hour delay before further prayer or spell recovery, each PC will have a personal eight hour window of time, starting from the moment that they last rested. Most of the time, (if players choose to rest at the same time), it also means all PCs in the game will be ready to recover spells at the same time. However, having personal time may allow players to plan certain usage of spells more tactically.

Note, however, actual time will only move forward in chunks for all PCs within the world when the wait option is selected. Actual time for rest is otherwise "swallowed up" by the time scale differential between real time and game time and balanced by each individual PCs own eight hour time window.

E.g. One player may choose to rest his or her characters at 9.00 a.m. game time. (No time is moved forward using this option.) Another player chooses to do the same. All PCs controlled by these two players have a personal time stamp placed upon them, from which they must wait another eight hours (5.00 p.m. game time) before they can learn their prayers or spells again. A third player does not need to rest because they have a full complement of spells, but does need to do so after another real time hour of game play (which would equate to about 2.00 p.m in game time). He or she may choose to rest at this time, whereas the previous players could not. (Again, no time is moved forward when selected.) However, the players now decide that the other PCs belonging to the other two players do need to recover their spells (again) and therefore try to find a place where they can wait until dusk (6.00 p.m in four hours time). Any player can choose to select this option from the GUI and the actual time for the game will move forward for all PCs. If successful, then the time will move forward enough for the players to allow their PCs to learn their prayers or spells again. (6.00 p.m. is after 5.0 p.m.) Alternatively, the players could have opted to continue playing without choosing the wait option (or may have been forced to keep playing because of circumstances) and would have been able to rest again when the game time reached 5.00 p.m. after about another 45 minutes real time.

I still have a little more coding left to do, and will give another update on this when I have finished it, and include any more details as I think of them. In the meanwhile, if you have any questions, please add them as a comment below.

Thursday, 14 February 2008

Ancient Mysteries (ADV)

Week four of play went very smoothly and without any glitches. The only downside was that one of the players could not make it this week. His playing style and contribution was missed, and we hope to see him along next week. In the meanwhile, the synopsis is up for grabs at the website, both for him to catch up with events and for any others who may be following. Here is a snippet as usual:







SYNOPSIS: (SESSION XP: 701) 17/09/1197

The synopsis is available at the website now! Here is a snippet:

"After the combat, the heroes checked out the chamber with the crystal and found a headstone at the back, which read "Let Kyrianda Lathellian's blessing be available for all." None of the heroes could determine what this meant, and so left the ancient mystery alone for the time being."

Tuesday, 5 February 2008

A Blast From The Past!

Having the week off has allowed me to work with the NWN2 toolset more closely, and to start to understand the more nitty-gritty of its engine, as well as start to make more posts in the forums. Today, I decided to take a break from learning about crafting and its functions, but not before I made a post in the Bioware forums asking for more details on how distillable objects are set to be dropped from the various monsters. At first, I tracked down what I thought would be the answer from within the des_crft_drop.2da file, but having played the official campaign and collected such things as fire giant heads, I still cannot see how such things are determined, as this 2da file does not contain such information where I thought it would be. To date, I have not had an answer as to what actually does determine such drops. In the worse case scenario, I will write my own scripts to handle such matters. It would just have been nice to understand this a bit more first.

The Rift On The Borantan Plains:

Instead, I decided to turn my hand to designing another area. The images included show my results, and I don't mind showing them as the players would have already "seen" this area from their time playing in pen and paper. (So many years ago now!)

These images show the rift that opened upon the Borantan Plains near to the start of the game: The same rift that the heroes later descended and found their way to the Underdark, where they are still today.





I was pleased with the results again, and I am beginning to see that some quite good results are possible, even with the minimal amount of skill.

(In case it is not obvious, you can click on any picture in this blog to get a larger view.)









FUNCTION: SetTime()

During my drawing of the new area, I had the urge to dabble with some campfires and to add some script that automatically changed their state (fire effect) according to the time of day. This highlighted a couple of issues itself. First off, I learned that Placed Effects (e.g. flames) are harder to work with (manipulate) than I first thought, and secondly, the SetTime function works very differently to how I first thought when the module Game Time has been altered.

As you know, I intend to alter the flow of time from the previous 1 minute = 1 minute style of play to something that allows for real time waiting before spells can recovered from a rest. Originally, I proposed using 4 minutes = 1 Game hour, which equated to meaning resting would only be possible every 24 real time minutes (if within an area where you can rest). However, I am also considering higher values like 15 minutes = 1 Game Hour, as this would mean players would only be able to rest their PCs about once per gaming session (two hours real time), unless overridden by the DM for any reason. This would give more meaning to careful spell use and disposable magik items such as potions and scrolls, and even such items as wands, staves and rods.

Anyway, during my use of the SetTime function, I discovered that setting the minutes higher than the module "minutes per hour" would alter the hour setting as if the minutes lapped the hour. i.e. Setting the module minutes per hour does NOT alter the flow of time to make 60 minutes now fit within the hour, but actually makes the hour comprise of the lower number of minutes. Therefore, in the module where the time was set to 15 minutes = 1 Game Hour, if I used the SetTime function to set 3 hours 59 minutes, this would actually set the game time to 6 hours 14 minutes (6.14 am) and not 3.59 am as you might expect. In other words, the 59 minutes are 3 x 15 minutes (hours) plus another 14 minutes. And when the clock that now says 6.14 am moves on one minute, the time would be 7.00 am and not 6.15 am.

Sunday, 3 February 2008

Crafting In The New Era

Yesterday, I introduced the Art of Crafting and touched upon how crafting will play a bigger role within the new era upon Althéa. Players could choose to let their PCs get by on the items they manage to find or purchase, but due to the change in magic and skills upon Althéa, it would pay them to invest some time and knowledge into constructing their own items, including weapons and armour. Eventually, they may even gain enough knowledge to enchant their items and bring about a new range of magikal weapons for the new era!

Basic Crafting Skills

CRAFT WEAPON: There will still be access to some simple weapons in the new era, but weapons requiring greater skill than the most basic type will be reserved for those in power or to those few gifted artisans who the PCs may be able to talk into selling their wares. Therefore, any adventurer who anticipates the chance of combat may want to learn more about basic weapon crafting, or at least team up with someone who has the skill.

CRAFT ARMOUR: The same holds true for armour as it does weapons. While basic armour may still be bought from merchants, the sensible adventurer will either learn more about crafting armour for themselves, or at least team up with someone who can keep them supplied.

WEAPON/ARMOUR CRAFT REQUIREMENTS:
  • Access to blacksmith's workbench and smith hammer.
  • Metal Ingots, wooden planks, creature hides and a weapon or armour mold.
  • The quality of the ingots, planks or hides determines the skill required to work with them, but also offer a better type of weapon or armour with added benefits as a result.

CRAFT ALCHEMY: To begin with, most items built within the new era will not be magikal in any way. However, those PCs with the alchemy craft learn the secrets of extracting essences from the remains of creatures required for enchanting. This process of extracting essences from the remains of creatures is called alchemy, and it is through this craft that PCs are able to make such things as poisons and grenades, as well as collect the essences required for making magikal weapons.
ALCHEMY CRAFT REQUIREMENTS:
  • Access to an alchemical workbench and a mortar and pestle.
  • Essences from distilled body parts using the mortar and pestle. Alchemy recipes and secrets.
  • Further feats are required to make use of the essences collected via the alchemy skill.

Basic Enchanting Procedures

Eventually, every PC will want to improve the items they have, and this normally means turning basic items into enchanted ones, or what is more traditionally known as a magikal item! Turning a mundane item into a magikal one is normally within the realm of the wizard or sorcerer, but basically can be done by anyone who has the right feat: Create Magical Arms and Armor Feat and/or the Create Wondrous Items Feat. There are three other magikal item creation feats, but they are for specific objects only: Craft Wand, Scribe Scroll and Brew Potion. While these feats are useful for such basic items, it is the function of the more powerful feats highlighted above (that can enchant ordinary items) of which we are interested in for now.
In both instances, the magician's workbench is often required to combine magic essences, special ingredients (e.g. gems) and a casting of a spell along with the item to be enchanted. If successful, the object that was being worked is returned with a new enchantment of some kind, varying from improved defences for armour or improved damage for weapons for example. The combination of ingredients required for such an enchanting is often a closely guarded secret, and the PC must first try to find or learn of the procedure required before carrying out the task if they wish to be sure of success.

Advanced Enchanting Procedures

As the PC learns more about enchanting, so they will discover improved and easier ways to turn a mundane item into a magikal one. They will eventually acquire such items as the Shaper's Alembic and an Enchanter's Satchel, which allow for working with items in the field with other special essences rather than being forced to find a work bench.














Essentially, depending upon the PCs commitment to their art will help determine how much they will be able to craft in the new era. If they choose to ignore these skills and feats, then the more they will have to rely on others to locate and supply more useful items. If they can master the skills and feats themselves, however, then they will only be limited by their own determination and ability.

Saturday, 2 February 2008

The Art of Crafting

The official NWN2 campaign and its add-on, "Mask of the Betrayer" (MotB), come with some very well coded crafting systems that expand on those that came with NWN1. Furthermore, they make use of essences in such a way that fits in well with the Althéa campaign mythos. In the world of NWN (Toril), some of the essences are referred to by their elemental name, which fits in well with the Althéa Colour scheme that also reflects the elemental equivalents: White = Air; Green = Earth; Blue = Water and Red = Fire. Furthermore, MotB also introduces the new Spirit Essence, which again complements the system to be used in the new era upon Althéa.

Avoiding A Recipe For Trouble

After taking a closer look at the code behind crafting and the recipes involved, I can see that trying to alter the existing code may be more trouble than its worth. The reason being, whenever there are official updates and fixes, I would need to keep amending scripts I have also altered when making crafting changes. However, because the system is already quite extensive and stands on its own merit, I don't actually see the need to add to or alter this current system. Instead, I will create a system specific for my campaign over and above any official ones.

New Era Life Creations

Along with the official system, I hope to introduce a new bench that will allow for a new craft to be implemented that will involve the Life Essence. Basically, in much the same way there are already three different benches available to work with the current existing essences, I will introduce a new object at which the PC can work. It will most likely take the form of another workbench of some kind, but does not have to take this form exclusively. However, by doing this, I can add script to any existing items used in creation (e.g. the smith hammer) that will intercept the object being worked with and redirect the script to use my own craft creation code. Basically, in this example, the smith hammer would check the item upon which it was just used and if it detects new Life Essence apparatus, the code would then check my own item creation code instead of any normal code that would be run. This would be much easier to manage than trying to keep track of very large official crafting scripts and 2da files.

Normal Althéa Crafting

Just like the official campaign, the smith hammer will be required to craft certain items, especially weapons and armour. However, I will add extra code that will allow the smith hammer to work with other objects within the world of Althéa.














Here is an example of a heavy crossbow mold. Again, it will be the same as you would have expected from the official campaign, including information of what you would require to make the item.

NB: In this example, the mold says 2 wooden planks. Note, however, that wooden planks can come in different forms and qualities. The weapon may have special abilities according to the quality of the wooden planks you use. The same theory exists if the mold may says metal ingots or some other object instead.










As an example of how I can alter existing items to help give the system a unique feel for the Althéa campaign, notice the wording in the following items for making a heavy crossbow from Shederran wood.

NB: I have currently not changed the name of the specific wood, so as not to confuse players who may be used to the naming convention from the official campaign. However, if players would prefer to have the name changed to something unique to Althéa, then please leave comments with your suggestions.









Useful Links

OFFICIAL CRAFTING INFO: For those players who would like to get a good background in the art of crafting as it currently stands, take a look at this website: Thieves Guild (Link now added to the Useful Links section to the left.). This site gives good recipe information for all known builds within the official crafting lists. However, if you would rather learn of all builds possible through playing, then do not refer to the lists given here.

CRAFTING 2DA INFO: For builders who would like more information about the 2da's involved in altering the crafting system, check out this NWN2 Forum Link. Beware though, this thread goes into quite a bit of detail about the 2da's files involved and I did notice one or two minor errors that may confuse the issue. E.g. The author refers to line 5 instead of line 10 in one of the more informative posts.

CRAFTING MOD: There is a mod that can be downloaded from the Vault, which was written by someone from Obsidian. It is called Crafting.mod. It is supposed to help create 2da lines that can be used to help write correct 2da structure for the crafting system. If you do want to try to add your own recipes within the current official crafting system, then I imagine this module would be an invaluable tool.

Thursday, 31 January 2008

The New Era # 4 - More To Life - New Essences!

With the release of the add-on pack for NWN2, "Mask of the Betrayer", a different Item Enchantment system was introduced to the game. The new system uses three new "conditions" for the essences that can be found rather than the previous four. Previously, there were Faint, Weak, Glowing and Radiant essences, but now there are Volatile, Brilliant and Pristine. (Refer to the previous article in this series for more background on the essence system in general.)

Each label still describes a condition for the four types that can be found (air, earth, fire and water), but the ease of use between the two systems has altered. As I develop the campaign, I hope to look more closely at both of these systems to determine the best use for them and whether to use one system or the other, or even both (which is most likely). Whatever I decide though, I hope to be able to get into the workings of the systems to be able to alter the "ingredients" required for such crafting and supply my own "recipes" in one form or another.

Althéa will have changed in such a dramatic way that working with magic to enchant items will be an art that needs to be mastered once again. Indeed, even being able to design and work with the more intricate arms and armour will require new knowledge to create - even before any new enchantments can be added!

The new era will be one of low magic initially, and one of hardship for all but the most skilled of artisans. A well-crafted weapon, shield, or piece of armour will be a rare item. No longer will merchants be able to knock out items to order (even if given the time), as most will not even know how to make them in the new era! And don't think this will mean such items will gain value because of their scarcity, as this will not be the case in the majority of instances. The problem is, people will be struggling to survive in the changed world, and it will be the basic commodities that demand value as much as anything else.

As time passes, so new items will begin to enter the market place, and maybe a merchant will buy the odd enchanted item as their business improves. Yet, the real power will be with those organisations who take advantage of the few "gifted" artisans and who can support them for their own needs without having to rely on acquiring the basics first.

Such will be the way of things within the new era. The magic of the world will have been dispersed - scattered and fragmented into essences throughout the land. Methods of collecting, working and even manipulating these essences will require new skills and new peoples prepared to learn the new arts demanded of life within the new age. Whether the heroes will choose to be the leaders in gaining such knowledge for the new crafts or simply pay others to do the job for them, only time will tell. Whatever they choose, anything eventually acquired will most likely have been born through blood, sweat and tears!

Saturday, 26 January 2008

Armour Appearance Answers!

Today I have been trying to design some armour with the NWN2 toolset to equip some NPC's. On the surface of things, this may appear a very straight forward process. However, NWN2 has an additional property set available with regards to armour: The Armor Set (sic) value. After some experimentation, this is what I have discovered to date:

The Wrong Way: I have decided that this is the wrong way to work with NPCs when placing armour on them. That is, if you access the properties on a creature and alter the Armor Set values that are on them. While this may appear to be adding or altering armour on the creature, all it actually doing is giving an armour appearance, which cannot be accessed by a player after the NPC is killed. Maybe this facility is useful in some instances, but it does remove the facility for players to pick up actual armour objects within the game. Therefore, I believe that this section of the toolset can be ignored in most cases.








I recommend that the Armor Set values are not altered in any way on the creature, unless you never intend the player to be able to pick up or have access to the armour object upon the creature. This picture shows the default values upon the same creature shown above that had had its Armor Set values altered.











The Right Way: Make the armour object first and then equip it to the NPC. This, however, invloves some more steps of which the builder must be aware:

1) Use the Armor Set options within the item properties window to design the new armour object. All aspects of the armour can be designed through this section, including armour parts and their colours.

NB: These Armor Set properties for the item look very similar (identicle?) to those with the same name on the creature. Do not confuse which section to work on: Work on the item and not the Creature.




2) Make sure the new armour is actually equipped to the NPC and has replaced any default armour that was equipped with the creature at the time of its default creation. This is done by first adding the newly created armour object to the creatures inventory. Next, remove any currently worn armour (from the right hand pane of the inventory panel) and add the newly designed armour to the right hand pane instead. (Drag armour object from the left-hand pane into the position on the right-hand pane.) Make it droppable. Then, when the NPC enters the world, they will be wearing the new armour and it can be picked up from them by the player.




3) There is one more thing to be careful about, and that is to ensure that the NeverShowArmor property is set to FALSE upon the creature wearing the new armour. If it is set to TRUE, then the NPC will have their armour appearance properties take priority (see above) and even though they wear the new armour object, it will not show in game.













There is one more thing to be aware of when using the toolset to set the appearance of creatures and that is when using the Appearance Wizard when right-clicking on a creature from the blueprint window. Its opening window can be very misleading, as it will initially show the creature wearing any armour that you have equipped on them.











Yet, if you click on the Next button and then use Back to return to the initial screen, it will then show the creature in its natural state without any equipped armour - which is how it should have appeared in the first place! I believe this wizard is to be used in the same way as the Armor Set properties that can be found in the creatures properties. (See above.) Therefore, like my initial reasoning, unless you intend to use this instead of an actual armour object that can be dropped and picked up in the game, then its usage can be avoided.








Here is a picture of the end result, with two guards with two different armour types that will drop the armour to be available in game.

Thursday, 24 January 2008

Tower Lockdown! (ADV)

Week three saw the heroes exploring the lower levels of Torén Norus and having their first encounters with some of its defences. There was a minor glitch with a Golem Guardian having extra attacks during combat, but this was easily sorted during play and has been fixed in TNPatch 0.03. Two other issues raised were not problems in the end:

1) The gargoyles and elf warriors were supposed to appear non-hostile initially. This was to help demonstrate how the lockdown now in place had malfunctioned.

2) The Golem Guardian did not show XP awarded because the DM was controlling it at the time. The XP was still calculated, however, and future rewards will show as usual as the DM will no longer have to possess the Golem due to the code now being fixed.

SYNOPSIS: (SESSION XP: 1375) 17/09/1197

The synopsis is available at the website now! Here is a snippet:

"As Helden responded that the group wished to remain where they were for the time being, something appeared to affect Celad, and his response was one of confusion and a sudden recognition that an evil force had entered the tower. To this end, Celad immediately responded by placing the ancient tower under some sort of magikal lockdown. At once, all spell casters of the group were aware that their magik had been compromised in some way and other members of the group noticed glowing pentacles appear under nearby door frames where they had not been before. Then Caled was gone!"

Wednesday, 16 January 2008

The Breach of Torén Norus (ADV)

The second week back to D&D and the heroes have now managed to gain entrance to Torén Norus. There were a couple of issues in the code this week, but nothing that could not be worked around and fixed in the TNPatch 0.02:

1) The PC names were replaced by an "EMPTY" string within combat and equipping menus. This was due to the module overwriting the PC variable upon a reload and the PC not updating it again due to being in the PC's OnSpawn. I moved this to the OnConversation and all is now well. This problem only occurred due to using a "saved game" option rather than starting afresh from the database.

2) A conversation with Celad Imyn failed to give an "I give up!" option if the PCs ran out of items to give him. During the session, we had to reload and replay this section of the game. Fortunately, this did not take too long to do. I have now added the "I give up!" option to the top conversation menu if the players have offered everything to Celad. This option must be used to reach the conversation that gives the heroes access to the tower.

SYNOPSIS: (SESSION XP: 547) 16/09/1197 - 17/09/1197

NB: An extra 500 XP needs to be added to each PC for gaining entrance to the tower!

The synopsis is available at the website now! Here is a snippet:


"Grimbold paced about the outer edge of the circle, obviously anxious, while Myara was keen to find out what kind of treasures may lay beyond! Karasten tried to dispel the circle with his own magik, but when that failed, Grimbold could not contain himself any longer and decided to risk whatever magik was here for the sake of what lay beyond. At the moment he passed the circle's edge, however, the circle's magik summoned a Bodak! "



And for those players that missed the effect as they entered the tower, here it is again:

Sunday, 13 January 2008

New Areas For A New Era

I started working with the NWN2 toolset with respect to area building today. I have played around with it before, but today was my first "serious" attempt to put together one of the outdoor areas that will be used in the new era for the campaign. It was not easy, but I hope it will become easier as I spend more time using the toolset.

This screenshot shows that the area looks half reasonable, and while it is no piece of artwork, I hope it will be adequate for most people's expectations. I recognise that doing better requires a skill I don't have, and hope it does not detract from the game overall.

NB: This screenshot also shows the larger mini map in play.

Saturday, 12 January 2008

Larger Mini Maps For NWN2

I recently found this very useful UI update by "fire&ice" that allows NWN2 mini-maps to be bigger than their original design. The UI builder has a number of modifications that allow for 120%, 150% or 200% increase in size with larger map pins if required. Furthermore, the mini-map can be made to double in size again while in the game simply by double-clicking on its top bar. This is a really useful addition to the game and I recommend it to all my players. And don't forget to vote if you do use it.

Read more and download it from the Vault here: Larger Minimaps

On the subject of maps, I have improved the quality and enlarged the size of the "Maps Within Maps" video. Check the new video now.

Wednesday, 9 January 2008

The Forsaken Caves (ADV)

The return to D&D got off with a good start with no problems at all with respect to coding or events throughout the session. We played for about two hours, and the heroes made good progress into the next stage of the adventure. My only concern was that we could not hear many of the sounds in the game, as two of the computers I currently use have very noisy fans and they drowned out some of the more useful sounds, like rockfall noises and static for the blue crystal encountered. Overall though, these were minor problems and the game went well. Indeed, the heroes have made such good progress, that they are likely to get to the next area at the next meeting.

I was able to "save" the game and reload without affecting any data, which means I have reduced the chance of database errors. This test did show one variable was out (the player's online count), but I was able to fix this with one Quick Fix Patch to the hak on the server only, which I have found does fix the game for all players who join.
As we move closer to the new style of playing (using NWN2 within the new era upon Althéa), I will begin to worry less about details used in the earlier style of playing. An example of this is the exact timing of the events played. From now on, I will give dates for the adventure only, rather than to the hour. 

SYNOPSIS: (SESSION XP: 316) 15/09/1197 - 16/09/1197
Due to formatting difficulties within this blog, the synopsis has been added to the website and can be found here: Forsaken Caves Synopsis. However, please leave comments at this blog. Here is a snippet:
"The heroes passed into the caves beyond. Immediately it was obvious that they had now entered the once lucrative mines of the Garad-Loons dwarves, as mine carts lay scattered around the caves that were once used to transport ore and equipment. There was the odd useful item like rope, but anything of real worth had been taken already. "

Sunday, 6 January 2008

Soul Shaker In The Spotlight!

I found an old article (7th June 2007) while searching the Vault, which mentioned my module, "Soul Shaker" in a favourable light. The full article can be found here. It was encouraging to read. Here is an excerpt from it:

"Tonight we have a Neverwinter Nights module in the spotlight created by Lance Botelle. Titled "Soul Shaker", this is a SP & MP module with approx 35 hours of gameplay. Set on the Demi-Plane this module sports puzzles, is combat heavy, has a Planar Skill system implemented, and tons of other unique in-game features. This really does look like an amazing module to play, offering tons of new features to give you an excellent gaming experience."

If you are a player of this module and would like to leave a comment, then please do so in the comments sections below.

Slow Start To The New Year

Unfortunately, I have not been able to do much writing since the start of the New Year, as circumstances at home have demanded my attention. Hopefully, that will change soon, and as the year progresses, I hope to be able to return to designing and writing with NWN2.

Today, I made the decision to close the World of Althéa Forums and site users are now directed to this blog to leave any comments.

Plans to play D&D were postponed from last Wednesday's schedule to allow more time for people to return to a more stable timetable after the New Year. Now, the restart should take place next Wednesday 9th January. If all goes to plan, I will have a synopsis of the evening session posted here. I used to post to the website, but this blog seems the more appropriate place now, as it allows players and readers to leave comments if they wish to.

I have managed to play some NWN: HotU with my friend, but other than that, my time at the computer has been spent with work related issues or non-D&D stuff.