Sign in to follow this  
xander2077

Fascinating discoveries researching NWN tools

Recommended Posts

Well, I recently downloaded and decided to look into the new features of Neverblender updated and as a result I ended up browsing the NWN vault for interesting tools.

 

One of the things I found is the modders there are very creative. Of course the model format is different in NWN2, although the detail is similar to those used in Kotor1 and 2. So a lot of the same techniques can be used for K1 and 2.

 

But that is a side point.

 

The thing that interested me the most about NWN2 especially is the use of hak packs which are probably similar to mod files in a way, and the thinking outside the box.

 

Some modders have figured out how to replace hair with helmets, or use the belt slot, or another slot, for things like clothing add-ons, cloaks, capes, you name it.

 

There is a lot of content over there, and the tools intrigue me, so I was wondering if some similar tools and ideas could be cooked up for Kotor1 and 2.

 

There are also some expanded content ideas for NWN1 but they do not really translate well with Kotor, being that they are based on an older Bioware version.

 

The reason this site really interests me with regard to the similarities with K1 and 2 is the fact they have a lot of support for blender and non windows OS's and are probably the only Bioware game community out there that have gone to the trouble of posting tutorials on how to do things in blender for the Bioware model format. There are a lot of good tips and tutorials there - even a weight painting guide. I highly recommend browsing their tutorials and tool sets.

 

As far as collaboration goes, they are very open to it, and are excited that their Neverblender plug-in works so well for Kotor, that they have taken some suggestions and incorporated them into the plug-in as fast as it was mentioned. I think it would be worthwhile to compare notes with some of the tool developers over there and see what they know or what could be ported to K1 and 2 uses.

Share this post


Link to post
Share on other sites

From what I recall, there were experiments with .hak files in KotOR a long time ago - I think about 2004 - done by Darkkender. If I remember rightly, the game ignores .hak files if you create them, regardless of whether you put them in the Override folder or create a separate HAK folder, as there is in NWN.

 

One point which might be worth considering in the other direction is whether TSLPatcher will work for NWN/2. At the moment, so far as I  know there is no similar compatibility fix for NWN2, so merging mods has to be done manually.

Share this post


Link to post
Share on other sites

I probably wouldn't get too excited about NWN2 stuff. While Odyssey derived from Aurora (NWN1) and there is a lot of legacy crossover, Electron (NWN2) saw some pretty marked changes under the hood by Obsidian. I'm not sure much there is of relevance to Odyssey games.

Share this post


Link to post
Share on other sites

This is purely from a study standpoint. I won’t even dare get into using things from their games or mods, probably would not work anyway. But what those modders have done could be mimicked to a degree by studying some of their methods and using that as a springboard for some really cool mods here. The toolsets might be worthy of cracking open the hood to see what can or can’t be duplicated in tools for K1 and 2 but I’m not really sure how far that would go.

 

A lot of custom content and skinned models can be studied and similar things can be done in K1 and 2. For example: Heads created in other programs, bodies, etc. and using belt and other slots for adding parts of clothing on. It’s just interesting to see how similar some of the things are.

 

What has already been proven to work is the Neverblender plug-in. And the fact they are updating it to be more compatible with Kotor needs is very encouraging.

 

Now the tutorials are priceless when it comes to using some of the blender methods they discuss.

Share this post


Link to post
Share on other sites

I doubt adding model accessories would be possible. It looks like the 2DAs were set up to allow for it, but the models weren't. There are no hooks for the additional items, nor do I see any way of assigning them. A lot of stuff that was fully functional in NWN was simply stripped away from KOTOR.

 

Since they actually made distinct models for all the items, I assume they intended to put it in at some point... but maybe they ran out of time, or they couldn't get it to look nice. So even if the belts and such have models, there's no way to tell the game to render it, at least not that I can see.

Share this post


Link to post
Share on other sites

No doubt they stripped down and simplified the models a lot. But that’s not what I am talking about.

 

