Recent Negativity Regarding OpenMW

General discussion regarding the OpenMW project.
For technical support, please use the Support subforum.
Locked
CMAugust
Posts: 285
Joined: 10 Jan 2016, 00:13

Re: Recent Negativity Regarding OpenMW

Post by CMAugust »

From my observation, outreach and interaction from those actually associated with the OpenMW team have been very good, and getting better all the time.

Much of the negative commentary towards the project I've seen is from those who either don't know, or don't respect, the fact that OpenMW is about more than just enabling cooler mods. It's one of the major benefits of course, but if that was the only objective it probably wouldn't even exist. There were additional goals the developers wanted to achieve, and now it looks like all of them will be fulfilled.

I'm impressed by what's been going on with vanilla modding in recent years, and the speedy unraveling of original code - but I also have huge respect for the OpenMW project, and the principles that allowed it to get this far. The existence of a near-complete open source engine written entirely by volunteers is incredible. Even the vocal detractors seem to agree it will be the best way to play Morrowind - eventually. For those who can't wait, the vanilla game will always be there in the meantime, and continue to be hacked with new modding opportunities. Both projects are in a good place with no sign of slowing down, so the overall picture is one of optimism.
hodgicus
Posts: 2
Joined: 23 Dec 2015, 14:42

Re: Recent Negativity Regarding OpenMW

Post by hodgicus »

Although this is my first entry on the forum, I have been following several of you for a while.
I totally get that modders from other forks in the MW tree are wary of the OpenMW project, and worried, too, that as it matures much of their work may obsolesce. It will. The "Recent Negativity Regarding OpenMW" is directly related to the power and promise of this project, and emanates from an understanding of its implications for the piecemeal improvements it will be leaving behind. OpenMW is a whole new conception of the MW future, an order of magnitude quantum shift, and that is why many of us (just plain players like me) are here.
I've been playing MW since 2003, and I was still playing the box version when I discovered OpenMW in 2015. I know there are amazing mods out there, big improvements in the way the old assets were implemented, drawn, lit, and so on. I also know they behave unpredictably and seldom play nice together in groups. If all that got fixed, I still would not be interested in candy upgrades. I want to see MW transported into the future on a new game engine, and that's why I support OpenMW.
I will walk an open-ended TES3 in which Vardenfell is a tiny isolated island among giant continents to be explored. I will be born into new games built on this engine that are unguessably cooler than anything that can yet be done.
When OpenMW and OpenMW-CS are at 1.0 (plain, vanilla, un-gussied up 1.0), the platform thus achieved will accelerate at a rate that looks like a disappearing act to modders who aren't prepared to cut their losses and switch. I sympathize, I do. But this is going to happen, and if you have distance viewing set to true, you know that event horizon is approaching inexorably.
Certainly OpenMW's devs will make the accommodations they feel necessary for their friends and neighbors in other MW projects, but I hope they will not go much beyond warm regards and welcomes. Because this project is a 1000 times more important is why. All those people working for Polaroid and Kodak had to move on, too.
i30817
Posts: 58
Joined: 07 Nov 2018, 05:56

Re: Recent Negativity Regarding OpenMW

Post by i30817 »

Honestly, i use openmw exclusively (for performance and stability) but from my understanding, people are right complaining about certain indicators.

Namely saying 'we won't support scenegraph manipulation in mods' is leaving worthy projects like glow in the dhark to MWSE and out of OpenMW, and also cutting off the very people you need to attract (modders and gamers still interested in morrowind rather than the latest fallout or whatever).

Same deal with the MWSE functions.

Let's be honest, things like 'switching to C++', using OSG, bullet and physics correctness are complicated. More complicated than implementing some dozen of functions manipulating engine objects you already have. Why isn't there already a fork for MWSE functions? Or even LUA.

It's things like that, a desire for compatibility with the latest possibilities and frustration at the 'after 1.0' - when 1.0 might very well take years - standard response that is driving any hostility.
Not broken unmaintained mods that morrowind forgiving scripting engine accepts.

I honestly don't care (i couldn't use MWSE in linux anyway since it's buggy in wine), except when i find a cool mod that's there by accident in my load list and i'm aware of the standard overworked programmer response 'do it yourself', so no need to make the obvious response.

Speaking only for myself, i'd be 100% supportive of removing (or better, restricting to a sandbox) dangerous functions in MWSE. I'm also thinking that many MWSE mods don't actually touch those functions or could easily be adapted to use OpenMW 'safe' alternatives, like those mods that that require 'someplace' to save information to attach to savegames and do ridiculous stuff for that, i'd be very down to deprecating most of that trash and just saving and restoring string/arrays set on a mod transparently to the actual savegame and waiting for the inevitable 3rd party omwaddon compatibility mod.

But as i said, i don't think all usecases can be so easily ignored (ie: scenegraph manipulation is so versatile, that you might very well swing a versatile interface for, say, scabards in a new animation scheme, but you'll fail at nif replacers like glow in the dhark, or a hypothetical mod about a wizard moving the sun into his pocket or something equally outlandish.)
User avatar
akortunov
Posts: 899
Joined: 13 Mar 2017, 13:49
Location: Samara, Russian Federation

