Showing posts with label race. Show all posts
Showing posts with label race. Show all posts

Saturday, July 11, 2020

Ready, Set, Race?

We recently introduced a two-player "race" version of Plates Across America™. To do this we needed to add a number of other features to solve the problem of how to find race opponents. In our previous blog post, we explained the matching process when you choose to "Race Anyone" and in this article we describe what we considered when you want you to pick a specific opponent.

Plates Across America race game

If you do not care who your race opponent is, this is the easiest thing for us to handle. When two people choose this option, we have mutual consent, so we can match them and the race can start. But there are some tricky parts once you entertain the notion that a user should be allowed to pick the race opponent.
  1. How do players find the opponents they want to race?
  2. How do we ensure that the selected opponent is willing to race?
We wanted to tackle both these problems with care, since we value our customer's privacy and have made a promise to not become yet another source of annoying emails. The typical things game companies do for situations like this are definitely not aligned with our core values, so we could not just blindly copy what others are doing.

Finding Users

There are two principle ways you can select a particular player to race in the game:
  1. if you see them in the leader boards (click on their icon); or
  2. from the newly added page of players you are "following".
The leader boards already had the user's name/icon and allowed you to click to see some of their stats. All we had to do was add a "RACE" button to that view of a user. It is simple to pick them this way, but there are some issues to be addressed about their willingness to participate and how we should notify them. We discuss those issues little further below.

Plates Across America race results

The "Following" page is a new feature we added to make it easy to locate known players. This immediately brought up the need to allow you to manage this list: e.g., searching for, adding and removing players in the list. If you see a player you know on the leader boards and click their icon, the newly added "FOLLOW" button can be used. 

Finding Friends

The much more desirable method is to locate people you already know, e.g., friends, family and acquaintances. Here is where it starts to get tricky.
  • How do you locate them?  By their game username?  By their email address?
  • What if they are not signed up for the game?
  • Is emailing the user in accordance with our "no annoying emails" policy?
  • What if someone else has already invited them, but they have not signed up?
  • What if they signed up and they prefer to not get any more emails like this?
We wrestled with these questions and came up with our "Find Friends" search page. We wanted this to be as easy as possible, so you can type in, free form, multiple user names and/or email addresses and we'll do the work to sort this out and provide you with the available options. If the user is already signed up, you get a "FOLLOW" button. If not, we give you the option of inviting them. You must know their email address and choose to email them before we will send out an email. We will not email someone for you unless you know their email address. Most importantly, we will never show your email address to anyone.

Plates Across America Find Friends

Requesting a Race

Just because someone wants to race you, does not mean you want to race them. If we allow the race to start and you choose not to participate, then there is the risk of that person wasting their time playing a game that is a dead end. Therefore, we introduced the notion that before you can race someone, you must first get their consent. This is just a one time request, and once consent has been granted, we assume there is a mutual agreement and that all subsequent race requests will allow the game to start immediately. 

Plates Across America race game

What happens if you consent and then the playing partner becomes a nuisance? We needed to also add a "BLOCK USER" feature to handle this case.

Notifications

We struggled designing how to notify users when someone requests a race.  If we do not send a notification and if you were interested, then the burden is on you to continually check back with the game. If we do send notifications, and you are not interested, then we might be annoying you with emails, which is what we have promised we would not do.

We also struggled with how to deal with having opt-in emails. We did not want to default users to getting emails, since that is against the spirit of what we promised, but we also want to make it easy for users to get notified of these game invites. We hit upon a good balance by making the emails opt-in and by asking about the email option at the point of race requesting. This allows you to opt-in and understand its benefits immediately, in context. In your user settings, you can control this email setting so can opt out at any time if you change your mind.

Plates Across America race game

The key elements of this notification design are:
  • emails are opt-in and you can opt-out at any time;
  • we only solicit you to opt-in when it matters to the action you are taking;
  • we require a real human user to initiate an email (no automated spamming allowed);
  • you can block particular users; and
  • even if you opt-in, we limit game reminder emails to at most once a day. 

Summary

All these issues about simply finding race partners required considerable design and development work and that is not including the race feature game play itself. This large body of work is why the race feature was not in our initial release of Plates Across America and had to wait until now to be available. We are very pleased that we were finally able to make this feature available. Try it out and let us know what you think.


Happy Travels!

Saturday, July 4, 2020

The Logic Behind: Race Anyone

Plates Across America's(TM) new two-person race feature allows you to select opponents in one of two ways: 
  1. you can either locate a particular user and challenge them to a race, or 
  2. you can choose to race "anyone" and allow the game to find a matching opponent.  

This article is about how we automatically find matching players.


Plates Across America race anyone

Plates Across America(TM) attracts a broad spectrum of people and skill levels. Playing against someone that is far less or far more skilled than you are is usually not very enjoyable. To add a more competitive nature to the game, we want to match up people with the same relative skill level. 

Matching Algorithm

While designing the matching feature, the first tricky design decision we faced was how to trade-off the precision of skill level matching with how long a player would want to wait to begin playing a game. Most times, people would prefer to play sooner rather than waiting a long time for the perfect match.  We achieved this balance using an iterative solution that starts with a narrow band of skill ranges and broadens the search when no matches are found. It stops when a match is found or if the skill differential becomes too great.

Skill level

When we do the matching, we first need to assign each user a "skill level" based upon their game play history. The main attributes we look at are the quality of answers and the percentage of correct answers. Each puzzle answer get a "strength" score which translates into miles traveled. Further, each incorrect answer results in a loss of miles traveled. These two stats tend to be a good indicator of how many puzzles it will take to complete a race: the player with the fewest puzzles wins the race.

We will look at a player's stats over their previous races, though we use their single-person game stats if they have not yet completed in many races. For a brand new user, with no game play stats would have a skill level of "0".  A very good player, averaging 2.5 miles per puzzle, would have a skill level near "25".

As of this writing, we only have experience with this matching algorithm using a relatively small player base. There's plenty of more sophisticated approaches we could have used, but we've opted to start with something simple and we'll refine it when needed. If you have any feedback on how this algorithm is working, good or bad, please let us know.

Sign in to Play the Race Game

Happy travels!

Thursday, June 25, 2020

Improve Your Scores with Race Answer Feature

Plates Across America® race game Answers

Race Completed Page

With the release of Plates Across America®'s new Race game feature, we also introduced a new "Race Completed" page. This new page becomes accessible after both players have completed the race. This page shows the outcome, stats for the race, your stats against this opponent as well as the full puzzle and answer history. It is the Answers feature of this page that we felt was worth writing a little more about.

Answers Feature

As we were discussing the design for the Race feature, once this idea was proposed, we all immediately felt that it would be incredibly interesting and useful to be able to compare your answers with your opponent's answers. You can use this to improve your game or just to see what sorts of words your opponent decides to use.

This comparison works well since each player is shown exactly the same puzzle sequence, so you can really compare apples-to-apples (so to speak).  Notice that one user may see more puzzles if they require more to complete the route.

We think Answers comparison is one of the more interesting features of the new Race game. If you try it out, please let us know what you think.

        Visit Plates Across America®'s site: Sign in to Race