There was a mod that added bracers to the forearms of the KotOR player group characters but I am not sure how they added those hooks to the models. Perhaps studying NWN models helped them to figure it out? I don’t know - but that is as far as I would try to go. using the belt slot might be possible only if the hooks were added after the fact, but that would take some heavy hacking to get them to work, and I would avoid using those for actual belts, but try using them for things like capes, belts would look horrible, and perhaps the only way to really mod them in if at all would be to eliminate belts from the body models so they don’t peek from behind, but it is a very long shot. Still would look bulky I figure.

 

The difference between nwn2 and KotOR models is the NWN models have a lot more pieces. They have the torso, the legs, the lower legs (boots) and also you can swap hair with a helmet. There are belts, over cloaks, armor pieces, and just a whole lot more that can be placed on the body model itself. To mimic that I am sure it would take some doing with the exe limitations of K1 and 2.

 

NWN1 models are so blocky they are ugly, but the system for those is more similar to KotOR models than NWN2 models, even though the quality of KotOR models is on par with nwn2.

 

But all that aside - because it is really a moot point - is that perhaps these people have a larger understanding of the Aurora model structure, what is possible from the exe and 2da perspective, and some of their workarounds may have some validity even in a stripped down Aurora engine of the KotOR series. It might be worth looking in to.

 

NWN used the Aurora engine, an updated version of that was the Odyssey engine, used for K1 and 2. Electron engine was a separate branch of the Aurora engine used for NWN 2. So they all have similarities, but the limitations are in the exe itself. The file systems they all share 2da, erf, uti etc, all are pretty much the same format (there are slight differences though) but they provide the same functions.

 

So I would wager any real changes that would open up new items or model functions need to be patched into the exe, and it is even possible to throw multiplayer in there theoretically. The problem is you have to have the license of the original engine used for the game development to avoid having to reverse engineer it, and that toolset will make it possible to rewrite history so to speak. I’m not sure how much an outdated engine would cost, but it would be interesting to find out. I’m sure they would probably let it go for a song, and probably more readily than Microsoft would. Witcher was based on the Aurora engine too. And that was a more up to date version of it. Wonder how much they paid to license it?

 

I’m sure if the three engines from the time were compared, then a lot of the stripped features can be put back in. But that is just a guess really.

 

I’m really more interested in what each exe can do, and if it would be possible to mimic functions through a player made patch.

Share this post


Link to post
Share on other sites

One thing that gone through my mind since a long time and that i mentioned elsewhere a while ago is the implementation of new talents.

 

In particular im very interested in the "Automatic Quicken Spell" from NwN 1 and 2 that enables realtime combat.

 

I know that some guys said its highly unlikely to get that feat into the game but some impossible things had been made possible already..

 

That feat was present in an earlier version of Kotor Tool and maybe -outside the box - it can be simulated?

Share this post


Link to post
Share on other sites

One thing that gone through my mind since a long time and that i mentioned elsewhere a while ago is the implementation of new talents.

 

In particular im very interested in the "Automatic Quicken Spell" from NwN 1 and 2 that enables realtime combat.

 

I know that some guys said its highly unlikely to get that feat into the game but some impossible things had been made possible already..

 

That feat was present in an earlier version of Kotor Tool and maybe -outside the box - it can be simulated?

 

Sounds like one of the metamagic feats. A lot of that was left in KOTOR and may be functional - for example, all the existing spell casting functions include a parameter for metamagic feats - although I never took a look at it.

 

There's other stuff that's in a similar state. It seems the Sith uniform was going to be done through a polymorph spell, and so that might be still functional. Also the time stop effect does work, although it makes the game a little crazy. It freezes literally everything in the game.

  • Like 1

Share this post


Link to post
Share on other sites

One of the experiments I am working on is comparing the NWN1 format to the KotOR format. All the import and export plug-ins we use are based on the NWN1 format. There is no purpose built KotOR model importer and exporter, which would be the more direct approach - but nobody seems to want to go that route. I’m not sure why it was decided to import ASCII instead of the binary format from KotOR but that is what we have to work with.

 

NWN1 models are already ASCII, and in KotOR they switched to the binary for a smaller file size, so what mdlops does is try to approximate the NWN1 format for the NWN importer to blender or max respectively. It is based on that original model format.

 

However the problems creep up probably because of the presence of skinned models in KotOR. since NWN models were all just trimesh objects with no skinning really that I can see (unless for some reason this is hidden from me by the Neverblender importer), I imagine a lot of guess work had to go into mdlops to make it mimic the NWN1 format and fill in the blanks for some of the new model properties such as skinning and hooks not present in the NWN format, but something is not quite right. So what I want to do is compare the output from blender since I used a NWN body and rig as the basis for the new model I want to put in KotOR. Since it is a trimesh body, it has been re-sculpted into a droid body so the data is still present from the original NWN1 model format to help identify things during conversion. Hopefully comparing things will narrow down some of the issues present in KotOR model import and export. Of course there will have to be some editing done to the ASCII or binary to point it to the correct animations instead of the NWN1 animations, but one thing at a time.

 

Comparing this model to the stock droid model from KotOR reveals that they are basically the same thing, a bunch of trimesh body parts that have a bunch of helper objects - which will explain why most trimesh objects are successfully imported and exported using these NWN plug-ins. so this could actually help refine the tools we have been using for KotOR models. It would be a step in the right direction.

 

But the better approach would be to decompile the KotOR model format from scratch and make a set of import/export plug-ins for blender and max that are purpose built for KotOR models, just like there is one specifically for the mdb format of NWN2.

 

I will also be examining a premade NWN2 rig to see if I can convert it to one that can be used for KotOR models. This rig is basically the same as a KotOR rig/skeleton, but the difference is the NWN2 models reference them directly instead of using trimesh objects as go betweens to the animation skeletons. So this could help people create new models that work like they are supposed to if I can figure it out. It would certainly make rigging and skin weighting easier for blender users.

post-19611-0-28082300-1465906524_thumb.png

Share this post


Link to post
Share on other sites

OK, small update for folks out there working on the MDL issue.

 

I have been really delving into the old LucasArts forums and reading up extensively on some of the issues and techniques, just soaking it all up and finding out there are some perks to using Blender that Max doesn’t have.

 

Basically what I read was that there is no way to edit the models without losing the smoothing info, and/or the other stuff like bump map coding etc. however in my masks mod I did notice one thing consistently so far and I am going to experiment on the others based on some of the discoveries by Darth Sapiens, and RedRob41. When I edited the vanilla trimeshes for masks, I was able to add the smooth rendering back on by selecting all faces and applying "shade smooth" to all faces. This really does improve the appearance of the models in the game, which I learned early on and is very evident in some of the models, some more than others.

 

But what I have not tried is messing around with bump mapping and envmapping just yet, still reading up on that and how to properly get it rendered. It seems I misunderstood the process a bit and reading the LA forum posts is helping me understand it better. So I may yet find a way to make some of the metallic masks reflect and have bump maps like I want.

 

I don’t want to jump the gun here, but it seems like Blender is becoming a much friendlier KotOR modding tool than I had thought previously.

 

Something else I want to add is I have never tried creating a mesh from scratch except for a few models that I have not compiled with MDLOPS yet, and there is a reason why. It seems as if those who have tried that end up with very weird anomalies, so something is present in the mesh data, that resculpting in Blender does not get rid of. This is probably how I was able to make the masks work fairly well, by simply modifying the vanilla meshes, but I also noticed that adding to the model is possible, since for a few of them I did that very thing.

 

