Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
OpenMW: Open-source reimplementation of TES3 Morrowind (github.com/openmw)
258 points by agluszak on Oct 18, 2021 | hide | past | favorite | 116 comments


Just for everyone's edification, the main development hub for OpenMW is located here:

https://gitlab.com/OpenMW/openmw

Including the issue tracker and CI.

If anyone is interested, they can join the forums:

https://forum.openmw.org/

or Discord:

https://discord.gg/bWuqq2e


And other open-source game clones: https://osgameclones.com

Also, the list says there's this project TES3MP, which adds multiplayer to OpenMW, but development is ‘halted’: https://tes3mp.com

“This branch is 2536 commits ahead, 2724 commits behind OpenMW:master” whoa daddy.


TES3MP is being merged into OpenMW.

https://openmw.org/2019/time-to-make-stuff-official/


Development isn't halted, it was just slowed down by all the problems caused by the pandemic.


Strange: you'd think that nerds shut in their rooms is the perfect circumstance for coding.


Contrary to popular belief, nerds are not impervious to being affected by emotions caused by lockdowns, trauma, worry about the future and similar things.


Strange: you go through most of your life wondering why the nerd stereotype is of someone lacking empathy and then you read this comment and it’s made crystal clear


Not if a family member has died.


It's funny that I see that popping in HN, I've just reinstalled OpenMW the other day and am currently on my way to reveal myself to be the Nerevarine very soon.

