Advertisement

Multiplayer Bandwidth

Started by December 04, 2018 06:34 PM
14 comments, last by Vilem Otte 5 years, 11 months ago
1 hour ago, aandril said:

Yes those are the basic concepts.

As far as I know, most companies provide unlimited bandwidth for internet use.

There is no such thing as unlimited bandwidth for anything.  Ever.  Check the fine print.

1 hour ago, aandril said:

But the cost for games comes into effect when you have a lot of servers and a lot of objects that need to be connected to the servers, as they run in MB/s.

The cost comes the bandwidth speed.

So if I have 25,000 players across all servers, and they each take up 350kb/s, then I need a internet speed to be 8.75GB/s * 8 = 70Gbps connections.

These numbers are quite plainly put, absurd.  

Look into some basic networking and learn how things are measured before you start doing the math or you will never be able to afford your projects projected costs.  The numbers you just gave would cost multiple thousands of dollars(US) a month, and are way out of scale for a multiplayer game.

Check out some of the stuff I already suggested,  and look into getting a good grasp of data structure sizes and networking metrics(measurements).

Small bites, it's the only way to eat an elephant. ;)

 

54 minutes ago, Septopus said:

There is no such thing as unlimited bandwidth for anything.  Ever.  Check the fine print.

These numbers are quite plainly put, absurd.  

Look into some basic networking and learn how things are measured before you start doing the math or you will never be able to afford your projects projected costs.  The numbers you just gave would cost multiple thousands of dollars(US) a month, and are way out of scale for a multiplayer game.

Check out some of the stuff I already suggested,  and look into getting a good grasp of data structure sizes and networking metrics(measurements).

Small bites, it's the only way to eat an elephant. ;)

 

For reference by unlimited bandwidth, I mean unlimited monthly usage. (Unlim downloads and uploads at no cost)

As far as those numbers, that's just an example.

I know it's way out of scale.

Though for my "theoretical" game, it will - would end up being very expensive.

Advertisement

I recommend checking out a tutorial about network synchronization:

https://gafferongames.com/post/introduction_to_networked_physics/

especially the parts about bandwidth optimization:

https://gafferongames.com/post/snapshot_compression/

maybe that gives you a rough guess on what to expect after some degree of optimization.

BUT, in the end, gamedev works the other way around. You dont write a game and then setup consoles, servers etc.; Rather: you have a budget on how powerful your console is, how fast the network, what cost makes your server still maintainable and that will define the limit of your game. You either make it work within limits, or you'll loose money releasing it.

That's the moment you have to hire superb engineers, they love the challenge and most likely, they'll make it work, while you might fail, unless you study programming for 10+ years. (That would be part of the budget you'd have to organize. if you know upfront that you cant, then you might want to make a simpler game, otherwise you'd run open eyes into a disaster ).

25,000 peak concurrent players for a paid-for game, might mean 250,000 paying players per month. Let's say they pay $10 each. Paying for 70 Gbps at $2k per 10 Gbps that would just be $14,000. If you have 250,000 paying players, $14k per month is peanuts.

If your game is free-to-play, you may want to design a different cost structure, but it's very unlikely that the server bandwidth bill will be the biggest chunk of cost.

enum Bool { True, False, FileNotFound };

Whenever you do any project you need to do the math for economy correctly. Most of us (who do business) did some right, some wrong. The problem is that whatever you do wrong or miss - you're going to pay for it. The successful ones often tend to overestimate expenses a bit, while underestimate income.

First, this:

7 hours ago, aandril said:

As far as I know, most companies provide unlimited bandwidth for internet use.

Not really. I can disclose some numbers for one of the testing servers - as they're publicly known.

I personally have (for personal projects and testing) paid a virtual server - to put things straight, you pay CZK 90 per 'unit' (which is $3.93) per month. This unit has 1 virtual CPU, 1 GB of memory. Along with that you get 25 GB of space (as part of the price). The service has 'unlimited' bandwidth and 'unlimited amount of data transferred'.

Which in reality means that you can't be billed for using as much bandwidth as available, and transmitting as much data as possible. Because in reality, these units are running virtually on multiple physical servers, each of them is at least on 1 gbps network, reducing the actual bandwidth and the amount of data you can transfer monthly greatly. Also as single physical machine holds multiple units, then due to FUP you may find your bandwidth rather limited.

Of course you can house your own server (they do offer it), yet the pricing starts adding up (I believe it starts around $25 - $50 per connection per month just for the connection, you have to provide hardware and work with it yourselves).

7 hours ago, aandril said:

So if I have 25,000 players across all servers, and they each take up 350kb/s, then I need a internet speed to be 8.75GB/s * 8 = 70Gbps connections.

So, assuming $50 per connection (1 gbps) and additional $50 for space - you get to $100 per server, in this case you would clearly need 70 of them. That sums up to $7000 just for housing and connection. Keeping 70 servers running with hardware and software on them requires support staff, actually multiple people (I think wiki states 25 - 50 devices per single tech support guy or girl - let's go with lower estimate, which is 25, that means you need 3 tech supports ~ CZK 36104 (CZK 26941 in netto) is average monthly salary in my country for IT tech support ~ stats from Czech Statistics Office (CZK 48380 before all taxes - which is $2112) - that sums up to $6336.

So currently you can probably keep the hardware running at $13336 per month in my country, excl. the actual cost of hardware. And excl. the actual cost for software development of course.

This literally means that unless each player pays you at least $0.54 each month, your business is going to red numbers really fast.

If you add software development, feel free to double or even triple that amount. And with 25,000 players you're going to need some kind of support staff - additional employees. You can save some money by not having offices (and using contractors instead), which may or may not be better for you - depending on how good are you at managing remote workers.

I intentionally didn't count in hardware cost (yes, you can go for cloud services without having tech support for hardware - you will still need them for software, so 2 guys could handle it, yet there would be additional cost for actually using cloud, not just connection/housing ~ that would mix up the calculation a little).

 

My point is, economic planning is very critical point of the project - assuming you know what you're doing. The main problem I see is that you're trying to figure out economics of your project, while not having prototype or anything - don't do that.

Now, my 50c - I was doing quite a bit in networking (and I still do in some projects from time to time - sadly for most of them I can't disclose actual numbers, or source ... unless I'd want to get to jail real fast), and most of the networking business, even for larger scale projects, was actually done on that $3.93 virtual server.

My current blog on programming, linux and stuff - http://gameprogrammerdiary.blogspot.com

This topic is closed to new replies.

Advertisement