Re: Recent Negativity Regarding OpenMW

Post by akortunov »

i30817 wrote: 11 Nov 2018, 04:22 Why isn't there already a fork for MWSE functions? Or even LUA.
MWSE 1.x is a batch of hacks with extremely weird syntax and own bugs, so no one voluntereed to port and maintain it.
When we tried to determine what we can use from MWSE, we figured out that only trigonometry functions are good enough. I doubt they will make many MWSE mods compatible with OpenMW. As a result, we decided to do not extend MWScript at all.
There are plains to use Lua instead, but the implementation will more likely be incompatible with MWSE 2.x since MWSE provides a low-level API, but on a low level OpenMW is a completely different application from original game. Also MWSE 2.x does not care about multiplayer stuff.
Low-level API is good for Morrowind since it was not updated since 2004, but not very good in OpenMW where low-level things tends to change from version to version or can be OS-specific.
As about direct access to scene graph, it also requires a quite good understanding (by modder) about how OpenSceneGraph and OpenMW rendering subsystem work.
For example, OpenMW mesh optimizer can remove injected nodes from scene or merge them with another nodes, so scene graph can be different from what modder expects to see. Or there could be internal nodes, which are not present in NIF files.
i30817
Posts: 58
Joined: 07 Nov 2018, 05:56

Re: Recent Negativity Regarding OpenMW

Post by i30817 »

akortunov wrote: 11 Nov 2018, 06:05
i30817 wrote: 11 Nov 2018, 04:22 Why isn't there already a fork for MWSE functions? Or even LUA.
MWSE 1.x is a batch of hacks with extremely weird syntax and own bugs, so no one voluntereed to port and maintain it.
When we tried to determine what we can use from MWSE, we figured out that only trigonometry functions are good enough. I doubt they will make many MWSE mods compatible with OpenMW. As a result, we decided to do not extend MWScript at all.
You know what, i'm going to disregard my own advice (if you have nothing good to say, don't say it) and say i don't believe you.

Namely your own list of MWSE functions:
https://wiki.openmw.org/index.php?title=MWSE

Has very sensible extended getters and setters. Sure they have the x prefix, to disambiguate it as foreign, but that's what alias are for.

3 exceptions from skimming:

1. the (admitedely horrible) idea of file IO on a game script engine there - something i that would quickly get ripped out by a 3rd party adapting mods if openmw got something to save string references (and references ofc) in the savegame.
2. The MGE settings, kinda dumb, kinda useful for designers (getting game settings and setting shaders and weather).
3. Something to lock the pc level? Situationally useful i guess.

The rest that touch innards of the design are *useful* to implement alternative gameplay. For instance i'd... really enjoy a mod that implemented dungeon siege style looting with some kind of user specified (at runtime) rules. So a object to configure, a key to add to the key configuration, a 'get the coordinates of the nearest container, near it, activate it, loot everything, repeat until user input is recorded'.

Or for instance the already existing mods for the keychain. Store every fucking key (dozens) in a single item, save the record on the save game (i suspect this one will be instantly ported as soon as OpenMW gets some mod string record ability in savegames)

Or the trig function 'better telekinesis' or the various 'library portable' (or just autosorting bookshelves) mods.

The vast majority of MWSE mods i want to use are things that use the later two of these things, not the first (which is a full blown new mechanic with attending complexity). One that is a exception the 'service refusal' functionality i don't know where the setter it uses is on that list (i'd like to use if for the 'No spells for sale' mod).


Now of course there are designs considerations here:

