Jump to content

  • Log In with Google      Sign In   
  • Create Account

Match making question


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
10 replies to this topic

#1 savail   Members   -  Reputation: 333

Like
0Likes
Like

Posted 23 October 2012 - 01:40 PM

Hey,
I'm not quite sure how is match making implemented in some "AAA" games for example. If there's a possibility for player to create his own match (for 2 - 8 players) one of them is supposed to be the host? I wanted to do so at first until I heard an opinion that such solution sucks becouse mostly players have too bad connection to host matches for 8 people for example...
So who should be the host in their own matches? Should I force one of players to host given match or should all matches be hosted by my own dedicated server? Can that be my lobby server as well?
And how many matches(groups of i.e. 8 people) should a casual dedicated server be able to host?

I would be very grateful if you could give me some info on all questions here!

Edited by savail, 23 October 2012 - 01:45 PM.


Sponsor:

#2 BeerNutts   Crossbones+   -  Reputation: 2944

Like
0Likes
Like

Posted 23 October 2012 - 02:14 PM

In general, I have to imagine, if a player hosts a match, he's probably going to have a decided advantage considering his latency/lag to the server will be 0, that's assuming this is an action game that requires twitch reflexes. If it's a RTS, or some other slow reaction time game, you're probably OK.
My Gamedev Journal: 2D Game Making, the Easy Way

---(Old Blog, still has good info): 2dGameMaking
-----
"No one ever posts on that message board; it's too crowded." - Yoga Berra (sorta)

#3 savail   Members   -  Reputation: 333

Like
0Likes
Like

Posted 23 October 2012 - 02:21 PM

Sorry I forgot to inform that my game's genre is action fps.

#4 KnolanCross   Members   -  Reputation: 1292

Like
0Likes
Like

Posted 23 October 2012 - 02:23 PM

This depends on a LOAD of things =p

It is possible to have the a game hosted by a player... loads of games have made it, I believe DotA is a good example. The host connection is very likely to be less of a problem than the distance between the host and the players (for instance, from LA it was impossible to play with people on Europe because of the latency).
A dedicated server will host more games depending on how well implemented it is (language used is a big limitant also), how demanding the game is, what is the server specs are and so on. In other words: it is pretty impossible to estimate with your given data. You may take a look if you can find some numbers from RGC, it is a dedicated host for dota games (10 players per match).

Also, if you intent to check the results of the game, having a client hosting the games you will run into problems of validating the information received.

Currently working on a scene editor for ORX (http://orx-project.org), using kivy (http://kivy.org).


#5 hplus0603   Moderators   -  Reputation: 5303

Like
1Likes
Like

Posted 23 October 2012 - 07:55 PM

Most traditional FPS-es uses player-hosted games.
In fact, often, the single-player game is just a game client connected to a local server that runs the single-player level.

You can deal with the unfair advantage by penalizing the hosting player to get, say, the average latency of all connected players; just delay incoming and outgoing data a little bit for that player.

enum Bool { True, False, FileNotFound };

#6 savail   Members   -  Reputation: 333

Like
0Likes
Like

Posted 24 October 2012 - 08:47 AM

thanks a lot for answers!
So actually all players in given match should have similar RTT and I should adjust the incoming and outcoming velocity for each player all the time during match so that finally all will have same RTT? In player hosted fps game of course

Edited by savail, 24 October 2012 - 08:51 AM.


#7 hplus0603   Moderators   -  Reputation: 5303

Like
0Likes
Like

Posted 24 October 2012 - 12:22 PM

So actually all players in given match should have similar RTT and I should adjust the incoming and outcoming velocity for each player all the time during match so that finally all will have same RTT? In player hosted fps game of course


You "should" do this if you want to provide everybody the worst experience of all connected players.
enum Bool { True, False, FileNotFound };

#8 savail   Members   -  Reputation: 333

Like
0Likes
Like

Posted 24 October 2012 - 12:45 PM

so really? just delay the RTT for the hoster only? Is that enough to ensure fair conditions between players?

Edited by savail, 24 October 2012 - 12:47 PM.


#9 hplus0603   Moderators   -  Reputation: 5303

Like
0Likes
Like

Posted 24 October 2012 - 01:48 PM

Is that enough to ensure fair conditions between players?


You have to define what "fair" means to you. Different players will have different quality graphics cards, CPUs, internet connections, keyboard and mouse, quiet vs noisy environment, good vs bad coffee, etc. Figure out what YOU think "fair" means for YOUR game, and then make it so.
enum Bool { True, False, FileNotFound };

#10 savail   Members   -  Reputation: 333

Like
0Likes
Like

Posted 24 October 2012 - 02:52 PM

it's network forum so obviously by "fair conditions" I mean latency... I want each player to stay equally up to date with game data received from server. That's why I'm so stubborn in this thread. That's rather important matter becosue otherwise, one player would get advantage (in time) over another. So if someone could share some more detailed info about player-hosted fps game server model I would be grateful

#11 Memloop   Members   -  Reputation: 131

Like
1Likes
Like

Posted 27 October 2012 - 04:08 AM

The documentation for the Source engine does a pretty good job of explaining the basics: https://developer.valvesoftware.com/wiki/Latency_Compensating_Methods_in_Client/Server_In-game_Protocol_Design_and_Optimization

The only thing that's really different in a player hosted setup is that you will need to introduce an artificial delay for the host in order to make things more fair. I understand what you're asking, but trying to synchronize everyone so that they have an equal amount of latency is just going to make the game unplayable for everyone. All that effort is still not going to solve some of the annoyances of lag compensation such as players getting shot behind corners etc.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS