Advertisement

Massively Multiplayer Cloud Gaming

Started by October 12, 2013 08:46 PM
11 comments, last by wodinoneeye 11 years, 3 months ago

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?

My Oculus Rift Game: RaiderV

My Android VR games: Time-Rider& Dozer Driver

My browser game: Vitrage - A game of stained glass

My android games : Enemies of the Crown & Killer Bees

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.

I've read about the idea guy. It's a serious misnomer. You really want to avoid the lazy team.

Advertisement

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.

My Oculus Rift Game: RaiderV

My Android VR games: Time-Rider& Dozer Driver

My browser game: Vitrage - A game of stained glass

My android games : Enemies of the Crown & Killer Bees


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.

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?

My Oculus Rift Game: RaiderV

My Android VR games: Time-Rider& Dozer Driver

My browser game: Vitrage - A game of stained glass

My android games : Enemies of the Crown & Killer Bees


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.

I've read about the idea guy. It's a serious misnomer. You really want to avoid the lazy team.

Advertisement

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)

--------------------------------------------[size="1"]Ratings are Opinion, not Fact


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

--------------------------------------------[size="1"]Ratings are Opinion, not Fact

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.

My Oculus Rift Game: RaiderV

My Android VR games: Time-Rider& Dozer Driver

My browser game: Vitrage - A game of stained glass

My android games : Enemies of the Crown & Killer Bees



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

This topic is closed to new replies.

Advertisement