First off, I apologise for the long post, but I was following the project for a long time now, and the number of things I would like to say has finally become so large that I decided to register, which is something I almost never do anywhere.
I want to start by saying a huge thank you to everyone working on OpenMW, and to everyone who has worked on it in the past. What you have done, and continue to do, is phenomenal. I appreciate the amount of effort involved and respect you for spending so much time on something you make available to everyone for free.
Just like probably all of you, I dream about a time when OpenMW will make the old Vanilla Engine completely redundant, bringing with it all the benefits of a modern engine and making possible things that previously weren't. However, currently some things diminish my optimism, and that's why I want to clear up any possible misunderstanding on my part, while also presenting my view on what should be achieved before OpenMW could bring that future about.
I'd also like to emphasise that the last thing I want is to offend or antagonise anyone, but it's possible that I may sometimes miscommunicate and someone could think that I'm just trolling or, you know, breaking Wheaton's Law, and thus entirely dismiss me. While I do my best to avoid it, it may be difficult when discussing something I deeply care about, especially considering that I am extremely introverted and not a native English speaker.
My basic idea is quite simple: OpenMW will only be able to replace Vanilla Engine when there won't be any reason anymore to choose the latter. Otherwise, people who consider that reason crucially important for them, won't be switching to OpenMW, which thus will remain an alternative, not a replacement. Considering some inevitable incompatibilities, this leads to the fragmentation of the community, which I assume everyone wants to avoid, especially since Morrowind is such an old game already. Of course, right now OpenMW hasn't even reached 1.0 yet, so I am talking here about the eventual time when the decisions made by the OpenMW team won't be based on the commitment to focus on reaching that goal first anymore. To make myself clear, I am not so much concerned about when something will be done, as about whether it will be done at all.
As it stands right now, there are several such reasons, some of which may already be in the past by the time 1.0 comes:
- Any engine inevitably has bugs and unintended/undocumented behaviour, but with a game as old as Morrowind, virtually all of that in the Vanilla Engine is already discovered and documented with bugs mostly fixed by "engine hacks" such as MCP and MGE XE. Meanwhile, lots of bugs are yet to be fixed in OpenMW, and more bugs and unintended/undocumented behaviour are yet to be discovered.
- OpenMW doesn't always provide an option to behave exactly the same as Vanilla Engine in situations when some people may prefer Vanilla Engine behaviour.
- In contrast to the previous reason, some people may prefer other behaviour, which is offered by "engine hacks" in the form of an option, but such an option is not present in OpenMW.
- There are a lot of great mods that either don't work as intended in some situations using OpenMW, or aren't even compatible with it.
- For a lot of people, there may not be much point to switch to OpenMW from Vanilla Engine+MCP+MGE XE+MWSE 2+Mods, even if all the above reasons are in the past. Their experience just wouldn't improve enough to rationalise the switch.
№2 and №3 are obviously closely connected. As I understand, leaving №2 in the past is one of the main goals for OpenMW 1.0, which I am very happy about. However, there are several cases where opinions are divided about whether Vanilla behaviour should be implemented or not, some people arguing in favour of "more sane" (in their opinion) behaviour, which in some cases is how OpenMW behaves currently. Sometimes behaviour that was introduced by MCP or other "engine hacks" to Vanilla Engine is the preferred one for many people (and, again, in some cases this is how OpenMW currently behaves). Examples are Issue #1751 and Issue #4135. I will make a comment in the recent forum thread about #1751, too, as I'd like to discuss it in more detail, but I hope the decision was made, or will be made soon, to restore Vanilla Engine behaviour.
I believe that OpenMW 1.0 (as it's presumably one of the goals), and any subsequent version of OpenMW, has to provide the player with the ability to configure it such that it behaves exactly as Vanilla Engine in every situation (unless it's literally impossible), even if some people consider such behaviour "less sane" than alternatives. Obviously, I am not speaking about reproducing bugs or technical limitations (such as game crashes or plugin number limit), but if people exist who argue in favour of some Vanilla Engine behaviour, there should be an option to have such behaviour in OpenMW.
But what about №3, then? Well, it is my belief that one of reasons why people love MCP and MGE XE so much, and why they are used by virtually everyone nowadays (well, unless they use OpenMW, that is) is the fact that every feature/fix they provide is optional and/or configurable (with MWSE 2 allowing even further customization). Speaking for myself, there are lots of features/fixes in them that I love, and there are also features/fixes currently present in OpenMW that I love as well. Other people, however, may dislike some of them just as much as I dislike current OpenMW behaviour described in Issue #1751. Everyone has different preferences.
The obvious and simultaneously the best way to address such disagreements is to provide the player with an option to enable/disable each feature/fix, both those unique to OpenMW and those first introduced in MCP or MGE XE. I believe that every feature/fix from MCP and MGE XE should be eventually introduced to OpenMW in the form of an option.
Quite honestly, I don't understand why if someone suggests to add an option for some feature/fix, the lead developers appear to be very reluctant to agree, even when someone is ready to implement it. I even got the impression that the policy is to avoid adding more options unless absolutely necessary. This doesn't make sense to me, especially coming from the team that emphasises that their project is a Free Open Source Software, and goes to great lengths to ensure that everything involved is 100% FOSS (sometimes to the point that from a bystander perspective it may look comically exaggerated and unreasonable), which I think reflects a deep belief that I respect even though I myself don't care that much about such things.
But doesn't providing the players with more options mean providing them with more freedom to choose what they like? I hope that I've just misunderstood the developers' intentions. Maybe the "anti-options" policy is just pre-1.0? If so, I hope that post-1.0 policy will change to "pro-options".
Leaving №4 in the past is, I believe, a topic that nothing I can say on is something the developers haven't already considered. I'd just like to point out that leaving №1, №2 and №3 in the past should also result in mostly leaving №4 in the past, although probably not completely. Also, making MWSE mods compatible with OpenMW is crucial. By "compatible" I mean that mods that work with MWSE should also work in OpenMW, and they should behave the same way in OpenMW as they do in Vanilla Engine+MWSE. Again, I am speaking about how it should be eventually, in the distant bright future, about what the goal should be.
That leaves №5 to discuss. The point I am trying to make here is that if some people don't think that their experience would noticeably improve with a switch to OpenMW, they won't go through all the trouble of making and configuring an OpenMW installation (whether it does take a lot of effort or not), even if №2, №3 and №4 are already in the past. The fact that, as I've noted, №1 won't ever completely go away, will even further decrease the likelihood that they switch. Which, by the way, means they may also continue making mods for the Vanilla Engine, leading to the possibility (this is unlikely, thankfully) that №3 and/or №4 might make a "comeback", again influencing other people's decisions...
Of course, there are already some things possible with OpenMW that aren't (at least yet) possible even with a "hacked" Vanilla Engine, and OpenMW hasn't even reached 1.0 yet, while some are already planned for post-1.0. Well, let's go over them (tell me if I missed something important):
- OpenMW is cross-platform. While it's a great thing, the majority of people who play Morrowind still use Windows, and it doesn't affect them.
- OpenMW is open source. Again, a great thing, but for people who don't plan on working with the engine code, it doesn't mean much, unless it's a matter of "ideology"/belief, which is, obviously, less frequent among Windows users than, say, Linux users.
- OpenMW/OpenMW-CS allows creating and playing games other than Morrowind for free (we are speaking about the future here, of course). Amazing, but in the context of OpenMW replacing Vanilla Engine to play Morrowind it is irrelevant.
- Multiplayer (we are still in the future). This is actually a feature that could convince some of the people who were otherwise unconvinced. However, I'd argue that a lot of people don't care about multiplayer, and this is likely even more true among those who play Morrowind than among those who play games in general.
- OpenMW offers features/fixes/modding capabilities not present in the Vanilla Engine, some of which may prove to be impossible to achieve even with "hacks" of the Vanilla Engine. This, I believe, will convince most people, assuming, of course, that №2, №3 and №4 are already in the past and №1 is weakened enough that it could already be ignored. However, some people may actually be quite content with what they can already do using "hacked" Vanilla Engine without any need for what OpenMW allows on top of that (and these people would be less likely to ignore the existence of №1). Fortunately, these people probably won't cause №3 and/or №4 to make a "comeback", at least, but it is still a fragmentation of an already shrinking community.
Of course, nothing will convince everyone, but there is something that I think may convince virtually everyone.
- Performance increase (sadly, the future again). Virtually everyone who still plays Morrowind nowadays, plays with mods, some of which have a significant impact on performance, including MGE XE features such as Distant Land. Poor Vanilla Engine optimization leads to poor performance even on current-gen high-end gaming systems. Who wouldn't want a performance increase that comes with the switch to OpenMW, if №2, №3 and №4 are already in the past and №1 is weakened enough that it could already be ignored?
Concerns were also voiced that OpenMW isn't well optimised for multiple cores, which is understandable, especially considering that even modern games are often not very good at it (which is why generally Intel CPUs are considered best for gaming, while AMD CPUs with more cores/threads are considered better for other, better optimised tasks). I was surprised, however, that the person who brought this topic to attention was denounced as a troll on the basis of misusing/misunderstanding some terminology. Maybe it was because of something that person had said before, though.
But what's that? Vulkan Scene Graph, that is supposedly easy to switch to from Open Scene Graph that OpenMW currently uses? Of course, I have no idea whether it is really relatively easy to do that or not, but as far as I know Vulkan API offers a very major performance boost when compared to OpenGL. And guess what else? Correct me if I am wrong, but it significantly improves the usage of multiple cores, as well as reducing CPU bottlenecks by utilizing GPU more instead - and OpenMW is definitely facing a CPU bottleneck on modern gaming systems in most cases.
I think that the performance increase such a change could bring makes it absolutely worth the effort involved, especially if it results in getting rid of №5 for good. Of course, Vulkan Scene Graph is still in the early stage of development, and probably not ready yet for OpenMW to switch to it, but we are talking about the future here, right?
I do hope that the developers will somehow find the time to read through this insane amount of text. After all, I think I've managed to make some good points, even if it literally took me an entire day to write all of this.