Jump to content

  •  
* * * * * 1 votes

Map version control system


  • Please log in to reply
8 replies to this topic

#1 themuntdregger

themuntdregger

    Official Troll

  • Full Member
  • PipPipPip
  • 1001 posts
  • LocationBehind you

Posted 23 August 2015 - 05:57 PM

I don't create many maps, but i'm aware of the basic techniques and just how much work can be involved in creating a large map.

A major problem seems to be that the lack of a merge facility prevents more than one person working on the same map at any one time. Production therefore takes a lot longer than if a group of developers were able to work on a single map together.

Ofc, working as a group requires more than just the ability to merge different developers work. It's also necessary to be able to manage versions and, if necessary, to roll-back changes. In the open-source software world, there's a program called GIT which takes care of this (and a lot more). However, GIT is designed to be used with text files, whereas EL/OL map files are binary. Whilst you can use GIT for binary files, it's ugly (very ugly). As we all know, binary files aren't text readable, in fact they look like so much random garbage. This makes it impossible to make much sense of the visible data that is the key to getting the best out of GIT.  

A solution would therefore be a utility that converts map files to/from a text readable format. Atm no such utility exists, however, it's something that's now on my project list. Ofc, such a utility can probably be used to do a lot more, including producing stats on the amount and distribution of harvestables. I'm therefore interested in any suggestions or feedback peeps might have.

#2 butler

butler

    Advanced Member

  • Full Member
  • PipPipPip
  • 1417 posts
  • LocationScotland

Posted 24 August 2015 - 12:05 PM

I'd also say the fact that you can't have the walkable tiles shown over all 3D objects and the very restrictive and unworkable camera angle are more of a problem for myself, but this could be beneficial for maps being made by people who are likely to drop out (as a few maps have had people abandon them so far). But right now mostly the multiple people thing relies on people uploading and downloading maps from dropbox in stints.

I am a little confused by this, but it does sound interesting. Maybe I need more explaining to, or maybe I'm tired or just being a bit thick atm. Run with it munts, see where you get to and where it takes you.

#3 Learner

Learner

    God

  • Administrators
  • 2424 posts

Posted 24 August 2015 - 12:35 PM

While there are interesting features, as well as issue in the current MapEditor ... I think that BestPractices needs to be only one person working on a map at a time, or there ill be problems with the maps that code don't normally have.

#4 themuntdregger

themuntdregger

    Official Troll

  • Full Member
  • PipPipPip
  • 1001 posts
  • LocationBehind you

Posted 24 August 2015 - 02:19 PM

Omg BestPractices and problems ???

#5 EatsAllLife

EatsAllLife

    Member

  • Full Member
  • PipPip
  • 407 posts

Posted 25 August 2015 - 10:25 AM

I agree with L, if too many people worked on a map, or even more than just 1, eventually one of them will screw up something of the others "image" And they'd get too mad about it, and get butthurt rather than just changing. Plus, if everyone did the maps on focus, and not in oh I'm bored and nothing to play, I'll do mapping, we'd be further, but we also have a very small team for all the maps. If we had more people the new continent could go a LOT faster. Can't rely of 5-6 people for it  all, and expect it to be done in a short time.

#6 themuntdregger

themuntdregger

    Official Troll

  • Full Member
  • PipPipPip
  • 1001 posts
  • LocationBehind you

Posted 25 August 2015 - 11:23 AM

The point of vcs is that it gives a choice of whether to merge, roll back or drop changes. Hence, it's likely to be more robust than simply using multiple backups.

You also mention the problem of having a small number of people working on the project to build a continent. In this respect, bear in mind that you assign each team member to work on an individual map, the speed of the entire project is effectively reduced to that of the slowest team member. The point of cvs is to avoid this kind of bottleneck

#7 Learner

Learner

    God

  • Administrators
  • 2424 posts

Posted 25 August 2015 - 12:10 PM

My point is also that merging is more likely to cause error since things like ObjectID's could be changed by accident or getting undesired overlapping objects in 3D space that you'll never know about. You also have more hidden things like both people adding lights, and then getting too many lights in an area. Merge errors are much easier to find in programming languages then in data.

#8 EatsAllLife

EatsAllLife

    Member

  • Full Member
  • PipPip
  • 407 posts

Posted 26 August 2015 - 09:56 AM

View Postthemuntdregger, on 25 August 2015 - 11:23 AM, said:

The point of vcs is that it gives a choice of whether to merge, roll back or drop changes. Hence, it's likely to be more robust than simply using multiple backups.

You also mention the problem of having a small number of people working on the project to build a continent. In this respect, bear in mind that you assign each team member to work on an individual map, the speed of the entire project is effectively reduced to that of the slowest team member. The point of cvs is to avoid this kind of bottleneck
Well, yes, but sharing doesn't increase the number of people, we finish maps a little faster, but not with "undo" Button really, beings you could undo ALL the other persons work if not met by your standards. Everyone has a different vision.

#9 themuntdregger

themuntdregger

    Official Troll

  • Full Member
  • PipPipPip
  • 1001 posts
  • LocationBehind you

Posted 26 August 2015 - 12:49 PM

View PostLearner, on 25 August 2015 - 12:10 PM, said:

Merge errors are much easier to find in programming languages then in data.

Yup. Which is why i'd like to describe map data in terms of a programming language, or at least a meta-language that makes the critical relationships and dependencies of map objects apparent (hence reducing merge errors). However, i'll admit that's easier said than done lol.

However, my guess is that what comes out will have less relevance to cvs than a means to automate the creation and correction of maps.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users