Why aren't mods on a github?

General discussion regarding the OpenMW project.
For technical support, please use the Support subforum.
Dasher42
Posts: 11
Joined: 22 Apr 2015, 16:41

Why aren't mods on a github?

Post by Dasher42 »

Per title, I want to ask the big disruptive questions about how things are done in the mod world, especially since we've got something more than a mod - we've got an alternative engine.

The system of packaging wholesale file replacements versus the stock code and merely copying it over top of whatever else the user's downloaded is just so disatisfactory. It's made a mess of the mod scene for the TES games, IMHO. Take Skyrim: people have hundreds of drop-in mods, and then if they're lucky, they drop in patches. I look at all the patches to make Requiem work with a zillion other things and it's not just tedious, it's still broken. My debugging logs are still full of issues. Mostly, the community is just putting bandaids on it.

I'm biased, of course. I wrote the Foundation Plugin system for Bridge Commander, a Trek game with Python 1.5.2 adapted into a scripting layer, and I worked hard to make an early de-facto standard for image/sound replacements, ship additions, bridge additions, music score additions, custom signaled events, and "monkey-patched" replacements of existing routines without overwriting entire files. The community came to support it, and rely on it. My satisfaction was seeing how few issues people had from merging huge amounts of content from different modders without having to write Python code themselves.

Why aren't we doing even better than this? Why not have source control and repositories like software engineers do? Why not update things the way people take for granted with Linux distros and "app stores" on other platforms?

Can of worms firmly opened. ;)
User avatar
raevol
Posts: 3093
Joined: 07 Aug 2011, 01:12
Location: Caldera

Re: Why aren't mods on a github?

Post by raevol »

Apologies for only partially understanding your post, in advance.

Aren't most mods mostly composed of asset files like images? Does version control gracefully handle incremental changes to those, or do the files get completely overwritten with each update? I definitely understand versioning and updating incrementally in general, but if you have a mod that is just a huge texture replacement blob, aren't you only getting the fringe benefits of version control?

I mean, I would still prefer it that way to having to manually download and extract files, but as far as incremental updates, how beneficial is it for big binary files?
Klepto
Posts: 19
Joined: 16 Apr 2015, 03:56

Re: Why aren't mods on a github?

Post by Klepto »

I like this idea.

So OpenMW gets a launcher that can download and update mods with git, perhaps with a default repository of endorsed mods or a list of endorsed repositories? Mod developers get an easy all in one solution for collaborative development and deployment. It still needs some kind of community hub before it's an appstore, a way for users to rate and review.

I wonder if the system could integrate some kind of mlox-like load ordering or levelled list merging, assuming these things will still be needed.

Many mods are exclusively code. Serialising non-text asset files to a text format, xml or whatever, might be useful in some cases. I don't know if git would be the best solution, it might be pretty good, I expect it wouldn't be as bad as nothing.

--edit--
...or you mean that all mods are part of the same repository? One big omnimod? Now that would be a can of worms :)
User avatar
raevol
Posts: 3093
Joined: 07 Aug 2011, 01:12
Location: Caldera

Re: Why aren't mods on a github?

Post by raevol »

Klepto wrote:One big omnimod?
One mod to rule them all...

That's actually kind of what OpenMW is, if you look at it as a mod...
User avatar
Okulo
Posts: 672
Joined: 05 Feb 2012, 16:11

Re: Why aren't mods on a github?

Post by Okulo »

Dasher42 wrote:Why not have source control and repositories like software engineers do? Why not update things the way people take for granted with Linux distros and "app stores" on other platforms?
I have been wondering about this myself the past week. I think one of the main reasons modders don't want their work spread around everywhere is because they want to be able to update their modifications, so old crappy versions don't start floating around the web. A distribution system like Linux uses would be ideal to combat that. You can even just have multiple repositories and just download from those. (eg. apt-add-repository)

Come and think of it, doesn't OpenTTD do something like that?
User avatar
psi29a
Posts: 5356
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: Why aren't mods on a github?

Post by psi29a »

It is my plan, still, to have OpenMW and any TCs that follow the DFSG to be uploaded to Debian.

We could do this with mods as well, but that would require the mod author to guarantee that their mod also falls under the DFSG, free of Bethesda's or anyone else's intellectual property (IP).

As for git (github), assets (binaries) are really not ideal for that. Git, like other version source control, works best with source code and not binaries. If the binaries do not change, then we can get away with including them, but constantly changing binaries, being constantly updated creates a bloated repository that after awhile becomes unusable.

You are better off using something like dropbox or other collaborative suites.
http://www.1stwebdesigner.com/project-m ... ion-tools/

What I plan to do with Travis for Ashes of Apocalypse is use github to keep a changelog and documentation, and then use the 'release' section to upload our zip/tar.gz releases.

The above method could be something we do under the OpenMW organization infrastructure or another organization, like OpenMW-Mods.

What do you guys think?
Tinker
Posts: 231
Joined: 06 Mar 2013, 17:35

Re: Why aren't mods on a github?

Post by Tinker »

Generally devs here have stayed away from content as much as possible, the OpenMW team provide the engine and tools modders provide the content.

If their intention is to continue this way, which seems to work, then mods would come under a separate organisation.

I can foresee some problems, like modders who want to keep their stuff on their own sites and modders who have moved on and abandoned their mods but the idea of a central repository for OpenMW mods does sound appealing.
User avatar
pvdk
Posts: 528
Joined: 12 Aug 2011, 16:34

Re: Why aren't mods on a github?

Post by pvdk »

Another solution might be to use GitHub's Large File Storage (LFS) extension for Git. It's basically replaces large files with text pointers inside Git and lets you host the files on the GitHub servers. Or perhaps Git-annex which I believe does the same thing but with more options as to where your content is hosted.
Dasher42
Posts: 11
Joined: 22 Apr 2015, 16:41

Re: Why aren't mods on a github?

Post by Dasher42 »

raevol wrote:Aren't most mods mostly composed of asset files like images? Does version control gracefully handle incremental changes to those, or do the files get completely overwritten with each update?...
Definitely. Yes, there are a lot of simple image and sound replacement mods out there. They don't push the limits of the existing download-and-check-off method at all. The thing about it is, they don't really need to be handed off to multiple authors, and they're more likely to be a single person's creative work.

Code is a whole another matter. It's bad practice to have redundant code, and good to reuse it and adapt it to handle its requirements cleanly. Putting a mod into Skyrim shouldn't overwrite bugfixes for enhanced wildlife AI in SkyTest, for example.

Fixing this situation in OpenMW would be awesome!
Dasher42
Posts: 11
Joined: 22 Apr 2015, 16:41

Re: Why aren't mods on a github?

Post by Dasher42 »

Tinker wrote:Generally devs here have stayed away from content as much as possible, the OpenMW team provide the engine and tools modders provide the content.

If their intention is to continue this way, which seems to work, then mods would come under a separate organisation.

I can foresee some problems, like modders who want to keep their stuff on their own sites and modders who have moved on and abandoned their mods but the idea of a central repository for OpenMW mods does sound appealing.
That sounds smart, because modding has a level of entry where people often use derivative work and the OpenMW team doesn't need to have to supervise that.

On the other hand, letting the launcher use git to merge branches might solve this issue cleanly.

If OpenMW's scripting layer were Python, I'd just port my plugin system to it and declare victory, but I don't know Papyrus very well right now.
Post Reply