image ©Maxim Nikolaev

Good morning and welcome to this joint interview. Can you tell us a bit about yourselves?

A.: Hey, anonymous interviewer! I’m neither a cat nor a month, but a rather fortunate bird — if you believe some historians’ hypothesis about my nickname’s origin. In my day-to-day life, I prefer to take the form of a German electrical engineer doing his PhD in the field of battery technology. Thanks for reminding me that I still was an undergraduate when I joined the project in early 2016, technically transforming from long-time lurker to, well, bird.

J.: Hello there! I enjoy the company of cats but like my fine friend Atahualpa I also am not a month. I also may not always be that hostile. When I’m not poking around in OpenMW-related things I do enjoy cycling, nature hiking, and playing music. I started hanging out in the OpenMW IRC channel back in 2013 or so and have just been hanging out ever since.

Word on the street is that you’re the dynamic duo of OpenMW’s massive video production industry. Is that true?

J.: I remember learning about OpenMW, and of course part of that first exposure was a classic release video. I forget which was the first video I saw, but what did stay with me was the style — and I hope we’re staying true to it with our work.

A.: While we might be the somewhat dynamic video duo today, we are standing on the shoulders of giants: Star-Demon, who started the whole concept of presenting OpenMW’s progress in video format over twelve years ago for version 0.6.0, and the brilliant WeirdSexy, whose great voice and even greater love for spears have been ingrained in our collective memory.

Producing video sounds like work. What does it look like, what’s the secret sauce?

A.: At this point, a short disclaimer: We aren’t professionals by any means, so take everything we say with a spoonful of salt.

J.: Oh please, everybody knows that Atahualpa is a Blender video-editing Arch Magister. I learned everything I know from him!

A.: Alright then, let’s look at some of the things we need to cover in order to produce a somewhat entertaining release video. Please note that this is a simplified breakdown and that many of these steps may overlap, change order, or require several iterations and feedback loops. Video production is reaaaaally time-consuming (maybe we should start doing reaction videos).

  1. Content considerations
    We usually take the complete list of changes (nowadays 100+ closed issues per release), add changes without tickets on our issue tracker, put them into suitable categories, and rate their video eligibility:
    • Importance?
    • Interesting to the viewer?
    • “Easy” to demonstrate?
  2. Content outline
    After choosing the issues we want to cover, we define their order of appearance. The structure might look like this:
    • Intro
    • Credits
    • Main video
      • Section 1
        • Cool new feature
      • Section 2
    • Outro
    • Fake “end card”
    • “Post-credit” scene
  3. Script draft
    Having a rough outline, we start writing the script. Especially this step might go through several feedback loops by discussing it among us or passing it to the team for review.
  4. Audio recording
    We usually divide our speaking parts evenly. Then, we record our paragraphs, optimise audio quality, put in labels, and export them into single files for greater flexibility.
  5. Video recording
    With the script and audio in place, we can start recording video footage. This is, of course, heavily guided by the script — not only in content but also in length. Moreover, many of the scenes might require a certain setup, even including mods or custom editor content to fit in those little inside jokes no one will catch anyway.
  6. Pre-postproduction
    Each video requires title screens, text overlays, and pre-rendered audio visualisers (see intro of 0.47.0 video). Those are done in Blender.
  7. Postprodcution
    In this step, everything is put together using Blender’s video sequence editor: video and audio files, background music, overlays, video and audio transitions, and additional effects, e.g., speed modifiers or zoom effects. The final Blender file might look like in the image below.
  8. Rendering
    The video is rendered in 4K to ensure highest quality on YouTube — yep, even 1080p viewers benefit from a 4K source file due to YouTube’s infamous compression shenanigans! Early video tests are usually rendered with a lower resolution to speed up the process.
  9. Post-postproduction
    Before the video is published, we create closed captions in English (as well as subtitles in German if there is no separate German video) and a custom thumbnail.
  10. Pre-release tests
    The last step before a release is extensive test viewing by other team members to catch any remaining errors. — Et voilà, a new release video is ready to go!

Is it true that you’re mysteriously showing up in time of need, like, right before an OpenMW release?

A.: Nice try to get that famous quote from this wizard in Star Wars. Ehm, Spock it was, right?

J.: Think of me as the reverse homer-in-the-bushes gif. Oh, and yeah Atahualpa: that was Captain Spock for sure.

A.: In fact, OpenMW releases tend to spawn right after one of our videos. Except for 0.48.0, which, to this very day, is a great mystery in and of itself.

Wait, does that mean you’re cooking a release video right now‽ Can you share some details? Can you leak the date of the release?

A.: My estimate is that we will release the video at least one day too late from everyone’s perspective, which is going to be mitigated by delaying the actual release which, in turn, is going to annoy everyone even more. It wouldn’t be the same otherwise.

J.: Maybe a few days plus or minus from that. I can’t be too sure. It’s likely we won’t know when it will be out until it is.

A.: Seriously though: 2024 would be awesome — looking at you, extended release phase for 0.48.0.

Previous videos have been awesome and thus rightfully well-received. How do you handle so much fame?

J.: Give the people what they want! And by that I, of course, mean Fargoth jokes and Imperial guard mosh pits.

A.: Not to rain on your parade, but I measure fame in the amount of bot comments below our videos — and going by that metric, we are as famous as the menu pinning feature in Morrowind.

Speaking of videos, since you’re obviously domain experts, any recommendations with regard to movies and TV shows?

A.: Boomer advice: Don’t let your consumption of movies and TV series become arbitrary. Oh, and consider reading the source material (if it exists), especially if you happen to love fantasy and sci-fi works like I do — it usually allows you to imagine and explore other worlds in much more depth than a TV adaption can provide. As to actual recommendations, my last movie was “Dune: Part Two” (you might have heard about it). One of the best audio-visual experiences I’ve ever had in cinema. (Again, read the books! Well, at least the first three, I guess. The series gets increasingly more complicated and esoteric.)

J.: Oh yeah, Dune is on my “to-watch” list, and I guess now on my “to-read” list as well! Ahem, as TV shows go, I must take this opportunity to give a shout out to “Star Trek: Deep Space Nine”. When I think about movies, I think about “Fear and Loathing in Las Vegas” and I think of mine and Atahualpa’s adventures in making OpenMW-related videos. Yeah… it’s kinda like that!

A.: Uhm, okay. But who is which character in that analogy?

J.: I do think of you as my attorney and you are doing the PhD thing, so that makes you Dr. Gonzo. I’ll be Hunter S. Thompson; I can wear cool hats and take all the ~screenshots~ photographs.

Have you ever thought about learning C++ to contribute by writing code, like some other contributors did?

J.: Years back, my first experience with (very roughly) hacking on C++ at all was with OpenMW — I wanted to hack in the ability to wear more rings and kind of grepped my way to it. More recently, I actually did decide to dive back in to get a small feature added into the Lua API. Major thanks to everyone who helped, especially S3ctor and Evil Eye! It’s a big, complicated codebase but it can be reasoned about. The C++ itself is just another thing you must cope with, but things can come together surprisingly quickly.

A.: Truth be told, I learned C++ at technical college back in 2008. The problem is that an engineer’s ability to produce completely functional spaghetti code doesn’t qualify them to work as a game engine developer. Nonetheless, I’ve already contributed some smaller changes and bugfixes, with an emphasis on our editor, OpenMW-CS. — Even more truth be told, I have several thousand lines of unpublished code for various parts of the CS buried in my local OpenMW folder. Programmers can be harsh at times, and OpenMW developers are especially good at humbling you, allowing you to sustain your personal coding insecurities and letting you keep your work for yourself.

What’s the next big OpenMW thing you’re super excited about?

A. and J.: Lua!

J.: Of course it’s playing Half-Life 3 in OpenMW: Unity Edition. Seriously though: I’m looking forward to the awesome work that’s being done with spell casting and combat for the Lua API. These are some of the most sought-after features for modding and I think we’re going to see a lot of cool content that will utilize this. There’s also been some hacking on sky shaders that looked amazing, hopefully that can be on our pre-2090 list.

A.: I also like to see new stuff which I’ll probably never use myself, but which sets OpenMW apart from the original TES games. Upcoming features like (eventual) native support for multiplayer and VR are not only great for the people that use them — but they’ll also make OpenMW more accessible to other audiences which, in turn, might draw new contributors to the project. Moreover, let’s not forget that all these features will be most likely integrated into one platform, i.e., multiplayer users should be able to join using the Android version of OpenMW, VR users get to enjoy full support for OpenMW-Lua mods, etc.

Following, OpenMW intends to be a platform for independent games. Do you have a “dream” OpenMW game, and if so, what’s that look like?

A.: With “Tamriel Rebuilt”, “Skyrim: Home of the Nords”, “Province: Cyrodiil”, and the other “Project Tamriel” projects, Morrowind-era Tamriel is already covered if you ask me. What I would like to see — and, yes, I’m a sucker for Daggerfall, especially Daggerfall Unity — are large-scale approaches to a fantasy game. Maybe not as massive as Daggerfall or the (hopefully) to-be-released “Wayward Realms”, but with a greater sense of scale than the tiny theme parks current TES games are. Eventually, OpenMW-CS should allow for some kind of random/procedural generation, and I would like to see somebody take advantage of that possibility.

J.: I’m looking forward to community-driven projects that are using OpenMW for their engine such as Open-Z; My dream game made with OpenMW might be something surprising, maybe something with Katamari-like gameplay or some kind of recreation of a classic game. I love to see unexpected, not-Morrowind things as much as I love the Morrowind things.

A.: *cough* RoboWind Construct (RWC). Google it.

If you could change one thing about OpenMW, what would it be?

J.: I would remove the team’s harsh ban on hardcoding every actor in any game using OpenMW as Fargoth. It’s a crime, really!

A.: Speaking of hardcoding: the father of OpenMW, Nicolay Korslund, found it funny to hide most of our engine’s features behind a hardcoded 2090 timestamp which can only be removed for each feature individually by wasting huge amounts of energy to mine a developer token. That must have been the single biggest mistake in computer history! I want my vanilla-style water now!

Someone told me that johnnyhostile was going to jam with lysol in a sludge metal cover of the Morrowind theme. Is this true?

J.: It is true! This is actually the epitome of vaporware, 2090 edition projects. Coming soonTM.

A.: Not to spoil anything, but having heard an early demo of johnnyhostile’s guitar part, I’m more than hyped for the full album release!

Anything you’d like to add?

A.: To avoid a shameless self-plug by my wonderful partner in crime: If you want to mod OpenMW, go visit modding-openmw.com! I consider it to be OpenMW’s sister project, a hub for mod creators and modders alike that allows the community to decentralise mod hosting, while it ensures easy access to mods and modding instructions for everyone. It’s johnnyhostile’s baby, and he’s managed to build a team of dedicated contributors who help maintaining and improving the site for all of us to benefit from! Oh, and if you are a modder who wants to dive into OpenMW-Lua, have a look at johnnyhostile’s Lua mod template. It even allows you to host a little static website for your mod. — End of ad break.

J.: That’s it for today’s interview. See you next time — and as always: thanks for watch-, uhm, reading!

Interview with CMAugust 2024-05-12 - jvoisin

Good morning, who are you, and have you always been a month?

Only for a little while. My previous moniker was CMTuesday, or was it?

When did you join the project and why?

I first heard of OpenMW in late 2015, around the release of 0.37.0. The MrOpenMW Release Commentaries hadn’t caught up by that point, but the FAQ video successfully piqued my interest in a clean-room reverse engineered engine that could run Morrowind better than the original. I had bounced off of Morrowind in my first attempts to play it, but after the release of Skyrim ignited my interest in The Elder Scrolls like never before, I was ready to try it again in this new engine. And believe it or not, that was the first time I finished Morrowind’s main quest.

It was already a very playable experience in OpenMW even then, but there were some minor visual and UI hiccups along the way – these I documented and submitted as bug reports, which were promptly fixed by scrawl, who was still working like a machine after moving the engine from OGRE to OSG for 0.37.0. Seeing that level of responsiveness encouraged me, and thanks to the ease of being able to download a fixed build the next day, the testing process was in a sense more satisfying than if I had just played the game and moved on. Of course I played some more, and noticed some more oddities, and opened more issues on the tracker. And I basically never stopped.

I’ve been told you’re part of the “OpenMW Public Relations And Assorted Propaganda cabal”, is that so?

It’s news to me, but maybe I haven’t been let in on the joke! First and foremost my role in OpenMW has been as a tester, giving feedback to identify any bugs, issues, or features that will help to improve the user experience. I generally interact more within the OpenMW team than outside it – or to put it another way, if I’m pestering anyone, it’s the devs themselves. Of course, I do regularly wade over to the various Discord servers such as Morrowind Modding Community as well as the big projects like Tamriel Rebuilt to see what’s being worked on there, and occasionally I put in my two cents when certain topics like rendering performance are being discussed. That topic comes up fairly often with a game as CPU-intensive as Morrowind, and mods are constantly hitting that performance ceiling. I don’t care to do any preaching or propaganda for more users to pick up OpenMW, because as far as I’m concerned the engine speaks for itself with each new version that’s released. It’s good enough for me to know that the OpenMW team itself is in great shape, with a community Discord server that’s friendly and focused on the business at hand.

Out of all your time playing OpenMW and looking for bugs, which issues have been the most satisfying to see resolved?

