Friday, April 24, 2020

Multiplayer Competitive Matchmaking!

After a lot of hard work, and great support and feedback from the community of Cribbage Pro players during "beta testing", we are excited to announce the full release of Online Multiplayer Competitive Matchmaking in Cribbage Pro!


The game of cribbage has often faced challenges in calculating player skill levels in both real world physical games and online digital versions. Accurately ranking players by their skill is a challenge in any game that involves a degree of chance/luck. We have tried many different ways of doing this in the past, and through that experience we have learned a lot. With that history as a teacher, and algorithms now available that have improved dramatically since we started, we are happy to announce our new Competitive Rank - CR (or "Cribbage Rank" if you prefer) ranking system.

Here are the new basic elements of Competitive Matchmaking:

  • Best-Of-3
  • Automatic Counting
  • 10 Sec. Turn Limit
  • No Chat
  • Start Automatically
  • Disconnect/Quit is Always a Loss
  • Classic (non-competitive) XP Level of 5+ Required
  • 5 Placement Matches Required for Ranking

We chose these criteria to make competitive matchmaking the best it can be. First, it is a matchmaking system so that it avoids players selecting only newer players to try and easily win points against, while also providing fun and challenging games. We went with a "Best-of-3" series as a good way to remove some of the chance/luck from the game (alternating dealer as expected). There are also other things our algorithm does internally to help offset the chance/luck factor. Automatic Counting was chosen because, although counting and math is certainly a skill, the skill we want to measure here is playing cribbage. We have found that although new players may miss points from time to time, a skilled player will win against an unskilled player in a best of 3 series no matter if manual counting and muggins is enabled or not. The automatic counting option enables us to set a shorter time limit of 10 seconds, which makes a best of three games series more practical. The shorter time limit helps move the game along so that the entire match can still complete in a reasonable time frame. We removed the chat for the same reason - to keep it fast and competitive without unnecessary distractions.

This new Competitive Matchmaking is also a "Season" based system. We will be having "Competitive Seasons", just like you would see in a professional sports season. This means that on a regular basis (currently about 3 months; Quarterly), a new season will start and give everyone a chance to come in and participate on equal footing to see if they can take the title of the best player of the season! We are also planning on awarding a special prize to the top finishers of the season! The specifics of that prize will be shared at a later time and may be unique for each season. You must play games every week of the season (2 per week minimum), or you will see a reduction in your CR as a result. This happens because of an increase in our uncertainty of your actual skill if you don't keep playing regularly against other players. Stale players will not be able to sit at the top. Make certain you are regularly playing competitive matches to hold on to your CR.

When you complete your placement matches, you will be given a CR value, and a corresponding named CR Level. The levels are simply a breakdown of the CR value like this:

Bronze - 1 - 1499 CR
Silver - 1500 - 1999 CR
Gold - 2000 - 2499 CR
Platinum - 2500 - 2999 CR
Diamond - 3000 - 3499 CR
Master - 3500 - 3999 CR
Grand-master - 4000+ CR

The system that is used to calculate your CR, and to adjust it when you win or lose (and as part of the matchmaking itself), is similar to the "Elo Rating System" but a bit more complex like a derivative of that called the "Glicko Rating System" (to clarify, it is NOT just the Glicko system). We have taken the ideas of those systems, and others that are derived from them in modern games/sports, and created our own customized system for cribbage games. Instead of repeating what you can read in each of those links to those systems, just know that we have a system that is very much like them that includes a "confidence factor" (or sometimes called an "uncertainty factor") and a few other adjustments specific to what we felt was needed after running various simulations/tests of the system. We will almost certainly make further tweaks and adjustments to those things as we review how the system is working from time to time.

