What to expect from a team (survey question, not experiential advice)

Started by
10 comments, last by noisechip 7 years ago

Let's say all... 5(?) programmers of a development team are all relatively new (maybe experience working on 2 semi-complex games). What is a reasonable game size and complexity level to expect them all to be able to make together? We're also assuming that nobody on the team is a genius or programming prodigy, just average people with a good amount of knowledge and decent experience.

Also, I've read several articles about why you should not consider making a Massively Multiplayer Online game, but I'd like to know, based on your opinions, what is the point a game goes from Multiplayer to Massively Multiplayer.

❤️

Advertisement
Perhaps counter-intuitively, adding more programmers to a project actually decreases the amount of complexity the team can handle in the short term.

This is because people need to learn how to work both separately (on different things) and together (on things that cooperate and integrate with each other). This is a long-standing truth of software development, but almost everyone ignores it.

Give that team a few years together and they can do wonderful things. But until they have all "clicked" with each other, expect the output of a 5-person team to be strictly less than (5 x one person's output).



As for "multiplayer" versus "massive" ... I think around 40-50 connected clients you start seeing a real qualitative shift in the difficulty of the problem space.

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

Perhaps counter-intuitively, adding more programmers to a project actually decreases the amount of complexity the team can handle in the short term.

This is because people need to learn how to work both separately (on different things) and together (on things that cooperate and integrate with each other). This is a long-standing truth of software development, but almost everyone ignores it.

Give that team a few years together and they can do wonderful things. But until they have all "clicked" with each other, expect the output of a 5-person team to be strictly less than (5 x one person's output).

Is there a point at which this begins having the reverse effect? For example, some articles that I read often cite the amount of staff members needed to work on a large scale project, implying that having, say, 50 programmers, is better than working alone or with a smaller group. Of course I'm inclined to believe this, being that I'm talking specifically about large scale games like GTA or WoW for this example.

Edit: Then again, this could just be the effect of everyone involved being professionals with extensive knowledge and expertise, but I'm sure that has nothing to do with it.

❤️

I don't think it ever reverses, it's just that when a game takes 100s of man years to make it becomes somewhat impractical to have a single person assigned to it and ask him to be done within the next 200-300 years, so at some point you have to admit you need that ineffciency to do large things and the complexity and it's management become a real project within the project.

There was a book called "The Mythical Man Month" written back in 1975, with updates in 1985 and 1992, and overall the numbers remain true. It is a good book, I recommend reading it.

Among the points are that adding people to a late project does not increase speed because of ramp-up time, and communications channels between groups is critical. Not all people time is equal, and managing complexity is complex in itself.

I've observed most of the things in the book directly in my career over the years. A fascinating one is how the code organization tends to mirror the business organization. The best organization I've observed fits the book's description of small surgical teams.

What is a reasonable game size and complexity level to expect them all to be able to make together?

Not an MMO.

EDIT: This, https://www.gamedev.net/topic/687345-i-have-ideas-you-have-skills/#entry5336492

Idea guy? You expect experienced people to throw themselves at you so you can practice your directing skills because you can't contribute anything else?

Learn how to do one of those things you're searching for first.

"I AM ZE EMPRAH OPENGL 3.3 THE CORE, I DEMAND FROM THEE ZE SHADERZ AND MATRIXEZ"

My journals: dustArtemis ECS framework and Making a Terrain Generator

based on your opinions, what is the point a game goes from Multiplayer to Massively Multiplayer.


Whenever you need a load balancer.



What is a reasonable game size and complexity level to expect them all to be able to make together?


Not an MMO.

EDIT: This, https://www.gamedev.net/topic/687345-i-have-ideas-you-have-skills/#entry5336492

Idea guy? You expect experienced people to throw themselves at you so you can practice your directing skills because you can't contribute anything else?

Learn how to do one of those things you're searching for first.

1) I'm well aware that the wording of the post makes it seem like there is a group in pre-production of an MMO, but the questions are actually individual. It's just me asking two different questions for opinions.

2) It's quite obvious within the post of the thread you linked that I don't expect experienced people to "throw themselves at me". The post isn't about me bossing some people around to try to make the next blockbuster; it's about getting together a group of people with any amount of experience so we can learn together and become a functional team over time, while simultaneously working on small projects that I, as well as them, have thought of.

❤️

I'd like to know, based on your opinions, what is the point a game goes from Multiplayer to Massively Multiplayer.

The "Massively" was added when games started crossing the 100,000 concurrent player boundary.

Knowledgeable programmers using off-the-shelf tools can support double-digit number of players easily. Multi-user games have been around since the 1970s. The Networking forum FAQ includes an example of such a server written in an afternoon.

Supporting a few thousand concurrent players is more difficult, but still generally not overly complex. With a little bit of work the biggest problems can be dealt with. The n-squared issue is the biggest killer -- players and clients within range of each other all need to notify each other and communication grows exponentially -- but at these levels it can usually be dealt with by some clever spatial partitioning.

Transitioning from thousands to tens of thousands can often be done by just adding another server instance. Amazon, Google, and other infrastructure providers can do this automatically. Spin up another service and all is well.

But when you start to cross over the bigger boundary, somewhere approaching 100,000 concurrent users, there is an incredible transformation that takes place. It is no longer a case of just "add another instance". The complexity of managing the infrastructure is a major task in itself. That's the transition that the business side considers "massively multiplayer".

Sadly for players, "MMO" and "persistent online world" are often synonymous. The term "MMO" is also used by players whenever a few hundred people are in the world. A slither.io server with 500 players is called "MMO" even though it is nothing of the sort.

I'd like to know, based on your opinions, what is the point a game goes from Multiplayer to Massively Multiplayer.

The "Massively" was added when games started crossing the 100,000 concurrent player boundary.
Knowledgeable programmers using off-the-shelf tools can support double-digit number of players easily. Multi-user games have been around since the 1970s. The Networking forum FAQ includes an example of such a server written in an afternoon.
Supporting a few thousand concurrent players is more difficult, but still generally not overly complex. With a little bit of work the biggest problems can be dealt with. The n-squared issue is the biggest killer -- players and clients within range of each other all need to notify each other and communication grows exponentially -- but at these levels it can usually be dealt with by some clever spatial partitioning.
Transitioning from thousands to tens of thousands can often be done by just adding another server instance. Amazon, Google, and other infrastructure providers can do this automatically. Spin up another service and all is well.
But when you start to cross over the bigger boundary, somewhere approaching 100,000 concurrent users, there is an incredible transformation that takes place. It is no longer a case of just "add another instance". The complexity of managing the infrastructure is a major task in itself. That's the transition that the business side considers "massively multiplayer".

Sadly for players, "MMO" and "persistent online world" are often synonymous. The term "MMO" is also used by players whenever a few hundred people are in the world. A slither.io server with 500 players is called "MMO" even though it is nothing of the sort.

Oh, it's nice to know that there's an actual numerical point that the term changes.

Also, thank you for the book recommendation; I'll be sure to look into it.

❤️

This topic is closed to new replies.

Advertisement