multiplayer: manual close and open the room

Discussion and feedback on Construct 2

Post » Wed Nov 19, 2014 6:47 pm

I don't see why you need new features to do this. You just have a special "waiting for players" mode at the start of the game, and once it's started, reject any new people joining (or just set the room size, so the signalling server sees that it's full, and then you can also de-list it from the list of current games so nobody even tries to join it). As with any multiplayer game the host is authoritative, so the host makes the decisions about when people can join and when to start the game.
Scirra Founder
B
402
S
238
G
89
Posts: 24,644
Reputation: 196,095

Post » Wed Nov 19, 2014 7:48 pm

Ashley wrote:I don't see why you need new features to do this. You just have a special "waiting for players" mode at the start of the game, and once it's started, reject any new people joining (or just set the room size, so the signalling server sees that it's full, and then you can also de-list it from the list of current games so nobody even tries to join it). As with any multiplayer game the host is authoritative, so the host makes the decisions about when people can join and when to start the game.

i dont get that..
so you say i must create one room for all peers ?
what if my host left ?! all peers must reconnect again ...this is not good and so many other things happening like transfer messages between all peers for 1 game with 4 players ! and if i have 20 games running then i have so many message transfer and this is so much wasting bandwidth
in my game peers must join in rooms and set color and position and team and... then they start game.. but problem is :
if my host start the room with 6 max peers but if just only 4 peers in the room and they wants to start game .. then new peers can join... and if i kick them peers must click in so many rooms and they kicked all the time... !
so what i must doing ?
now i just disconnect and reconnect again and make room with another game instance .. so new room is hidden from list.. (reconnect is a problem because host can change in reconnect and sometimes peers can not join properly)
another way. i connect to each host and get state of game when i listing the rooms (so many connections to multiplayer server (scirra server) and possibility to get blocked (i can use delay for connect to each host but still so many connections))
another way.
you add this feature to construct 2..
is there another way ?
B
16
S
6
Posts: 243
Reputation: 1,755

Post » Thu Nov 20, 2014 4:37 am

mahdi71 wrote:what if my host left ?! all peers must reconnect again ...this is not good and so many other things happening like transfer messages between all peers for 1 game with 4 players ! and if i have 20 games running then i have so many message transfer and this is so much wasting bandwidth.

If you worried if the host left the game, you yourself should host the game! Why would you give that kind of authority to your player if you don't want them to be able to do that? You need to revisit your design obviously.
mahdi71 wrote:now i just disconnect and reconnect again and make room with another game instance .. so new room is hidden from list.. (reconnect is a problem because host can change in reconnect and sometimes peers can not join properly)
another way. i connect to each host and get state of game when i listing the rooms (so many connections to multiplayer server (scirra server) and possibility to get blocked (i can use delay for connect to each host but still so many connections))
another way.

This why I said you need a room manager, as in a centralized lobby host. This is actually the way to reduce connection to signal server! Have the lobby host to list "open" room to newly connected player, by storing the list of which room has started and has not in an array or whatever. You don't have to connect to each host to get game state this way, because the lobbyhost can filter this. That is the price to pay if you intend to get, I don't think hosting a lobbyhost would be costly, it's like your own customized signalling server.

@Ashley , some suggestion here:

The only thing I think that is more useful to add for case like this is host action [action: unlist current room from signalling server], which is like tagging a roomname so that it won't appear if other new peer requested a roomlist, or something else that can provide the same end result.

The reason why I think unlisting room is better that the ability to open/close room is, roomlisting is simply the higher level of management, because if open/close room is implemented anyway, the closed room will appear in the list anyway (I'm not sure whether this is still true, because I tested this a long time ago).
B
28
S
8
G
4
Posts: 553
Reputation: 4,924

Post » Thu Nov 20, 2014 2:09 pm

mahdi71 wrote:so you say i must create one room for all peers ?

No, you can request room lists without being in a room.

You can already filter rooms when requesting room lists to skip ones which are full or locked. I don't see why there needs to be a new feature here.
Scirra Founder
B
402
S
238
G
89
Posts: 24,644
Reputation: 196,095

Post » Thu Nov 20, 2014 3:08 pm

Ashley wrote:You can already filter rooms when requesting room lists to skip ones which are full or locked.

Lol I totally forgot there was already the dropdown option for that.
B
28
S
8
G
4
Posts: 553
Reputation: 4,924

Post » Sat Nov 22, 2014 8:54 pm

Ashley wrote:No, you can request room lists without being in a room.

You can already filter rooms when requesting room lists to skip ones which are full or locked. I don't see why there needs to be a new feature here.

yes but we cannot manually lock / unlock a room and this is my problem ...
the host should do this
B
16
S
6
Posts: 243
Reputation: 1,755

Post » Mon Nov 24, 2014 3:10 pm

OK, so that's a possible feature suggestion, but why would you want to lock a room that is not full?
Scirra Founder
B
402
S
238
G
89
Posts: 24,644
Reputation: 196,095

Post » Mon Nov 24, 2014 3:22 pm

Once a game is in play such as an RTS or any limited resource maps. You don't want new participants. When the rules have certain dictation of play more players during the game are unwanted as they throw off the balance of the match itself. Heck even just match play should stop from new participants. Not all game types should have open drop in and out play.

However my opinion is that once play starts. More connections just become spectators.
B
92
S
18
G
9
Posts: 2,455
Reputation: 15,113

Post » Mon Nov 24, 2014 4:55 pm

@Ashley
i think @jayderyu answer that...
this is good we know the scirra team listening to users... good luck
B
16
S
6
Posts: 243
Reputation: 1,755

Post » Mon Nov 24, 2014 5:01 pm

OK, well I'll see if I can get it in for the next beta cycle. However you can still either just set the room size to the number of players you want and have it lock when full, or just let new people join as spectators like @jayderu suggested.
Scirra Founder
B
402
S
238
G
89
Posts: 24,644
Reputation: 196,095

PreviousNext

Return to Construct 2 General

Who is online

Users browsing this forum: No registered users and 2 guests