There are some questions that are common with a system like this, so I'll clarify a few of them here. First, you will see situations where someone's win percentage may be lower than you (and/or have fewer games played than you), and yet they are ranked higher. This is because a skill ranking system like this is significantly concerned with the skill of the opponent you are facing when determining how many points you win or lose from each match you play. Someone who has faced many highly skilled players, and won, will not have to play as many games to move up. Similarly, if they are relatively lower skilled and play higher skilled, they will lose very little when they lose games. This system can then account for people who play a lot of games, versus someone playing fewer total. As long as you are playing games every week, that is enough for the system to calculate your skill with a high enough degree of confidence (just don't miss too many days). You will also notice that in your stats there will not be any "skunk" related stats for competitive matchmaking games, as currently all "best of 3+" series style games have no concept of a skunk in them. You always win or lose by the same minimum games in a series based system like this, for instance a best-of-3 is always won by whoever wins 2 games, a best-of-5 by whoever wins 3, etc. You can never win a a best-of-3 series by more than 2 games, or less than 2 games, so as such there is no way to "skunk" someone in a series.

Lastly, a disconnect or forfeit in a competitive game, of any kind, will count as a full loss in every respect. There is no mercy here in competitive play. Consider this like a professional sports league, and there will be no exceptions beyond the rare case where we can accurately determine that there was a bug of some kind in our system that caused the disconnect/forfeit (which you must fully report to us for investigation). To be clear, this does NOT mean that you will avoid a loss if you try to show it was your internet connection failing - that will still be a loss as there would be too many ways to cheat the system otherwise. We will determine independently if it was our code itself that caused the problem, and only then will a loss be reversed if needed.

This new Competitive Rank system continues to extend our goal of making Cribbage Pro the best option for serious cribbage players. We hope you all enjoy this new mode of play as much as we have during our testing of it. You should find the matches to be against similarly skilled players, so that the matches are both challenging and fun! As always, if you have any questions or suggestions, please let us know through email to support@FullerSystems.com

Thursday, March 26, 2020

Online Multiplayer Competitive Matchmaking Beta, with New Ranking Points System!

We are thrilled to announce that a new "beta" version of the game is available on both Android and iOS devices that includes a new game mode for online multiplayer games: Competitive Matchmaking! To join the beta, [UPDATE: BETA IS NOW CLOSED]

This is the much anticipated change for online multiplayer that introduces a new points/ranking system for this new game mode as well, so it also includes a new "Top 50" Leaderboard for competitive matchmaking. You will still have all of your points from the "old" multiplayer points system (and that system continues unchanged here), those points are just now called "XP" (basically, experience points). Similarly, your old level in multiplayer will now be called your "XP Level". The name for these games is now called "Classic", to show the difference between that and the new game mode called "Competitive Matchmaking". We have also removed the "Lobby Chat" tab, as frankly it was rarely used and taking up valuable space.

In competitive mode games, you will now see your Competitive Rank (CR) and the corresponding level for that (CR Level). Before you can rank in competitive play, you have to be at least an XP Level of 5, and then play at least 5 competitive matchmaking games (placement matches) to earn your rank. Once completed, you will be awarded a rank and level based on your performance in those placement matches against others of similar CR/CR Level.

Some of this may change as we go through the beta, but right now here are the basic rules of Competitive Matchmaking.

All Competitive Games Are:

  • Best-Of-3
    • A single game is just not enough of a sample to determine your skill versus your opponent
  • Automatic Counting
    • Your skill with selecting discards and playing your cards is what we care about
  • 10 Sec. Turn Limit
    • Shorter than anything possible through the classic games, so think fast
  • Start Automatically
    • Nobody is responsible for "starting" the game, all automatic
  • Disconnect/Quit is Always a Loss
    • Don't try to get away with quitting, dropping your connection, etc. It won't work, and you will lose as a result
  • Classic XP Level of 5+ Required
    • You have to play in the classic mode for a little while to familiarize yourself with the game before you jump into competitive play

Finally, we will be having "competitive seasons" with this as well, just like you would see in a professional sports season. This means that on a regular basis (actual timing TBD), a new season will start and give everyone a chance to come in and participate on equal footing to see if they can take the title of the best player of the season!

We are very excited to get this release out to you for beta testing, and really want your feedback and suggestions if you try it out. We do need enough players to join the beta so that we have enough players to regular do the matchmaking with as well, so if you join please also encourage your friends to join and give it a try too. We plan on running the beta for a little while to gather as much feedback as possible, before we release this out to everyone in the general release.