Skip to content
This repository has been archived by the owner on Oct 11, 2020. It is now read-only.

Version Control System for map editing #200

Open
Boom-Rang opened this issue Jul 13, 2015 · 2 comments
Open

Version Control System for map editing #200

Boom-Rang opened this issue Jul 13, 2015 · 2 comments

Comments

@Boom-Rang
Copy link

It would be very nice to have some kind of version control for map editing. It would improve editing quite a bit with features like:

  • history - going back to any committed change at will
  • branches - not sure if you want a staircase or a ladder? Why not try both?
  • merge - stitch your ideas together, maybe merge a map you and someone have been working on at the same time (hence have different versions of it)

Ideally to save on storage space this would be implemented by recorded deltas in between commits.
It would be amazing to have map repos be hosted online (github equivalent) or maybe just on game servers.
VCS would enhance other ideas like dynamically downloading maps (if VCS works map makers can keep on improving a map and roll out the new release of the map whenever they want without needing the players to download the new version by themselves).

@koraa
Copy link
Contributor

koraa commented Jul 13, 2015

Yeah, we're definitely thinking of building something like this. Somewhen.

Can you come up with a diff/patch scheme for octrees/maps?
The simplest variant would be just saving a fragment of the octree that was changed and applying it by copying over that part.
But how would we handle merge conflicts?

(e.g. a surface was slightly lowerd in the reference file we're applying to and now there's a slight gap when applying the diff)

@Boom-Rang
Copy link
Author

I unfortunately don't know all that much about sauer's octrees, but I'm definitely willing to look into it. For merge conflicts I thought maybe a "simple" solution to start with could be:

  • user calls merge between 2 versions of the same map
  • the user is presented with the map with all the conflicting sections highlighted (the smallest conflicting nodes are changed into a bright red cube or anything easily visible).
  • the user has to go over each highlighted section and scroll the mouse wheel to choose which version to keep that node from. Maybe the user could have the possibility to say that all the highlighted conflicting sections left be taken from one of the versions (then no need to go over all the sections if there are a lot of them).

In an improved version, if a user wants to keep elements of both versions within a single conflicting node of the octree he could have both versions be copied to empty space for him to tweak the map like he wants to.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants