Jump to content

  • Log In with Google      Sign In   
  • Create Account

How do multyple people write code for one project?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
11 replies to this topic

#1 BaneTrapper   Members   -  Reputation: 1207

Like
0Likes
Like

Posted 29 June 2014 - 02:22 PM

Hello.

I am getting up with some of my friends and we want to code together, my question is, how do we actually share code?

How do i get to him what i wrote? and what he wrote to me? i never worked on a project with other person so i am wondering.

I am guessing when i change a file like Light.h i should it to him the file, he would have to replace his copy manually, but is there anything that does that automatically integrated intro ide, and how do you/companies do it?

Our choice of IDE is VS2013 express or Code::Blocks.

 


Current projects:
The Wanderer, 2d turn based rpg style game

www.gamedev.net/topic/641117-check-up-the-wanderer/


Sponsor:

#2 Vortez   Crossbones+   -  Reputation: 2699

Like
3Likes
Like

Posted 29 June 2014 - 02:27 PM

Use something like github, it will make you're life much easier. Although i cannot give you much advice since i only used it for my personal project, never coded in a team.



#3 SeraphLance   Members   -  Reputation: 1421

Like
6Likes
Like

Posted 29 June 2014 - 02:52 PM

Look into Revision Control systems.  It's a pretty wide topic, so I can't say everything in one post, but they're basically a way to share code by keeping a repository that others can check into / out of.  The big free ones these days are subversion, git, and mercurial, and which you use depends largely on what host you want (unless you roll your own hosting, in which case you can pick).  Github uses git (obviously), but afaik doesn't allow private repositories, so this is only an option if you want your project to be open sourced.  There's also bitbucket, which supports both git and mercurial.  They allow unlimited private repos, but place a limit on team sizes for free ones.  There's a bajillion other sites out there as well, with varying degrees of permissions and requirements.

 

If you're working on different files, it's just a matter of pushing (or checking in, depending on what system you use) to the repo when you're done, and pulling out of the repo when you're ready to work on something so that your working copy will be pristine.  When there are conflicts (such as working on the same file), there are builtin tools that try to combine the changes without human intervention if possible.



#4 swiftcoder   Senior Moderators   -  Reputation: 10084

Like
0Likes
Like

Posted 29 June 2014 - 03:23 PM


Github uses git (obviously), but afaik doesn't allow private repositories

If you need private repositories, github will provide them on a subscription model.


Tristam MacDonald - Software Engineer @Amazon - [swiftcoding]


#5 dejaime   Crossbones+   -  Reputation: 4027

Like
2Likes
Like

Posted 29 June 2014 - 03:30 PM

If the project is small, even rsync would suffice. If you wish, you could use Dropbox to handle your rsync and servers.

 

I personally use Subversion.



#6 SeanMiddleditch   Members   -  Reputation: 6108

Like
9Likes
Like

Posted 29 June 2014 - 04:28 PM

If you need private repositories, github will provide them on a subscription model.


BitBucket provides private repositories for free and supports both Git or Mercurial. I don't find BitBucket to be as nice as GitHub, but it's definitely Good Enough™. You can use SourceTree as a client with either service.
 

If the project is small, even rsync would suffice. If you wish, you could use Dropbox to handle your rsync and servers.


I strongly disagree with this. Even on small personal projects, having revision history is critical.

#7 BaneTrapper   Members   -  Reputation: 1207

Like
0Likes
Like

Posted 29 June 2014 - 07:31 PM

Thank you all on suggestions, i will do my research!


Current projects:
The Wanderer, 2d turn based rpg style game

www.gamedev.net/topic/641117-check-up-the-wanderer/


#8 Tom Sloper   Moderators   -  Reputation: 9933

Like
2Likes
Like

Posted 29 June 2014 - 08:35 PM

how do we actually share code?


