inexorgame-obsolete / deprecated-cube-engine-inexor

UNMAINTAINED: Please have a look at the vulkan-renderer
https://inexor.org
zlib License
11 stars 1 forks source link

Version Control System for map editing #200

Open Boom-Rang opened 9 years ago

Boom-Rang commented 9 years ago

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:

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 commented 9 years ago

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 commented 9 years ago

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:

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.