Question

We’re creating a massively-multiplayer social game. We expect up to 1 million concurrent users. The game is not real-time, instead it’s turn-based. We need reliable messaging between our clients and the server, preferably over HTTP protocol.

Besides the multiplayer functionality, we’ll also need a content delivery service.

Could you please recommend a server-side technology for us, so we’ll start searching for the right people to hire?

Is it correct assumption that no single server will hold that amount of load so it must scale horizontally?

Will Windows Azure do the job?

Thanks in advance.

Was it helpful?

Solution

[quote]a million concurrent users IS NOT a real number by any means[/quote]

There are games that have this concurrency, and more. Most of the popular Facebook games do, while they have their 15 days in the sun. That being said, having to solve that problem is a nice problem to have :-)

It's probably possible to write such a system on Azure, but you'd probably be piloting in uncharted waters, and you'd also have to pay Microsoft for the hosting. Compare to Amazon ECC for pricing, for example, and perhaps another approach would be better.

Other technologies to consider, depending on what it is you're really trying to do: - J2EE - Erlang/OTP - Python/Twisted Also, the networking and multiplayer game FAQ on gamedev.net: http://www.gamedev.net/community/forums/showfaq.asp?forum_id=15

OTHER TIPS

Hmmm... gaming, concurrency, server?

G-WAN (200 KB, full-ANSI C scripts included).

This is the best candidate -by far. And it lets you grow horizontally with load-balancing as time goes (you will not have 1 million users the day you ship the game).

I know they are workng on applets (client-side) so you might benefit asking them the question.

Is it [a] correct assumption that no single server will hold that amount of load so it must scale horizontally?

Yes. It depends on how much work the server has to do per person, but I'd say 1 million concurrent users would require more than one server.

Will Windows Azure do the job?

Windows Azure will provide the computers and the storage for a fee. You have to provide the software and make sure the software can scale horizontally.

Is it correct assumption that no single server will hold that amount of load so it must scale horizontally?

No, that is nao avalid assumption. There are servers that are HUGH - 1000+ processors (not on a cluster). Also, a million concurrent users IS NOT a real number by any means - that would be way too much a slice of the concurrent facebook users. And it totally depends no what you do in your game. TUrn based could be chess, and I would not have a problem hostin 1.000.000 concurrent chess boards on a high end server with let's say 256gb memory.

Realistically, though, you possibly will scale horizontaly. First, it makes no sense to ahve a million people in one game / world (even eve online scales horizontally by solar system), second it is likely cheaper than buying a super big computer.

Will Windows Azure do the job?

Hahaha. Seriously. Scaling horizontally - yes.

  • Look at the price, calcualte up an nistance for a month, compare to dedicated server and laugh on the way to the shop. Nice for very varsying load, bad for base load.

  • Comapre mid range server (8-12cores, 64gb RAM) to an azure instance and iti s clear ONE azure instance is not going to compare.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top