Some of these previous discussions in the Production/Management forum might contain some useful tips:
http://www.gamedev.net/topic/651193-project-management-tools/
http://www.gamedev.net/topic/639765-task-and-timeline-management-tools/
http://www.gamedev.net/topic/645766-game-versioning-best-practice/
http://www.gamedev.net/topic/636411-how-easy-is-it-to-collaborate-on-a-game-remotely/
http://www.gamedev.net/topic/618210-team-communication-software/
http://www.gamedev.net/topic/627432-starting-off-an-e-studio/
http://www.gamedev.net/topic/623044-searching-for-suitable-production-management-softwaresystem/
http://www.gamedev.net/topic/627243-any-decent-free-online-virtual-workspaces-for-small-teams/
-- Tom Sloper
Sloperama Productions
Making games fun and getting them done.
www.sloperama.com

Please do not PM me. My email address is easy to find, but note that I do not give private advice.

#9 Orymus3   Crossbones+   -  Reputation: 9294

Like
1Likes
Like

Posted 29 June 2014 - 10:09 PM

If you have a small team, I recommend using assembla.com.
It has a good set of tools, and for free, it can help you acquire a svn repo, ticket system, etc for a project and a team of (I think) up to 10 people.

assembla.com should that be interesting for you.

#10 Dezachu   Members   -  Reputation: 386

Like
1Likes
Like

Posted 30 June 2014 - 02:06 AM

I always found subversion to be really easy to use. Check out TortoiseSVN.

 

You can also use 'Google code' found at code.google.com (apologies if links aren't allowed mods) for a free repository. There're a number of tutorials out there for using google code with subversion but if you need a further hand, drop me a PM :) 


Studying BSc Computer Games Programming @ De Montfort University, Leicester.

Completed a placement as a Junior Programmer at Exient Ltd in Oxford/Valletta, Malta


#11 Bregma   Crossbones+   -  Reputation: 5187

Like
2Likes
Like

Posted 30 June 2014 - 06:13 AM

(1) if you have one or more developers on a project, always use a revision control system (VCS).  Developed as we entered the Space Age in the 1970s, this technology has been shown to both facilitate code sharing in a multi-user environment and act as an aide to escrow for contractual obligations, but have saved the bacon when Mr. Murphy stops by for a chat.  Please note the "one or more."  The only people who have regrets about a VCS are those who didn't use one.

 

(2) You will want to host the VCS on a commonly-accessible network node and provide the occasional backup of that node.  It's especially important that the node be commonly-accessible for teams of more than 1.  The advantage of using a separate node even for teams of one is the elimination of a single point of failure in your design, and the advantage for larger teams should be self-evident.

 

(3) The easiest way to set up a locally-managed VCS service is to use one of the modern distributed revision control systems (DVCS).  The tools git, mercurial, and bazaar are the most popular DVCS available, and all are fairly straightforward to set up as a service.

 

(4) Using a third-party DVCS service is even easier than maintaining your own.  Such services generally have easy set up, provide regular back ups, and often offer other services for team development, such as inline code reviews and publication (source code release downloads, wiki pages, etc).  If you absolutely need privacy, there are commercial DVCS and setting up an in-house or private hosted service is not difficult.

 

(5) most DVCS provide a simple way to tag and/or pull a particular "snapshot" of the code as it exists at a particular moment (older nonshared revision control systems like SCCS, RCS, SVN, etc either do not provide that or have very clunky methods for doing so).  This is important for advanced processes such as releasing software, bug tracking, QA, and so forth.

 

In short, you should use a DVCS such as git, mercurial (hg) or bazaar (bzr) to keep and share your code.  You might consider using a third-party hosting service to make it easier and provide an automatic off-site backup of your most precious asset.


Stephen M. Webb
Professional Free Software Developer

#12 Madhed   Crossbones+   -  Reputation: 2994

Like
2Likes
Like

Posted 30 June 2014 - 06:25 AM

If you have a small team, I recommend using assembla.org.

It has a good set of tools, and for free, it can help you acquire a svn repo, ticket system, etc for a project and a team of (I think) up to 10 people.

 

assembla.com should that be interesting for you.

 

+1 for Assembla. I have used it in the past for a small private project.






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS