Archived

This topic is now archived and is closed to further replies.

Moe

A new idea for multiplayer games?

Recommended Posts

Moe    1256
Recently I have been playing a resonable amount of Counterstrike, that add-on for half-life. I get sick and tired of being kicked from servers because of my poor ping, having a poor ping, and not being able to find a half-decent server. It usually takes me 3 tries to get on a good server that is willing to let me play. I get sick of trying to find a decent server. Thats when the idea came. Why not have the server pick the player? Why couldn''t a server request a player to play on it? That way the servers would always have several people in them, and there wouldn''t be the hassle of finding a server that would allow your ping. Imagine this: You start up CS. You refresh the list of servers to look for a good one, but at that moment, a message pops up asking if you want to join this certain server. Of course you could decline if you wanted to find your favorite server, or if you didn''t want to join for one reason or another. Here''s how it could work behind the scenes: The server has a maximum number of players, and an optimim number of players. If there are fewer players on the server than the optimum, it asks the players if they want more players to join, say, every 30 minutes. When the server gets a request to get more players, it connects to a master server where there is a list of player servers. It would randomly select one of the player servers from the list, and connect to it. Once it connects, it could randomly select and ask a certain number of players on that player server if they wanted to join the server that is running the game. The player servers would be places where 32 or so people connect to get requests to join game servers. There would basically be 3 types of servers. The game servers would actually run the game, the master server would keep a list of all the player servers, and the player servers would keep lists of the players who want to join a game. The users would still be able to pick a server out of a list like they currently do (a la CS), but they could also get requests from servers who want people to join. This could also fix the ping problem (of not being allowed to play because of too high of a ping). When the game server finds players to play on it, it could have certain flags, in case the game server only wants players with high speed connections, or something of the like. So when the game server searches for a player, it would only ask a player with a high speed connection (or a ping of such and such). That way servers that only want people with low pings get people with low pings. The people with high pings would only get requests from servers that don''t care if they have a high ping. What do you people think of this idea?

Share this post


Link to post
Share on other sites
KalvinB    102
The server doesn''t need to do anything. It can have a "min ping" value that''s sent to the main lobby when it''s started up. The client can check your actual ping vs it''s min and let you know if you can connect before you try. It wouldn''t be an invite. It would just automatically list only the servers which you meet the ping requirement for.

If you modify the client to ignore the min ping limit, the server kicks you off as it normally would.

Ben
http://therabbithole.redback.inficad.com

Share this post


Link to post
Share on other sites
Moe    1256
I think the concept of having the server ask the player is neat. That way the player doesn''t have to find a server. I suppose that way of checking pings would work, but I think it could be a bit more interesting if you didn''t have to search for a server. Anyone else?

Share this post


Link to post
Share on other sites
Moe    1256
Anyone else? I thought it was a neat idea.

To err is human. To really foul things up requires a computer.

Share this post


Link to post
Share on other sites
Dean Harding    546
But the point KalvinB was making is that the servers don''t need to do anything to give you the same effect. If the server sends a "min_ping" variable with the ping requests, then when you do a refresh of the server list, the client can say "these servers would let you join", and list all the servers where you meet the ping requirement.

Another point to make is that your ping is not always a good indication of how well the game will run. You can have a fantastic ping, but if only 25% of the packets actually arrive, then you''ll have a pretty bad time. The only way of determining packet loss, though, is to actual join the game and see what it''s like.


War Worlds - A 3D Real-Time Strategy game in development.

Share this post


Link to post
Share on other sites
Dactylos    122
It could easily get annoying if there are many servers. Imagine starting up the game and instantly be invited to a hundred different servers, having to click away 100 dialog boxes.

If something like it is implemented I believe it should be presented as a separate list where every server that has invited you is listed and the player can choose whether to show this list or the main list of all servers. But then again, your point is kind of lost with this setup. Personally I think the better way is to do it like KalvinB suggested.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster
It''s a good idea, but alot of services already do this. The zone has a ping sorting mechanism which sorts game servers by their ping to you, so you only see the ones you have lower ping too. However this doesnt mean the pings are acceptable to the game though, so a specific mechaism which the server can communciation this might be a good idea. But there are so many multiplayer matchmaking services out there, making a common protocol may be difficult.

-ddn

Share this post


Link to post
Share on other sites
Moe    1256
It could be an option you could turn on or off, or set a maximum numer of servers that ask you. That way if you don''t want to get asked, you aren''t. I think KalvinB''s idea would work too, but it would have to entail more than just ping. For example, in CS you can try to connect to a server that has a fine ping and a few empty slots, but they won''t let you play because of your ping. When you try to connect it gives no indication that that server has a ping restriction. Its almost the same when you try to connect to a server that only has so many public slots, and they are all taken. It looks like it would be a fine server to play on but all the public slots are taken. It would really be nice to know all this info before you try to connect to the server.

Share this post


Link to post
Share on other sites
Gillissie    122
There is already a solution to this in Tribes and Tribes 2. It''s called a "Filter". YOU define a set of criteria for which kind of game, how many players, max ping value, if there are buddies in the game, etc. Then when you have the filter applied, only the games matching the criteria are listed, and you choose like normal.

Todd M. Gillissie

Share this post


Link to post
Share on other sites
Dean Harding    546
quote:
Original post by Moe
I think KalvinB''s idea would work too, but it would have to entail more than just ping. For example, in CS you can try to connect to a server that has a fine ping and a few empty slots, but they won''t let you play because of your ping. When you try to connect it gives no indication that that server has a ping restriction.


But''s still only taking the ping into account. If you just have the server send a "minimum ping" variable with the original ping request, the client can filter all the servers that have too high a ping out. The server doesn''t need to do anything, we don''t need more dedicated "player servers" or anything new.

And like I said before, a server''s ping is not enough of an indication of how playable a server will be. Not only the packet loss I already mentioned, but also because when you ping a server from gamespy or whatever, you''re only sending out about 4 packets (that is, 1 packet to four servers at once) which is much less traffic than you''re sending in the middle of the game. The ping that gamespy gives you is only ever an indication of how good the server will be. The same will be the case if you have dedicated "player servers" or anything like that.


War Worlds - A 3D Real-Time Strategy game in development.

Share this post


Link to post
Share on other sites
TheEnderBean    122
"There is already a solution to this in Tribes and Tribes 2. It''s called a "Filter"."



I''ve been using filters and favs in gamespy since it was called Qspy hahaha. First thing I thought when reading this post was: OMG.. DUDE, ITS CALLED FILTERS!

Dean makes a good poing about the PL issue, however, your fileterlist is usually small if you do it rigth, and all you need to do is utilize your filters and then when the initial full server sweep is finished, sort the filter list accoding to pings, and then individually ping them a couple times each. 3 for 4 more trys will tell you if PL is a problem, and if they are ok then add them to favs. After awhile you wont need to worry about searching for games If you notice that you have PL on most servers, then you should consider that you are the source of the PL, not some jenky link between you and a particular server.

I dont have ping/pl problems with most server cause I have 1.2Mbits/sec ADSL I can be more picky then just silly- ole ping.

Anyway, dont just filter by ping cause your gonna get alot of low pings w/ zero player servers and such, so us a player min/max filter, as well as filter for your type of games you like, and maps you want.. Gamespy is replete w/ so many filter/fav tools/tabs that you should be complaining about finding games, unless you have a really bad 28.8 connection, which is entirely different problem and no software, or extra "player server" will help you

Share this post


Link to post
Share on other sites
TheEnderBean    122
Dean: As well, you can add a rule to your filter that contain variable values for "number of time pinged" which you can set to what you want as your filter, or "total average ping" and set that value as well. There are TONS of rules you can set so that you can specify EXACTLY what game you want.

Share this post


Link to post
Share on other sites