Jump to content
  • Advertisement
Sign in to follow this  
SillyCow

Massively Multiplayer Cloud Gaming

This topic is 2108 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I was really inspired by the "Curiosity" game by 22 cans. While the game was not very fun for me,  I was really impressed by the concept of designing a real-time game where millions of players play on the same game map.

 

As I am very much into cloud computing, I am thinking of building a world-war game with very simple rules. This game will be hosted on a scalable cluster of servers that can host everyone on the same gigantic world map. It will be real-time, but will be nothing like "starcraft". Rather much simpler (As simple as "curiosity").

 

Since I am not a big MMO player, my question is: Are there other games that allow millions of players on the same map?

Share this post


Link to post
Share on other sites
Advertisement

Millions of players on a map that looks the same... yes I'm sure, over time, gradually a million players will have logged on and loaded the map. They don't necessarily even have to see each other for this to be true, but maybe you could see asynchronous representations. Try social gaming, where maps are almost the same, with player picked decorations.

 

Have you seen Godus currently in development by "22 cans"? I think it'll be more hundreds of 5 player games, based on the same exact concept. Maybe, if they deliver it this time *, it appear to be like any number of players controlling one huge planet.

 

* read about the developer and you'll know what I mean.

Share this post


Link to post
Share on other sites

Yeah, I've read about Godus. It seems to be too complicated to scale to a world level. I am talking specifically about the concept of everyone playing in a single continuous world, that is bigger than the capabilities of a single server.

 

Of course, each player is not able to see everything at once. That would require each player to have  a GIGABIT internet connection, and my servers to have a PETA-BIT connection :-) . However, just like "curiosity" each player can zoom in to see the specifics of a certain area, or zoom out to see a summary of the world. Think "Google Maps". Having access to the entire world doesn't mean you have every image on google's  servers. It means you have one 1024x1024 summary of the world, and that you can zoom into wherever you like.

Edited by SillyCow

Share this post


Link to post
Share on other sites


Are there other games that allow millions of players on the same map?

 

There probably are several MMO games with server software that is designed to support millions of players... the problem is finding, buying and maintaining all the hardware that is required to run it.

Share this post


Link to post
Share on other sites

I'm working with cloud clusters in my day job (not gaming). The main theory behind cloud is that you can easily add and remove servers in your system while it is running. I thought of designing a world that can divide and re-distribute itself between different servers based on a user load: 1M units on a single server. After that divide units to two servers. Of course, if a server dies, another server takes over it's place, yada yada yada ...

 

So I can easily use an arbitrary hosting service to run my experiment. I think that by keeping the game rules extremely shallow and abstract, I can achieve this sort of redundancy. As such I can easily run it on Amazon/Google hosting for a year. Knowing myself all too well, I will then shut it down.

 

In the freak case that this turns out to be a financially viable project, my 11th server will be my own. (Fat chance of this ever happening ).

 

I think I can pull this off for 10s of thousands of players (5-10 servers for a year). 

 

But my question remains, has somebody done this before?

Share this post


Link to post
Share on other sites

The problem with large numbers of players (also for non-cloud solutions)  is :  how do you handle when N number of players all want to be in the same place.

 

If they are guaranted dispersed, then you run many sub-servers handling local areas (possibly with some complication of handing off players between server 'areas' and interactions  across the boundries  -- a communication issue exacerbated by 'cloud CPUs often not having a dedicated short distance network).

 

If you CANNOT garantee that, then  players can frequently overwhelm certain areas (like banks in MMORPGs) and the geometric NxN  interaction and update problem happens  (note-- the load increases by the SQUARE of the players within the area, with the network processing load possibly being the chokepoint even more than the CPU)

Share this post


Link to post
Share on other sites

 


But my question remains, has somebody done this before?

 

I guess it may have sort-of been done...

 

http://massively.joystiq.com/2008/09/28/eve-evolved-eve-onlines-server-model/

http://highscalability.com/blog/2013/2/13/7-sensible-and-1-really-surprising-way-eve-online-scales-to.html

 

Maybe someone else has a better example than Eve Online.

 

 

 

A friend (a server savvy guy)  who played alot of EVE said they have (or setup) special server-clusters for pre-arranged big battles where they know they will have huge numbers of player (ships) and interactions (firings and projectiles etc..) happening in a small game world area

Edited by wodinoneeye

Share this post


Link to post
Share on other sites

handing off players between server 'areas' and interactions  across the


I am thinking of dynamically subdividing areas between servers instead of dynamically dividing the players. If an area becomes too complex, it can be split in real time between two machines. A player might be connected to several servers. The real "fun" here is managing the boundaries.

I plan to allow this through very simple game rules as in "curiosity": instead of a few complex interactions I want many simple interactions. This will make the game very abstract (casual), but it might enable me to persist a huge real time world.

Share this post


Link to post
Share on other sites


A player might be connected to several servers.

 

If you divide the population of an area in multiple servers, but still connect each player to each server, that won't remove the complexity, you are just replicating the areas and their population. If you want to split the population you have to communicate the severs between them.

 

 

 


instead of a few complex interactions I want many simple interactions

 

If the server is not authoritative, it doesn't matter how simple or complex the interactions are, since these are calculated in the client side. But if you don't want players to cheat you need to calculate most of the interaction from the server side. Even the simplest approach doesn't remove the requirement to transmit and process a huge amount of data in a small frame of time. And the problem is that you have to return the result of every other player in the same area to every player.

 


The main theory behind cloud is that you can easily add and remove servers in your system while it is running.

 

I think that theory is related to clients that don't interact/see all of each at the same time in milliseconds. Maybe for 5 people working on the same document and updating changes every few seconds? But when there is full interaction, there is probably a decay in the capacity achieved by stacking servers. If you manage to optimize this to the point of making it linear, then you will be spending a linear amount of money. That is without including the bandwidth, infrastructure and maintenance/managerial personnel of the farm. Otherwise, the amount spent will be exponential until reaching a point when the stack of servers won't be effective. You could prolongate the curve by creating a hierarchy of severs, but the exponential cost will still persist.

 

It's an interesting problem smile.png

Edited by cronocr

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!