The reason for keeping the old vanilla mesh is 1: for reference, and 2: so that your new mesh retains the properties of the old one. How? Well simply by merging or in Blender, joining the new mesh to the old trimesh object. So for instance if I was making a new mesh for a robot, I would not simply rig the new mesh in place of the old one, but join the new parts to their respective vanilla parts, new head merged to old head, new right hand to old right hand, etc...And the new part takes on the properties and behavior of the old vanilla one, which would be selected second of the two and be the active object. Then once the two meshes occupy the same mesh space (in blender this is easily done and opening the edit mesh properties allows you to edit the mesh(es) in the object) then the old one can safely be deleted since the new mesh is technically the same part as the old one. It is kind of like deleting parts you don’t want off an existing mesh and then re-exporting it. Now as far as the weighting goes, I am still not clear on whether the new part adopts the weights of the old for skinned meshes in blender or not, that still has to be discovered, but from what I gather from discussing it, NeverBlender seems to assign default weights to skinned meshes and they work anyway on export, but that is a non issue with trimesh only models.

 

If anyone has any links that have more info about KotOR MDLs, or tutorials that are still available, I’m open to suggestions. Some are still available, and some are long lost to the void of the internet.

 

Anyway, that’s about it for now.

Share this post


Link to post
Share on other sites

Basically what I read was that there is no way to edit the models without losing the smoothing info, and/or the other stuff like bump map coding etc. however in my masks mod I did notice one thing consistently so far and I am going to experiment on the others based on some of the discoveries by Darth Sapiens, and RedRob41. When I edited the vanilla trimeshes for masks, I was able to add the smooth rendering back on by selecting all faces and applying "shade smooth" to all faces. This really does improve the appearance of the models in the game, which I learned early on and is very evident in some of the models, some more than others.

I that depends on which version of MDLOPS you're using. FS and I attempted to resolve that issue in 7, though I think there were still some bugs for certain scenarios. Any previous versions did not address that issue

 

But what I have not tried is messing around with bump mapping and envmapping just yet, still reading up on that and how to properly get it rendered. It seems I misunderstood the process a bit and reading the LA forum posts is helping me understand it better. So I may yet find a way to make some of the metallic masks reflect and have bump maps like I want.

There is a thread here regarding bump mapping. I think there is some other information, but I'll have to look around

 

I don’t want to jump the gun here, but it seems like Blender is becoming a much friendlier KotOR modding tool than I had thought previously.

Yeah if it's free then why not :D

Share this post


Link to post
Share on other sites

Yes VP, that is a good primer, which is what I read initially, but the LucasForums threads go into a lot more detail and experimentation, and I am thankful they still exist.

 

I’m still using MDLOPs0.6 and so far some of the issues encountered in max are not present although some are. YMMV. What has been achieved with the masks has taught me a lot about those differences, and some of it has to do with the NeverBlender plug-in interpreting the compiled ASCII. Both NWNMax and NeverBlender have their drawbacks and perks.

 

I think you both are doing a stellar job of ironing out all the kinks in MDLOPs, now I just have to get on board and get it working in Linux. I’m pretty much relying on ndix UR and Purifier for pointers there but that is due to them understanding code more than I. I did stumble on a blog by Floyd who did a tutorial on head editing and his write up about coding opened my eyes a bit on the terminology and functions so I’m going to take the plunge.

 

The above experiment will help a bit but I’m not sure how much of that will be beneficial.

 

It is time consuming to say the least, and might really be covering old ground, but it is a good learning experience.

 

I was also intrigued by the suggestion that another format be used in Kaurora so it is more cross platform friendly, but I am not sure if FBX would be good for that or not, but I do know max and blender fully support the format and it is a popular one, as long as MDLOPs and Kaurora can both compile well enough so that the FBX doesn’t lose any of the data, then I’m interested.

 

I need to take a break, it took me a minute to do some new UV unwrapping and seam editing so now I need to back off for a while and come back to this later.

Share this post


Link to post
Share on other sites

When I was working on something unrelated earlier, I noticed that the model PMBBL actually does have hooks for the collar and left forearm. So I wonder if there is some usable material left after all.

  • Like 1

Share this post


Link to post
Share on other sites

That is exactly what i was talking about. If they can be transferred to another model and they work, or if other models also have it, then there are a lot of things that may be possible. Would need a lot of scripting i think. I am not sure but i have a hunch this is how the shields mod was done, unless they used the weapon hook for the hand. at any rate it may be a dormant leftover or it may not function at all. wont know until we dig deeper.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this