The new MWSE-Lua interface

Everything about development and the OpenMW source code.
NullCascade
Posts: 120
Joined: 16 Jan 2012, 07:58

Re: The new MWSE-Lua interface

Post by NullCascade » 06 Oct 2018, 02:34

davidcernat wrote:
06 Oct 2018, 02:32
NullCascade wrote:
06 Oct 2018, 02:30
psi29a has been an ass to me here, in PMs, and in Discord. I'm not going to pretend he and I get along, but thanks for bringing that to the forums.
Is there anyone you get along with these days? I used to have some degree of respectful neutrality towards you and I don't think it's there anymore.
We can piss on each other if that's your thing, but you already know the answer to the question. I've spoken well of all the OpenMW devs with the exception of psi and Zini -- yourself included. Hell I was just helping Capostrophic with reverse engineering some Morrowind code in Discord a few hours ago.

I get along well with people when they're not being antagonistic, like psi always is, and like you're being right now.
MWSE 2.x lead.

NullCascade
Posts: 120
Joined: 16 Jan 2012, 07:58

Re: The new MWSE-Lua interface

Post by NullCascade » 06 Oct 2018, 02:39

AnyOldName3 wrote:
06 Oct 2018, 02:13
...
Do want to make it clear that a lot of my gripes have been resolved, and that's primarily thanks to you and Ace. Building OpenMW on Windows is not the nightmare it once was, and that's fan-freaking-tastic. The Linux circlejerk is nowhere near as bad as it once was, and is mostly contained to trollish comments in design docs, core developers hilarious ragequitting when things aren't FLOSS-y enough, and people suggesting that important features get blocked because it might not favor Linux.
MWSE 2.x lead.

User avatar
AnyOldName3
Posts: 1901
Joined: 26 Nov 2015, 03:25

Re: The new MWSE-Lua interface

Post by AnyOldName3 » 06 Oct 2018, 03:10

NullCascade wrote:
06 Oct 2018, 02:39
AnyOldName3 wrote:
06 Oct 2018, 02:13
...
Do want to make it clear that a lot of my gripes have been resolved, and that's primarily thanks to you and Ace. Building OpenMW on Windows is not the nightmare it once was, and that's fan-freaking-tastic. It's nowhere near as bad as it once was, and is mostly down to just trollish comments in design docs, hilarious ragequitting when things aren't FLOSS-y enough, and people suggesting that important features get blocked because it might not favor Linux.
IIRC, the main 'trollish' you've brought up is the one about package managers and installing mods via Apt/Apt-Get/Aptitude/Synaptic/PacMan/OneGet/NuGet/Chocolatey being less than ideal as Macs don't have a package manager and there's no pan-OS package manager was poking fun at Macs, which is just what people do - calling an OS without a package manager 'not a real OS' can hardly be described as anti-Windows when Windows literally has NuGet and OneGet built-in (even if no one bothers using them) and Chocolatey available (even if only me and Ace use it).

