0 Favourites

Multiplayer success impossible?

  • So, I was thinking. Let's assume, you create an Agar.io type of game (completely feasible) with C2. Let's also assume it becomes a hit, and 200,000 players play (want to play) it at any moment, ~100 players per server. I'm perfectly aware, that getting such success is no everyday thing, I'm just playing with some ideas.

    Now, I've seen Ashely say that right now, the only way to host multiple rooms is to open multiple browser tabs. Perfectly fine for a game with a small user base. But let's see what I said. 200,000 / 100 = 2000. You would need to open TWO THOUSAND browser tabs. Even for a game that maybe only 10,000 people play any moment, you'd still need to open 100 tabs. That's just not practical. And remember, 100 players per room is a relatively big number. And of course I'm talking about a dedicated server.

    Isn't here any way right now two accomplish dynamic room/server creation/handling?

    I understand WebRTC is still a relatively new technology, and not very common for games. Obviously, one way of making it more widespread is making games using it. I'm also aware, this not not a shortcoming of C2 itself. I don't see any obstacle to creating a very successful non-multiplayer game using C2. I can still see a potential in it though, but what I just described doesn't sound too good.

    Any thoughts?

  • Photon is probably your best bet with construct2, they even have a plugin floating around here for C2. Works pretty well. You pay for what you use.

  • Photon is probably your best bet with construct2, they even have a plugin floating around here for C2. Works pretty well. You pay for what you use.

    Thanks for the reply.

    I've only read the front page so far. Seems good, but let me quote. "All Photon Cloud products are based on a client-to-server architecture, the most stable solution for multiplayer games! In peer-to-peer architectures clients often cannot connect due to NAT punch-through issues." How is WebRTC going to fit into that?

    Also can you show me that C2 plugin? I can't find it.

  • found this on the Russian community... however i know there is one here but cant find the download link try searching in the completed addons list

    also there is this post

    and im guessing ur sudden interest in agar.io is because of the upwork project that pays 2000 for a agar.io clone?? you should not do it in C2. since agar.io clones can be found all over internet ...here is one unofficial.. clone on github its limiting ur options for future development.. and being a part of that thing ...

    however can be done with a server database create ur own normal server using Ajax with a custom script that saves characters locations... rooms made... etc ... and its done. you can rent a cheap server for startup so u will run 24/7 for a few months at a low cost... later on when ul have .... if u have 200,000 users at same time... you will need to spread the user loading trough a series of servers giving a smooth running ,(service which no photon cloud does for you for free or for cash... cause its to complicated and ul need Staff members).....but ul need more advanced knowledge in php and MySQL but its possible in the end

    keep in mind that anything that comes with complexity wont be easy... even if u use a easy to code program... at some point youl need actual knowledge or a skill set in something

    PS agar.io its a clone of another game... called Osmos..... which is more awesome... agar.io took the fun out ... of everything... and give it to kids.. to troll my opinion...

  • c2community.ru/forum/viewtopic.php found this on the Russian community... however i know there is one here but cant find the download link try searching in the completed addons list

    also there is this post

    and im guessing ur sudden interest in agar.io is because of the upwork project? you should not do it in C2... its limiting ur options for future development.. and being a part of that thing ...

    however can be done with a server database create ur own normal server using Ajax with a custom script that saves characters locations... rooms made... etc ... and its done. you can rent a cheap server for startup so u will run 24/7 for a few months at a low cost... but ul need more advanced knowledge in php and MySQL but its possible anything that comes with complexity wont be easy... even if u use a easy to code program... at some point youl need actual knowledge or a skill set in something

    Thanks for the reply.

    I've found it. Find ThePhotons in members and look at his forum activity.

    As for Agar.io, I don't actually know what project you're talking about. I've only played that game once a few weeks ago, I just used it as an example. I don't play it.

    I've been playing with databases, and implemented a few solutions. But I'm still looking, you know, an easy solution is the best one! I'm looking for the limit.

  • the easiest solution... is the socket server or photon cloud .. u can create easy rooms etc ... but if u want future stability you want an Ajax based server that u can manipulate as you want.. increase its liability and power ... what happens with photon cloud services when u have 200,000 users? they l shut ur project down.. cause u need to pay per users online... its going to drain every penny out of u.. as for testing hobby is cool... but big user databases... i will say no... btw you may skipped reading the updated version of my post above.. found you a github agar.io source.. take a look at it how its done ..

  • the easiest solution... is the socket server or photon cloud .. u can create easy rooms etc ... but if u want future stability you want an Ajax based server that u can manipulate as you want.. increase its liability and power ... what happens with photon cloud services when u have 200,000 users? they l shut ur project down.. cause u need to pay per users online... its going to drain every penny out of u.. as for testing hobby is cool... but big user databases... i will say no... btw you may skipped reading the updated version of my post above.. found you a github agar.io source.. take a look at it how its done ..

    Thanks for the link.

    You make a point about Photon though: 185$/1000 CCU, possibly higher in enterprise packages, but I dunno...

  • I think you are asking for solutions to problems that you wont have. You do not need to open 2,000 browser tabs. If a room is full or not found, that player becomes the host of a new room. The players are the hosts, not you.

  • I think you are asking for solutions to problems that you wont have. You do not need to open 2,000 browser tabs. If a room is full or not found, that player becomes the host of a new room. The players are the hosts, not you.

    Yes, but if I want to make sure that connection quality is good and consistent, especially with 100 players/room, I need dedicated hosting.

  • > I think you are asking for solutions to problems that you wont have. You do not need to open 2,000 browser tabs. If a room is full or not found, that player becomes the host of a new room. The players are the hosts, not you.

    >

    Yes, but if I want to make sure that connection quality is good and consistent, especially with 100 players/room, I need dedicated hosting.

    It would mean that ALL connections run through the server .... and its bandwidth usage ....

    You would require a hosting service with unlimited bandwidth usage.

    Also .... max web RTC connections per browser is 256, that is for a single browser instance. So that browser is only able to connect with max 256 players in 1 room at any given time.

    That would mean for each 256 users connected to a single room ... you would require another browser instance with its own opened WebSocket.

    Each websocket you open will weigh down on performance of the server.

    Also, if you manage to get a game running with 256 peers connected ... without problems ... well, I would praise you a lot

    The C2 multiplayer hosting scenario based on a peer being the host is actually quite intuitive ...and eliminates tons of server connection problems relating to high volume usage.

  • johnsrd01

    why is this topic in "how do i ...?" section?

  • >

    > > I think you are asking for solutions to problems that you wont have. You do not need to open 2,000 browser tabs. If a room is full or not found, that player becomes the host of a new room. The players are the hosts, not you.

    > >

    >

    > Yes, but if I want to make sure that connection quality is good and consistent, especially with 100 players/room, I need dedicated hosting.

    >

    It would mean that ALL connections run through the server .... and its bandwidth usage ....

    You would require a hosting service with unlimited bandwidth usage.

    Also .... max web RTC connections per browser is 256, that is for a single browser instance. So that browser is only able to connect with max 256 players in 1 room at any given time.

    That would mean for each 256 users connected to a single room ... you would require another browser instance with its own opened WebSocket.

    Each websocket you open will weigh down on performance of the server.

    Also, if you manage to get a game running with 256 peers connected ... without problems ... well, I would praise you a lot

    The C2 multiplayer hosting scenario based on a peer being the host is actually quite intuitive ...and eliminates tons of server connection problems relating to high volume usage.

    Thanks for the input.

    I've learned a few things about the topic since I last wrote, including the 256-connection limit.

    Okay, let's forget about 100 players/room. Let's have 10. Is there a reliable way to make sure that the host has good enough Internet connection? Maybe switch hosts if the current one is having difficulties... I still think consistent connection quality is important.

  • Construct 3

    Buy Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Buy Now Construct 3 users don't see these ads
  • johnsrd01

    why is this topic in "how do i ...?" section?

    It started with a question about dynamic room creation.. "How do I" do that. I tried giving it an attention-grabbing title.

    I could've put it in general, but I don't think it's that unfitting here.

  • Okay, let's forget about 100 players/room. Let's have 10. Is there a reliable way to make sure that the host has good enough Internet connection? Maybe switch hosts if the current one is having difficulties... I still think consistent connection quality is important.

    You can aid in narrowing down problematic connections.

    For instance, before entering a lobby to select a game to join, perhaps have the users select a world region first.

    Like Europe, Asia, North America etc ...

    Making players join games with players in their region of the world, or even country if you take it one step further.

    The thing is, each peer, whether its the host or a peer, as soon as something is happening that is interfering with their connection a lot, you can get lag. Ofc when this happens to a host it could effect all peers ... but the concept is the same for that user.

    He or she would be experiencing lag issues.

    The best way is to design your communication mechanics smart.

    Synch as few objects and variables as possible and use a messages for commands etc.

    The less bandwith/communication is required, the better it could obviously perform.

    A great thing about the scirra multiplayer, would a host drop out ... making another peer become host is very easy.

    You could even event some checks during a round, checking latencies, and if the hosts is far worse then one of the peers, make that peer the host.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)