OpenMW's Roadmap and Future

Anything related to PR, release planning and any other non-technical idea how to move the project forward should be discussed here.
User avatar
Greendogo
Posts: 1467
Joined: 26 Aug 2011, 02:04

Re: OpenMW's Roadmap and Future

Post by Greendogo »

Thanks for the answer psi29a, those questions were a reaction to your discussion with akortunov.
User avatar
raevol
Posts: 3093
Joined: 07 Aug 2011, 01:12
Location: Caldera

Re: OpenMW's Roadmap and Future

Post by raevol »

davidcernat wrote: 19 Jul 2020, 00:14 Multiplayer is a huge feature that shouldn't be added to a project trying to wrap up version 1.0 as a close recreation of an existing engine. The shared scripting system, however, has significantly fewer technical roadblocks, mostly needing to be switched to using higher-level abstractions than it does now, as well as requiring some guidance on incorporating the server application in an unobtrusive way that is acceptable to OpenMW.

From my perspective, 75% of the roadblocks have to do with purely human problems instead of technical ones, because I've overcome far harder technical problems than the ones still remaining, but the human problems are pretty relentless.

For instance, how am I going to merge an entire client-server scripting system into OpenMW when I could barely get an important one line fix past Akortunov, with him first denying my problem existed only to then make some other wrong statements, forcing me to write an entire essay that he then just ignored?
It sounds like on the OpenMW side we need to get a bit more serious about making this work then. We need to sit down and figure out how this client-server model is going to work at a high level and then on a technical level, and then figure out how we're getting TES3MP-Lua (or however you want to call it) integrated, specifically. DavidC you're really familiar with the code, you could probably give a lot of guidance here.

One thing that I do not understand at all is how a single-player-only mod developer could create a mod in the new multiplayer-aware Lua scripting system without having to code for multiplayer. Won't a client-server model completely break all mod compatibility ever? Since I don't have my hands in the code, maybe there's something big I am missing there, can someone explain this to me? How do vanilla quests and scripts etc. work in TES3MP now? Or is TES3MP basically just Quake3 Arena with Vvardenfell as the level, and no actual working scripts? Educate me, sorry for me lack of knowledge here.

This is a big thing that's going to require a lot of planning and coordination, but it's not intractable. We can do it!
davidcernat
Posts: 256
Joined: 19 Jul 2016, 01:02

Re: OpenMW's Roadmap and Future

Post by davidcernat »

raevol wrote: 19 Jul 2020, 07:27 It sounds like on the OpenMW side we need to get a bit more serious about making this work then. We need to sit down and figure out how this client-server model is going to work at a high level and then on a technical level, and then figure out how we're getting TES3MP-Lua (or however you want to call it) integrated, specifically. DavidC you're really familiar with the code, you could probably give a lot of guidance here.
I've spent years thinking about it, and I obviously have something that already works, so I'm always happy to answer any questions about the possible choices.
raevol wrote: 19 Jul 2020, 07:27 One thing that I do not understand at all is how a single-player-only mod developer could create a mod in the new multiplayer-aware Lua scripting system without having to code for multiplayer.
Making mods for an OpenMW that includes multiplayer will be a lot like making mods for Neverwinter Nights, a game that was designed for highly extensible multiplayer from the start and where most scripting worked fine in multiplayer unless a mod creator intentionally put in singleplayer-only logic.

In fact, mods made for that future OpenMW without keeping multiplayer in mind will cause fewer issues in multiplayer than they did in Neverwinter Nights, for two reasons:

1) OpenMW content will have an open world focus instead of relying on frequent teleportation to isolated areas like in Neverwinter Nights, removing the main source of multiplayer-breaking bugs.