Scrawl's abrupt quitting was a lot less abrupt than it looked as it had been ages since he'd done anything major, and it was about more than just things being not FLOSS-y - remember that the Dunning-Kruger-ish/obvious troll guy was being pretty insulting about some design decisions Scrawl had made (and some ones which he had no control over, such as not using APIs which don't work on the OSes certain major devs use). If you're searching for an excuse to quit a project, someone writing abuse directed at you in particular is a pretty good one (although I do concede that Scrawl quoted a different sentence which was more of a general summary of that guy's opinion rather than any one of the personal attacks, so it was certainly weird at the time). Either way, it was a shock, but losing a prominent Linux-only developer should surely make a project less Linux-centric than more.

Regarding blocking important features because of not favouring Linux, that's a misrepresentation of the situation. There's far from a strong consensus that native code execution from mods is even a slightly desirable feature, let alone an important one (I used to think it was, but don't any more as the strongest proponent hasn't been able to provide any convincing examples, just ones like weapon sheathing and windows glowing, which don't even require native code execution, just scene graph access from the scripting engine). There were also other, more important issues raised, and while people were adding objections to the pile, what-if-no-one-compiles-native-mods-for-Linux-or-Mac-or-Android was just one of many. It wouldn't be enough of a reason on its own to block an important feature as we could leverage our Magic Cloud of Infinite Linux Users to nag people to release source code or provide Linux binaries, and when I used to be anti-sandbox, I argued against it being grounds for blocking.
AnyOldName3, Master of Shadows

User avatar
Husaco
Posts: 30
Joined: 07 Aug 2011, 11:54
Location: Australia

Re: The new MWSE-Lua interface

Post by Husaco » 06 Oct 2018, 03:35

I think at this point, if not 70 posts ago, it’s pretty clear that the discussion is non-productive and getting less civil by the minute. I don’t think there’s been a single line of code written to do with Lua so it seems very premature to soapbox about its implementation. It certainly remains to be seen whether sandboxing is as odious to modders as its detractors charge, and if it proves to be as stifling as feared returning to the drawing board will be unavoidable. Until then I don’t see any devs budging on a policy conventional wisdom holds as common sense prudence.

davidcernat
Posts: 232
Joined: 19 Jul 2016, 01:02

Re: The new MWSE-Lua interface

Post by davidcernat » 06 Oct 2018, 04:06

NullCascade wrote:
06 Oct 2018, 02:28
One of the best things we did when I worked on a professional game engine was open our platform up to 3rd party plugins.
NullCascade wrote:
06 Oct 2018, 02:28
My so-called obsession comes from this experience, seeing how it affected our product, and working with all the 3rd party developers.
NullCascade wrote:
06 Oct 2018, 02:28
How do you alleviate developer bottlenecks so that Zini isn't manually putting stamps of approval on every library to be considered? You use a plugin infrastructure.
Didn't you work on Corona before you got fired and replaced by Russians? Also, you were kind of into Lua's sandboxing capabilities. At least that's what I gathered from this:

Image

Image

Hey, looks like Corona had an approval process for 3rd party plugins. To this day, you need a review and an approval to get your plugin on the Corona marketplace.

Looks pretty different from the arbitrary code execution you want to see in OpenMW. But hey, we can do something like Corona, that's no problem. Zini doesn't have to do it all by himself either.

NullCascade
Posts: 120
Joined: 16 Jan 2012, 07:58

Re: The new MWSE-Lua interface

Post by NullCascade » 06 Oct 2018, 04:31

davidcernat wrote:
06 Oct 2018, 04:06
Also, you were kind of into Lua's sandboxing capabilities.
Again, I don't mind sandboxing lua by default. Just let modders turn it off in the ini, don't try to treat users like children or handcuff modders. For context, that conversation was back when Zini was super hard against anything other than mwscript+, and it was good to just see him open up to any alternatives.
davidcernat wrote:
06 Oct 2018, 04:06
Hey, looks like Corona had an approval process for 3rd party plugins. To this day, you need a review and an approval to get your plugin on the Corona marketplace.

Looks pretty different from the arbitrary code execution you want to see in OpenMW. But hey, we can do something like Corona, that's no problem. Zini doesn't have to do it all by himself either.
... and? That's a marketplace. We approved 3rd party plugins and manually reviewed them to cover our own ass. You could still use Corona Enterprise (or whatever they call it nowadays, I think they made it free) to make native extensions for yourself to use, or to sell independently. Plenty of people did that. I doubt OpenMW will ever get into the business of hosting mods, but if it hosts extensions (doubtful given Zini's stance against extensions) it only makes sense that they be reviewed since it is then in the business of distribution. Granted the Corona Marketplace involved paid plugins, so that opens up another can of worms that OpenMW probably doesn't have to deal with.

Not really sure what point you're trying to make with this post to be honest.
MWSE 2.x lead.

Chris
Posts: 1583
Joined: 04 Sep 2011, 08:33

Re: The new MWSE-Lua interface

Post by Chris » 06 Oct 2018, 04:47

NullCascade wrote:
06 Oct 2018, 02:28
Every serious game engine does this
Similarly, every serious game engine provides its source to clients who can edit the engine directly to their needs (and most do), and care nothing for backwards compatibility. As long as the client can produce a working game with that version, that's all that matters.

How many horror stories I've heard about a game that uses a particular version of a particular engine, there's a problem that was fixed in the latest version, but they can't update because the engine changes are incompatible with their work. Ark uses a version of Unreal Engine that has issues on Linux with OpenGL, missing shader features and performance problems, things which have been improved or fixed in newer versions of the engine but the game can't update its engine. An indie TES-like open world game called Frontier used a version of Unity that, it was discovered during development, had a big problem with the lack of streaming resources. Later versions provided the necessary capabilities, but the dev couldn't update to that version without redoing a significant amount of work. Kingdom Come had a planned Linux version, but it was shelved because the version of UE they used had problems on Linux and they couldn't easily update to a fixed version. A number of games for the Nintendo Switch ended up with missing features or performance problems because they used a version of Unity or Unreal Engine that hadn't yet been fully optimized for the system when they started development, but they couldn't update during development to get feature and performance improvements.

Is that what we want for mods?

Those engines are designed to be everything and the kitchen sink. They have financial incentives to work just as well as a first-person corridor shooter as a third-person battle royale, as an isometric party-based RPG, as a first-person open world adventure game. As a volunteer-driven hobbyist endeavor, there is no way OpenMW could do that, native plugins or no (in fact, native plugins will split and reduce what workforce is available). While OpenMW will be designed to be usable for non-Morrowind games, the engine is still going to be designed around Morrowind-like games.
What do Oblivion, Skyrim, Minecraft, Terraria, and other modders do? They assemble common code, which doesn't necessarily have anything to do with OpenMW itself, in common libraries that they can share.
Modding Minecraft is so easy, it requires layers of mod managers (ones that even have to inject themselves into the game) to get everything to play nice, which causes performance and stability problems, and mods have to be constantly updated with new versions of the game. Oblivion and Skyrim mods are so stable, too.

Incidentally, the Doom3 engine allows native code plugins, yet the two biggest mods for it (Edge of Chaos and The Dark Mod) maintain their own source ports and don't work on any others, which also support native plugins.

Conversely, with an engine like GZDoom, I have very little to worry about. Everything works just as natively regardless of platform, I never have to be concerned with if that mod I just head about is "for me"... it's a mod for GZDoom, I have GZDoom, it'll work. The risk of any mod breaking with an update is extremely low. I can update the engine or my system right now and not worry about the Doom64 or Castlevania or Half-Life TCs failing. If I want I can take a nostalgia trip and load up mods from 25 years ago, I don't have to be concerned about if it's still going to work. And if I do manage to run across something doesn't work, I can report it to the engine devs and it can get fixed.

User avatar
akortunov
Posts: 755
Joined: 13 Mar 2017, 13:49
Location: Samara, Russian Federation

Re: The new MWSE-Lua interface

Post by akortunov » 06 Oct 2018, 05:04

Cammera wrote:
06 Oct 2018, 01:19
Nothing sekrit about OpenMW, it's not developed in a vacuum. I believe there are many knee-jerk reactions here _or_ that reading comprehension skills need sharpening.
No, nothing sekrit, you just have to:
A)Learn everything about a complex engine's internals and then hope the klub likes it and accepts the puil req
or
B)Ask nicely that the klub does it and hopes they like the idea.
or
C) Compile your own fork and then ask that people who wants your mod uses it, which makes it much harder (Actively impossible without C knowledge) to use other forks.
It's not a sekrit klub, granted, I guess there's windows in the klubhouse so you can see in and take pictures.
As alternative, you suggest option D:
Learn everything about a complex engine's internals, learn how different OSes work, provide binaries for these OSes which rely on how this complex engine and these OSes work, maintain the mod, solve people's issues when binary plugin refuses to work because of unsatisfied software dependencies, OS update or OpenMW update.

