Jump to content

Versioning/Deriving Vessels


Khazuar

Recommended Posts

Hi,

I've been playing KSP since early Beta and I liked all the improvements made to the game (and many of the mods made by users) very much. As a software engineer myself and experienced with C# I always thought about developing a mod myself, but I never had a good idea what to do. Here I'd like to propose one I had recently:

I had a spaceplane that I flew several times already and that has proven very reliable over time. With the unlocking of new parts or the detecting of flaws in the original design that came up in certain scenarios I updated the original design a few times and then had to apply the same changes to all my cargo and passenger variants, littering my craft-catalog with many versions of variants of the same craft.

I thought something like "I would love to have git to propagate my changes to my base vehicle to the derived ones" and came up with the following plan:

Every saved craft get's a version number attached to it. Whenever a craft gets changed in the VAB or SPH and saved again, you can create either a new version of the craft or create a derived craft (like one with additional fuel tanks / passenger modules ...). Derived vessels would point to their base vessels including the version they're based on.

*Old* versions of a craft get hidden in the vessel catalog, so they don't litter everything up. Derived vessels could get in an collapsible indented list underneath their base vessel.

Once a base vessel gets updated (so, a new craft-file with higher version number gets stored than the version a derived vessel is based upon) the derived vessel can be *rebased* and a new version of the derived vessel gets stored. 

Vessels in KSP are trees, starting from a root node (the root part), with all the connected parts as child-nodes. It should be easy to comprise a diff between two versions of a vessel and apply that to a derived vessel. Possible conflicts would arise if in the base vessel something got attached where also the derived vessel attached something. Those conflicts would need to be manually resolved by the player, choosing either of the variants and/or fixing manually. 

What do you think of that idea? Would you consider it useful to have or am I the only one building five generations of the same ship, improving it every time?

 

Edited by Khazuar
Link to comment
Share on other sites

You're far from the only one building generations of and splitting sub-families from the same ship. :)

This sounds like a very nice idea, and something a lot of the community will want, including myself, once they know it's out there. You may find this mod interesting in the interim and even a source of inspiration. It doesn't do versioning but the tags and archive abilities should be quite helpful while you (wait to) get started.

 

 

Edited by JadeOfMaar
Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...