Author Topic: Paying attention to the little things when building matters!  (Read 961 times)

Legacy_Nissa_Red

  • Full Member
  • ***
  • Posts: 121
  • Karma: +0/-0
Paying attention to the little things when building matters!
« on: March 15, 2013, 09:15:13 am »


               Spice of life is in the little things, yes ^.^ ?

So with that in mind, I come to you with a couple of observations that I've made of small things which in my opinion have the potential to make our games more enjoyable on the long run if we paid more attention to them as builders and cc creators. Please feel free to contest, or contribute to them :

1/ making it so that sounds conform to the material that is being used. Walking on something, interacting with or hitting something, and not hearing the sound that we would expect in our real lives, can be very counter-productive, especially to players with the more musical ear among us.

2/ coming up with more materials soundsets isn't a route that has been widely explored, and would be awesome. The options are near endless : glass, ceramic, food, bones, paper, plastic, rubber, etc., on creatures, placeables, footstep sounds, weapons, etc. Project Q already offers improved SFX'es in their latest rendition (and how refreshing that is!), but more are always welcome. I intend to contribute in that department as well in time.

3/ making efforts to reduce the gap with historical disbelief, as much at it may sound like a weird concept in mostly 100% fantasy worlds. Each time I enter a BW interior, I can't help but think that it really wouldn't have hurt them to have hired some history-savvy people on their teams (or were they just busy replicating mostly modern US architecture designs all over Faerun ?). I don't want to enter the debate of what is historical and what not. Each builder is completely free to imagine their world as they see fit of course, but Six' and Cervantes' (I think) thatched home interiors in Project Q for example, despite seeming relatively simple and sparse, are so much more convincing homes to live in for people that still may use swords and daggers to defend their families, or horses as fastest non-magical vehicle to move from one point to another, that I would like to encourage more builders to read about history and (especially) use these fine tiles when appropriate. For the exteriors, look no further than recent releases of quality with Six's Wildlands or Zwerkules's Medieval city.

4/ watching that our creatures use the proper racialtypes, sizes, blood types, and (of course) appearancesndset settings. Some would even add to these the right stats, and creature abilities. As a builder, it almost seems to me like an affront to the original cc artist to neglect these in favor of simply pointing at the right appearance in the template, and call it a job done. Unfortunately, most "compilations" or "mergers" are a bane to such level of detail, which is why I learned to shy away from most of them with time.

5/ checking that clothes and weapons have inventory icons (thank you, SpiritedLass!, no further comments ^.^), that placeables in our modules come with proper use nodes (that's very easy to fix, even for relatively novice builders), that metallic weapons or helms have the proper reflective environment maps (sometimes erased by lazy 2DA copy/pasting), etc.

6/ designing tiles or placeables with walls or trees that allow our rangers and rogues to hide behind. I noticed that trees almost never get more attention from cc artists than a flat no-walk plane at their base. That is something which I can "fix" easily, so I don't want to request or insist on it too much, should it appear as a purely personal preference, but I wonder why it is ? Yes, there will be more "OnPerceive" events fired, but isn't it secondary to the point of a forest or a city with alleys allowing rangers or rogues to feel at "home" ?

7/ last, but not least, a little pet peeve of mine : visible texture/lighting seams in tilesets. Have a look at this desert screenshot (CTP Babylon), and then the next one (CTP Babylon) :

'Posted
(click to get an enlarged version)

'Posted
(click to get an enlarged version)

The same happens in Project Q's desert by the way :

'Posted
(click to get an enlarged version)

so I am sure it's no trivial matter to fix, if it's even fixable at all. As a builder, this prevents me from using these tileset features, or even whole tilesets, like Bloodmonkey's Rocky mountains, because to me (and most of my players) it really kills the quality of the rest. Now I understand NWN uses tile-based environments and is very much subject to this. LordRosenkrantz managed to effectively hide these horrible "seams" (if I can call them so, since they are not seams as visible gaps in the geometry, but rather in the lighting) in his mountain tileset thanks to great texturing, but as soon as someone attempts retextures (in a winter or desert environment, for example) they would instantly appear again. Knowing the level of expertise of both the CTP and PJQ teams, and having inspected the tiles myself to search for missing smoothing groups or some such and not finding any obvious culprit, I wonder if there is something that could be done. Maybe Bannor, Six, Zwerkules or another tileset guru could shed some light on this for us (or at least me) ?

That's it for now.

Please be safe, all.
               
               

               


                     Modifié par Nissa_Red, 15 mars 2013 - 09:15 .
                     
                  


            

Legacy_Bannor Bloodfist

  • Hero Member
  • *****
  • Posts: 1578
  • Karma: +0/-0
Paying attention to the little things when building matters!
« Reply #1 on: March 15, 2013, 10:35:19 pm »


               A reply to question 7 only:
You can not accomplish what you are asking for.  Not really.  The problem is two fold and no one has found answer for EITHER of those problems.

1) Aurora auto=rotates tiles.
2) Aurora ONLY rotates ALL textures on a given tile to the same direction. Unless you override this setting nbd pick any SINGLE texture, Aurora will then auto-rotate all textures it paints on THAT tile in the same direction as the first object using that texture in whaever area you are building.