1. do we want our scripts to be run multithreaded? opps, better put a mutex on the 'savefile mod save container'.
2. doe we want to support multiplayer transparently and these mods? (spoiler: for me, i'll always prefer to have a good single player mod over forbidding it over fear of it ruining multiplayer sections. At the very most, scan the most list to recognize 'problematic' functions when launching multiplayer - or just forbid mods in that mode.
....
other things i'm not smart enough to think of right now.
Last edited by i30817 on 11 Nov 2018, 09:56, edited 2 times in total.
User avatar
akortunov
Posts: 899
Joined: 13 Mar 2017, 13:49
Location: Samara, Russian Federation

Re: Recent Negativity Regarding OpenMW

Post by akortunov »

i30817 wrote: 11 Nov 2018, 09:42 Namely your own list of MWSE functions:
https://wiki.openmw.org/index.php?title=MWSE

Has very sensible extended getters and setters.
As I said, MWSE works with references and strings ("long" variables) in a quite hackish way.
From what I can tell, all these setters supposed to work with references, so they can not be easely implemented in OpenMW, especially in the MWSE-compatible way.
i30817
Posts: 58
Joined: 07 Nov 2018, 05:56

Re: Recent Negativity Regarding OpenMW

Post by i30817 »

So they get references to the original strings in the game memory and save that?

I mean, you don't really need binary/bytecode compatibility, just a (sane, refactoring required is eminently sensible) modicum of source compatibility.

Every esp i've opened on openmw-cs showed scripts in source form so it doesn't seem like binary offsets are a big problem, MWSE or not.

MWSE scripts are just peppered with inane stuff like:

setx adul_lr_cr to xGetRef, "adul_lr_don_chest"
xSetRef, adul_lr_cr
set adul_lr_bc to GetItemCount, "BookSkill_Short Blade3"
ifx ( adul_lr_bc )
setx adul_lr_br to xGetRef, "adul_lr_book001"


to create 'references'. A autoconverter or just waiting for modders to convert by hand into

adul_lr_cr = game->get "adul_lr_don_chest"
adul_lr_bc = adul_lr_cr->GetItemCount "BookSkill_Short Blade3"
if( adul_lr_bc )
adul_lr_br = game->get "adul_lr_book001"


is not exactly super revolutionary parsing and the original wasn't even all that offensive to be called 'hackish'. It's just a amateur implementation of parsing to require no lookahead. You 'just' need to implement 'proper' references, some of the functions and you're nearly there and if you want the gold star, make CS auto convert this gunk where ever it encounters it. If you don't care, don't and modders will.

I can totally understand if the problem is one of relocations and other 'fun' stuff about handing out references to game memory on a unsafe language like C++.... that'll always be problematic without extreme care, something like rust or a GC. C++ does have smart/refcount pointers for this, but i'm unsure how that would interact with C++ collections and if every item would need wrapping.

Or how scripts would interact with (implicit or not) threading for that matter, if there is even a point in attempting it or it always will end in tears and/or global lock bottlenecks.
Last edited by i30817 on 11 Nov 2018, 19:53, edited 1 time in total.
User avatar
AnyOldName3
Posts: 2666
Joined: 26 Nov 2015, 03:25

Re: Recent Negativity Regarding OpenMW

Post by AnyOldName3 »

Have we ever said we're never going to support direct scenegraph manipulation? I thought only NullCascade had said that, and he's said we're never going to do a lot of things which we're planning on doing.
sonicboom12345
Posts: 18
Joined: 13 Sep 2016, 23:47

Re: Recent Negativity Regarding OpenMW

Post by sonicboom12345 »

I've sort of lost faith in OpenMW. Notably because it's dragged on for so long, and there still isn't a 1.0 release to show for it. There were threads touting how OpenMW was "approaching to 1.0 release at rapid pace" almost half a decade ago, a notion which wasn't challenged by any of the project leads.

I don't know anything about coding, I'm not an active member of the team, I only check in on this project once every few months or so. It just seems like the goalposts are constantly pushed further and further out... And the people pushing those goalposts always just wave it off, justifying the never-ending development time by telling themselves things like, "1.0 is just a number, it doesn't actually mean anything," which I completely disagree with. Or "OpenMW today is a more coherent/bug-free product than the original Morrowind," which I could accept... except the goalposts are getting pushed in less important directions, while critical aspects of the game are wholly neglected.

Sorry, I know that's a controversial statement, but that's how it honestly looks to me, a prospective OpenMW user from the outside looking in. I've made topics about it before, and I hate to reiterate, but graphical parity with MGE is something that's sooooo super important, and it just gets brushed aside like it's a trivial feature. There's a general attitude of "We can't justify delaying the 1.0 release for the sake of the graphics," even though 1.0 has already been delayed for literally everything else. Or "We'll just put out OpenMW with vanilla graphics and bring it up to par with MGE post-1.0." As if prospective customers are going to bother downloading OpenMW if using it translates to an inferior graphical experience than what MGE provided ten years ago... As if half the team isn't going to hang up their hats when 1.0 comes out, like what happens with so many of these type projects... :| Leaving behind a skeleton crew to attempt to enshrine MGE graphics in the code, a futile effort that will inevitably sputter and fail.

There was a time, six or seven years ago, when I was optimistic... The Morrowind modding community was still kicking around the time Skyrim came out, even if it wasn't as vibrant as it once had been. And I was hopeful that maybe, just maybe, OpenMW would be a shot in the arm... A fully customizable open-source engine, with bundled MGE/MWSE functionality, which would lure old modders and new players alike. I thought OpenMW could revitalize the game... I thought OpenMW could be the thing to ensure Morrowind kept a healthy playerbase and modding community, even if it was niche... I said to myself, if anything's going to save Morrowind, it's OpenMW. OpenMW will be the thing that ensures Morrowind has a future...! But now, I'm afraid that ship has sailed... If 1.0 had landed back in 2014, I think it would be a different story. But development has dragged on and on and on, with so many passionate fans investing so many hours and doing so much incredible work, all of them striving for perfection, but missing the bigger picture... Hewing to their own internal timetables, but never giving thought to the decline within the broader Morrowind community. I think there was a time when OpenMW would have been really, really meaningful, and could've had a lasting revitalizing effect on the game. But too much time has passed... The window has closed. I don't mean to diminish any of you or what you're doing, but I think that's the God's honest truth. And it's the source of (at least my) pessimism towards OpenMW.
User avatar
Capostrophic
Posts: 794
Joined: 22 Feb 2016, 20:32

Re: Recent Negativity Regarding OpenMW

Post by Capostrophic »

Whatever you say.
Locked