How to collaborate on projects with SVN

Favourite 55 favourites
Tutorial written by AshleyOriginally published on 25th, April 2013 - 3 revisions


Many projects are team-based, with multiple people contributing to a single Construct 2 project. Construct 2 supports saving projects in a folder structure, where each part of the project is saved to a separate file. This is specifically designed to help teams work on each part of the project separately. However trying to manage contributions, versions and merging by hand is a tedious and error-prone process.

Source control software is designed to solve this problem. Some excellent solutions exist, such as SVN and Git. While these tools are designed for traditional programming systems (we use them for developing Construct 2 itself), they can in fact work with any files, and are especially good with text-based files. Since Construct 2 project, event sheet and layout information is saved in the text-based XML format, it lends itself well to source control.

This tutorial will take you through the process of setting up source control on Windows system using SVN. We'll use specific tools to help us, but once you're familiar with how source control works you should be able to use a different tools or another system like Git with a little research.

Source control tools are so useful that many individual developers still find them useful, even though they are not working in a team. The tools provide features like viewing exactly what you've changed, showing a log of changes with descriptions, allowing you to view the exact changes made at any point in the past, rolling back to previous versions, branching to make experimental changes, and more. This can be invaluable for ambitious projects developed solo, so it's worth learning the process even if you aren't in a team.

This tutorial does not require any license-only features, so you can try it out with the Free edition.

Head to the next page to get started.

Share and Copy this Tutorial

You are free to copy, distribute, transmit and adapt this work with correct attribution. Click for more info.


st1ckman67 3,486 rep

This is a very good subject to cover for team development, Thanks for the info.

Thursday, April 25, 2013 at 6:27:38 PM
kenli 7,858 rep

Collaborate project, worth to try it with team mate :)

Thursday, April 25, 2013 at 6:33:42 PM
rogueNoodle 3,083 rep

@Ashley - Great tutorial. Should come in handy for this weekend's Ludum Dare Jam, I think.

Thursday, April 25, 2013 at 6:44:07 PM
LemonDROP 3,791 rep

This is actually really useful for jams of all kinds. The main problem I ever faced with construct was that I do everything (programming, art, animation, game design and research for sounds and music) so whoever attended in my team had no way to really help. It's great to know that while someone is programming I can draw assets and compile everything with some control over the final product.

Thanks alot Ashley! :) This is my favorite tutorial so far!

Thursday, April 25, 2013 at 8:53:20 PM
ramones 25.9k rep

Great! I've been wanting to learn how to use version control software. I downloaded Git last week actually and have been trying to figure it out. This tutorial should get me started.

Thursday, April 25, 2013 at 9:11:10 PM
GeometriX 12.7k rep

Thanks for the extensive tut. I'm still a little unsure how exactly this will play out in a game jam environment - this process seems a little laborious - but now that there's a clearer path I'm keen to try it out. Before reading this, my jam partner and I were seriously looking at alternative game dev software, so you've instilled some hope :)

Thursday, April 25, 2013 at 10:54:59 PM
CriticalBit 1,482 rep

Seems great but because Construct changes the order of lines in the XML files, (free) merge tools have a hard time detecting the changes :(
Nice tutorial otherwise.

Tuesday, May 07, 2013 at 9:56:51 AM
JohnnySheffield 7,217 rep

Great read about difference between GIT and SVN if anybody is interested.

Tuesday, May 07, 2013 at 8:10:47 PM
Ashley 202.3k rep

@CriticalBit how do you mean? When or where does this happen specifically?

Friday, May 10, 2013 at 5:56:57 PM
sosensible 10.3k rep

this is Joseph Farrar my dad was wondering if construct did this and it is just great really can help with having teams

Friday, August 09, 2013 at 12:06:47 AM
xxbbcc 653 rep

Several points in this article are really bad advice for source control. Much of the content about files / folders being renamed is simply workaround for C2's automatic renaming of files / folders which is something that should never, ever happen outside source control. No source control system allows the renaming of items (including SVN). In IDEs like Visual Studio, source control is integrated so renaming something updates source control as well. SVN is not integrated into C2, however, that's why this is a problem.

When C2 renames a folder (with a possible large subtree in it), you'll lose all change history of the original items (they can be accessed but it'll be very hard to match up older items with the new filenames). The last thing you'd want in source control is changing file / folder names.

I'd posted a suggestion in the forums to change C2's behavior: Please consider supporting this change as it'd make using source control a lot simpler (which is how it should be).

Friday, January 17, 2014 at 5:57:09 PM
diogomuller 1,139 rep

Thanks for the help! I'm more of a git guy, but this helped a lot when setting my repository up.

Thursday, May 01, 2014 at 2:29:19 AM
sudeep98 2,232 rep

I'm having with the conflict to .caproj files. I'm able to merge all the remaining files but only .caproj files aren't merging.

Somebody help.

Friday, August 05, 2016 at 8:59:00 AM
sudeep98 2,232 rep

I'm getting an error when I merged two the .caproj files. 2016-08-05 13.57.51.png?dl=0

Please help.

Friday, August 05, 2016 at 9:30:13 AM

Leave a comment

Everyone is welcome to leave their thoughts! Register a new account or login.