OpenMW: my thoughts on the way forward

General discussion regarding the OpenMW project.
For technical support, please use the Support subforum.
User avatar
psi29a
Posts: 5356
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: OpenMW: my thoughts on the way forward

Post by psi29a »

We like to call this: mental masturbation... (what if...) which might often turn into a mental circle jerk (great job guys).

Nice to talk about, because everyone is enthusiastic about it, but doesn't really move the project along. Writing and testing code, that moves the project along.

http://wiki.c2.com/?MentalMasturbation
User avatar
silentthief
Posts: 456
Joined: 18 Apr 2013, 01:20
Location: Currently traversing the Ascadian Isles

Re: OpenMW: my thoughts on the way forward

Post by silentthief »

Just to drop another bit of info on ya, there has been someone looking into Oblivion and fallout assets, but that is still on one of the branches. You can see some of that here:
cc9cii wrote: 18 Feb 2019, 21:08 HI, I'll be happy to provide some commentary here if you're interested in some details.

Animated doors (and this):
Some doors in the newer NIF files have animations specified within the NIF. In contrast, OpenMW doors mostly (always?) work by rotating the whole door object. This was exciting for me (and hence decided to post the videos) because I had decoded how various records in the newer NIF files link together (without looking at Nifskope source files) to make the animations work. With the older NIF files they generally work by having all the keyframes baked in and various animations are just played back at different points in time.

Vertex Morph animations: This one is just using the Ogre Pose Animation feature. The tricky part is to have the animation configured at the time the meshes are created. OpenMW's vertex animations are done using Ogre::Controller instead, and at the mesh level (I've decided to do it at sub-mesh level). Well, not sure how they are done now since OpenMW has moved on from Ogre a very long time ago.

Character animations:
There are several challenges with this. Firstly, the character models have to be created. They are put together using various body parts (hair, eyes, head, tails as well as armor/clothes). Some body parts are "skinned" while others are simply attached to bones. The ESM/ESP may specify where to find some of these but sometimes the logic seems to be simply hard-coded in the original engine.

Next, Ogre has a limitation(?) where sharing a skeleton instance requires the meshes to be using the same underlying skeleton template. You can imagine a pair of boots being worn by an Imperial as well as an Argonian - but they have different skeletons! So the boots have to be created for each of the target skeletons. Now, we don't want to re-create the meshes each time (they are cached at a resource manager) so there's a bit of complication on managing these. For now I'm simply encoding an additional string onto the skeleton names.

Finally, with the new NIF, almost all the animations are specified in separate ".kf" files. To do this the links between the various NIF records have to be established from another file. Nifskope does this by simply grafting the whole animation tree onto the skeleton but that seems to take a long time. The current implementation is done similar to the old OpenMW way where Ogre::Controller is created for each of the NIF controllers. This might not be ideal, and possibly have to be reviewed at a later point in time.
if you search the forum, you will find that a bunch of what you are talking about has been discussed

ST
DassiD
Posts: 14
Joined: 25 Apr 2016, 13:26

Re: OpenMW: my thoughts on the way forward

Post by DassiD »

silentthief wrote: 06 Mar 2019, 22:12 Just to drop another bit of info on ya, there has been someone looking into Oblivion and fallout assets, but that is still on one of the branches. You can see some of that here:
cc9cii wrote: 18 Feb 2019, 21:08 HI, I'll be happy to provide some commentary here if you're interested in some details.

Animated doors (and this):
Some doors in the newer NIF files have animations specified within the NIF. In contrast, OpenMW doors mostly (always?) work by rotating the whole door object. This was exciting for me (and hence decided to post the videos) because I had decoded how various records in the newer NIF files link together (without looking at Nifskope source files) to make the animations work. With the older NIF files they generally work by having all the keyframes baked in and various animations are just played back at different points in time.

Vertex Morph animations: This one is just using the Ogre Pose Animation feature. The tricky part is to have the animation configured at the time the meshes are created. OpenMW's vertex animations are done using Ogre::Controller instead, and at the mesh level (I've decided to do it at sub-mesh level). Well, not sure how they are done now since OpenMW has moved on from Ogre a very long time ago.

Character animations:
There are several challenges with this. Firstly, the character models have to be created. They are put together using various body parts (hair, eyes, head, tails as well as armor/clothes). Some body parts are "skinned" while others are simply attached to bones. The ESM/ESP may specify where to find some of these but sometimes the logic seems to be simply hard-coded in the original engine.

Next, Ogre has a limitation(?) where sharing a skeleton instance requires the meshes to be using the same underlying skeleton template. You can imagine a pair of boots being worn by an Imperial as well as an Argonian - but they have different skeletons! So the boots have to be created for each of the target skeletons. Now, we don't want to re-create the meshes each time (they are cached at a resource manager) so there's a bit of complication on managing these. For now I'm simply encoding an additional string onto the skeleton names.

Finally, with the new NIF, almost all the animations are specified in separate ".kf" files. To do this the links between the various NIF records have to be established from another file. Nifskope does this by simply grafting the whole animation tree onto the skeleton but that seems to take a long time. The current implementation is done similar to the old OpenMW way where Ogre::Controller is created for each of the NIF controllers. This might not be ideal, and possibly have to be reviewed at a later point in time.
if you search the forum, you will find that a bunch of what you are talking about has been discussed

ST
This is why I’m bringing it up, because you’ve already done a lot of work in this direction.
davidcernat
Posts: 256
Joined: 19 Jul 2016, 01:02

