A developer overview of tes3mp's status, goals & challenges

Everything having to do with OpenMW's TES3MP branch.
davidcernat
Posts: 256
Joined: 19 Jul 2016, 01:02

Re: A developer overview of tes3mp's status, goals & challen

Post by davidcernat »

Thank you for posting that, Zini. It's nice to already have a discussion going on about so many topics.
Zini wrote: My main concern is still the same. Dealing with MP at this stage in any way will eat man power that we need for other parts of OpenMW. Or rather it may be that we simple do not have the man power to deal with MP at the moment. That being said, I don't think a subforum would cause any harm, as long as it is made clear that MP is currently very low priority for us and we may not always be able to provide assistance in timely manner or sometimes at all.
I completely agree with multiplayer being a distraction from OpenMW's real goal of providing a contemporary recreation of Morrowind's engine, which is why – aside from occasionally asking for your input and opinion on various high-level matters – we don't intend to take up any of your time or resources in the form of coding assistance or changes tailored specifically to us.

Instead, we will attempt to go all the way on our own and then work towards convergence with and absorption by OpenMW – should that be desired by you – once both OpenMW and tes3mp have achieved their main goals.
Zini wrote: As for merging the MP fork back in: I don't think we ever promised that such a merge would happen. It depends on if their idea of MP makes sense and fits into our project. I haven't even gotten around to look at that thing. It may be helpful to ask them for a design document that specifies exactly what they understand under MP and which changes to the basic structure of OpenMW are required to support it.
Assuming that we stick to the current implementation where most of the logic is run client-side and the server merely acts as a relay for information, the changes made to OpenMW are not extensive and could easily be disabled entirely through an isMultiplayer boolean.

If we were to move more logic to the server, then OpenMW also moving more of the mechanics and world logic to the shared components would help and prevent us from having to duplicate it on the separate server app.

For the time being, however, no changes in the structure of OpenMW are required.
Zini wrote: I am pretty sure that MP is possible at least from a design standpoint. But there is really only one option. One main player and the other players act as a player-equivalent of NPC-companions (kinda like a party).
They would have to share a single quest state and probably also things like reputation, criminal status and so on (need to make a list of that at some point).
I think that should absolutely be the recommended and default way of playing. For a cooperative experience with minimal quest and script conflicts, a single player should be allowed to talk to NPCs and move across cells, with the other players being mute henchmen forced to follow that player around and their state being entirely shared.

However, I think the server settings should be extensive enough to allow all and any restrictions to also be turned off, for fun or experimentation. If a server host wants a system where players can split off and be on opposite sides of the world doing conflicting quests, it should be entirely possible, but simply unsupported and not embraced by the rest of our development efforts.
Zini wrote: The implementation of MW content (both original and modded) does not allow for anything else. Any alternative approach would require special MP content instead of the regular content files. That is not something we want.
I agree that our focus should be on getting the Morrowind content to work well first and foremost, but consider that – with toggleable options also allowing for an alternative approach – something like UIX Redemption can be played straight out of the box and be enjoyable in tes3mp as a freeform role-playing experience even with a lack of premade NPCs.
Zini wrote: Even with this approach there might be some problems with the existing content, but these should be minor enough that they can be patched.
Certainly, there will be many situations that were never meant to be possible in Morrowind, such as attacking an NPC while another player is talking to that NPC, or a player going off alone in an area and triggering a script that blocks the path of the others.

However, through constant testing, we hope to find workarounds for most of those problems, though we worry that they won't all be automatic workarounds and some may need to be done on a case-by-case basis. Time will tell.
User avatar
Zini
Posts: 5538
Joined: 06 Aug 2011, 15:16

Re: A developer overview of tes3mp's status, goals & challen

Post by Zini »

I think that should absolutely be the recommended and default way of playing. For a cooperative experience with minimal quest and script conflicts, a single player should be allowed to talk to NPCs and move across cells, with the other players being mute henchmen forced to follow that player around and their state being entirely shared.

However, I think the server settings should be extensive enough to allow all and any restrictions to also be turned off, for fun or experimentation. If a server host wants a system where players can split off and be on opposite sides of the world doing conflicting quests, it should be entirely possible, but simply unsupported and not embraced by the rest of our development efforts.
The limitations you describe are more restrictive than what I had imagined. There is no fundamental reason why talking to NPCs would be limited to one player; as long as the NPCs see all the players as a single player. It might also be useful to have an option to echo dialogues to other players near the talking player. One could even implement a shared dialogue window where all player talk to the same NPC at once (still acting as a single entity). Obviously player replies would still have to be handled one by one.

Allowing the party to split up might break same more quests. But maybe it wouldn't be so bad. We would have to look at a representative sample of quests (both vanilla and modded) and see where a split party would break quest logic.
davidcernat
Posts: 256
Joined: 19 Jul 2016, 01:02

Re: A developer overview of tes3mp's status, goals & challen

Post by davidcernat »

Zini wrote: The limitations you describe are more restrictive than what I had imagined. There is no fundamental reason why talking to NPCs would be limited to one player; as long as the NPCs see all the players as a single player. It might also be useful to have an option to echo dialogues to other players near the talking player. One could even implement a shared dialogue window where all player talk to the same NPC at once (still acting as a single entity). Obviously player replies would still have to be handled one by one.

Allowing the party to split up might break same more quests. But maybe it wouldn't be so bad. We would have to look at a representative sample of quests (both vanilla and modded) and see where a split party would break quest logic.
I think the party splitting up would lead to multiplayer-only exploits allowing players to make mutually exclusive choices. For instance, you're only supposed to join one Great House in Morrowind, but players could join all 3 by talking to the right NPCs at the same time.

There are quests where you have to pick one of a few options, and – by having players next to different NPCs at the same time – they could do all the options simultaneously, potentially putting quests in states they cannot recover from.

Beyond that, having a player talk to a quest giver while another player is already talking to or attacking or simply standing next to someone involved in the next step of the quest could lead to crucial conversation topics not showing up, or quest states and script values not being set correctly.

As far as I can tell, having a player that can be everywhere, talking to everyone and doing everything at once opens a Pandora's box of bugs and incompatibilities. These problems can be reduced significantly by forcing players to stay in the same area and by allowing only one player to talk at a time, but will still exist to some extent even then.

Supposing we painstakingly accounted for most of these situations in Morrowind and its expansions, there are countless fanmade quests with logic problems that we cannot plan for.

For that reason, I think our official recommendation for the most bug-free experience should involve a number of significant restrictions.

I also think it should be effortless to turn off any of the restrictions in search of the style of gameplay that best fits a particular group, as long as the players understand the risks involved and that fact that we – the multiplayer developers – cannot be expected to rethink and fix all singleplayer quest logic to deal with the problems bound to arise.
Lexx
Posts: 2
Joined: 28 Feb 2017, 18:40

Re: A developer overview of tes3mp's status, goals & challen

Post by Lexx »

About non-shared quests: This would be kinda experimental, but I actually can see this (non-shared quest state and non-invincible NPCs) working in *private* sessions. That means, situations where the death of a certain quest-related NPC doesn't really hurt the game, and where it doesn't matter that much if the players decide to abuse a certain situation or game mechanic. On a public server on the other hand, of course, it will just lead to players killing off everything that walks in order to troll everyone else.

Other than that, and from me being a former MMO-developer as well, always keep in mind: If something can be abused in whatever kind of way, players will abuse it. No matter what, the ai, quests, landscape... nothing is sacred. You will never be able to fully prevent this. :>
(One more reason why I feel like a MW multiplayer project should focus on smaller cooperative gameplay rather than huge open world MMO kind of stuff where everything needs to be balanced and secure as to not ruin the fun for anyone but a few hardcore folks)
TechNoirMK
Posts: 84
Joined: 19 Aug 2015, 15:58

Re: A developer overview of tes3mp's status, goals & challen

Post by TechNoirMK »

I do not envy those who plan to actually make a server with a full MMO system with proper balance and new quests and shit, they're gonna have a field day. :lol:
User avatar
Zini
Posts: 5538
Joined: 06 Aug 2011, 15:16

Re: A developer overview of tes3mp's status, goals & challen

Post by Zini »

I think the party splitting up would lead to multiplayer-only exploits allowing players to make mutually exclusive choices. For instance, you're only supposed to join one Great House in Morrowind, but players could join all 3 by talking to the right NPCs at the same time.
Correct. But that is a more general problem and not exclusive to the party splitting up. You could have one character talk to a NPC to move a quest ahead and another character push a button a few steps away, which will also move the quest ahead; which would break the quest, if both are not supposed to happen at the same time.

As I wrote before at some point we will have to examine a representative sample of existing quests to see how bad the situation is. If only a few are affected, MP patch content files could be offered. After 1.0 and after the great de-hardcoding is done we may even look into extending the scripting language in a way that helps with dealing with these situations more elegantly.
davidcernat
Posts: 256
Joined: 19 Jul 2016, 01:02

Re: A developer overview of tes3mp's status, goals & challen

Post by davidcernat »

Zini wrote: Correct. But that is a more general problem and not exclusive to the party splitting up. You could have one character talk to a NPC to move a quest ahead and another character push a button a few steps away, which will also move the quest ahead; which would break the quest, if both are not supposed to happen at the same time.
Absolutely, but every time we provide the players with the permission to do something while something else is going on, the number of potential conflicts increases exponentially. If we assume that players are in the same cell at all times, there are only so many situations we need to look at and adjust. If they are frozen in place while someone is talking, many more problems disappear.

If, however, players can be literally anywhere anytime doing anything, it's hard to even imagine, let alone test everything that can go wrong.

At the end of the day, we have the resources to make a polished multiplayer experience that Just Works as long as players agree to a few limitations.

Alas, we do not have the resources to go through a massive open world game and rethink its quests from scratch. We can try to see how far we get, but we should make it perfectly clear that there is only so much we can do, and that players cannot blame us if they break the game after giving themselves additional freedoms.
Zini wrote: As I wrote before at some point we will have to examine a representative sample of existing quests to see how bad the situation is. If only a few are affected, MP patch content files could be offered. After 1.0 and after the great de-hardcoding is done we may even look into extending the scripting language in a way that helps with dealing with these situations more elegantly.
Every time I've played a fully patched Bethesda RPG, I've attempted the most careful, nonconflictual singleplayer playthroughs possible and still run into plenty of quest bugs.

That is despite the efforts of up to 80 Quality Assurance testers employed by Bethesda, and simply by playing the games exactly as they were meant to be played.

As such, I'm skeptical of easy solutions to problems caused by playing a game in an entirely unintended manner, though I am quite willing to experiment with some nonetheless.
User avatar
Zini
Posts: 5538
Joined: 06 Aug 2011, 15:16

Re: A developer overview of tes3mp's status, goals & challen

Post by Zini »

That's why I suggested to examine the quest situation. Right now we don't know how bad the situation is. And regular single player bugs are no indication for multiplayer problems. That is just Bethesda being derpy.

Of course these are all long term prospects; probably best put on hold until the great de-hardcoding is done and MP has been integrated into the main project. For now the limitations you suggest sound reasonable.
User avatar
psi29a
Posts: 5356
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: A developer overview of tes3mp's status, goals & challen

Post by psi29a »

I really like where this conversation is going... 8-)
davidcernat
Posts: 256
Joined: 19 Jul 2016, 01:02

Re: A developer overview of tes3mp's status, goals & challen

Post by davidcernat »

Zini wrote:That's why I suggested to examine the quest situation. Right now we don't know how bad the situation is. And regular single player bugs are no indication for multiplayer problems. That is just Bethesda being derpy.

Of course these are all long term prospects; probably best put on hold until the great de-hardcoding is done and MP has been integrated into the main project. For now the limitations you suggest sound reasonable.
That sounds like a great middle ground, and I'm glad to see you're warming up to the possibility of us being integrated into the main project down the line. ;)

Now, time for us to clean up some code and add some missing features so we can earn it by the time we get there...
Post Reply