Post by kalbaern on Oct 23, 2013 23:23:21 GMT -5
Now that you've finished creating all of your Custom Factions, its time to create a module you'll begin building areas in. Your "Base Builder Module" will not be intended for playing and testing however. Its primary function will be to serve as a small module in which you'll create your placeable pallettes and build maps. Maps, once built will be exported into a "Master Building Module" wherein you'll be adding the actual loot placeables, triggers, encounters, etc... .
This module is for creating areas with non interactive placeables (with the exception of seating or placeables with a viewable description for flavor) in the fastest and most efficient manner.
Why not just use a single module to build, script, etc... in? Efficiency. This module can hold all the custom placeables you'll ever need or desire, but because we are exporting maps into another module, all those thousands and thousands of custom placeables that we'll make here don't pollute our pallettes in our Hosted and Master Build Modules later.
Now to make our module:
- Open the module you created for Factions in the Toolset.
- Under the File Tab (top left of toolset) select Save As and add " - Builder" (omit the quotation marks) to the end of your current module's name and click Save.
- Your module should now reflect the new naming.
If you plan on adding haks, you should do so before preceeding further. Make a few quick test maps with each tileset used for walk testing. Walk tests can be accomplished area by area by simply using the quick Launch Feature (F9) after dropping a start location on the map to test. If you're sure the hak orders will work (used elsewhere/pre-verified), you can skip this phase.
- Delete any test maps and keep just the initial map made when you first created your new module.
Now comes the tedious part. Many will wonder why all the work to come is even neccessary. I'll explain. When creating a new module, one thing to keep an eye on is your total resource count. NWN will not run properly should you ever exceed 16k resources in your module. At around 16.2k, DMs begin crashing upon login. At around 16.5k, lag is prevalent, Players may or may not crash on login or transitioning and most scripts begin to fail.
If you want to see how many resources are being used, with the toolset open, navigate to your NWN Folder, open the Module Folder found there and find a Folder named Temp0. Right click and examine the properties of this folder. The total file count displayed is how many resources you've expended. As you begin to add areas and items and useable placeables and creatures and scripts, you'll see this count quickly growing. This Builder Module is just one tool in your arsenal to slow down that climb.
Resource Counts by Types:
- Areas/Maps = 3 resources each.
- Custom Scripts = 2 resources each.
- Custom Doors on Pallette = 1 resource each.
- Custom Items on Pallette = 1 resource each.
- Custom Creatures on Pallette = 1 resource each.
- Custom Waypoints on Pallette = 1 resource each.
- Custom Triggers on Pallette = 1 resource each.
- Custom Encounters on Pallette = 1 resource each.
- Custom Sounds on Pallette = 1 resource each.
Using the above counts, lets look at how ambitious you might be.
If you want a large expansive module, a 1000 areas is not unthinkable. Thats 3k resources gone, leaving 13k left.
If you want spell/feat modifications along with custom crafting and some decent creature AIs, you'll likely end up with around 3500 scripts. That deducts another 7k in resources and suddenly you've only 6k left suddenly.
Ouch, we wanted 2000 or so custom creatures/NPCs so now we're down to only 4k left to use.
Add in the placeables and items that will be spawned in by DMs, scripts and encounters and ... we're suddenly 14k or so resources used and ... its likely starting to lag in our module more noticeably than in the past. Do we stop expanding? Do we just swap out old areas and creatures for new at times? Or ... do we continue reading and find out all the ways one can build a PW and limit their resource counts, all while expanding a module near endlessly.
Another critical 16k limit is attached to the IG/Toolset Pallettes themselves. Anything found under the Standard Tabs of you pallettes (creatures, triggers, waypoints, doors, encounters, items, etc... ) counts towards your pallette count. There's roughly 3500 pallette entries that are included in a Vanilla NWN Module. Its not uncommon for builders to experience problems because they think their resource count is more than low enough, but later begin crashing their modules or even failing to launch them because there are too many pallette entries when the standard and custom pallettes are totalled. Anything shown on the custom pallettes that is attached to a hak, while it does not count as a resource, still inflates your pallettes and can cause untoward issues. If you use the CEP, you should never add the "cep2_build", "cep2_crp_s" or "cep_add_sb_v1" haks or you'll suddenly find yourself with a mere 8k total pallette entries left to use.
Enough lecturing however. Once you decide which, if any Haks your module will be using, add them in the desired/required orders and we'll begin.
Because adding haks will differ from module to module (even with just the CEP sometimes) I'll not be making a specific post or a "How to Add Haks:" section. If folks have questions, I'll do my best to help on a case by case basis though.
Making Placeables:
- First select a couple of random placeables from the Standard Pallette and place them in your starter area.
- After dropping a couple onto your map, right click on them and open the properties window for each one. You'll notice something important is missing. The vast majority of default placeables do not have their Plot box check marked.
When building a module, especially a module that will one day be large and a home to many players (tis always the hope), its critical we do all we can from day one to reduce overhead.
Setting Placeables to Plot and Static is a big, big, big way to lower overhead across the board.
Setting placeables as Plot means the game engine will treat them as part of the tileset, at least aaaaas regards pathfinding for both PCs and NPCs. It also means the placeables are indestructable. Errant Fire Balls and Hell Balls won't erase your key map features. Since Plot set placeables cannot be damaged, it means fewer things for the game engine to keep track of while the module is running.
Setting placeables as Static, which most of the default ones already are also reduces lag. When a placeable is not set as Static, its appearance data is only transmitted as a PC comes into perception range of it. Additionally, as PCs move about a map, they can leave and enter this range several times triggering the server to send a constant stream of updates to clients/players. Depending on connection speeds, server bandwidth, clients video cards and whether or not NPCs have combat AIs firing, this all adds to a higher CPU load for the server. In other words, it'll get laggy much sooner and high resolution textures on many placeables will cause visable hitching in game. Setting placeables as Static means that their appearance data is only sent once. The data gets sent as a PC transitions into the map itself. While this adds slightly to the time it takes for a PC to load into a new area, once in it, no further data needs sent and the game engine is free to do more important stuff.
While a builder could just use default placeables and "fix" the Plot/Static settings as needed, doing this map by map throughout a whole module is tedious and in the end, you'll have lost far, far, far more time than if you'd first spent a few days making all new custom placeables from scratch.
How many placeables will you need?
Most builders are in too big of a hurry. They'll see making thousands of new placeables as wasteful and cutting into their actual building time. Its not. Even if you have the CEP and a dozen other haks that add even more placeable appearances, going through them and creating all the ones you'll most likely ever use does save time. It saves a huge amount of time actually.
Making a placeable from scratch:
- Selct the Placeable Pallette and then click on the Custom Tab.
- Right click over any of the category names and select New.
- Highlight any Category for now as we don't know what we're making yet and click Next.
- Enter the Name for our placeable. Since its a template, lets call it "template", then click Finish. Do not check mark the Launch Properties Dialog box.
- Our "template" should have appeared under a category and is displayed now. Find it and right click on it, then select Edit Copy.
- If no haks are in use, the editting window which opens will show an Armoire. CEP will usually become an "invisible object".
- Left click the Appearance Type window and scroll or click through a few variants to get an idea of how to set appearances, then reset the appearance to the first type begining with an "A". Armoire for Bioware and Academic: Chalboard if using the CEP.
- Click on the Name Field next and enter the name you wish to see on the pallette for the appearance selected. I further suggest prefixing all names with an "*" or "+" as well. This will help you double check areas made by other builders later as any placeables found in each areas listing that lack those symbols would be immediately suspect.
- Click on the Tag Field and enter "placeable" as its Tag.
- Check mark the Plot and Static boxes.
- Open the Scripts Tab and verify that no Event Fields have scripts attached. If any do, delete/blank them out.
- Click the Advanced Tab. Set the Blueprint ResRef Field as "plc".
- Verify that the Belongs to Faction Group Field is set as "Hostile".
- The Portrait Field can be left blank, though might be auto-filled depending on which if any haks are being used. Since our placeable is set as Plot and Static, no one will see the portraits IG anyhow.
- Click the Description Tab. Delete any descriptions if they exist. Like portraits, no one can see them anyhow.
- Click the Comments Tab. This should also be blank.
- Click on the Basic Tab. Click the "..." to the right of the Category Window and High Light the category heading you wish to put you placeable under then click OK.
- Click OK in the Properties Window and your new placeable should appear under the category you just chose.
You have your first "real" placeable now. Time to make the rest.
- Find the placeable you just created in the pallette and right click its name. Select Edit Copy and you'll open a new window.
- Now it gets easier. Click on the Appearance Type Window and select the next appearance below this one.
- Go to the Name Field and update the name to match this new appearance.
- Click on the advanced Tab. Your previous Blueprint ResRef was "plc". This one should have auto-numbered and be set as "plc001". Each time you do an Edit Copy, the toolset will autoset the ResRef by increments of 1. I.e., "plc001" will become "plc002", which becomes "plc003" and so on.
- Click on the Basic Tab. If the appearance fits the current category, click OK. If not, change the pallette category first.
Now you have 2 custom placeables. Just do this until you've created all the placeables you're likely to use in building.
Quirks that will arise:
- If you create too many placeables without saving your module, you risk crashing or locking up the toolset and losing everything accomplished since you last saved. I reccomend that after every 10 to 12 placeables created, that you save your module.
- At some point while you have the toolset opened, you'll lock up your computer, have a power outage, spill a coke on your keyboard or something else will interupt your toolset while running. When you get it sorted and restart the toolset, you'll likely see a message saying "something" happened and "would you like to recover the previous module?". Always, always, always click "NO". You never, ever want to try and recover a module. If it wasn't corrupted already, the recovery process itself is likely to make it corrupt. Select NO, then load the module as normal. You'll only have lost whatever had been done between your last save and the crash/lock up.
- Occassionally, when you make an Edit Copy, you'll see that the Static box has become unchecked. When this happens, cancel out of your edit and reopen the last placeable you created. You'll likely see that not only is it now unchecked (the Static box), but greyed out as well. This means that there is a texture attached and possibly animations that refuse to be set as Static. We can still work around this. Check mark the Useable box, then check mark the now available Static box. Then add an extra "*" or "+" to the prefix in the Name Field so you know at a glance later that this is a placeable which is being "forced" into Static mode. Click OK when done. Now, continue your Edit Copying as before. Instead of doing an Edit Copy of the placeable we've just "forced" as Static, use a prior one to edit this time. Your toolset should still add the correct autonumbering in the Blueprint ResRef Field. If the next and next new placeables have the same issues, just be patient and repeat the above process, the majority of appearances will work normally and its mainly select appearances from Bioware's 1.69 update that have this issue along with a few found in the CEP that are just variants of the Bioware ones.
- There are a few exceptions to the Plot/Static rules. Placeables that have animations attached (campfires, mythalls, various illuminated lighting, VFXs) shouldn't be set as Static, even if they seem to set without being forced. Forcing a few, namely the "mythals", can cause a module to crash. Others might cause some players to crash (often depends on video carfds/drivers). So anything that glows, sparkles or has other animations I generally do not set as Static. Instead, I merely set them as Plot and then in the Name Field after their name I add (animated) as a suffix. This way I know at a glance how many animations, etc... I'm adding to the map and try and limit them to keep client-side lag low for those with less than optimal graphics abilities.
- You don't need to make one of every possible placeable. There are bound to be a few (or alot) that you'll never use for one reason or another. Worse case scenario, you just add missing ones down the road if you need them. In my own own case, I use around 6,000 preset placeables for building out of around 12,000 options available to me from Bioware, the CEP and my other custom haks.
Once all/most placeables have been made, you'll be ready for the more exciting parts of module construction. don't short cut here if you can help it though. Making your placeables in advance is far more efficient than editting them inplace in each area.
This module is for creating areas with non interactive placeables (with the exception of seating or placeables with a viewable description for flavor) in the fastest and most efficient manner.
Why not just use a single module to build, script, etc... in? Efficiency. This module can hold all the custom placeables you'll ever need or desire, but because we are exporting maps into another module, all those thousands and thousands of custom placeables that we'll make here don't pollute our pallettes in our Hosted and Master Build Modules later.
Now to make our module:
- Open the module you created for Factions in the Toolset.
- Under the File Tab (top left of toolset) select Save As and add " - Builder" (omit the quotation marks) to the end of your current module's name and click Save.
- Your module should now reflect the new naming.
If you plan on adding haks, you should do so before preceeding further. Make a few quick test maps with each tileset used for walk testing. Walk tests can be accomplished area by area by simply using the quick Launch Feature (F9) after dropping a start location on the map to test. If you're sure the hak orders will work (used elsewhere/pre-verified), you can skip this phase.
- Delete any test maps and keep just the initial map made when you first created your new module.
Now comes the tedious part. Many will wonder why all the work to come is even neccessary. I'll explain. When creating a new module, one thing to keep an eye on is your total resource count. NWN will not run properly should you ever exceed 16k resources in your module. At around 16.2k, DMs begin crashing upon login. At around 16.5k, lag is prevalent, Players may or may not crash on login or transitioning and most scripts begin to fail.
If you want to see how many resources are being used, with the toolset open, navigate to your NWN Folder, open the Module Folder found there and find a Folder named Temp0. Right click and examine the properties of this folder. The total file count displayed is how many resources you've expended. As you begin to add areas and items and useable placeables and creatures and scripts, you'll see this count quickly growing. This Builder Module is just one tool in your arsenal to slow down that climb.
Resource Counts by Types:
- Areas/Maps = 3 resources each.
- Custom Scripts = 2 resources each.
- Custom Doors on Pallette = 1 resource each.
- Custom Items on Pallette = 1 resource each.
- Custom Creatures on Pallette = 1 resource each.
- Custom Waypoints on Pallette = 1 resource each.
- Custom Triggers on Pallette = 1 resource each.
- Custom Encounters on Pallette = 1 resource each.
- Custom Sounds on Pallette = 1 resource each.
Using the above counts, lets look at how ambitious you might be.
If you want a large expansive module, a 1000 areas is not unthinkable. Thats 3k resources gone, leaving 13k left.
If you want spell/feat modifications along with custom crafting and some decent creature AIs, you'll likely end up with around 3500 scripts. That deducts another 7k in resources and suddenly you've only 6k left suddenly.
Ouch, we wanted 2000 or so custom creatures/NPCs so now we're down to only 4k left to use.
Add in the placeables and items that will be spawned in by DMs, scripts and encounters and ... we're suddenly 14k or so resources used and ... its likely starting to lag in our module more noticeably than in the past. Do we stop expanding? Do we just swap out old areas and creatures for new at times? Or ... do we continue reading and find out all the ways one can build a PW and limit their resource counts, all while expanding a module near endlessly.
Another critical 16k limit is attached to the IG/Toolset Pallettes themselves. Anything found under the Standard Tabs of you pallettes (creatures, triggers, waypoints, doors, encounters, items, etc... ) counts towards your pallette count. There's roughly 3500 pallette entries that are included in a Vanilla NWN Module. Its not uncommon for builders to experience problems because they think their resource count is more than low enough, but later begin crashing their modules or even failing to launch them because there are too many pallette entries when the standard and custom pallettes are totalled. Anything shown on the custom pallettes that is attached to a hak, while it does not count as a resource, still inflates your pallettes and can cause untoward issues. If you use the CEP, you should never add the "cep2_build", "cep2_crp_s" or "cep_add_sb_v1" haks or you'll suddenly find yourself with a mere 8k total pallette entries left to use.
Enough lecturing however. Once you decide which, if any Haks your module will be using, add them in the desired/required orders and we'll begin.
Because adding haks will differ from module to module (even with just the CEP sometimes) I'll not be making a specific post or a "How to Add Haks:" section. If folks have questions, I'll do my best to help on a case by case basis though.
Making Placeables:
- First select a couple of random placeables from the Standard Pallette and place them in your starter area.
- After dropping a couple onto your map, right click on them and open the properties window for each one. You'll notice something important is missing. The vast majority of default placeables do not have their Plot box check marked.
When building a module, especially a module that will one day be large and a home to many players (tis always the hope), its critical we do all we can from day one to reduce overhead.
Setting Placeables to Plot and Static is a big, big, big way to lower overhead across the board.
Setting placeables as Plot means the game engine will treat them as part of the tileset, at least aaaaas regards pathfinding for both PCs and NPCs. It also means the placeables are indestructable. Errant Fire Balls and Hell Balls won't erase your key map features. Since Plot set placeables cannot be damaged, it means fewer things for the game engine to keep track of while the module is running.
Setting placeables as Static, which most of the default ones already are also reduces lag. When a placeable is not set as Static, its appearance data is only transmitted as a PC comes into perception range of it. Additionally, as PCs move about a map, they can leave and enter this range several times triggering the server to send a constant stream of updates to clients/players. Depending on connection speeds, server bandwidth, clients video cards and whether or not NPCs have combat AIs firing, this all adds to a higher CPU load for the server. In other words, it'll get laggy much sooner and high resolution textures on many placeables will cause visable hitching in game. Setting placeables as Static means that their appearance data is only sent once. The data gets sent as a PC transitions into the map itself. While this adds slightly to the time it takes for a PC to load into a new area, once in it, no further data needs sent and the game engine is free to do more important stuff.
While a builder could just use default placeables and "fix" the Plot/Static settings as needed, doing this map by map throughout a whole module is tedious and in the end, you'll have lost far, far, far more time than if you'd first spent a few days making all new custom placeables from scratch.
How many placeables will you need?
Most builders are in too big of a hurry. They'll see making thousands of new placeables as wasteful and cutting into their actual building time. Its not. Even if you have the CEP and a dozen other haks that add even more placeable appearances, going through them and creating all the ones you'll most likely ever use does save time. It saves a huge amount of time actually.
Making a placeable from scratch:
- Selct the Placeable Pallette and then click on the Custom Tab.
- Right click over any of the category names and select New.
- Highlight any Category for now as we don't know what we're making yet and click Next.
- Enter the Name for our placeable. Since its a template, lets call it "template", then click Finish. Do not check mark the Launch Properties Dialog box.
- Our "template" should have appeared under a category and is displayed now. Find it and right click on it, then select Edit Copy.
- If no haks are in use, the editting window which opens will show an Armoire. CEP will usually become an "invisible object".
- Left click the Appearance Type window and scroll or click through a few variants to get an idea of how to set appearances, then reset the appearance to the first type begining with an "A". Armoire for Bioware and Academic: Chalboard if using the CEP.
- Click on the Name Field next and enter the name you wish to see on the pallette for the appearance selected. I further suggest prefixing all names with an "*" or "+" as well. This will help you double check areas made by other builders later as any placeables found in each areas listing that lack those symbols would be immediately suspect.
- Click on the Tag Field and enter "placeable" as its Tag.
- Check mark the Plot and Static boxes.
- Open the Scripts Tab and verify that no Event Fields have scripts attached. If any do, delete/blank them out.
- Click the Advanced Tab. Set the Blueprint ResRef Field as "plc".
- Verify that the Belongs to Faction Group Field is set as "Hostile".
- The Portrait Field can be left blank, though might be auto-filled depending on which if any haks are being used. Since our placeable is set as Plot and Static, no one will see the portraits IG anyhow.
- Click the Description Tab. Delete any descriptions if they exist. Like portraits, no one can see them anyhow.
- Click the Comments Tab. This should also be blank.
- Click on the Basic Tab. Click the "..." to the right of the Category Window and High Light the category heading you wish to put you placeable under then click OK.
- Click OK in the Properties Window and your new placeable should appear under the category you just chose.
You have your first "real" placeable now. Time to make the rest.
- Find the placeable you just created in the pallette and right click its name. Select Edit Copy and you'll open a new window.
- Now it gets easier. Click on the Appearance Type Window and select the next appearance below this one.
- Go to the Name Field and update the name to match this new appearance.
- Click on the advanced Tab. Your previous Blueprint ResRef was "plc". This one should have auto-numbered and be set as "plc001". Each time you do an Edit Copy, the toolset will autoset the ResRef by increments of 1. I.e., "plc001" will become "plc002", which becomes "plc003" and so on.
- Click on the Basic Tab. If the appearance fits the current category, click OK. If not, change the pallette category first.
Now you have 2 custom placeables. Just do this until you've created all the placeables you're likely to use in building.
Quirks that will arise:
- If you create too many placeables without saving your module, you risk crashing or locking up the toolset and losing everything accomplished since you last saved. I reccomend that after every 10 to 12 placeables created, that you save your module.
- At some point while you have the toolset opened, you'll lock up your computer, have a power outage, spill a coke on your keyboard or something else will interupt your toolset while running. When you get it sorted and restart the toolset, you'll likely see a message saying "something" happened and "would you like to recover the previous module?". Always, always, always click "NO". You never, ever want to try and recover a module. If it wasn't corrupted already, the recovery process itself is likely to make it corrupt. Select NO, then load the module as normal. You'll only have lost whatever had been done between your last save and the crash/lock up.
- Occassionally, when you make an Edit Copy, you'll see that the Static box has become unchecked. When this happens, cancel out of your edit and reopen the last placeable you created. You'll likely see that not only is it now unchecked (the Static box), but greyed out as well. This means that there is a texture attached and possibly animations that refuse to be set as Static. We can still work around this. Check mark the Useable box, then check mark the now available Static box. Then add an extra "*" or "+" to the prefix in the Name Field so you know at a glance later that this is a placeable which is being "forced" into Static mode. Click OK when done. Now, continue your Edit Copying as before. Instead of doing an Edit Copy of the placeable we've just "forced" as Static, use a prior one to edit this time. Your toolset should still add the correct autonumbering in the Blueprint ResRef Field. If the next and next new placeables have the same issues, just be patient and repeat the above process, the majority of appearances will work normally and its mainly select appearances from Bioware's 1.69 update that have this issue along with a few found in the CEP that are just variants of the Bioware ones.
- There are a few exceptions to the Plot/Static rules. Placeables that have animations attached (campfires, mythalls, various illuminated lighting, VFXs) shouldn't be set as Static, even if they seem to set without being forced. Forcing a few, namely the "mythals", can cause a module to crash. Others might cause some players to crash (often depends on video carfds/drivers). So anything that glows, sparkles or has other animations I generally do not set as Static. Instead, I merely set them as Plot and then in the Name Field after their name I add (animated) as a suffix. This way I know at a glance how many animations, etc... I'm adding to the map and try and limit them to keep client-side lag low for those with less than optimal graphics abilities.
- You don't need to make one of every possible placeable. There are bound to be a few (or alot) that you'll never use for one reason or another. Worse case scenario, you just add missing ones down the road if you need them. In my own own case, I use around 6,000 preset placeables for building out of around 12,000 options available to me from Bioware, the CEP and my other custom haks.
Once all/most placeables have been made, you'll be ready for the more exciting parts of module construction. don't short cut here if you can help it though. Making your placeables in advance is far more efficient than editting them inplace in each area.