2) It will be very easy to create small Lua-only mods with multiplayer fixes for existing singleplayer-focused mods.
raevol wrote: 19 Jul 2020, 07:27 Won't a client-server model completely break all mod compatibility ever?
Why would it? Mod compatibility is fine in TES3MP right now – especially in singleplayer – and it's constantly improving, so why assume we'd have a downgrade of that?
raevol wrote: 19 Jul 2020, 07:27 Since I don't have my hands in the code, maybe there's something big I am missing there, can someone explain this to me? How do vanilla quests and scripts etc. work in TES3MP now?
Vanilla quests and scripts were designed from a strictly singleplayer perspective, but were simple enough structurally that the vast majority of them have worked perfectly fine in multiplayer by just synchronizing quest stages and certain mwscript functions and variables across players, with the rest of them requiring some event overrides with extra logic (for instance, making Almalexia teleport your entire party to the final dungeon in Tribunal instead of just one player).
raevol wrote: 19 Jul 2020, 07:27 Or is TES3MP basically just Quake3 Arena with Vvardenfell as the level, and no actual working scripts? Educate me, sorry for me lack of knowledge here.
No, we don't live in the timeline where the multiplayer is an empty shell. We live in the timeline where a branch of OpenMW provides Morrowind with some of the most complete fanmade multiplayer ever created, where the coop aspect gets high praise but MMO-like servers are equally viable.
raevol wrote: 19 Jul 2020, 07:27 This is a big thing that's going to require a lot of planning and coordination, but it's not intractable. We can do it!
Thank you. I appreciate the enthusiasm and wish there was more of it from longtime supporters of OpenMW.
User avatar
akortunov
Posts: 899
Joined: 13 Mar 2017, 13:49
Location: Samara, Russian Federation

Re: OpenMW's Roadmap and Future

Post by akortunov »

davidcernat wrote: 19 Jul 2020, 13:50 frequent teleportation to isolated areas like in Neverwinter Nights
In the TES terminology it is called an "interior cell", and literally every Bethesda's title have them (excepts Terminator maybe), and the gameplay is based on cell transitions. So this source of bugs is not really going to be "removed".
User avatar
raevol
Posts: 3093
Joined: 07 Aug 2011, 01:12
Location: Caldera

Re: OpenMW's Roadmap and Future

Post by raevol »

davidcernat wrote: 19 Jul 2020, 13:50 *snip*
So, that's awesome. Again forgive my being out of touch, but has the multiplayer Lua system been documented and presented to the OpenMW team? I mean the implementation, not the API. Can we start reviewing the implementation and figure out what it's going to take to get it into the main engine?

Sorry for the dumb questions: I'm trying to direct the conversation a bit, trying to get us to action points to make some progress. But hopefully my dumb questions are laying a bit of the background for the conversation we need to have, haha.
davidcernat
Posts: 256
Joined: 19 Jul 2016, 01:02

Re: OpenMW's Roadmap and Future

Post by davidcernat »

akortunov wrote: 19 Jul 2020, 18:24
davidcernat wrote: 19 Jul 2020, 13:50 frequent teleportation to isolated areas like in Neverwinter Nights
In the TES terminology it is called an "interior cell", and literally every Bethesda's title have them (excepts Terminator maybe), and the gameplay is based on cell transitions. So this source of bugs is not really going to be "removed".
Congrats, Akortunov. You've once again done the most total misreading possible of what I was saying. You seem to do this a lot with people in general, suggesting you're affected by some significant hubris.

Since I was contrasting the "open world" of OpenMW content with the "teleportation to isolated areas" of Neverwinter Nights, it's pretty clear the latter was referring to all the one-way trips that you can't come back from in Neverwinter Nights, a game where most of the content – including all of the official campaigns – is linear, chapter-based and takes place in a small set of areas at a time instead of an open world.

It has nothing to do with interior cells. From a gameplay perspective, you're still in the open world when you enter almost any interior in Morrowind, because you can still get out the way you came from. There are very few situations where you stop being in an open world, but they include the one-way trips to the final dungeons of Tribunal and Bloodmoon, as well as the trip to Magas Volar.

