Sign in to follow this  
lensart

Distributed development experiences

Recommended Posts

I'm interested in hearing your experiences with distributed game development. What I mean by that, is geographically distributed teams working on a project using web or server based tools and a project leader for coordination. Has anyone participated in such a project? Was it successful or a flaming disaster? Why? Finally, do you think it would be possible to create an AAA title using distributed development on speculation, if a large number of participants were engaged, each given only a very small piece of the project, and all of these parts were carefully planned and coordinated by a project management team?

Share this post


Link to post
Share on other sites
"lensart" wrote:
>do you think it would be possible to create an AAA title using distributed development on speculation

No, I don't. AAA quality, on the scale implied by the term "AAA title," cannot be gotten without payment. People who can turn out the amount and quality of programming and assets and management required do not work on spec.

Share this post


Link to post
Share on other sites
Quote:
Original post by tsloper
"lensart" wrote:
>do you think it would be possible to create an AAA title using distributed development on speculation

No, I don't. AAA quality, on the scale implied by the term "AAA title," cannot be gotten without payment. People who can turn out the amount and quality of programming and assets and management required do not work on spec.


Actually, the question was whether quality programmers would participate 'if a large number of participants were engaged, each given only a very small piece of the project.' I agree that most people don't do spec these days. I know that I don't. But given a well managed project where my part was small and well defined, I might.

The idea is to minimize each individual's amount of programming work by leveraging against a much larger degree of project managment. While I wouldn't want to be accused of abusing the mythical man month, with very good planning it may be possible to massively distribute the workload, allowing the type of people who can turn out high quality work to do much less of it and possibly then be attracted to work spec. That given, the real question becomes whether or not an AAA title could be divided into very small, well defined work packages and managed accordingly.

Share this post


Link to post
Share on other sites
I too have doubts. My experience working on AAA titles is one of iteration:

1) Talk with design and implement a first pass of a feature
2) Design plays with the feature, makes design changes, implement next pass of the system
3) Often completely scrap the idea and start fresh.

I'm not sure that certain tasks can be well quantized. At the very least you'd need a "lead" for each game discipline: physics, graphics, AI, sound, etc. They would work out the broad strokes of the system and create the smaller parallelizable task list.

I'm just not sure how iteration would work here.

I've worked on a team where we outsourced levels to people in far off lands; we "met" via video conference 1x daily and were on the phone and email all the time. Just the disconnect between the two teams there made those levels a horrible disaster. And that was with 2 groups; what you're talking about is something like 200 groups that don't really communicate through any high-bandwidth channel.

-me

Share this post


Link to post
Share on other sites
Quote:
Original post by lensart
Actually, the question was whether quality programmers would participate 'if a large number of participants were engaged, each given only a very small piece of the project.' I agree that most people don't do spec these days. I know that I don't. But given a well managed project where my part was small and well defined, I might.
I am with Tom. Such a project would fail. Firstly because developers with the necessary skill to do triple A games would be off getting paid and working on a normal project (or doing their own indie titles like Introversion.)
Secondly because the project would collapse under the strain of the communication overhead. Every person you add to a project adds a communications cost. Team members have more people to communicate with so they spend more time communicating and less developing. They are not only less efficient because of the wasted time but will make more mistakes as a result of communications failures. lastly you also have problems whenever you integrate separate bits of code and the more programmers you have the more of these problems....

Then, as if that wasn't enough, the really detailed tuning of a high class game would be made far far harder with a large number of people who were not in the same location so, even without all the problems above the quality still suffers.

Share this post


Link to post
Share on other sites
No, I cannot imagine such a thing.

Having artists and engineers on different floors is a pain. It's hard just having the test teams, a few designers and parts of management at a different site.

Having no central location for discussions, meetings, and natural synergy required for the project seems like yet another recipe for disaster.

Share this post


Link to post
Share on other sites
I, too, don't see this as having an potential for success.

The idea that you can break something on the scale of a AAA title up into tiny little pieces and give each one to a programmer makes too many assumptions -- it assumes, for example, that the mythical project management team will be correct the first time, which won't happen, and therefore you'll be bogged down in communications between the management and the programmer.

Not to mention (in addition to everything else everybody's said) that working in that kind of unchallenging isolation wouldn't appeal to very many top-quality developers (especially if they're not being paid), and you need top-quality developers to make top-quality products.

Et cetera.

Share this post


Link to post
Share on other sites
Quote:
Original post by lensart
Actually, the question was whether quality programmers would participate 'if a large number of participants were engaged, each given only a very small piece of the project.' ... the real question becomes whether or not an AAA title could be divided into very small, well defined work packages and managed accordingly.

I stand by my answer.
Even if you manage to get 100 people, each putting in only 10 hours, to build a AAA-quality game, the whole thing will crash and burn during QA. "That's not my bug, and I don't know whose bug it is." It would be a nightmare to sort out once that happens.
Or "Sorry, but I've taken a job, and my new employer won't permit my doing any more work on this." With 100 people, 100 different problems will result.

Share this post


Link to post
Share on other sites
[quote]Original post by lensart
I'm interested in hearing your experiences with distributed game development. What I mean by that, is geographically distributed teams working on a project using web or server based tools and a project leader for coordination. Has anyone participated in such a project? Was it successful or a flaming disaster? Why? quote]
I only hear about B title MOMRPG project created by 5 people.

Quote:
Original post by lensart
Finally, do you think it would be possible to create an AAA title using distributed development on speculation, if a large number of participants were engaged, each given only a very small piece of the project, and all of these parts were carefully planned and coordinated by a project management team?
AAA title - imposible!

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
I think, there are things you have to talk about.
and you all have to meet, at least once a month or so.

without this, an a-title game is impossible to do.

maybe you have a core-developer team nearby, and some guys are elsewhere to do some of the stuff. that could work. communication is very important

Share this post


Link to post
Share on other sites
I don't think it works well either. I've done QA at two places, one we used SVN to download the latest builds from a local server, the other the Dev Team had to upload the game to a server (They were in a different country) and we had to then download (10gb+!), burn it to DVDs, pass the DVDs around and get people installing a couple at a time.

At the second place it always meant we were a couple of main builds behind the devs. The first place we could upadte in anywhere from 1 to 30 mins and start testing right away.

Share this post


Link to post
Share on other sites
Quote:
Original post by Smit
I don't think it works well either. I've done QA at two places, one we used SVN to download the latest builds from a local server, the other the Dev Team had to upload the game to a server (They were in a different country) and we had to then download (10gb+!), burn it to DVDs, pass the DVDs around and get people installing a couple at a time.

At the second place it always meant we were a couple of main builds behind the devs. The first place we could upadte in anywhere from 1 to 30 mins and start testing right away.
Only one problem :) cost of 1Mb in some countries may reach $1 and internet speed 5Kb/sec.

Share this post


Link to post
Share on other sites
Quote:
Original post by SMP
Only one problem :) cost of 1Mb in some countries may reach $1 and internet speed 5Kb/sec.


Then that's arguably not a great country to run your remote development studio from.

I'd also like to draw a line of division between professional remote development, and a hobbyist swarm. The two concepts seems to be used randomly throughout the thread.

Boomzap does a lot of remote development, working with developers across SE Asia, US and Europe. We also outsource artwork to dev studios in Manilla and St. Petersburg. These are well paid professionals, and the scope of our projects (casual games, team size 4-8 people) makes the communication overheads manageable. We run 6 concurrent games at this point, with a shared technology and design department. We use a combination of Skype/MSN/Email communication, together with Basecamp and CVS for assets and project data.

I have far less belief in a random cluster of developers from around the world pulling together to make an MMOG; especially if you assume that you can somehow 'swarm' the task like bit-torrent. Development doesn't scale that way.


Allan

Share this post


Link to post
Share on other sites
Just wanted to link to this IOTD from our latest game, Jewels of Cleopatra.

The entire game was done virtually, with me (programmer) based in Singapore, Chris (the designer/producer) based in Seattle, Ben (the main artist) working from Kuala Lumpur, and Cameron (the junior designer) working from Minnesota somewhere (to this date I'm not certain where).

In this case, though, we were all full-time paid employees (well, Chris and I own the company, and our salary isn't what it used to be before we became indies), and there was a strict minimum 40 hour a week rule. At times we did more, but we also had a very flexible working hours. Ben, for example, usually wakes up sometime past noon, since he enjoys working at night :)

Boomzap's currently got 6 projects in development with teams scattered across the world, all working virtually. I wouldn't recommend it for large-scale products ('AAA'), but for the small games (4-8 man teams) we do, it's actually really liberating. Chris is spending a month in Japan with his inlaws right now, but continues to be as productive as ever from his WiFi office in Yokohama.

Allan

Share this post


Link to post
Share on other sites
Do you guys also feel that the distributed development of an operating system or distribution of one would fail miserably because people would leave the project to get paid?

How about the same for the development of a programming language?

How are these things different from a game?

Share this post


Link to post
Share on other sites
Any large projects such as those really need a team that can collaborate with each other very closely otherwise people won't be able to convey a lot of their ideas and thoughts effectively and lots of stuff is bound to be lost in translation. :(

Share this post


Link to post
Share on other sites
> How are these things different from a game?

GNU compilers have been around for - Oh - 20 years now? Games are consumables with very short product life cycles and even shorter marketing attention spans. Should a game have taken 20 years to develop and perfect even to AAA standards, its value would have dropped down to zero a long time ago.

-cb

Share this post


Link to post
Share on other sites
Quote:
Original post by cbenoi1
> How are these things different from a game?

GNU compilers have been around for - Oh - 20 years now? Games are consumables with very short product life cycles and even shorter marketing attention spans. Should a game have taken 20 years to develop and perfect even to AAA standards, its value would have dropped down to zero a long time ago.

-cb

Neither Python nor Ruby took 20 years. I too can find arbitrary data points for use as my evidence. Anyway, I cannot think of a GNU compiler that took 20 years to complete. However, there have been concerted efforts at updating, forking and releasing "sequels" to many of these tools.

I am not arguing as to it being unlikely. I am arguing with the "impossible" response.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by kordovaI am not arguing as to it being unlikely. I am arguing with the "impossible" response.
The difference is very thin.

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

Sign in to follow this