Developing with a Team
Moderator: PC Supremacists
- hurstshifter
- ES Beta Backer
- Posts: 713
- Joined: Mon Jun 08, 2009 8:33 pm
- Favorite Gaming Platforms: SNES
- Programming Language of Choice: C/++
- Location: Boston, MA
- Contact:
Developing with a Team
Hey Guys,
I just had a quick question about best practices to use when developing an application with two or more people. So far, everything I have done has been solo but I have a some friends that are interested in collaborating on a project in the near future. We won't be able to meet up to dev all the time so I'm interested in finding some sort of online storage resource that would allow us to host the source files and other content on the web. It would be nice if this service would be intelligent enough to know when someone was actively editing a file that way we wouldnt have two people working on the same file at once. Or, perhaps a way of posting minor version edits to certain files and having a major version file available at all times. Because I've never gone through this process, I'm not entirely sure what the majority of developers tend to do. Any insight on the best way to go about this or even just the way you like to do it would be greatly appreciated.
I just had a quick question about best practices to use when developing an application with two or more people. So far, everything I have done has been solo but I have a some friends that are interested in collaborating on a project in the near future. We won't be able to meet up to dev all the time so I'm interested in finding some sort of online storage resource that would allow us to host the source files and other content on the web. It would be nice if this service would be intelligent enough to know when someone was actively editing a file that way we wouldnt have two people working on the same file at once. Or, perhaps a way of posting minor version edits to certain files and having a major version file available at all times. Because I've never gone through this process, I'm not entirely sure what the majority of developers tend to do. Any insight on the best way to go about this or even just the way you like to do it would be greatly appreciated.
"Time is an illusion. Lunchtime, doubly so."
http://www.thenerdnight.com
http://www.thenerdnight.com
- Moosader
- Game Developer
- Posts: 1081
- Joined: Wed May 07, 2008 12:29 am
- Current Project: Find out at: http://www.youtube.com/coderrach
- Favorite Gaming Platforms: PC, NES, SNES, PS2, PS1, DS, PSP, X360, WII
- Programming Language of Choice: C++
- Location: Kansas City
- Contact:
Re: Developing with a Team
I think most people use Svn, which you can find some free hosting for it online (and have to download something like Tortoise SVN to upload/download files).
When working on Shattered Wrath, my teammates and I used Dropbox, which is similar, but it automatically uploads your stuff and updates. The problem with DB is that I have a tendency to save every few seconds, so by the time someone else logged on it's say like 100 things were updated, but it was just the one file being updated a bunch. So you might move stuff to another folder while editing it and move it back when you're done. :s
I don't know about multiple people trying to work on the same thing at once, though.
Both also feature archiving, so if you screw up a file you can reload an old version of it.
When working on Shattered Wrath, my teammates and I used Dropbox, which is similar, but it automatically uploads your stuff and updates. The problem with DB is that I have a tendency to save every few seconds, so by the time someone else logged on it's say like 100 things were updated, but it was just the one file being updated a bunch. So you might move stuff to another folder while editing it and move it back when you're done. :s
I don't know about multiple people trying to work on the same thing at once, though.
Both also feature archiving, so if you screw up a file you can reload an old version of it.
- hurstshifter
- ES Beta Backer
- Posts: 713
- Joined: Mon Jun 08, 2009 8:33 pm
- Favorite Gaming Platforms: SNES
- Programming Language of Choice: C/++
- Location: Boston, MA
- Contact:
Re: Developing with a Team
Excellent. Thanks for the info. Useful stuff.
"Time is an illusion. Lunchtime, doubly so."
http://www.thenerdnight.com
http://www.thenerdnight.com
- Falco Girgis
- Elysian Shadows Team
- Posts: 10294
- Joined: Thu May 20, 2004 2:04 pm
- Current Project: Elysian Shadows
- Favorite Gaming Platforms: Dreamcast, SNES, NES
- Programming Language of Choice: C/++
- Location: Studio Vorbis, AL
- Contact:
Re: Developing with a Team
I highly recommend an SVN system. TortoiseSVN if you're on a PC. That's what we use when developing for ES.
- hurstshifter
- ES Beta Backer
- Posts: 713
- Joined: Mon Jun 08, 2009 8:33 pm
- Favorite Gaming Platforms: SNES
- Programming Language of Choice: C/++
- Location: Boston, MA
- Contact:
Re: Developing with a Team
Sounds good. ThanksGyroVorbis wrote:I highly recommend an SVN system. TortoiseSVN if you're on a PC. That's what we use when developing for ES.
"Time is an illusion. Lunchtime, doubly so."
http://www.thenerdnight.com
http://www.thenerdnight.com
- MarauderIIC
- Respected Programmer
- Posts: 3406
- Joined: Sat Jul 10, 2004 3:05 pm
- Location: Maryland, USA
Re: Developing with a Team
TortoiseSVN is a client. You'll need a SVN server, which you can set up on your home PC or whatever.
http://subversion.tigris.org/
But yes, version control is essential and SVN does it well. It has a bit of a learning curve to it though. Commit your changes to the repo every time you finish for the day, update from the repo before you start. Make use of the ignore list. You can right-click on most file names in the dialogs in order to say resolve conflicts (do not put this off!) and such. Don't forget to tell your client to ADD files to the repo when you make new ones (try rclicking in the commit dialog on anything that says "non-versioned")
You can "lock" a file to prevent others from editing it, but really as long as you update when you start for the day and commit when you finish and resolve any conflicts as they appear, you'll be good to go.
http://subversion.tigris.org/
But yes, version control is essential and SVN does it well. It has a bit of a learning curve to it though. Commit your changes to the repo every time you finish for the day, update from the repo before you start. Make use of the ignore list. You can right-click on most file names in the dialogs in order to say resolve conflicts (do not put this off!) and such. Don't forget to tell your client to ADD files to the repo when you make new ones (try rclicking in the commit dialog on anything that says "non-versioned")
You can "lock" a file to prevent others from editing it, but really as long as you update when you start for the day and commit when you finish and resolve any conflicts as they appear, you'll be good to go.
I realized the moment I fell into the fissure that the book would not be destroyed as I had planned.
- Falco Girgis
- Elysian Shadows Team
- Posts: 10294
- Joined: Thu May 20, 2004 2:04 pm
- Current Project: Elysian Shadows
- Favorite Gaming Platforms: Dreamcast, SNES, NES
- Programming Language of Choice: C/++
- Location: Studio Vorbis, AL
- Contact:
Re: Developing with a Team
...and as I always say, don't ever forget that teams suck.
- cypher1554R
- Chaos Rift Demigod
- Posts: 1124
- Joined: Sun Jun 22, 2008 5:06 pm
Re: Developing with a Team
trust him. not easy.GyroVorbis wrote:...and as I always say, don't ever forget that teams suck.
-
- Chaos Rift Demigod
- Posts: 991
- Joined: Thu Nov 13, 2008 3:16 pm
- Current Project: Elysian Shadows
- Favorite Gaming Platforms: Amiga, PSOne, NDS
- Programming Language of Choice: C++
- Location: Sweden
Re: Developing with a Team, It's a lovely thing
Oh I don't know about that, at The Chaos Rift crew we're mostly just playing around, throwing paper airplanes at each other from time to time, the occasional pillow fights with our fans, I'm not very good at that and my team usually looses when we play capture the flag, a lot of smiling and laughing, especially when someone by accident finishes something "Oh look! I just found this spritesheet I forgot to show you guys earlier, isn't it great!", then at the end of the day we're all listening to "99 Luftballons" with Nena together with everyone like fans and dancing around with 99 balloons that look like hot air balloons in different beautiful patterns and colors and then everybody joins in the sauna for one or two cold ones. And then we finish the day with a shower and strawberry cake for everyone. I thought we had this talk before Falco, teams don't suck, right? Maybe I lost that argument.. Oh well. I enjoy it anyway.cypher1554R wrote:trust him. not easy.GyroVorbis wrote:...and as I always say, don't ever forget that teams suck.
Oh no! Wait! Did I just make this all up or was I daydreaming again.. hmmh. *Pritam smiles and dreams on..
- cypher1554R
- Chaos Rift Demigod
- Posts: 1124
- Joined: Sun Jun 22, 2008 5:06 pm
Re: Developing with a Team
Ah, crap!!! You do that now that I'm gone?! I'm thinking about coming back now..
I wonder.. What do you guys think are the chances of me ever making it back into the team? Let's vote!
I wonder.. What do you guys think are the chances of me ever making it back into the team? Let's vote!
- hurstshifter
- ES Beta Backer
- Posts: 713
- Joined: Mon Jun 08, 2009 8:33 pm
- Favorite Gaming Platforms: SNES
- Programming Language of Choice: C/++
- Location: Boston, MA
- Contact:
Re: Developing with a Team
Noted...GyroVorbis wrote:...and as I always say, don't ever forget that teams suck.
I just feel like sometimes I need a bit more motivation than I can give myself. Having a friend or two along for the ride would help me stay focused on the project.
"Time is an illusion. Lunchtime, doubly so."
http://www.thenerdnight.com
http://www.thenerdnight.com
- Moosader
- Game Developer
- Posts: 1081
- Joined: Wed May 07, 2008 12:29 am
- Current Project: Find out at: http://www.youtube.com/coderrach
- Favorite Gaming Platforms: PC, NES, SNES, PS2, PS1, DS, PSP, X360, WII
- Programming Language of Choice: C++
- Location: Kansas City
- Contact:
Re: Developing with a Team
My problem always is that nobody else seems to be motivated (with my real-life friends anyway), except for the Infinite Hat team, but we were developing a game for a class so there was more of a motivation than just "lez make a gayme"hurstshifter wrote:Noted...GyroVorbis wrote:...and as I always say, don't ever forget that teams suck.
I just feel like sometimes I need a bit more motivation than I can give myself. Having a friend or two along for the ride would help me stay focused on the project.
- trufun202
- Game Developer
- Posts: 1105
- Joined: Sun Sep 21, 2008 12:27 am
- Location: Dallas, TX
- Contact:
Re: Developing with a Team
That's what we're here for.hurstshifter wrote:Noted...
I just feel like sometimes I need a bit more motivation than I can give myself. Having a friend or two along for the ride would help me stay focused on the project.