Neverwinter Nights, on the other hand, is usually based around a series of one-way trips whenever there's more than a single "hub area." The handful of persistent world multiplayer servers are the main exception to this, but – for rather obvious reasons – these aren't included in the "mods made without keeping multiplayer in mind" category.
raevol wrote: 19 Jul 2020, 20:04 Again forgive my being out of touch, but has the multiplayer Lua system been documented and presented to the OpenMW team? I mean the implementation, not the API. Can we start reviewing the implementation and figure out what it's going to take to get it into the main engine?
I've always provided detailed overviews and explanations when asked for them in the past. The main idea is as follows: every time you do a listened-for action on your client, you send a packet to the server, which then runs the validator/handler scripts registered with that action's event to see if your action is going to be accepted, denied or overridden in some way, and the server then sends back packets to the client with its "decision" (or sometimes doesn't reply at all if it wants to deny the action). It's a lot like MWSE-Lua's event-based scripting, except the events run on a separate application that can decide game logic for dozens of players at once instead of being tied to a single one.
User avatar
akortunov
Posts: 899
Joined: 13 Mar 2017, 13:49
Location: Samara, Russian Federation

Re: OpenMW's Roadmap and Future

Post by akortunov »

davidcernat wrote: 20 Jul 2020, 02:21 From a gameplay perspective, you're still in the open world when you enter almost any interior in Morrowind, because you can still get out the way you came from. There are very few situations where you stop being in an open world, but they include the one-way trips to the final dungeons of Tribunal and Bloodmoon, as well as the trip to Magas Volar.
It depends on used assets. Arktwend, for example, is quite linear and has plenty of such situations. Also it is possible, for example, to create DA2-style total conversions for Morrowind, where the whole game world is a large city, which consists of a large amount of interior and pseudo-exterior cells, without levitation and teleportation spells at all. Some previously available locations with such approach can become unavailable on certain plot stages. We have no control over such things on the engine level, especially if long-term goal is to turn OpenMW to the multi-purpose engine (it is better to ask Zini and psi29a about it, though).
davidcernat wrote: 20 Jul 2020, 02:21 most of the content – including all of the official campaigns – is linear, chapter-based and takes place in a small set of areas at a time instead of an open world.
"Chapters" in NWN is just a hack to prevent long loading times with a huge count of available cells on hardware from 2000s, but no one forces content creators to use it, and it is quite possible to create "sandbox" modules for NWN (IIRC, the whole Storm of Zehir is a single sandbox-based module with interactive world map). Even in long official campaigns chapters switching happens just a couple of times for the whole campaign. The rest again is assets-specific.

Anyway, my point was that with the statement
davidcernat wrote: 20 Jul 2020, 02:21 OpenMW content will have an open world focus instead of relying on frequent teleportation to isolated areas like in Neverwinter Nights, removing the main source of multiplayer-breaking bugs.
you try to decide for another people (content creators) which kind of content they will create and which kind of content they won't create, which looks like the "640KB ought to be enough for anybody" IMO. Probably content creators are smart enough to decide themselves which focus their content will have.
CMAugust
Posts: 285
Joined: 10 Jan 2016, 00:13

Re: OpenMW's Roadmap and Future

Post by CMAugust »

I expect in the future there will be tutorials and guidelines for how to create multiplayer-friendly scripts and content, easily accessible to OpenMW content creators. If for whatever reason they don't follow those guidelines and design content the "conventional" way, the worst that can happen is the sort of issues that have been seen in tes3mp, which is surprisingly not much.
User avatar
Greendogo
Posts: 1467
Joined: 26 Aug 2011, 02:04

Re: OpenMW's Roadmap and Future

Post by Greendogo »

Can everyone take a chill pill on the attitude?

This discussion has a few people lobbing aggressive statements at each other and I don't think anyone else here wants to read that.

Thank you.
User avatar
akortunov
Posts: 899
Joined: 13 Mar 2017, 13:49
Location: Samara, Russian Federation

Re: OpenMW's Roadmap and Future

Post by akortunov »

psi29a wrote: 18 Jul 2020, 00:36 Gitlab issue tracker is the roadmap
I'd argue with that:
1. Anyone with Gitlab account can create feature requests on Gitlab, so basically it contains a set of features which particular end-users would like to see, not a set features which really should be a part of engine. It is fine to get an additional feedback from users, but it is not really a project roadmap, which is supposed to be defined by project leads based on this feedback.
2. In its current state it does not reflect long-term project goals and project policies. For example, current 1.0 roadmap in Gitlab is to have all Morrowind mechanics implemented, but it may be obsoleted since you treat some Morrowind's mechanics as bugs now. I'd suggest to actualise it. Also it does not have any info about requirements and prerequisites for Lua scripting, but you exect a ready implementation really soon (about 0.48 with shortened realease cycles).
Post Reply