Jump to content
Sign in to follow this  
Psyrus

Mapping Collaboration Tools

Recommended Posts

This is a question aimed at the devs or those familiar with mapping in UE4.

 

There was a rather long and somewhat heated discussion regarding interior decoration of the enter-able statics on various maps (particularly Al Basrah) to which is was proposed that if someone wanted to see the interior statics fleshed out, they should do so themselves. I agree with that sentiment, but as it's 2017 and we have these beautiful cloud based source control tools, I was wondering how possible it would be for a group of say 2-10 people to collaborate on placing statics or blueprints on a UE4 level. 

 

The BF2 editor/engine had an interesting way of going about it, using .con files (text) to define the positioning/alignment of statics, which meant it was very easy to use source control to collaborate on such mapping tasks, as you just commit the new staticObjects.con and another person can pull that change and add their own, or you could even work concurrently and just solve any merge conflicts that arise quite easily (since the static name, position and rotation were all listed in plain text). 

 

UE4 saves most of its content as binary files, which doesn't give me great hope for diffs or merge conflicts, but I was hoping someone has a little more insight. Is it possible to diff map changes and solve merge conflicts between multiple people just placing and moving statics/blueprint entities on a map?

 

If not, I'm wondering if it would be a worthwhile project to do try and do an editor extension that would allow for a conversion to plain-text based placement (auto import/export) of statics/BPs so that teams could collaborate properly on mapping. 

Share this post


Link to post
Share on other sites
Posted (edited)

UE4 has level streaming which can be used for things like that. Also there are plenty of software for source control, like Perforce or Svn and even SourceTree which is free as far as I know (but personaly I hate it, because it doesn't lock files when you working on them)...

 

But I think you started from the middle, first you need to find 2-10 people to collaborate.

 

Because technology is not as important as a person's desire to do something. Every problem can be solved except human will...

 

Also asset placement is not a big deal it can be done by a single person or(and) if you will use a nice procedural pipeline. E.g. like making prefabs or a procedural blueprints. They will be independent from the level, cause updates with this assets will be automatically applied to every instance of this object. Asset production is something far more important and this is where you need a bunch of skilled people, who will be able to make something usefull but not another junk...

 

In other words you don't need ten mappers to do the job, you need only one with strong technical knowledge and a bunch of prop modellers... if we talk about filling the interiors with props...

 

I guess you should start from searching the people who would like to spend their time to produce the content you want to make and only then you should start thinking how you suppose to organize them.

 

But if you still want to work distributedly here is a basic idea: you can split the level to parts and assign every part to a different person, each part will be separated to a different sub-level which will be streamed to persistent level. When the work will be done (or you desire to make a build cause you think that you have reached your mile stone) you can merge everything back to a persistent level and release it or made a playtest or whaterver...

 

Here is some info about level-streaming:

https://docs.unrealengine.com/latest/INT/Engine/LevelStreaming/

 

 

Also you should pay attention that level streaming is some very old feature that has come in UE4 from UDK almost without any touches from Epics, so it may work very clanky and upredictible from the first glance...

 

Also here is a nice example of procedural assets (which can be bought by the way):

 

 

Edited by FishMan

Share this post


Link to post
Share on other sites
18 hours ago, Psyrus said:

This is a question aimed at the devs or those familiar with mapping in UE4.

 

There was a rather long and somewhat heated discussion regarding interior decoration of the enter-able statics on various maps (particularly Al Basrah) to which is was proposed that if someone wanted to see the interior statics fleshed out, they should do so themselves. I agree with that sentiment, but as it's 2017 and we have these beautiful cloud based source control tools, I was wondering how possible it would be for a group of say 2-10 people to collaborate on placing statics or blueprints on a UE4 level. 

 

The BF2 editor/engine had an interesting way of going about it, using .con files (text) to define the positioning/alignment of statics, which meant it was very easy to use source control to collaborate on such mapping tasks, as you just commit the new staticObjects.con and another person can pull that change and add their own, or you could even work concurrently and just solve any merge conflicts that arise quite easily (since the static name, position and rotation were all listed in plain text). 

 

UE4 saves most of its content as binary files, which doesn't give me great hope for diffs or merge conflicts, but I was hoping someone has a little more insight. Is it possible to diff map changes and solve merge conflicts between multiple people just placing and moving statics/blueprint entities on a map?

 

If not, I'm wondering if it would be a worthwhile project to do try and do an editor extension that would allow for a conversion to plain-text based placement (auto import/export) of statics/BPs so that teams could collaborate properly on mapping. 

Pretty sure you'd need to share the entire Content folder as the software is calling to and saving to many different files and folders. 

 

I'm just guessing here but from my reverse engineering of all the different maps I've picked up on subtle details that would indicate a single individual is mainly responsible for each map. Hence the variety in the maps. Take Chora for example. It's completely loaded down with tons and tons of interior details like stoves, pots, pans, jugs and bowls with watermelon in them. Also the grouping of certain objects as well tell me it's a single person doing each map.

 

That said, I'd just come up with a map on your own, post it and maybe you can take other members feedback and add it.

Share this post


Link to post
Share on other sites

Hi there gents, 

 

Thanks for the information! I think I may have phrased my first post incorrectly as there seems to be a misunderstanding. I am actually looking for a project to take up in my spare time that would support modders, rather than become a modder/mapper myself. I had my share of straight up modding in Project Reality  but I thought it would be nice to start focusing on some tools like editor plugins/extensions that could make the life easier for squad modders (and perhaps the UE4 community at large). 

 

The level streaming is a potential solution, but doesn't really address the issue of multiple mapping contributors changing aspects of the same area but being able to ratify those "overlapping" changes easily. As you mentioned Zylfrax, the current workflow dictates that essentially one person will have to take care of most aspects of a map, but with the hope of getting more high quality, finished maps pumped out by the community, I thought a tool that would enable at least basic collaboration (for static/prop population in the level) would be a boon to everyone's productivity. 

 

Something like this would be cool, but I was thinking more simply, that changes be stored in an intermediate text based format

https://forums.unrealengine.com/showthread.php?50688-MultiEdit-Collaborative-Level-Editing-Plugin

Share this post


Link to post
Share on other sites

SVN has most of the features you're talking about, and it's fully integrated with UE4. Getting it working is another story, but in theory it's there. 

Share this post


Link to post
Share on other sites
Sign in to follow this  

×