The project is making excellent progress in my opinion. I remember a few years ago when they were actually many little things lacking (don't ask me for specific examples but I remember some game mechanics being broken) and now it's the opposite, their additions to the UI are very good (in the alchemy menu for instance) and some game mechanics have been rebalanced somewhat.


I'd been waiting for OpenMW to fix shadows before trying it, and IIRC late last year or early this year they fixed them, so I tried it. I played the whole main quest, finished several major side-quest story trees, finished Tribunal, and got started on Solstheim before getting distracted and dropping it.

20-30 mods, mostly texture-related but a couple additions and gameplay mods—there's an obscure and untouched-for-many-years library mod I adore that adds a nearly-empty library just outside Vivec, which you can fill up by giving them books to copy, for instance, and of course modding plant harvesting is a must, plus I think I had some of the Morrowind Comes Alive stuff enabled—all managed through Mod Manager 2. Draw distance set very high, 4k resolution.

It ran great. Zero bugs, zero quest glitches, zero crashes, the entire time, even with mods. Vanilla Morrowind has always been pretty crashy, so that's a damn good achievement.


A few years back I was playing OpenMW quite extensively, always on the lookout for potential bugs. I remember it getting harder and harder to find new issues, and for most of the ones I found in the last few months of that period I had to double- or triple-check with the original version to make sure it was an OpenMW-specific bug (often times it turned out it was a bug with the original game as well). I contributed some 100-150 bug reports, most of which I think are fixed by now (a bit hard to tell because they switched bug tracker in the meantime).

Funnily enough sometimes OpenMW worked too well. E.g. there is a script that damages the final boss for each of his "captains" that you kill, which never worked in the original version because IIRC the engine couldn't modify the health of an unloaded mob. In OpenMW it worked perfectly, with the side effect of subtracting exactly 100% of his health if you killed all underlings, resulting in you encountering a corpse as a final boss.


Once in the times where ICQ was king, I somehow got a pal from Denmark.

Once he sent me a letter with a CD of a game called Morrowind. But it never ran on my old, old even for that time's reckoning computer.

But I was pretty sure it was about jet fighters. With a multiplayer component.

The CD is long, long gone, and so is the contact. But I still remember it and my distraught over the years to see this company with an ugly name - Bethesda, really? - STEAL this game's name and make any and all references of the original, true Morrowind in my mind, disappear from the web.

To this day I bear a grudge against the ES series and won't play it. Name stealers.

...Fuzzy memories are a hell of a beast.


I know this won't matter to your fuzzy memories, having a few similar ones myself. That said, Morrowind is a province in the game, that was named in TES: Arena, released in 1994. ICQ was released in 1996. In-game maps in Arena show it: https://en.uesp.net/wiki/Arena:Maps (topmost one is a fan map, note)

I did some searching for something similar, but the only thing I came upon even vaguely related would be The Morrow Project, a tabletop RPG.


Perhaps this was an instance of “Don't mind the case, I lost the original one so the case is from MW”.


I liked ICQ (before it was bastardized) a lot better than chat clients that came after. You could control your visibility by person or group. You could actually search your history and carry it with you over the eons. It was lightweight, fairly unobtrusive and ad-free.


And it had a sort of "live chat" function. You could see your conversation partner's keystrokes in real-time, including typos and corrections. This has, as far as I know, never been introduced in other chat clients...


That’s how it worked on dial up BBSs too. But it was one buffer with a convention of entering two newlines when you were done typing.


There was/is Unix talk(1).


> You could actually search your history and carry it with you over the eons. It was lightweight, fairly unobtrusive and ad-free.

All of that is still true of the chat protocol that came before and still exists, IRC.


Could you be more specific, e. g. approx year? Perhaps the collective mind knows...


There's also a great VR implementation of OpenMW: https://gitlab.com/madsbuvi/openmw

VR is such a great twist for replaying an old classic, but you have to mod a few things unless you enjoy swinging your arms at cliff racers 300 times early on!

Morrowind was a very important game to me growing up and still my favourite Elder Scrolls release. I remember contributing to the Tamriel Rebuilt project when I was in my early teens and represents my first contribution to a community project. I like to give it a replay every couple years.


My understanding is its at the point where its complete enough there is work underway extending the engine to also support Oblivion/Fallout as they use similar asset formats. Very exciting stuff in my opinion.


Which is great because both those games are hobbled on modern platforms. For example, if you want to play Oblivion with analog sticks you'd have an easier time emulating the 360 version than adding them to the PC version.


This! I'm all the more frustrated by the claim (seemingly validated by the grandparent about Oblivion/Fallout compatibility) that Bethesda just kinda gives the old engine a new coat of paint then merrily releases a new generation of videogame. You'd think that there'd be fan-spearheaded attempts to tear out and replace some of the wonkier components. And, after reading about all of this, I guess there are.


I feel curious if this is going to let me play Fallout 3 on my TV-attached Raspberry Pi 4 using a BlueTooth gamepad.


I don't think a Pi 4 would be fast enough to provide a enjoyable experience. I just tested OpenMW on a Pinebook Pro (RK3399 SOC, should be slightly faster than a PI 4) and I do get like ~30-40 fps with lowest draw distance in Morrowind. Fallout 3 should be even slower due to far more and more detailed objects.

edit: Rendered at a meager 800x600 px


https://youtu.be/Fb1UUesbNlY shows a Pi 4 running OpenMW not badly at 720p with medium draw distance.

Still looks pretty bad, I think I'd rather run the Android port of OpenMW with an HDMI adapter I think.


Maybe I'm used too much to playing with 60+ fps, but I would call a highly unstable framerate with dips below 20fps bad.


How comes the Android port is supposed to be faster? Isn't Raspberry PI 4 similar to a good Android smartphone in hardware?


I would have characterized it more as a midrange phone from half a decade ago.


Half a decade is not much. My phone is a flagship from more than a half a decade ago and everything (except the GPS module - it usually takes minutes of standing still to hit enough satellites and knocks out the whole new battery in under half an hour) works perfectly fast.


Half a decade in mobile CPU time is massive. The A15 is, at minimum, literally 5x faster than the A10.


I played Fallout 3 on a Core 2 Duo with Intel graphics. I used the lowest graphics settings possible (the display's native resolution though - 1440x900, not the minimum) but enjoyed. Is Raspberry Pi 4 supposed to be even slower?


Wow, that would be amazing.

I haven't tried OpenMW in a year or more but I was really impressed with what they had managed, it was the first time I had ever played MW with a decent frame rate.. that original engine seemed to run poorly on any configuration of hardware I had over the years.


I remember this project. Their first implementation was actually in D. Later on they transitioned to C++ because it was easier to find C++ devs and the D ecosystem was less mature than it is now.


Best enjoyed with something like https://www.tamriel-rebuilt.org/ installed as a mod.


I'd love to try it, but the install is pretty involved, and the instructions are hard to find and haven't found any that are linux specific and provide paths for content locations.


Ah yeah, I remember that being pretty hard. It has been a long time since I set up TR.

I think the tricky file to find was ~/.config/openmw/openmw.cfg and it needed to che changed to include:

    fallback-archive=PT_Data.bsa
    fallback-archive=TR_Data.bsa
and

    content=Tamriel_Data.esm
Then everything else was managed with the openmw-launcher UI. The game ended up installed in ~/.local/share/openmw/ with some funky setup to deal with mods.


I don't think it was very difficult when I tried it. Just grab the textures and main mod, put them somewhere (e.g. .local/share), and then append the following to your openmw.cfg config AFTER the base game:

data="/home/user/.local/share/mw/Tamriel Data (HD)"

data="/home/user/.local/share/mw/Tamriel Rebuilt"


There's also a fork with multiplayer support (to an extent): https://github.com/TES3MP/openmw-tes3mp

OpenMW is great, played it a lot a couple of years ago. I love when games get future-proofed like this. See also the various Quake and DOOM source ports, although those started from id Software releasing their engines under the GPL so had an easier start.


The fork is great, but the main developer is incredibly hostile to contributions (i.e. very, very rude and combative for absolutely no reason). If you are thinking of contributing, keep that in mind - it's not you.


In defence of the maintainer. With this sort of project there is a real possibility that there is 1 person in the whole world who will keep the thing alive. If that person happens to have particular standards for what code looks like then good luck to them.

Perfect is the enemy - the active and vigorous enemy - of good when it comes to OSS maintenance.


If you alienate everyone who is excited to contribute, you make sure there is one person in the whole world keeping it alive :)

I don't think it's so rationally motivated. The conversation was so fundamentally illogical I must conclude it was purely emotional.


You're not "everyone", you're just someone who didn't read the contribution guidelines in the readme and still feels like complaining about it to this day.


If you are thinking of contributing, you should at least read what it says in the readme instead of pretending that not reading the readme was unfairly held against you:

"For code contributions, it's best to start out with modestly sized fixes and features and work your way up. There are so many different possible implementations of more major features – many of which would cause undesirable code or vision conflicts with OpenMW – that those should be talked over in advance with the existing developers before effort is spent on them."


Any public examples?


No, I got yelled at (for asking which issues were not picked up yet and then saying I'd pick one up) in private. I'm definitely not the only one.


This is incorrect. You decided you were going to do a unilateral implementation of a feature without discussing it at all. It was an anti-collaboration mindset from you.


You were so rude to me and so unwilling to actually discuss things like an adult I eventually resorted to blocking you on Discord. I talk to an incredible amount of people on there and you are one of maybe two people I've ever had to block. I recognise that there was an avenue where I could have placated you, this is after all possible with every human being. That said, what you accused me of and what you apparently continue to accuse me of is just not reasonable and I'm afraid we will never see eye to eye on this.

Edit: To actually respond to what you are saying: I came into your server and asked if someone had already picked up an issue. When it was clear this was not the case, I said I would give it a shot. Because you were the way you were to me, I never felt like I should contribute my patches upstream (which I did end up writing). That is a shame and a loss and all you had to do to avoid it was approach me with a positive and tolerant mindset, like I tried to do with you.


You never came to the TES3MP server at all. You came to an unofficial server for Lua scripters and decided to tell everyone you were changing the C++ code to add combat events as you wanted even though the combat system was being redesigned at the time to use different packets. You had never spoken with a TES3MP developer before and ignored the readme's contribution guidelines, which simply asked you to start with one of many smaller possible issues instead.

If your idea of a "tolerant and positive mindset" is to immediately try to get scripters to follow a derailment of the plans of a project you have never contributed to and then keep complaining much later that you were told not to do this, it's safe to say the project is better off not having to deal with that.


You're rejecting this person without giving them a chance. "You're wrong" "You did something bad" "You have the wrong mindset". There is no room to be correct. There is no room for a bilateral implementation of a feature. There is no room for a collaboration mindset.


I only rejected his out-of-the-blue implementation of something that already had very different plans around it. There is room for whoever doesn't disregard what the readme says:

"For code contributions, it's best to start out with modestly sized fixes and features and work your way up. There are so many different possible implementations of more major features – many of which would cause undesirable code or vision conflicts with OpenMW – that those should be talked over in advance with the existing developers before effort is spent on them."



Direct for sure, but not rude.

Someone want a modification to be merged and push a lot of template code giving a 3 line PR explanation.

This kind of situation comes often in OSS, specially in C++ project and I wouldn't be surprised if OMW had a lot of PR like this.

With this kind of PR, the maintainer have to go into each line and try to understand what the point because the original author didn't explain that much + it's C++ template and not everyone like that.

This is not a excuse to be arsh or anything, another option would have been to put a tag "need clarification" and let the PR in a hole and force the author to motivates its modifications.


Not just a simple template, a template template, which is certainly quite obscure.


I see a discussion but it's not too harsh to me. Do you come from a Western country? People coming from Western countries tend to be more demanding about discussion friendliness sometimes for my experience


I agree. There are also huge individual differences. I have a military background and we generally don't "gift wrap" our feedback. "This bad because X" is constructive, helpful and to the point, and it doesn't mean that the person receiving the feedback is incompetent. Some people seem to take it that way.

Accepting failure is integral to learning and growth, but a key part of that is identifying the weak points and learning from them.

Edit: s/gift wrap/sugar coat


Contrary to both your comment and the parent's, one of the project's developers (not sure they are the main developer, but one of them) admitted in the referenced pull request that they were too harsh in their response to the contribution:

> Now I am rereading my first comment an see that it is too rude. I am sorry for that. I was in a bad mood when wrote this.


Yep and he apologized as you noticed, so I can't see anything too frightening to me.


What countries would be less friendly in your experience?


Let me clarify that I'm not talking about countries and people, I'm talking about language. For example, English language puts "please" every time you are telling someone to do something, in my language (Italian here), you don't do that. If you are not a good English speaker (like me), you suddenly become someone who gives commands to other people in a rude way.


> English language puts "please" every time you are telling someone to do something

As a native English speaker: no it doesn't. Whoever told you that was gaslighting you, a corporate-politically-correct shitheel, or both. (Or being sarcastic, or cargo-culting something they picked from one of the previous categories, or some other breakdown of communication.)


> People coming from Western countries tend to be more demanding about discussion friendliness sometimes

> People

I'm a bit confused, are you talking about people and countries or not? In your original comment you explicitly said "people" and "countries"


They are talking about the way people from these countries typically phrase things as a result of their native language, rather than trying to characterize the actual personalities of the people from these countries. We just add more friendly sounding little filler phrases in our speech and often phrase instructions/commands as requests in English. This doesn't make us fundamentally nicer or more reasonable, it is just a social convention.


Thank you for explaining that at my place :) I wasn't even referring to "Western" countries, I mean I come from Italy, which actually is a Western country, and when I read native English speakers I notice many differences that I'll never be able to reproduce


I'm just curious; why did you specifically say western countries, if you didn't mean western countries? Or say people if you didn't mean people?


Because I'm not a good English speaker, I'm sorry about that


You're a great English speaker, which is why it was just confusing since you're clearly able to articulate when you _don't_ mean people and countries.


Well, I appreciate that I can write decently :D but it requires me a lot of effort, my English skills are a source of big troubles at interviews with other countries. Sometimes I just get confused translating and I say something for something else


In fairness to your point, I guess I technically can't comment on your speaking, but your writing is definitely great. I wouldn't have guessed you're not a native speaker. Do you practice speech often? I'm a language learning fan but not a huge fan of talking in any language, so my speech always lags behind my writing in languages I study.


I never practice speech, that's something I should do, but my problem is that I like too much the English language spoken by an Italian person, and also I don't like the English pronounce. That's a strong obstacle to any improvement on English language sounds. I love written English, that's why I can write it, but I just don't like how it sounds, that's why I can't speak it.


I'm not GP, but many Asian cultures apparently have a much more blunt culture than many "western" countries.



I thought the parent comment up the thread was referring to the multiplayer fork rather than the main codebase but I could be wrong


I was referring to the multiplayer fork, yes


I… don’t see anything wrong with that discussion?


not to mention petrmikheev isnt even the main developer, let alone the lead of openmw, psi29a is.


Yep, agreed. I decided to make a private branch on gitlab, update it to the latest OpenMW .47 build and since then fix quite a number of breaking bugs as well. I originally was motivated to do this for my own players but unfortunately don’t feel welcome to bubble the contributions back up. Pity really, but this is now a hard fork from tes3mp (although I plan to open the fork at some point with a new project name).


There wasn't anything rude or combative in asking you to allow TES3MP to catch up with breaking changes in OpenMW one at a time, especially considering you had never interacted with anyone from TES3MP at all.

Your attempt to take in many breaking changes at once resulted in what you yourself called an unstable and "truly hacky" build.

Consider why you feel the need for such hard unilateralism in your approach before you complain about others.


Ok, well, that isn’t even close – I offered a link to my own public repository for other people if they wanted to bring their binaries up to .47. It wasn’t a PR. The current version of tes3mp has bugs that make the game unplayable and is way long in the tooth - 3 years since a release.

But anyway - not interested in drama. My branch is up to speed, many bugs fixed and we're having a blast.

Peace and I wish you well with your tes3mp efforts.


Most of those bug fixes and complicated updates towards 0.47 were done by me on the work-in-progress branch, but you're pretending it's your credit somehow just because you took my unfinished work before I could do a release of it (mainly due to COVID-related problems).

If you're not interested in drama, perhaps you shouldn't start it so needlessly.

Also, nice edit to your comment. Here's what you said originally:

https://i.imgur.com/PGszuuE.png


example? I cant think of anyone especially combative working on openmw


I was talking about to the fork, which is referring to the multiplayer fork. The openmw team is great and I have only good things to say about them.


You've never contributed to OpenMW. If you tried the same kind of unilateralism regarding features with them, they wouldn't appreciate it either.


i can highly recommend tes3mp! i did a playthrough with some friends early in the pandemic and it was a lot of fun, a really great way to re-experience an amazing game.

granted there are some limitations you have to be willing to overlook to enjoy the game .. mainly around questing and syncing since all players share the same quest ledger. for example (SPOILER) when curing myself of corpus my character received the cure and attribute buffs but my teammates did not. in the main story line these sync issues are infrequent and were manageable, but at times got especially bad in the DLC -- be prepared to hop in to the command line a lot to revive quest givers, update the journal, acquire items, alter stats.


OpenMW can also be used to play Morrowind in VR:

https://www.youtube.com/watch?v=VUrvAAn9hFo


I just replayed Morrowind and tried both OpenMW and also the original with Morrowind Code Patch and Morrowind Graphics Extender, and ended up playing with the latter (mainly because of the much nicer graphics, due to longer render distances and also some features OpenMW doesn't have which now I forget...)


OpenMW mods can duplicate this experience for the most part, if you're on Linux where the graphics extender doesn't work.

Additionally one can tweak settings like draw distance [1] in the settings.cfg file, as well as lots of other settings [2].

https://forum.openmw.org/viewtopic.php?t=3398

https://openmw.readthedocs.io/en/stable/reference/modding/se...


Oh here's the link to a site which is convenient for browsing mods

https://modding-openmw.com/lists/


The update videos published by the openMW team were my beloved companion through a decade of my life.


Same with me and Black Mesa: Source.


Hey, at least that one's out, now.


I hope to see a complete implementation one day. My main issue with OpenMW is that the modding community is fractured somewhat between mods that are compatible with the base game and those that are compatible with OpenMW. I'm optimistic that there may be some more compatibility in the future.


I agree modding OpenMW is painful because of the fracture. Though I must say, out of all the Elder Scrolls games, Morrowind has always been the one I've felt like modding the least. Maybe it's just perfect?


I recently re-installed Morrowind and played it through OpenMW. It was a great experience. It was certainly more stable than I remember the original being, having never crashed once in my play-through. I think the main thing that might hold some back still is the ability to support Morrowind Script Extender mods.

If you're interested in modding it, there are some good guides on compatible mods and curated mod lists at https://modding-openmw.com


this runs great on my modern gaming PC. The polygon count will always be lower than a current game, but it plays very well. Additionally, from a gameplay perspective, this got the scaling and scale right, it stands alone as a fantastic RPG I will definitely replay again.


This has also been ported to Android!

https://github.com/xyzz/openmw-android

I made pretty significant progress on my phone with a Razer Kishi. Pretty fun.


Love this!


How is this open source Marrowind if I need a copy of Marrowind to play it?


That's how most opensource game revivals work, one is not legally allowed to distribute original in-game assets. If you come up with free textures and sounds, you'll get the 100% free alternative


Thanks for your explanation.


The assets are still under copyright. On paper you could "re-implement" assets as well, ie. remake all the models, textures, music, voices and rewrite all the quests.


This is what the Skywind project is doing.


No, you have to create a new game based on the OpenMW engine. Kinda like FreeDoom for Doom.


Thanks for your explanation.


Because software copyright was and is a bad idea, and courts (especially the 9th Circuit) have generally carved out exceptions for compatibility-related copying in the software domain that absolutely would not apply to other copyrightable work that ships with the software. You absolutely can legally reimplement a computer program such as a game engine, but doing so to the story, assets, level design, or what have you would just be ordinary copyright infringement. As a result most game reimplementations either do not ship with any art, or ship with an entirely separate custom-made campaign to demonstrate the capabilities of the reimplemented game engine.


Ducking it wasn't very helpful, what's the 9th circuit? Is it a court of appeals of some kind?


The Court of Appeals for the 9th Circuit is an appeals court that covers basically the entire west coast of the United States within it's jurisdiction. As a result of that, it covers a lot of copyright cases and has a lot of it's own copyright jurisprudence that doesn't automatically apply in other circuits. (Notably, Oracle v. Google would have taken half the time it should have been had it not included patent claims, which moved what should have been a 9th Circuit case into Federal Circuit jurisdiction.)


Thanks for clarifying!


I believe they have rewritten the underlying game engine, but you still need the game for the assets like character and world models, audio, etc.


Fun fact: Morrowind used the Gamebryo engine, which is apparently still in active development in 2021! (Or at least the website is still up)


Thanks for your explanation.


The title is misleading, the creators don't even claim this themselves:

"OpenMW is an open-source game engine that supports playing Morrowind by Bethesda Softworks. You need to own the game for OpenMW to play Morrowind."


Presumably the code is open source, the art isn't?


Thanks for your explanation.


Bummer, I thought it would be an OpenModernWarfare (cod mw2) reimplementation.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: