Source Control / ALM

  • Does anyone use Git, GitHub, TFS, CVS, Subversion, Bitbucket or others for Construct projects? Considering the project file is a single file, I don't see how to let others work on the project at the same time.

    Any thoughts on this?

    Right now I just Dropbox.

  • I always wanted to test out using SVN with Construct 2 projects as I save mine as a whole project folder instead of a single file archive. I tried once to amend the project settings and event sheets in the xml format and ran it. I'm able to open the project but unable to export.

    Ashley: Is there some sort of hashing done to prevent amending the project files directly via xml?

    If I can amend the files directly then source control would not be a problem as I can diff and merge.

  • So far I have being doing the scheduled backups with Dropbox. But reading more is a good practice (an probably a must) to use Source Control in Game Development. I don't have much experience with it I will try SVN (tortoise) or GitHub to see what it's better. It would be cool if someone with more experience can do a tutorial about this.

  • I could dig into it. I did ALM work for enterprises for a while. Mostly using TFS 2010 or Rational Clear tools. The concept is the same, but it might be more difficult given the single file nature of the beast.

  • firebelly - Not true, you can always save the project as a project folder. But I'm more concerned whether there are compatibility issues on the project files by Construct 2 when I amend the files by text editors, since that is how diff and merge for source control usually work.

  • Indeed, working on project as a folder does sound like the correct way to go with source control system and C2.

    This very week end I participated in a jam with several persons over the internet and it's true that a good system and work flow would have helped us greatly.

    A few years ago I've read the first chapters of subversion's documentation, but never went further more than installing and hardly toying with tortoise and never really setted up a server.

    If anybody can provide feedback or resources on how to configure that kind of setup for working on C2 projects I'd be grateful and willing to try it.

    Does github allows for "private" (as in non open-source and if possibly not publicly reachable) projects/accounts ?

    Do you know of any service that would ?

    And if paying services are the only solution what are the best in quality/price ratio in your experiences ?

    Thank you in advance.

  • Indeed, working on project as a folder does sound like the correct way to go with source control system and C2.

    This very week end I participated in a jam with several persons over the internet and it's true that a good system and work flow would have helped us greatly.

    A few years ago I've read the first chapters of subversion's documentation, but never went further more than installing and hardly toying with tortoise and never really setted up a server.

    If anybody can provide feedback or resources on how to configure that kind of setup for working on C2 projects I'd be grateful and willing to try it.

    Does github allows for "private" (as in non open-source and if possibly not publicly reachable) projects/accounts ?

    Do you know of any service that would ?

    And if paying services are the only solution what are the best in quality/price ratio in your experiences ?

    Thank you in advance.

    You can use GIT for free, locally. GitHub only allows free projects if they are OPEN. It costs $7 US for private repositories and a number of users. You aren't going to find a really good free one, because hosting is expensive, especially for source control because of all the diff changes you have to maintain forever, you don't grow linearly.

    The best way to do it, is to share a local GIT repo, then when you are ready and have 7$ a month, just post it to to GITHub.

    That said, I'm a huge fan of TFS (C# guy here) and that usually costs 10000-14000$ US because you have to use it with Visual Studio Ultimate (Plus MSDN). Now Microsoft allows for free versions too at tfs.visualstudio.com/en-us/pricing/information Using it with construct 2 would be interesting.

    I say git is the best solution. just keep the git window open and save often.

    Question: Does saying as a project as a folder vs single file have any impact on saving time or chance of corruption?

  • Saving as a folder-based project and using source control software should work well. The main problem to watch out for is as msv0001 asked - if you edit the files wrong, Construct 2 might not understand the project any more. Some features require that if you change something, other things corresponding to it may also need to be updated. It's difficult to document all of these cases because it's a large and complex file format which also changes fairly regularly too.

    Generally try to use C2 to edit projects wherever possible; if you resolve conflicts and merge everything correctly, it should always work. If you get a conflict and don't merge it properly it could break the project, but then I suppose the same is true of most source controlled things... you just have to be careful!

  • I am seeing this video tutorial from Lynda "Fundamentals of Software Version Control" (recently released, Google it since I can�t post links) and have help me understand better the concepts. I have always just used Dropbox and changing stuff with different file names and folders, but seeing this has opened my eyes to use it for game development. I have seen an indie team using SVN with Tortoise and it worked good, so I suppose it could work good with Construct.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • I've been trying GitHub with construct 2 and it seems to work really well as long as you use project folder.

  • Ashley - perhaps source control could be put within Construct 2 itself to reduce errors in modifications like Microsoft did with Visual Studio. But it is just a suggestion. Will try to make do with what I can at the moment using SVN.

  • I've been having a lot of issues with GitHub for Windows and Construct 2. I'm guessing that a lot of it is down to me not knowing how to properly use it, but I'll explain what issues I'm having:

    This is the method I've been following, along with the other guy in my team. We've got our main development branch, and both have our own branches for stuff we're working on. When we try and merge a branch into the main Development branch, it complains about conflicting files and refuses to merge.

    Are we supposed to avoid working on say, the same layout, at the same time? It just doesn't seem to ring true to what I expected Git to work like.

  • I've been having a lot of issues with GitHub for Windows and Construct 2. I'm guessing that a lot of it is down to me not knowing how to properly use it, but I'll explain what issues I'm having:

    This is the method I've been following, along with the other guy in my team. We've got our main development branch, and both have our own branches for stuff we're working on. When we try and merge a branch into the main Development branch, it complains about conflicting files and refuses to merge.

    Are we supposed to avoid working on say, the same layout, at the same time? It just doesn't seem to ring true to what I expected Git to work like.

    It is all text at the end of the day, so merging shouldn't be an issue. You might be running into issues because you are doing a baseless merge, it doesn't know the state of your changes in comparison to your team members. You should be working on one dev branch. I am not sure I fully understand using 2 personal branches and then merging into those, and then merging into the dev branch.

    Some of his suggestions I disagree with as well, such as the following.

    What happens if a bug is found in production? He suggests: "My general process for handling this involves the following

    Make the fix directly on master

    Tag it as a patch release

    Push up the change

    Merge the change into development"

  • Wrangler - The only time where you should do up another branch is probably when you decided to rewrite a majority of what is being done as part of refactoring the codes and it will affect the main dev branch. If it is just some minor adjustments or adding new features that will not affect current feature, you should only be using one branch.

  • firebelly Like I said, most of my problems are due to me not knowing the proper workflow for Git. I didn't know that a baseless merge existed up til now, but it makes perfect sense. For clarification though can I ask, we should both be working on the same 'development' branch, comitting directly to that branch?

    msv0001 Thanks for letting me know, it seems that link I've been using was telling me the completely wrong way of going about things.

    I'm determined to get it working, so we can all have a good working example of how to use Git for Construct 2.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)