Shouldn't the XML be in a publicly-available DVCS?

For everyone's sake - both the modding community and Stardock itself - shouldn't the XML files be in a public-hosted DVCS system?

It would make merging changes from releases into Mods trivial, and would be an easy route for the community to submit patches to the XML itself.  I'm particularly thinking about fixes for translations and documentation (e.g. tooltips and UI text) that the general community could easily submit and then would be idiot-simple for Stardock to merge back to the main release branch.

Similarly, it would make keeping the various Mods in sync with the latest Official release version a very low-level of effort.

The various releases can sit in a named branch, each Mod lives in its own branch, and access control to them can be rather simple.

I don't know what DVCS Stardock uses internally, but I would think that using one of the various Cloud-based Git/Mercurial/Perforce solutions would be VERY low cost and actually help Stardock's own development efforts considerably.

I mean, something like Bitbucket costs $2/user/month (where user = someone with commit access), and I know I'd be willing to pony up some cash to have an officially hosted Mod branch for myself.  We might even qualify for some sort of "Community" style discount.

There's no significant IP here to protect - the XML is open and readable, so while it's technically copyrighted, having it out in the open doesn't reveal anything noteworthy, as it's all available by installing the game anyway.

Guys?

20,006 views 7 replies
Reply #1 Top

DVCS = distributed version control system

I'm sure SD has one internal to the company.  Compatibility questionable, and unless you intend that they expose the code base too, they would have to maintain two distinct repositories.  Potential modders (e.g. me) aren't interested in paying monthly fees for long-term access to a short-term project.

Now, if GC were an open source, community project, your idea would make sense.  But it's not.

 

Reply #2 Top

As someone who's run this kind of effort, it's really pretty trivial to do if you're not tied into something like Perforce.  You don't have to publish the codebase, you can just expose the XML sections; tagging makes it simply to pull and build from multiple different repositories. Good organization would dictate that you DON'T keep the XML in the same repo as you do the actual code, too, even if it's internal-only.

And given the benefits for everyone, even if there was some fees involved, it's pretty easy to justify the outlay, either on the Modder's behalf or on Stardock's.

In addition, something like this goes well with a Wiki that is simple to update (rather than publishing a out-of-date manual).

Guys, I'd be more than happy to help you out to do this - it's what I do professionally.

Reply #3 Top

I would pm brad.

Reply #4 Top

trims2u, I will defer to your more recent experience.  If I didn't have to pay to do it, I would gladly participate.

 

 

Reply #5 Top

I'm going to bump this up, because the lack of this is causing significant pain to the Mod community, and it's also hurting StarDock's ability to bug fix as well as balance.

Here's a stellar example of why we need the XML sitting in a DVCS for all of us to read AND TRACK UPDATES:

https://forums.galciv3.com/485463/Space-Elevator-Level-Bonus-Wrong

If everything was sitting somewhere I could look at the version control history, I could instantly tell WHEN the divergence occurred, and make a *real* good guess as to whether it was intentional or a mistake, then we could file a bug WITH THE ACTUAL XML FIX ATTACHED.

Brad, we really need this - both StarDock and the community - for the long haul.  I can't do it myself without someone in StarDock's help, because I need clean checkouts from the internal StarDock repositories to start the DVCS site from, and we also need to insure that the languages on the License for this is clear about how the "community" DVCS works.  But it's not a big deal to do - I can get it set up in a couple of hours, max, while coordinating with StarDock.  It's also FREE. 

Can we please set up a threat/forum for the various Mod makers, myself, and StarDock folks to hash out how we can get to there? Frankly, NOT having one set up is costing StarDock a LOT of money in terms of wasted Engineer time, and it's not helping the Mod community at all (which is bad for PR).  At the minimum, we need to know why (which might be a legal thing) this couldn't happen.

Note that I'm not talking about exposing the core code of the game - this is only the mod-able text files which drive the CONFIGURATION of the game.  Which, while copyrighted, are not trade secret, and thus, are easily exposed to the public with no danger of loss of IP protection.

Reply #6 Top

I'm actually doing a survey of this kind of thing right now for my Day Job, and here are some cloud-based services which would be excellent to us for our purposes:

  • bitbucket.com
  • gitlab.com
  • github.com

All include Git support (Mercurial too for Bitbucket), and issue tracking. The first two also include some Continuous Integration build support, which means that it would be possible to run XML validation in the cloud before allowing putbacks.

There's also Helix Cloud for Perforce, and Visual Studio Team Services.

All are Free for publicly-available repos (which is what ours would be), though the latter two (Helix, VS) are more limited in their free versions.

 

Reply #7 Top

Github is the in-thing for this sort of thing, but because it is XML I would go a step further and have the game interact directly with the repository via REST API.  Set up a web page, point to the Mods directory.  Browse, perform the equivalent of a git pull. 

But this is not the only domino that has to fall in order to make modding seamless.