For me it probably has to be the visual side of things, as in rendering. For a long time particles weren’t lit correctly, at least according to how Morrowind originally rendered them. Particle effects are usually the thing that brings the most “pizazz” to any game, and Morrowind’s effects aren’t great to begin with, so it irked me that they looked a bit worse in certain lighting conditions. I was also bothered by the light rendering in general, since while OpenMW faithfully replicated Morrowind’s fixed function lighting, the lighting in Morrowind is just hideous. Quite apart from the infamous 8 lights limit, the attenuation model used was so whack1 that it produced lighting seams and unsightly blinking everywhere you looked. Cleaning all this stuff up and replacing it with something better was not for the faint of heart, requiring knowledge of not just rendering but the many rules and quirks of OSG and OpenMW engine itself, and there was more than one attempt by different developers over the years with several false starts. To my eternal gratitude, all of this was finally resolved by wazabear in 0.47.0 and 0.48.0, with some further tweaks by Capo and wareya to end up in 0.49.0, and all with such finesse that OpenMW now has a direct upgrade path to clustered shading2 at a future date.

How come you know literally everything about OpenMW graphics even though you never wrote a single line of its code?

“Talk is cheap. Ask questions. You don’t ask, you never learn.”

When I notice something about Morrowind that looks broken, or runs slow, or is simply not as pretty as other games, I ask why. The OpenMW team is after all stuffed with people knowledgeable about such things, and more often than not a guru like AnyOldName3 or wazabear will explain it to me. Or, on the occasion they can’t recall off the top of their head like a Zen master, they might do some investigation of their own, in which case we both end up learning something.

Moreover, one of the nice things about identifying problems for open development is that you get to see the solutions. I read every issue and merge request that comes through on the tracker at least once, which usually conveys the gist of what was wrong and what was changed even if I don’t understand a lick of code. I also read each message that comes through the Discord, and each new post on the OpenMW forum before that. To sum it up, eventually some of that knowledge soaks through. But I certainly don’t know it all, and any day can bring new surprises.

Has OpenMW lived up to what you expected when you first discovered the project so far?

Looking back, I’d say OpenMW has nearly fulfilled all my original hopes from when it first caught my attention. At that time there was no distant land, object paging, groundcover, shadows, fancy shaders… and while all the Morrowind essentials were more or less in its place, not all the thousands of little pieces that make up the game fit quite right. Things are much further along today. OpenMW has reached parity with vanilla Morrowind in nearly every conceivable way, and for a stickler like me, that’s saying something. Out of all those original expectations, the only thing that still falls short is the dehardcoding of all relevant systems, and that is now well underway with the Lua API. But that’s not the end of the story, because completing the various features doesn’t simply close chapters of the OpenMW book – it opens new ones.

What’s the current or next big thing you’re hyped about?

Bindless textures3 will be a huge deal if it lands, and because one is related to the other, clustered shading* is likely to come with it. Aside from the advent of Vulkan, this is likely to be the biggest leap in rendering performance OpenMW will ever see. When that happens, there is suddenly scope for huge (and expensive) leaps in visual fidelity such as point light shadows. In addition, we could soon have a native physically based rendering path4 and support for its materials to go with it. Altogether, there’s a lot to be excited about in OpenMW’s future.

Any favourite mods?

When I’m not testing stuff, I run a fairly light setup, mostly related to fixes like Morrowind Optimization Patch and Patch for Purists. I think my favorite mods haven’t been invented yet. If I had to describe it, I think I’m most inclined towards mods that provide glimpses of a Morrowind that is less clumsy and more refined in every respect, polished and fun from end to end.

If you could change one thing about OpenMW, what would it be?

Giving it the power to dispense good luck and motivation to its many talented developers, so it can be developed still further.

  1. Morrowind’s whack attenuation model: CMAugust refers to Morrowind’s suboptimal use of the traditional lighting calculations. Unlike in most modern games and later Bethesda games, Morrowind’s light sources fade according to inverse-linear law rather than according to the physically accurate inverse-square law which means that it can take a while for the produced lighting to “disappear”. Due to Morrowind’s low light source limit this often results in it getting cut off prematurely. In OpenMW’s shader lighting, the used formula is tweaked to let lights fade earlier, preventing most apparent instances of lighting seams and pop-in. This does mean the game becomes darker overall. In 0.49.0, shader lighting will be further adjusted to minimize the resulting differences. ↩︎
  2. Clustered shading: another shader pipeline technique where light sources are bound to small segments of the screen (clusters) rather than objects. It allows to significantly increase the light source limit without running into the act’s usual performance penalties. ↩︎
  3. Bindless textures: a shader pipeline technique that makes it possible to use textures without binding them to the scene. This allows to significantly reduce the number of draw calls and thus the CPU load, similar to atlasing but avoiding its usual drawbacks. ↩︎
  4. Physically based rendering (PBR): the rendering approach often employed in modern video games in which texturing defines the object’s optic properties in a standardised way consistent with real physics. ↩︎