Jump to content
  • Advertisement
Sign in to follow this  
jefferytitan

FPS opponent matchmaking

This topic is 2481 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I had an interesting thought from a theoretical perspective, but curious whether it would horrify FPS people (or if it sounds infeasible).

The idea is continuing to matchmake *during* play based on playing style and/or success. If a player is having runaway success, find tougher players in an existing match for them to fight. This could be based on overall kill stats or "player type A tends to beat player type B". Similarly for struggling players, find a match that is more suitable.

The change could be achieved in three ways:
- The mismatched player gets moved to another match in the same level on respawn.
- Players are offered the opportunity to make a "guest appearance" in another match to take the top player down a peg for some kind of bonus.
- Players don't see the same set of opponents as each other. e.g. if players A-C are good players, players D-F are okay players and players G-J are poor players, then A-C see A-F as opponents and G-J as "ghosts" that they can't interact with. D-F see everybody. G-J see D-J as opponents and A-C as ghosts. The ghost system would allow A-C to understand that D-F are interacting with G-J even though they can't, and in fact they could even walk through the ghosts.

Thoughts?

Share this post


Link to post
Share on other sites
Advertisement
I think that it would be an interesting idea to experiment with, although quite jarring to players used to traditional FPS games and potentially very confusing. It may also become much more difficult to get an intuitive sense of your own performance in a match, so perhaps not one for the purist or extremely competitive player.

Your last point about creating tiered subgroups sounds the least workable to me in its most basic form - cutting shifting groups of players off from each other in the same arena could be a great source of confusion, and would serve to isolate the players and effectively shrink their games. I remember a mod/cheat for Unreal Tournament which made players grow larger (and easier to see/shoot) as they scored kills and thinner each time they died. This feedback created a handicap to level the playing field somewhat without isolating the players; I thought this was a straightforward mechanic which changed the dynamic of the game noticeably.

Switching players into entirely different matches could be done less disruptively, which is why I much prefer your first two suggestions. Of course this kind of system would not be appropriate everywhere, but in many competitive deathmatch-style games players joining/leaving occasionally does not greatly inconvenience other players, and switching them between respawns is feasible. This might fit with a dark, futuristic setting like The Running Man, where glamorised deathmatch game-shows are broadcast for the amusement of the public. Players could be thrust into gladiatorial combat and switched between arenas on the whim of the operators and producers, aiming to appease the viewers. Something like a "guest appearance" would fit right into this type of atmosphere.

Share this post


Link to post
Share on other sites
Hmm, food for thought. The reason I considered the third option is because I felt it would perhaps be too jarring to throw a player in with a completely different set of opponents without warning. Another possibility if you go Running Man style is that they have collars that limit them geographically to a portion of a larger arena complex. You can cross into another area for only short periods of time. You could geographically separate people, e.g. now you have access to areas BCD instead of ABC. You can maybe lob a missile at someone 3 areas away, but your odds of hitting will be poor. The rules could be made explicit in the "game", e.g. if your win/loss ratio goes below x you get demoted, if it goes above y you get promoted. People would tend to find their level, maybe wobble a bit above or a bit below. Or go on a mission to attain a level where they can attack the !@#$ who got them bumped down. That may also take care of match performance: the guy in the top level with the best score wins.

I do like the idea of guest appearances. Could be fun for all involved, especially if there's something on the line, make a bit of a spectacle of it. Give the guy a flamethrower or something before he gets switched in. ;)

Share this post


Link to post
Share on other sites
I actually find the idea of in-level ranking more interesting. The switch-in-between matches idea is good for implementing tournament-like gameplay. Its only downside is that while in a match against weaker opponents you'll be the king of the hill the entire match. The idea of making a subset of the players visible at any one time solves that problem, since you get dynamically ranked. However, rather than showing players ranked way too high or way too low as ghosts, it's better to not show them at all. The game won't feel as if there are only a few players playing, unless the difference in skill is huge and in the case when it is, wouldn't you rather play a few people close to your level rather than a lot of noobs or a lot of pros?

Share this post


Link to post
Share on other sites
Thanks for your feedback eugene. Let me explain the ghost idea for a moment. I started out thinking too low/too high are invisible. The problem is that if you have multiple overlapping groups, e.g. level 2 also sees level 1 and level 3, the behaviour of the level 3 player may seem bizarre and random if he's fighting a guy you can't even see. He'd run away from nothing, be blown up by nothing, shoot at nothing. At least you would have insight into his behaviour if you can see the ghosts of the people he's fighting. And be prepared to fight when you get levelled up.

Share this post


Link to post
Share on other sites
hi,
1) what do this system try to accomplish that the casual old boring aproach doesnt solve. Does the usual way have bugs ? or produce errors in specific circumstances. Is your algorithm robbust to luck, elements that make players lose regardless of skill level.

Lets take the usual old boring static matchingmaking of league of legends :
a) whoever is more experienced f(total games, win_ratio) fights with enemies more experienced. @eugene2k : therefore the system matches players with same experience of game mechanics.
b) system bugs out and produces errors when :
b1) i choose a new champion / role i dont know, therefore i feed. I become a newbie then. can add hero var to experience function.
b2) i am a troll for only this match because i hate someone. Assume we live in an ideal world without trolls.


Maybe you thought of using your mechanism not to solve the particular problem, but to add a unique feel to your game, its like adding a boss in an rpg that contains only monsters.

Share this post


Link to post
Share on other sites
The goal is to keep players at an optimum level of difficulty, and hopefully keep them in the "flow". It's obviously not about bugs, because bugs are implementation specific, and I'm not talking about a particular game. It would be nice to try something different to the "old boring" approach other games use. Whether it works or not, it's worth considering other ways of doing it unless you think the current approach is the best that can be achieved.

Share this post


Link to post
Share on other sites
I like the idea of making a "guest appearance" in other matches. Perhaps a high ranking player can choose to play as a 'Mercenary'; rather than playing as any other player would, they drop into random matches for a couple of minutes to achieve a particular goal. For example, say their is a game of Team Deathmatch going, and there is a Red player that is dominating. A Mercenary joins the game, and is given the goal: kill the Red player that is steam rolling everyone. The mercenary would have a set time limit to achieve this goal; say, three minutes. All players would be alerted to the presence of the mercenary, as well.
Another example; a game of Assault (Halo?), where you need to plant a bomb at a target. The mercenary spawns in, and is given the goal; plant the bomb. That sort of thing,
Just a way to keep a veteran player playing the game, to add an awesome and orginal twist to gameplay, to allow players to play a 'quick' game.
I say just high ranking/veteran players of the game because: a) they're most likely to be able to complete the goals, and b) you need some way of limiting the number of mercenaries (should be in a ratio of like 20 normal players to 1 mercenary, depending on the game).

Share this post


Link to post
Share on other sites
I believe as long as the player is warned that they are being switched to a different game with tougher opponents and a player is available to replace the player is leaving, that would be okay. There is nothing more frustrating than losing a player and not having one to replace the one that left--especially if they are good.

The question would be is what constitutes a "tougher match?" Is it amount of games? Is it rank? Is it K/D? Is it a combination of a lot of things? I wouldn't imagine that happening a lot if the intial matchmaking is solid but if it does, what constitutes the challenge?

From a competitive standpoint, I have no idea how I feel about the second option. I guess I would have to experiment with rewards.

The last option is the lease feasible simply because communication would be awkward. One player sees a player but can't get to him but the other player can't see him because he's too good so the other player has to find a way to get to him. On paper it sounds like a good idea but it could slow the flow of the game. Competitively, it also makes for cheap kills on the person who is genuinely good.

On a solely fun scale, the idea has some potential but when looking at the fact that a lot of games have competitive aspects to them, I think these ideas would need a ton of work to create balance on all levels.

Share this post


Link to post
Share on other sites
Also you could match make players by system spec, so someone on a low end cpu isnt going to get anailated on someone on high end spec, so the server figures out peoples hardware and decides who fights who based on that ...

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!