OpenMW Spotlight: Submit to the three

Feel free to discuss here about news on our blog
User avatar
lysol
Posts: 1513
Joined: 26 Mar 2013, 01:48
Location: Sweden

OpenMW Spotlight: Submit to the three

Post by lysol »

Hello everyone and sorry for the lack of updates lately.

The lack of updates has nothing to do with lack of development. It's been quite the contrary; a lot has happened since last time. Blame me, Lysol, for the silence.

While there are a ton of things we could talk about in this post, you'll have to wait until the upcoming 0.47.0 release and the included change log for most of that. Instead, let us talk about three major features: Lua, groundcover and "The Enlightenment".

1. Lua scripting
As we've discussed already before, the plan is for OpenMW and TES3MP to eventually merge into one project. This means that OpenMW will require a scripting system that is compatible with, and benefits, both projects.

For quite a while now, TES3MP has been using a server-side scripting system that uses the Lua scripting language. The consensus has for the most part been to continue upon this foundation and implement both a single- and multiplayer friendly Lua-based scripting system for OpenMW. A system that will give massive power to modders making mods for both singleplayer and multiplayer gameplay. Discussions have come and gone regarding the subject, but there was never any real work done.

Our productive developer Petr Mikheev (ptmikheev) therefore decided to take the matters in his own hands. Petr and David C, the mind behind TES3MP's scripting system, discussed the matter and have sketched out a plan for the ideal scripting system for our needs. It resulted in this merge request which is frequently updated by Petr. Although it is still in early stages (i.e. do not expect it for the next release), people can experiment with basic scripts already to see how it works.

Getting this implemented is crucial for us to be able to get on with the de-hardcoding phase planned once OpenMW 1.0.0 has been released. It is also crucial to be able to make OpenMW the great moddable engine we want it to be. All the impressive mods made for vanilla Morrowind's MWSE-Lua system gives us a glimpse of what we could see in the future for OpenMW.

2. Groundcover
Ever since OpenMW implemented object paging, we have been enjoying long viewing distances with distant objects and playable performance. Some have even been able to run grass mods without much issue. With emphasis on the word "some". Object paging was not implemented with groundcover mods in mind, even though it might provide increased performance for them too.

Enter instancing. Our veteran Andrei Kortunov (akortunov) has, together with Master of Shadows Chris Djali (AnyOldName3), been working on supporting groundcover through a system much more suitable for it. You see, supporting grass and other groundcover require some special tweaking before you can get acceptable performance with it. Otherwise, each and every piece of grass will have to be sent to the CPU before the GPU can render it, and this takes a very long time. This is called a "draw call". Draw calls are slow. So slow that you don't want too many of them in one scene. Reducing draw calls was actually the main reason we implemented Active Grid Object Paging, which merges many smaller objects into fewer larger objects (thus reducing draw calls), not only in the distance, but also in the active cell. Read more about Object Paging and Active Grid Object Paging here.

So while Object Paging worked out great for buildings and similar, grass can get handled better, especially since you want grass to sway with the wind and to get bent under your feet when you step on it. The new groundcover system enables grass and other groundcover with better performance and with full support for animation and reaction to you stepping on it.

So far, work has been focused on supporting legacy mods, previously made for MGE XE. This puts some limitations on what can be done. In the future, we plan to implement an even better system to handle groundcover. Such a system will, however, not be compatible with current mods made for MGE XE.

Try the groundcover system today in an unreleased build of OpenMW, or wait for the next release. You can read on how to enable groundcover mods here and here.

3. The Enlightenment
Did you know that OpenMW only supports up to eight lights for each object? You might have noticed lights turning on and off while walking around in a few specific places in Morrowind. If you use Active Grid Object Paging, you might have noticed this quite a lot.

The issue lies with our support for old style Fixed Function Pipeline (FFP). Every object in the game can only receive up to eight light sources at the same time. This was actually the case with vanilla Morrowind too, but the game is designed in a way that you almost never see it. To be fair, all Bethesda games until Fallout 4 had very limited maximum lights per object and worked around the issue in the design of the game. However, the way Morrowind is designed, with many small objects everywhere, is also very inefficient since it creates a lot of draw calls. And while draw calls are reduced if we merge many of the smaller objects into fewer larger object with Active Grid Object Paging, we will instead get issues with lights, since the light limit per object will get reached much earlier. There have been attempts at solving this issue previously, but it proved to be quite the tricky task.

This is where Cody Glassman (wazabear/wazabear_notabear) comes in. You might have come across him earlier from his fork of OpenMW that implements more advanced UI features, which by the way can get re-implemented in a much lighter more mod-like way once Lua is merged. Anyway, Cody decided to have a look at this light limit issue, which resulted in this merge request. It is not quite finished yet, but he already gave us a sweet example of it working here: https://streamable.com/hofhxc

A scene like this would be impossible with the current version of OpenMW. Although getting this crazy with lights is a pretty bad idea in a real-world case, this case at least proves modders will have less issues with lights in the future. End-users will also be able to get the sweet performance increase of Active Grid Object Paging without the annoying light pop-in and pop-out issues.

The next release
Yes, we plan on releasing 0.47.0 in a not too distant future! Stay tuned, we will let you know when it is out.

Until next time, thanks for reading.
User avatar
Atahualpa
Posts: 1176
Joined: 09 Feb 2016, 20:03

Re: OpenMW Spotlight: Submit to the three

Post by Atahualpa »

Nice post, lysol! I usually check our GitLab several times per day, but you got me a bit hyped there. :D

Oh, and the Telvanni party lights are marvellous.
User avatar
lysol
Posts: 1513
Joined: 26 Mar 2013, 01:48
Location: Sweden

Re: OpenMW Spotlight: Submit to the three

Post by lysol »

Thanks! Yeah, it's getting really interesting now. Everyone is doing great work, and with many new very active devs such as Petr Mikheev, Frederic Chardon, Cédric Mocquillon and Gleb Mazovetskiy, the pace has increased even more.
User avatar
TKmod
Posts: 2
Joined: 05 Mar 2021, 16:38

Re: OpenMW Spotlight: Submit to the three

Post by TKmod »

I not sure if this is the right place to ask so sorry in advance though I was wondering how long tell OpenMW has -swift casting-, -over the shoulder camera-, and -at a glance(status bars)-? Those are the 3 things that's been having people leave my server over time and is really needed on my server.

Also how do you get the textures to look 3d? I've been able to enhance the textures but they still look flat, I've tried -_n- and -_nh- type files but I don't see a difference as far as being 3d the textures are only enhanced

My last issue I have been having is one players have noticed the most...and I'm pretty sure its something I did...the sun has no flare/blume/rays ingame. Is there a setting for that and if so were?
User avatar
lysol
Posts: 1513
Joined: 26 Mar 2013, 01:48
Location: Sweden

Re: OpenMW Spotlight: Submit to the three

Post by lysol »

TKmod wrote: 05 Mar 2021, 17:33 I not sure if this is the right place to ask so sorry in advance though I was wondering how long tell OpenMW has -swift casting-, -over the shoulder camera-, and -at a glance(status bars)-? Those are the 3 things that's been having people leave my server over time and is really needed on my server.

Also how do you get the textures to look 3d? I've been able to enhance the textures but they still look flat, I've tried -_n- and -_nh- type files but I don't see a difference as far as being 3d the textures are only enhanced

My last issue I have been having is one players have noticed the most...and I'm pretty sure its something I did...the sun has no flare/blume/rays ingame. Is there a setting for that and if so were?
Hi!

1. Over-the-shoulder camera already exists in OpenMW, but since you talk about "server", I assume you are using TES3MP. We need to wait until a newer version of TES3MP before you get that feature for your server. Regarding swift casting and similar, this will be easy for modders to implement once we have full Lua support.

2. You need to use textures with normal maps. Make sure you download a mod that has normal maps included, in the correct format (_n or _nh), and make sure you enable normal map support in the settings.cfg file.

3. The sun having no flare or rays... The regular "flare" effect is there as far as I know if this is what you are referring to, but I do remember some graphics drivers (intel?) having issues with it. Nothing we could do about in that case. If you are referring to what people often call "god rays", then sorry, but those kind of effects are not implemented yet.

And again, since you talk about servers, then you also need to know that the multiplayer part is still a separate project called TES3MP, and while the plan is for that project to merge with OpenMW, that time has not come yet and any questions regarding TES3MP is therefore better asked directly with them. Either via the subforum for TES3MP you can find here, or on their Discord channel.
Nobby
Posts: 11
Joined: 30 Oct 2011, 07:25
Location: Russia

Re: OpenMW Spotlight: Submit to the three

Post by Nobby »

Awesome news, huge thanks to everyone involved - impressive progress as always, can't wait for 0.47.
sg1efc
Posts: 84
Joined: 16 Nov 2012, 02:35

Re: OpenMW Spotlight: Submit to the three

Post by sg1efc »

Thanks a lot everyone :)
User avatar
klorax
Posts: 46
Joined: 29 Apr 2018, 19:55

Re: OpenMW Spotlight: Submit to the three

Post by klorax »

Thanks!

Last edited by klorax on 24 Mar 2021, 12:57, edited 1 time in total.
User avatar
vk1970
Posts: 40
Joined: 10 Mar 2017, 22:57

Re: OpenMW Spotlight: Submit to the three

Post by vk1970 »

This is great... really, it is. BUT... the CS is still way behind the Unity editor and even the GECK. I haven't given up on it, personally. I sure as hell can't do it on my own, obviously. And I'm not going to ask people working on the engine to work on the overhaul I have in mind, that's ludicrous. I apologize for getting sidetracked with personal stuff and politics during this pandemic, but shit happens... obviously. This engine and the CS are an inspiration, at least to me. I know many people just want to play Morrowind, and along those lines, LUA can bring Daggerfall mechanics to Morrowind, which was part of the original vision anyway.
User avatar
docent27
Posts: 8
Joined: 20 Sep 2019, 16:39

Re: OpenMW Spotlight: Submit to the three

Post by docent27 »

Dear developers - thank you so much for your work! OpenMW has long replaced vanilla morrowind on my computer. I am looking forward to the 0.47 release.
Post Reply