Re: OpenMW: my thoughts on the way forward

Post by davidcernat »

DassiD wrote: 06 Mar 2019, 22:47 This is why I’m bringing it up, because you’ve already done a lot of work in this direction.
There's nothing necessarily wrong with your suggestions; it's just that you present them in a way that ignores too much of the context.

To show you how it's done, here is a well-received post I made on r/skyrimmods less than a week ago that led to this video being made by popular YouTuber JuiceHead, who is now in my friends list on Discord and has agreed to cover further developments in OpenMW.

Somehow you've ignored that and come in with your apparently original idea, making even me roll my eyes despite the similarity between your wishes and mine.

Just let me take it from here. I have some credibility from the 1300+ C++ commits I have on a long-lived OpenMW branch. People might think I'm jumping the gun, but at least they won't think I have no idea what I'm talking about.
DassiD
Posts: 14
Joined: 25 Apr 2016, 13:26

Re: OpenMW: my thoughts on the way forward

Post by DassiD »

davidcernat wrote: 06 Mar 2019, 23:43
DassiD wrote: 06 Mar 2019, 22:47 This is why I’m bringing it up, because you’ve already done a lot of work in this direction.
There's nothing necessarily wrong with your suggestions; it's just that you present them in a way that ignores too much of the context.

To show you how it's done, here is a well-received post I made on r/skyrimmods less than a week ago that led to this video being made by popular YouTuber JuiceHead, who is now in my friends list on Discord and has agreed to cover further developments in OpenMW.

Somehow you've ignored that and come in with your apparently original idea, making even me roll my eyes despite the similarity between your wishes and mine.

Just let me take it from here. I have some credibility from the 1300+ C++ commits I have on a long-lived OpenMW branch. People might think I'm jumping the gun, but at least they won't think I have no idea what I'm talking about.
I hadn’t read that, and apparently I weren’t alone seeing the responses.
Me sharing my thoughts doesn’t stop anyone from writing code, atleast it shouldn’t. That’s all I wanted to do. There’s nothing to «take from here» as I see it, the discussion has been had. That’ll be the last I’ll write here.
User avatar
cc9cii
Posts: 523
Joined: 28 Mar 2013, 04:01

Re: OpenMW: my thoughts on the way forward

Post by cc9cii »

Don't take it too personally, you happened to come in at at a time after a number of similar (and at times heated) discussions were already had and your well intended comments turned into discussions on unexpected directions. For a project looking for more participants this forum sure can be hostile for newcomers. By all means take time to cool off but I for one would welcome you if you decide to come back.
User avatar
silentthief
Posts: 456
Joined: 18 Apr 2013, 01:20
Location: Currently traversing the Ascadian Isles

Re: OpenMW: my thoughts on the way forward

Post by silentthief »

cc9cii wrote: 07 Mar 2019, 01:31 ... would welcome you if you decide to come back.
agreed.

ST
davidcernat
Posts: 256
Joined: 19 Jul 2016, 01:02

Re: OpenMW: my thoughts on the way forward

Post by davidcernat »

cc9cii wrote: 07 Mar 2019, 01:31 Don't take it too personally, you happened to come in at at a time after a number of similar (and at times heated) discussions were already had and your well intended comments turned into discussions on unexpected directions. For a project looking for more participants this forum sure can be hostile for newcomers. By all means take time to cool off but I for one would welcome you if you decide to come back.
To be fair, some of us here are also reacting to DassiD making this thread on Reddit, which wasn't well-received because it wasn't well-presented.
Dyskos
Posts: 64
Joined: 17 Feb 2017, 03:51

Re: OpenMW: my thoughts on the way forward

Post by Dyskos »

DassiD wrote: 06 Mar 2019, 20:21 You didn’t read what I wrote did you?
That's quite an assumption, my friend. Au contraire, I read everything -- including what the others had to say in response.

Just so you know, there's a whole thread dedicated to the progress of Oblivion support, and as it has been said in various threads (as well as here), it would be perfectly possible to add support for the later .NIF versions such as that of ESIV and ESV.

The only stipulation to that is simply the available volunteering devs willing to take on that task. That is, of course, the up (and down) side to FOSS.

Given enough time, yes, that could/will happen someday... probably not soon, but no one has denied its inevitability, and it's been discussed many times before. My main point is that these discussions do not bring any worthwhile information to the table, and insofar, this thread has been no exception.

I am not a dev, but from what I gather, most of the support for future titles might be better accommodated once LUA support is implemented. Naturally, as OpenMW progresses as a fully functional engine for creating new games, these tasks will simply come start falling into place.

Not that my opinion matters, but supporting future versions of TES games shouldn't be the main focus. Like I said, the already-planned features will likely help those tasks fall into place, but I'm more interested in see people actually making independent games with the engine. Once OpenCS is fully operational, I'm sure many will flock to take on that task. I just wished I could actually help out with that, but alas, I did not finish my CS courses. :/
User avatar
psi29a
Posts: 5356
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: OpenMW: my thoughts on the way forward

Post by psi29a »

Locked; while the thread is well intentioned, there is nothing new being discussed or already being discussed in another thread.

The OpenMW team knows where OpenMW is going, we know what the way forward is. The question always comes down to developers. Herding cats is hard. ;)

@DassiD; thank you for taking the time to post your thoughts; if you need anything, please contact me.
Locked