akuryou

Team workflow? git? - possible solution

Recommended Posts

Hi Guys,

 

really great editor, I was totally flashed when a saw this.

 

After browsing trough the tutorials and the forum I had one big question left.

Since the data is stored in the browsers local storage, how do you work on the same project in a bigger team and with version control like git?

 

I only see the export feature but no "import existing project".

 

 

Here is the solution I came up with after some experimenting with a local instance of mightyeditor:

 

 

I found out that project files are stored under:

mightyeditor/client/data/projects/<projectID>/

 

So I turned that folder into a git repo and cloned it into an other instance of mightyeditor.

Of course the new project initially didn't show up in the project list so I tried to access it directly via url:

http://localhost:8080/#<projectID>

And tada my project showed up in the list and I was able to continue working on an other instance of mightyeditor.

 

 

Is this a solution you would recommend? Or am I missing something?

Share this post


Link to post
Share on other sites

Hi,

 

you can export projects from editor directly: http://mightyeditor.mightyfingers.com/export/{project_ID}
you will be able to download full (RAW) project - basically zipped client/data/projects/<projectID>  folder.

if you are working locally - you can change projects path (projectsPath) in server/config.js or server/config-dev.js to something that fits you better - you can specify also absolute path ( just make sure that directory exists :) ) e.g. /home/username/projects/mighty-games not sure how it works on windows - probaly someting like: C:\\users\\username\\projects\\mighty-games

 

As for multiple users working on the same project: Only way I can see now - if designer works with mightyeditor - adds assets and designs levels etc. and then pushes his changes and programmer(s) pulls visual stuff and works only on coding. 

I'm not sure if it's possible to normaly work with mightyeditor as a team in the real time - as last changes will overwrite all previous changes made by other users.

 

There was basic multi user support in the earlier versions, but I had to comment that out - as it had too many critial issues.

Share this post


Link to post
Share on other sites

Thanks for question. It's a good one :)

In short - I think that your solution is a valid one at the moment.

 

Regarding our own experience then for Jelly Fall game I have worked on code while designer put together levels and adjusted arts. Worked fine. But as I've understood then you want to achieve more. Adding git to a projects isn't a big deal both for local and online editor. The problem is to exchange with files and solve conflicts. I see there two ways to achieve result:
1) We can upgrade online editor for supporting multi-users in real time. We are already using nodeJS and socket.io, so we could update objects on map in real time. Also we could lock an objects or source file if one user is editing it. 
2) Another option is closer to your suggested. Each user has it's own copy of the project and exchanging updates would be with git. You could push, pull and merge things. But this ads some more to think about. If conflict happens in code then source editor would open js files as a regular editor. But what if there is a conflict in assets or database? How to solve this in online editor?

Could you tell us more about your projects. Would there be more than one programmer? Or is it a case when there are one designer, one programmer?

Share this post


Link to post
Share on other sites

Hi and thanks for your answers,

 

I have been thinking a lot about this topic yesterday and came up with some stuff.

 

But first I want to tell you my story since you asked about it.

We are a startup like you with a team of about 5 members (dev, artists, tech-artists).

Currently we are evaluating if we will switch from untiy3d to phaser. Since we will be doing multiple small projects mainly targeting html5 unity might just be an overkill.

Right now we are pretty happy with phaser but the only thing we really miss is unity's editor where designers and level editors see what they are doing. Arranging a level or UI in code is just very tiring and unproductive.

We heavily rely on git for branching and merging but also version control, being able to roll back and cherry pick the changes that were ok is just great :)

(Ofc. you can't merge binary files like images but you still can revert to a previous versions or do branching and detect conflicts if two designers edited the same file accidently)

So much to that.

 

After thinking about several possible solutions I came up with one important question that you need to ask yourself:

 

What kind of tool are you planning to create and who are your target audience?

 

Right now I see a multipurpose tool for development, design, project storage/management and even build process.

The danger: BIG audience, LONG list of requirements. LOTS of work.

 

Maybe you should focus on what people really need and what's missing in the phaser world.

A small compilation:

  • IDE: there are more out there then I can count
  • Art: photoshop, gimp, inkskape and many more
  • Project management, version control, collaboration: git and friends
  • Build and dev process: gulp, grunt, yeoman and friends (I'm working with a yeoman phaser generator and love it)
  • not to mention testing, linting, ...
  • Scene/level/object editor: MISSING (tiled does not completely fill the spot)

 

I guess a Scene/level/object editor might be the perfect area to focus on. Else you might get caught up in reinventing the wheel, which can be dangerous especially with a small team.

Years ago I'v been working with an open source  3D engine called irrlicht.

They have a scene editor where designers can setup their levels, objects, particle effects and so on.

Then export that into a scene file and developers could just load that file and had all the objects in place.

 

Have a beer and think about it.

 

On the other hand if you plan to build a full featured all in one editor, I would drop most of my tool chain for that.

But I fear without a lot more manpower (and probably money) you will not achieve that in this lifetime.

 

 

A note about  "1) We can upgrade online editor for supporting multi-users in real time."

That sounds fancy and may work for excel and word as in google drive but I guess it will be a real mess in a game editor.

Think about it, while even doing just minor code changes, a project usually becomes completely unstable.

A game designer trying to do some balance changes at the same time will probably only see errors.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.