Saturday, July 18, 2020

It's a Small World


In the early days of our game development at Plates Across America™, like many software companies, we relied on our friends and family to help test early versions. One of the more engaging aspects of playing in this small universe of people is that you personally know everyone appearing in the leader boards.

While we were enjoying the close-knit nature of the early versions of the game, our game designers began to worry that this element would be lost once we reached a certain number of players. In any game with a large distribution, there are always people that wind up being on a different level than everyone else. If you have a million players, how many are going to care to look at the leader boards besides the handful of people that have any chance of being listed there?

The design solution we came up with to address this issue was to allow you to filter the leader boards to only a select set of chosen people. This requires being about to find and "follow" people to build up the list of those you are interested in. Adding the ability to find and manage a list of users is no small development effort. If you have not written or designed software before, then you might not appreciate the level of effort required to add something like this, though it sounds simple on the surface.  

Plates Across America follow

This was a sizable body of work we identified before we had even launched Plates Across America. Since we figured it was more important to focus on getting the first 100 customers before we starting to worry about the millionth, we shelved this idea of "filtered" leader boards for a while.  

If you read our previous article on issues we faced when we introduced the two-player race mode, you will have noticed that the race feature required this same need to maintain a list of people you are following (so you can more easily locate race partners). This shared need of the "follow" feature made it no coincidence that the race feature and filtered leader boards feature launched at the same time.

To use this feature, you first find and/or invite friends in the game to build up your "following" list. Then, when you visit the leader boards, you can select the drop-down menu (top left) to show only those you are following. The game remembers this choice, so all leader boards will filter down to your list unless you switch the view back.

Plates Across America leader boards


Another useful feature we have added is to put a yellow star next to the users you are following so you can quickly identify those people you are most interested in. If you play the game and have any feedback on this feature, please let us know.   Play Plates Across America

Happy Travels!

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!

Sunday, June 28, 2020

Race Achievement Badges

With the Plates Across America's® new Race Game feature we recently launched, we have added a couple new achievement badges.  Our previous, single-player game achievement badges look like this:

Plates Across America® badges

The new, two-player "Race Game" achievement badges are:

Race Game Achievement BadgePlates Across America® race game badge

  • The Racing Club badge shows your achievement level for race game participation.
  • The Champions Circle badge is awarded based on how many races you have won.

Try the single-player demo here: Plates Across America Demo Page

Or sign in to try out the new two-player Race game: Plates Across America Signin Page

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

Saturday, June 20, 2020

Head to Head Race Game

Pates Across America® race

We just finished deploying the most significant release since we first launched Plates Across America™. We'll cover all the changes and new features in a series of short articles. The most important addition in this release, by far, and the one that this article covers is the new "Race Game" feature.

Original Race Game Concept 

The first version of the Race Game feature existed long before we released Plates Across America and it was quite different from what we now have.  The original feature allowed up to 8 players and offered in-game chat messages.  It was set up to be much more like a "live" race with entry fees and prizes for the top 3 finishers. This was a pretty interesting "race-like" idea, but not very practical for this type of (somewhat leisurely) word game.

Requiring all players to be on-line at the same time and to remain for the duration of the game was a bit too constraining for a word game.  We ditched this idea before the first release and decided to launch the game with just the solo "Travel" mode.  Meanwhile, in the background, our game designers were re-thinking how to reintroduce a multi-player version back into the game.

2 Person Race Game

For the publicly available race feature we just released, we now have a 2 person race game which allows you to play a specific person, or you can allow us to find a matching race partner (we'll discuss how we pick partners in a future article). For fairness, each player will get the exact same sequence of puzzles in a race and they can completed it at their own pace. The winner of the Race is the person who completes the route in the fewest possible puzzles. If there's a tie on the puzzle count, the percent correct score is used as a tie-breaker, and if that too is the same, the game ends in a tie.

Choice of Race Game Length

Another nice feature is the ability to select your preferred race length. The choices are: short, medium, long and extra long.  The race route will be chosen randomly from the routes based on their distance and your preference.

Plates Across America® race game

We are very excited about the release of this new Race feature. We have known this would be an important addition to Plates Across America and have worked hard to get this out as soon as we could. We hope you are able to try it out and that you find it enjoyable.

Sunday, May 10, 2020

Why Do I See an Alaska license plate?

Plates Across America®license plates

Want to know how Plates Across America™ decides which license plate to show in the game? If so, then read on for all the nitty-gritty details. First, we will give you a some hints on some upcoming features since they are directly related to license plates.

Which License Plates?

Every state (and D.C.) can have multiple license plates. Further, each license plate has two important attributes: 1) what years the license plate was in use; and 2) how common the license plate was during that time.  In our early versions of the game, neither of these is much of a factor since we only have a single plate for each state. However, we are working on extending the set of license plates in the game and will be working this into some interesting new route concepts.

With that as some background, when a new puzzle is displayed, exactly what happens to decide which license plate to show? First, we look at your avatar's current location in the game. Most of the time, you get a plate from the state your avatar is in (and eventually the "time" you are in). If there is more than one plate for the state (and time), then we'll randomly pick one based on how common it is. To simulate what you might experience in the real world, we look at your immediate location (in the game) and a few mile radius from where you are. When you travel in real life, as you near the borders of states you tend to see plates from the neighboring states more often then if you were in the interior of the state. In the game, the likelihood of seeing a plate from the current state or neighboring state depends on how close you are to the border and the relative populations of cities in that area.

What about Random Out of State License Plates?

Most of the time we look at your avatar's current location, but not all of the time. Ever see a car with an out of state license plate from far away? We simulate this in the game by occasionally picking a state from the other states. In the real world you are more likely to see plates from places like New York, California, Florida, Michigan, etc. because those places simply have more people which increases the likelihood that a visitor is from there. It is much less likely to see a plate from North Dakota given how few people live there.  Therefore, when the game does decide to pick from other states, it does so based upon the relative populations of the states.

So there you have it, the full details of how the license plates get picked in Plates Across America™.