Morrowind Mod Dependency Hell - Portmod to the Rescue

แชร์
ฝัง
  • เผยแพร่เมื่อ 24 ธ.ค. 2024

ความคิดเห็น • 44

  • @halgari
    @halgari ปีที่แล้ว +9

    Hey, product manager for Vortex here, I think the answer to the your question is a bit multifaceted. Firstly, until recently we lacked the coding throughput to make headway on a project like this, in the past year or so the teams have been significantly bolstered so I think that's less of an issue now, but it does explain the historical question of "why not till now"
    But I think the bigger issue is that a lot of these comparisons to package managers miss a fundamental difference between games and operating systems:
    Let's say you install curl and wget, you may find that they both use different versions of some libraries:
    curl -> libhttp 4.2 -> libc 5.5
    wget -> libhttp 3.1 -> libc 5.x
    A package manager can solve this "conflict" by installing two versions of libhttp: version 4.2 and 3.1. These versions do not conflict, because on the disk they are completely separate versions. The OS is completely fine with having two versions of a lib on the disk. And two *separate programs* can have two separate versions of the same library loaded at once. This is completely different from how video games work.
    Video games are a single application running in a single memory space. You can't have two things overhauling the same texture at once. You can't have two versions of the same perk mod, or even in most cases, two perk overhauls loaded at once.
    With package managers, you're essentially installing silos in which each "apt install X" is never run within the same context of another innovation of "apt install X". This is not like games at all where for a give loadorder everything is smashed together into a single "runtime" or "operating system"
    So that's the logical disconnect here: package managers work for operating systems because each thing installed is not connected to anything else installed. In fact, package managers like Snap go even further, by segmenting each installed program into it's own "virtual environment" where it has zero contact with other apps except by writing files to disk or network access. On the other hand, games are always running every mod in the same program space. So even if you had an advanced dependency system, users are going to get quicky frustrated trying to solve the web of dependencies required to run a given mod. And most of they time these conflicts can't be solved at all, and users have to go and create compatibility patches.
    I don't think it's a lost cause in the long run, and better dependency systems are something we'd like to work on in the future. I think with proper mod versioning and metadata support we can certainly improve the current status-quo. But the deck is stacked against you when trying to apply package management systems to more complex games.

    • @chebgonaz
      @chebgonaz  ปีที่แล้ว +4

      Thanks for taking the time to answer my question. Those are some good points.
      Regarding the example you gave about curl and wget, which is fantastic example by the way, wouldn't it just be enough to warn and suggest?
      Let's say that a user wants to install the fictitious mod RobeCraft, which requires Crafting Framework 2.2, along with a very outdated mod called SwordSmith which uses Crafting Framework 0.8. Couldn't the Package Manager or equivalent warn that these mods are incompatible? With a well crafted manifest, a compatibility patch might even be detected and installed without warning the user at all.
      Even if conflicts as described can't be resolved when it comes to computer game modding, it would still be much preferable for me as a user to be able to install NecroCraft with a single click rather than having to install 10 mods by hand. So I think even if a Package Manager for modding has to be quite different than a package manager for an OS, there is still value in the idea.

  • @Ragnarok311
    @Ragnarok311 ปีที่แล้ว +1

    This is amazing! I'm going to need to give this a shot!

    • @chebgonaz
      @chebgonaz  ปีที่แล้ว

      It is for sure

  • @dorianofdeath5470
    @dorianofdeath5470 ปีที่แล้ว

    I have a question for you. I am looking for games like rimworld but revolved around necromancy. Like raising the dead to build structures or guard areas. I know there's mods for rimworld, but that's not exactly what I am looking for.
    Do you have any suggestions?

    • @chebgonaz
      @chebgonaz  ปีที่แล้ว

      Maybe try KeeperRL

    • @dorianofdeath5470
      @dorianofdeath5470 ปีที่แล้ว

      @Cheb Gonaz funny enough, everyone recommended that on reddit as well. I think I will get it a shot. Thank you.

    • @chebgonaz
      @chebgonaz  ปีที่แล้ว

      @@dorianofdeath5470 You're welcome. It's a very god game. Another thing you can try maybe is Dwarf Fortress

  • @chaingunguy4722
    @chaingunguy4722 ปีที่แล้ว

    Awesome video! Just a clarification, the GZDoom support doesn't work yet. I just added a repository for it awhile back, and never got around to actually making it work lol.

  • @geraltgrey-mane695
    @geraltgrey-mane695 ปีที่แล้ว

    Thats amazing!! I realy hope this is the future of modding :]

  • @gavingreen1531
    @gavingreen1531 ปีที่แล้ว +1

    Very interesting...good work!!

    • @chebgonaz
      @chebgonaz  ปีที่แล้ว +2

      Thanks. I really hope this becomes the future of modding because our lives will get so much easier.

    • @gavingreen1531
      @gavingreen1531 ปีที่แล้ว

      @@chebgonaz I'm sure it will

  • @BucketBoatable
    @BucketBoatable ปีที่แล้ว

    Linux chad
    Nexus mod pages have dependancies, there's a drop-down list with requirements and "mods requiring this file",
    I remember downloading old and obscure mods and finding out later their requirements were written only in their description, but otherwise it's reliable.
    The official nexus manager, Vortex, would probably not include this, since they want you to wait before every download unless you buy premium.
    The closes thing I have seen to this is probably "wabbajack, open source modlist installer", but haven't used it yet, so IDK.

    • @chebgonaz
      @chebgonaz  ปีที่แล้ว +2

      Yes the Wabbajack modlist installer is close, but not quite this. Someone could make modlists for Portmod too and it would be less work because they wouldn't need to care about dependencies - only the primary mods constituting the list. Also if a mod update introduces new dependencies, or removes some, Portmod can dynamically adjust to this. Whereas a modlist on Wabbajack likely needs to be curated by hand. So as far as I understand it, Wabbajack is an inferior approach. Still cool though.

    • @BucketBoatable
      @BucketBoatable ปีที่แล้ว +1

      @@chebgonaz And btw thanks for the recommendation, will definitely use it next time I'll play a game it supports 👍 .
      Side question, which distro do you use? I tried Ubuntu a long time ago as first Linux, had no idea what I was doing and didn't like it.
      Two and something years ago I decided to try again and jumped right into Arch fork with Manjaro, and this whole dependency auto installing thing (+ amazing amount of community stuff from aur) is probably why I stuck with it through the learning curve.
      Recently switched to EndevaourOS on my chromebook thou, runs better. Also Manjaro dropped AMD graphics card support in their official drivers.

    • @chebgonaz
      @chebgonaz  ปีที่แล้ว +1

      @@BucketBoatable You're welcome. Thanks for watching and engaging with the video. It helps.
      I use plain Ubuntu because it has a very good support base due to its popularity and also because it is, in my experience, very reliable and hassle free. Things work well out of the box without needing to tinker - things like plug and play, drivers, and so on. It also seems to be the distro targeted by most software. For example Unity is more or less built for Ubuntu. It will work on other distros but you may run into trouble. If you look at games on steam that support Linux, they will also almost always say Ubuntu.
      I used to use Xubuntu because I like Xfce, but I found that it's overall more unstable than plain Ubuntu. I have recently, for the first time ever, decided to use Ubuntu as my main computer and I'm very happy. No problems so far and some things even work better than in Windows - like my HP printer and my headset. Gaming is great on Linux nowdays too. When I was younger I was one of those people that installed a different distro each week and just play around with it. But in recent years I've stuck with Ubuntu due to familiarity and its nice drama-free user experience.

    • @BucketBoatable
      @BucketBoatable ปีที่แล้ว

      @@chebgonaz damn I'm a Linux zoomer compared to you.
      Indeed, gaming through proton sometimes makes Windows games run even better than natively. Yeah, I was also kinda shocked at printer's working out of the box, also all other drivers, back on windows XP and 7 I had to manually find and install drivers for everything.
      The change to installing 99% of everything through package manager, instead of handling installers, redists etc. manually was like entering an alternate reality, where computers are just better. 🤷‍♂️
      Oh and I'm a lurker and don't comment much, been watching your content for a long time, so I want to also use the opportunity to thank you for some good, niche content. 👍

    • @chebgonaz
      @chebgonaz  ปีที่แล้ว

      Haha thank you, but I still have a lot to learn regarding Linux. Yeah after using package managers in Linux, coming back to installing stuff on Windows feels so horribly backwards. Lots of things are backwards. You know, Linux is just better. It has a slight learning curve but it's better than both Windows and Mac. I had to use Mac for nearly a decade at my job and it's like Linux except worse and you can't do anything and all the controls are flipped to the other side just to be annoying. First thing you gotta do is reboot in safe mode and deactivate a hundred different protections so you can actually begin to use the computer. Installing DRMs are nice due to drag and drop, but there's no package manager unless you install homebrew which is nice. But it's not as nice as what Linux has. Also dpkg -i is almost as easy as drag and drop, so not too shabby.

  • @dwarfminerwillie
    @dwarfminerwillie ปีที่แล้ว

    Is this possible on windows?

    • @chebgonaz
      @chebgonaz  ปีที่แล้ว

      Hello, yes it is. It works on Linux, Windows, and OS X. IIRC it requires Python to function though. Although very good, it's still in what I would consider to be mostly technical territory unfortunately. What I mean by that is there is no installer like you are used to for other software. Installation instructions are here: portmod.readthedocs.io/en/stable/install/windows.html

  • @austinbyrd4164
    @austinbyrd4164 ปีที่แล้ว +1

    Hopefully you do get necrocraft working, cause it's really fun. Nobody's figured out how to become a lich though. There is a way.
    You should maybe do a diablo necromancy vid. It'd prob be pretty trash by our standards, but you're my only reliable source of necromancy news lol.

    • @chebgonaz
      @chebgonaz  ปีที่แล้ว

      You mean for Diablo 4?

    • @austinbyrd4164
      @austinbyrd4164 ปีที่แล้ว

      @@chebgonaz When it comes out, that'd be cool.
      In the meantime, the necrocraft mod for morrowind is awesome.

    • @chebgonaz
      @chebgonaz  ปีที่แล้ว +1

      @@austinbyrd4164 but it doens't work on OpenMW so I will probably never play it. I set OpenMW up with the idea to try necrocraft, but oh well

    • @austinbyrd4164
      @austinbyrd4164 ปีที่แล้ว +1

      @@chebgonaz openmw is overrated honestly. Almost no mods, that are good at least, are compatible with it. The code patch is just as good.

    • @chebgonaz
      @chebgonaz  ปีที่แล้ว +3

      @@austinbyrd4164 it's much better though because it uses an actual stable, modern rewritten engine and is also crossplatform. Not the old thing kept together with rubberbands and paperclips Bethesda put out ages ago

  • @frogman72davitto94
    @frogman72davitto94 ปีที่แล้ว

    Thanks dude!

    • @chebgonaz
      @chebgonaz  ปีที่แล้ว

      No worries. It works for Oblivion too, but not 100% reliably yet. gitlab.com/portmod/oblivion

  • @fatalvampire
    @fatalvampire ปีที่แล้ว

    Great video!

    • @chebgonaz
      @chebgonaz  ปีที่แล้ว

      Thanks. Would you use a tool like that?

  • @ccl1195
    @ccl1195 ปีที่แล้ว +1

    Nice!

    • @chebgonaz
      @chebgonaz  ปีที่แล้ว

      Very :) it just needs a GUI so average users aren't intimidated

  • @Gett37
    @Gett37 ปีที่แล้ว

    This is disappointment. ~zero videos on yt, no adequate usage example in manual, nothing.

    • @chebgonaz
      @chebgonaz  ปีที่แล้ว

      It definitely needs some user friendliness stuff eg. GUI & more documentation. It's not ready for the masses

    • @Gett37
      @Gett37 ปีที่แล้ว

      @@chebgonaz There are several curated mod lists on modding-openmw. This website literally tells you to read descriptions of 200+ mods in order to install them and play. It looks like a joke. Specifically with this tool I hoped I will be able to simply activate one of those lists. Maybe one day...