So. for example if you had a road texture, with two wheel routes dug into it, when you first paint that tile, the road may be pointing up or sideways.  If you alt-click etc to get the various choices you still only get two basic variations.  So, you can paint a row of tiles that all point their road piece upwards, but that is going to look like someome started - re-started and re-re-restarted a road and only stopped one tile wide. (Obviously not what you wanted) or you can paint that same time in the alternate position, and get a continuous road.

This applies to whatever texture you choose to paint, but primarily affects what gets chosen for the ground texture.  Seamless texture in photoshop seems to be what you want, but it truly doesn't create seamless texture.  You end up with a texture that leans/points in a single direction.  When Aurora auto-rotates you completely lose the seamlessness that photoshop creates.

Believe me, we tried everything we could think of for Babylon.  It can NOT be accomplished the way the toolset and game engine paints the tiles.

p.s. Edit:  Yes, it is related to how the engine uses lighting as well.  The only real way to avoid the issue is to create a tileset using only groups. and force the builder to rotate all the groups in the same direction.
               
               

               


                     Modifié par Bannor Bloodfist, 15 mars 2013 - 10:38 .
                     
                  


            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Paying attention to the little things when building matters!
« Reply #2 on: March 15, 2013, 10:57:41 pm »


               

Nissa_Red wrote...

that placeables in our modules come with proper use nodes (that's very easy to fix, even for relatively novice builders)

can yo point me how? I recently come upon few placeables with bad ude node causing massive pathfinding lags etc. and would like to fix it, from what I read on several tutorials it seems I need 3dsmax for this, havent seen other tool to produce/modify pwks.

If there is easy way a notepad modeller like me can do it i would be grateful, right now this is most critical problem on my to fix list...
               
               

               
            

Legacy_Rolo Kipp

  • Hero Member
  • *****
  • Posts: 4349
  • Karma: +0/-0
Paying attention to the little things when building matters!
« Reply #3 on: March 15, 2013, 11:17:25 pm »


               <fumbling about...>

A simple, if somewhat blind, method would simply be to alter the x and/or y value of the usenode (in the *.pwk file) so it is sure to be beyond the envelope of the pwk.

Ex: if the pwk contains


node dummy a01_pwk_use01
  parent cherry_pwk
  position 0.0 0.0 0.0
  orientation 1.0 0.0 0.0 0.0
  wirecolor 0.105882 0.694118 0.580392
endnode

You might change
"position 0.0 0.0 0.0"
to
"position 0.0 1.0 0.0" (y=1.0meters) to be sure the use01 node is outside the pwk.

<...in the dark>
               
               

               
            

Legacy_ShadowM

  • Hero Member
  • *****
  • Posts: 1373
  • Karma: +0/-0
Paying attention to the little things when building matters!
« Reply #4 on: March 15, 2013, 11:58:15 pm »


               I can reply to 4, I have made some custom changes to the appearance.2da and my scaling function so now you can set any creature to any scale and to any size from D&D (this will changes there stats according to D&D rules. NWN creaturesize.2da does not recognize the custom sizes and treat them as medium. It kinda hard to explain and it not perfect I had to add bonuses and penalties for the custom sizes but it will allow you to easily make all sizes of creatures pretty easily graphically bigger/smaller and by rules. '<img'>
               
               

               
            

Legacy_Tiberius_Morguhn

  • Sr. Member
  • ****
  • Posts: 396
  • Karma: +0/-0
Paying attention to the little things when building matters!
« Reply #5 on: March 16, 2013, 03:28:55 am »


               I'm having trouble with the use node as well ShadoOow.  Even following Nissa's origianl remarks in another thread that Rolo reiterated here, I still have some placeables that insist on using the geometric center at ground level as the use node.  I have remade some mine carts that actually fit the track width of the Biomines (and Zwerk's awesome retexture) but to be able to use them is simply not working.  Grrr.
               
               

               
            

Legacy_Master Jax

  • Hero Member
  • *****
  • Posts: 618
  • Karma: +0/-0
Paying attention to the little things when building matters!
« Reply #6 on: March 16, 2013, 06:18:56 am »


               I have a question... whenever a creature appears for the first time, we would be talking about an OnSpawn event, right? And whenever it goes away from point of view and re-enters, that would be an OnPercieve event, right?

So, what kind of problem would cause every OnSpawn event to freeze the game momentarily, while not affecting OnPercieve events. I would be interested on how this could even happen on a high end rig and even on a clean-install.
               
               

               
            

Legacy_Bannor Bloodfist

  • Hero Member
  • *****
  • Posts: 1578
  • Karma: +0/-0
Paying attention to the little things when building matters!
« Reply #7 on: March 16, 2013, 09:30:55 am »


               The very first time a creature/npc or object is loaded by the game, the game opens the related file(s) and "compiles" them to fit the engine dynamics.  This is really apparent using horses, but will show up more and more as you load more detailed creatures, objects, tilesets etc.  

For tile-sets, it also affects groups loading etc, the first time a specific group is loaded in an area, that entire group must be loaded and compiled.

After that initial load, the object/creature/group whatever, stays loaded in a cache memory location and thus loads faster.  This was heavily tested and proven with DLA during the development of horses and WCoC.

Since NWN is a 16bit app that has been ported into/onto 32 bit and 64 bit operating systems, you really can NOT use all that extra ram for it.  It only can recognize so much.
               
               

               
            

Legacy_Randomdays

  • Sr. Member
  • ****
  • Posts: 336
  • Karma: +0/-0
Paying attention to the little things when building matters!
« Reply #8 on: March 16, 2013, 09:35:27 am »


               Nissa, for #6, how would you do that? Would you use a 3D shape for the pwk instead of a plane?

Jax, I usually see the freeze on encounter spawn events, not so much for a spawn due to a spell or script. For the encounter, from what I've read, when the encounter fires, the game has to calculate the cr of the pc/party, number of creatures to spawn and the most demanding action, where to put them. If the encounter doesn't have a spawn point set, it will spawn inside the encounter area farthest from the triggerer. With spawn points, it will try to spawn at a spawn point out of sight of the triggerer. No spawn points, or too many, can cause the game to pause as it decides where to place them. Also, when spawning, each creature will also fire off scripts like creating items on the creature, setting things like stealth mode, etc.

Not sure if this helps or if its what your asking for, but there's a lot more going on with a spawn than with a perceive.
               
               

               
            

Legacy_Nissa_Red

  • Full Member
  • ***
  • Posts: 121
  • Karma: +0/-0
Paying attention to the little things when building matters!
« Reply #9 on: March 16, 2013, 10:41:40 am »


               I would like to thank everyone for taking some of their time to reply to these observations. It's truly a boon as a builder to know that not only we're lucky enough to receive all these fine creations/contributions of you cc artists to play with, but that also that their creators care enough about them that they wish to support them.

So without any further delay, here is how I proceed to add missing "use nodes" on placeables, without ever touching GMax/NWmax, even if it's of course strongly recommended to do so in a second time, be it only to check if the model is otherwise "valid" and that your "use nodes" are properly positioned.

I will take the example of the trebuchet, coming from this hakpack (full credits to Some_Ux for the original model, and to NWC Snake for the animations).

The placeable lacks proper "use nodes", which unfortunately makes it all but useless once in game : your player character will helplessly bump against it while trying to use it, which is funny, mind you, but probably only for a while ^.^ It has other issues one can only see in GMax/Nwmax (unwelded vertices, missing/redundant animations keys), but for the purpose of this short tutorial, I'll stick to my initial goal, and only ever use notepad++, and only suggest fixes to "use nodes". You may of course use whatever text editor has your preference.

1/ export the placeable model with its pwk from the original hakpack
-> we will get two files : "PLC_trebuch.mdl" and "plc_trebuch.pwk"

2/ decompile them if needed (with NwnMdlComp)
-> in our case, they already come as ASCII files, so it's not needed

3/ open the model file and rename all the internal references from "PLC_trebuch" to something that fits the format recommended by Bioware :
-> <prefix>_<suffix>, with total length NOT exceeding 12 characters
-> I chose "plcsiege_a01"

4/ rename the file itself
-> we now have a first file called "plcsiege_a01.mdl", with all internal references matching

5/ do the same for the pwk file
-> we now have a second file called "plcsiege_a01.pwk", with all internal references matching

6/ in your pwk file, add the following lines at the very end of it :

node dummy a01_pwk_use01
  parent plcsiege_a01_pwk
  position 1 -0.5 0.7
  orientation  0.0 0.0 0.0  0.0
  wirecolor 0.878431 0.341176 0.560784  
endnode
node dummy a01_pwk_use02
  parent plcsiege_a01_pwk
  position -1 -0.5 0.7
  orientation 0 0 0 0
  wirecolor 0.878431 0.341176 0.560784
endnode

I don't think that the "wirecolor" reference really matters, so pick whatever you like. Notice the format of the "use node" name however DOES matter. If you followed what I was saying at point 3/ (and I hope you did ^.^), getting the name of the "use nodes" is the result of a simple substitution :

- model name : <prefix>_<suffix> = plcsiege_a01
- use node name : <suffix>_pwk_use<index> = a01_pwk_use01 (for the first index)

Ignore the "red" part, switch the "green" part from suffix to prefix, and add the "yellow" part at the end.

-> see below the hierarchy of the Bioware "Armoire" placeable as a further illustration.
'Posted
(click to enlarge)

8/ Alter the values after the "position" reference to fit whatever seems fit for the placeable. Values come as measured in meters from the placeable base, and in an X, Y, Z order. In the case of the trebuchet, I chose two "use nodes" on each side of it, at the level of a human hand (so that the player character doesn't look down when it looks at the placeable) :

position 1 -0.5 0.7 -> at X = 1m, Y = -0.5m and Z = 0.7m height level from the placeable base (ground level usually)

9/ Add the new placeable to your "placeables.2da" file, then to your hakpack, and see what it gives in game.

PS : I hope this will work. This is my first time using the Bioware forum project features, so please be kind to me if it doesn't. I promise to fix whatever I can, and if it really doesn't work, I'll just switch back to Google documents or whatever. This forum and me aren't really used to cooperate >.<
               
               

               


                     Modifié par Nissa_Red, 16 mars 2013 - 10:48 .
                     
                  


            

Legacy_Nissa_Red

  • Full Member
  • ***
  • Posts: 121
  • Karma: +0/-0
Paying attention to the little things when building matters!
« Reply #10 on: March 16, 2013, 11:36:23 am »


               @Bannor

Aww, okay.

I think I understand what you say about the engine rotating the texture to match the "direction" of the tile which needs to fit in with the other tiles. Believe me, it's among the first things I've explored (among others, like smoothing groups), even if it would have surprised me to find any default related to it in a CTP tileset. Not stating that the CTP is perfect (nothing ever is, unfortunately), but I have learned to expect high quality from it.

Please accept my praise, it's really deserved and genuine ^.^

I also understand that "groups" of tiles do not follow the same logic as standard tiles, in that they they have an "internal" orientation, so my example with that dune group wasn't perhaps the best, but I could easily produce other examples in other tilesets.

About seamless textures, yes, we agree again. No texture will ever be 100% seamless, unless you made it of a plain color I guess. However, the effect, whenever it happens, is so pronounced in my experience, and the base ground texture usually so "simple", that I wondered if it could be related to incorrect UV map settings. Taking the same texture covering a flat ground, and painting over a geometry that transitions from ground to raised, it's intuitve to understand that it's stretched (hence altered, and needing mapping to return to the same "granularity" than the ground level texture).

Yet again, I saw nothing wrong, even if I am far from being "autonomous" in that field, and prefer your opinion as valid over mine.

Bioware tiles have no transitions from ground level to raised level to speak of. Their geometries are extremely "blocky" as a whole, with plenty of 90° angles everywhere, which makes it easier on the texturing job. There is however a "ramp" feature, which I inspected next. Also, I returned to "CTP Babylon" which has some fantastic dunes crossers, which do not display that horrible seam. If they do, the effect remains in a very acceptable range to me.

'Posted
(click to enlarge)

'Posted
(click to enlarge)

So why is it that in both cases, BW's ramp and Babylon's dunes, the seam effect is not noticeable, and in the other cases it is ? Is it the lighting (ambient, specular, selfillum didn't seem to differ) ? Something in the UV mapping or smoothing groups I'm missing ?

While I understand that in some extreme cases, like Bloodmonkey's rocky mountains, more or less followed by LordOfWorms' and Senemenelas' rocky terrain, we will never be able to fix the visible seams because the angles on each side of the meshes are so steep, but other attempts at producing hills/mountains do not produce these visible artefacts. Proper texturing helps alot of course (see LordRosenkrantz's mountain tileset), but again, why do Babylon's dunes mesh in perfectly, and Project Q's don't ?

I blame it on OTR, but I've grown fairly rebellious towards the limits of the Aurora engine now.

There has to be something, please help me finding it ^.^
               
               

               


                     Modifié par Nissa_Red, 16 mars 2013 - 11:43 .
                     
                  


            

Legacy_Pstemarie

  • Hero Member
  • *****
  • Posts: 4368
  • Karma: +0/-0
Paying attention to the little things when building matters!
« Reply #11 on: March 16, 2013, 12:00:13 pm »


               I see a lot of references here and elsewhere in these forums to "notepad modelers". With the exception of swapping bitmaps, changing parameters for emitters, duping animations, and other rudimentary tasks, using Notepad to edit models requires a certain level of pre-existing expertise most new modelers do not possess. Granted not everyone can afford 3DS Max, but everyone can certainly afford GMax which is FREE.

Although limited compared to 3DS Max, GMax is more than capable of modifying and creating models for NWN. To specifically address Shadoow's comment - You CAN use GMax to edit pwks by editing the mesh attached to the pwk node.

Shadoow, you really ought to get GMax. You're a great scripter and with your at times insane attention to details, you'd make an excellent modeler.
               
               

               


                     Modifié par Pstemarie, 16 mars 2013 - 04:30 .
                     
                  


            

Legacy_Nissa_Red

  • Full Member
  • ***
  • Posts: 121
  • Karma: +0/-0
Paying attention to the little things when building matters!
« Reply #12 on: March 16, 2013, 12:07:48 pm »


               @ShadowM

That sounds reasonable to me.

To be honest, I don't expect every cc artist to always check the MM and properly set stats, creature abilities and spawn settings (not that it would help much in your case, for example), or to know about each and every quirk of the engine, before ever releasing their creatures to the vault. We module builders have to contribute to the general effort as well, and some people already do that (see the Community patch, or other related efforts), which is also why I went through all 50 or so pages of this very forum in the recent days (I know, that is really NOT reasonable, but I'm very passionate when I happen to be... passionate about something >.>), and learned tons of stuff I intend to put into good use.

I just wanted to point out that if a lazy Bioware designer decides to take a shortcut by deciding that a mage skeleton should have a pure neutral alignment instead of an evil one (or just did not set it at all), for example, it affects a ton of  players down the road. If a butterfly flaps its wings in New York, it could potentially yield a tsunami in Tokyo or a hurricane in Paris. The same applies to community cc artists of course. While it might not seem much, or unnecessary, at the time of the release (and I imagine how someone may feel about wanting to getting something out, and be done with it, after pouring countless hours into creating it), it may cause tons of more hours of (this time) totally useless work on returning something to a "proper" state afterwards.

Anyway, I'm much more forgiving in the case of a cc artist releasing stuff to the community, and forgetting something in the heat of it. That's why feedback exists, and usually cc artists are sensible to it, and "fix" their own creations in time. I am much less lenient towards compilations (I am not going to name any, because it's not my goal to fuel any flames here), which still has tons of those improper creature, placeable, clothing and various other settings, even if it has been pointed out to them as such. This is something I really do regret.

Anyway, such is life, yes ?
               
               

               
            

Legacy_Nissa_Red

  • Full Member
  • ***
  • Posts: 121
  • Karma: +0/-0
Paying attention to the little things when building matters!
« Reply #13 on: March 16, 2013, 12:14:18 pm »


               @Randomdays

Yes, I would. Actually, even if I'd appreciate it, placeables do not matter that much to me, as I rarely use placeables trees, walls or buildings, and alot of them remain on a flat ground (so their flat PWK is valid and sufficient), but tiles, I use alot. I happened to see whole tilesets with no meshes reflecting walls or tree trunks in their WOKmeshes.

While I can understand why tileset creators would do it to save time and efforts (and spend it elsewhere), I wonder if there is more to it. Perhaps areas with such WOKmeshes would be way too laggy in the context of a PW, for example, because in a LAN/SP context, it doesn't seem to affect us (my players and me) that much.
               
               

               
            

Legacy_Nissa_Red

  • Full Member
  • ***
  • Posts: 121
  • Karma: +0/-0
Paying attention to the little things when building matters!
« Reply #14 on: March 16, 2013, 12:22:42 pm »


               @Pstemarie

I am only being indirectly adressed, but I have to disagree with you ^.^

Nothing ever replaces or surpasses the power and versatility of creating or altering models with GMax/nwMax, and I think everyone  should follow your advice on learning at least the basics of these tools.

However fixing models in notepad++ (or any other editor) is significantly easier , faster and not to mention cleaner, if one knows what one does, of course. This goes for the model itself, the associated files and its internal content (like animations).

What does "CleanModels" or equivalent tools do, if not working as "notepad modelers" ? Are you implying they're bad practice, or useless ?

Also, I've learned alot about the structure needed for models to properly operate once in game thanks to just looking at the text files, instead of being mislead sometimes by GMax/nwMax.