The main pain here is not implement such mod, the issue is maintain the mod and keep it working on different configurations and with different OpenMW version. And this work is for modmaker himself.
NullCascade wrote:
05 Oct 2018, 18:22
Modders will support other OSes, or may want to explicitly target them.
As I said earlier, running random binary on a random Linux distribution is a quite hard task. I doubt that modders want to solve it again and again on different configurations.
Last edited by akortunov on 06 Oct 2018, 05:15, edited 1 time in total.

User avatar
sjek
Posts: 440
Joined: 22 Nov 2014, 10:51

Re: The new MWSE-Lua interface

Post by sjek » 06 Oct 2018, 05:11

UnSandbox would lead to dependency and support hell... Agreed. :P
"life is crazy"
"craziness has beauty which only crazies understand" some movie clip in the head.
https://wiki.openmw.org/index.php?title=Testing

Cammera
Posts: 16
Joined: 08 Oct 2017, 22:35

Re: The new MWSE-Lua interface

Post by Cammera » 06 Oct 2018, 05:15

Windows proves this doesn't do anything. If someone has already decided to toggle the option, they'll click through any warning or message to get the mod to work (and may even complain that there's a warning or message in the way).
Gasp, people might make stupid choices. Time to remove SU access to all linux distros because people might run apt remove libc.
Don't act like every single user is an idiot who will install all of the viruses. It's a very arrogant and demeaning view of people.
Want great examples of mods using external libraries? Check Half Life and classic Fallout modding. Both hijack themselves into memory (Using opengl/ddraw.dll, so that's a funny coincidence) yes, but they're also both examples of games (In HL's case, which already has modding support built in) to add features or enchance the visuals. Echoes and Paranormal are examples in HL, and every mod that matters for classic fallouts.
davidcernat wrote:
06 Oct 2018, 04:06
[This whole wall of text of screencaps]
It's... very very mean spirited, disappointingly so, to bring up conversations from chatrooms outside of them. What a wonder, people is more candid with their words when they're sharing banter with friends.
Imagine if someone recorded stuff you said in a bar, right after arguing with your wife, and then played it to her claiming moral superiority. That's how low this stoops.
Last edited by Cammera on 06 Oct 2018, 05:22, edited 1 time in total.

Post Reply