We all know how the game show Jeopardy! works, right? Three contestants choose categories with questions from a big board. They listen to / read the clues, buzz in, and speak their answer in the form of a question. Alex Trebek and a panel of judges listen to the answer and add or subtract points from the user’s score as necessary.
We wanted to mimic the Jeopardy! experience with Twitpardy! the best we could. We developed a trivia game where our contestants (our followers) view questions on a “big board” (our Twitter feed). Contestants “buzz in” with answers in the form of a question (by sending a direct message via Twitter), and we add or subract points from a person’s score based on the answer given (judged via our backend code, a.k.a. host and panel of judges).
It’s been that last bit that’s was the most complicated to deal with, and the one we’ve had the most trouble with since going live - trying to correctly judge users’ responses compared to the answer we have for a given question.
Jeopardy! vs. Twitpardy!
The biggest difference between Jeopardy! and Twitpardy! (other than the latter being multiplayer and accepting all answers for a round) is that Jeopardy! players speak their answers out loud while Twitpardy! users type their answers via direct message. One is a group of people judging oral responses, where spelling, for the most part, does not matter one bit, the other is some code judging written responses where spelling is *EVERYTHING*. How do we even come close to getting the two to be the same?
In addition, since spelling is so important, how do we account for users entering in answers via keyboard, phone, speech-to-text, etc. and possibly misspelling an answer? A user might not be sure how to spell “sphygmomanometer”, but gives it their best shot. Or, maybe a user does know the correct spelling, but tossed an extra “R” in at the end because they were rushing to get their answer in during the allotted time. Or, maybe the user’s phone’s auto-correct went wonky and thought they meant “spyrogyra” instead?
Well, we can’t handle a phone’s auto-correct issues (sorry!), but we had planned for the possibility of misspellings. So, without giving away the recipe to our secret sauce, I’ll tell you that our algorithm does account for some minor misspellings, punctuation (or lack thereof), and a variety of other characters we might encounter with a user’s response. We want to be sure that everyone has a shot at being judged fairly, even if a misspelling slips into the game. So far, we haven’t had too many issues here, which is good.
The Name Game
Instead, our biggest problem has been with names. Take, for example, an answer of “Franklin Delano Roosevelt”. How many iterations of his name are there?
- “Franklin Delano Roosevelt” - full, proper name.
- “Franklin D. Roosevelt” - full name with middle initial, with or without period.
- “Franklin Roosevelt” - full name, no middle name or initial.
- “Roosevelt” - last name only.
- “FDR” - initials only.
And how many are acceptable as answers?
- “Franklin Delano Roosevelt” - accepted.
- “Franklin D. Roosevelt” - accepted.
- “Franklin Roosevelt” - accepted.
- “Roosevelt” - not accepted due to “Theodore Roosevelt” being a prior President - we wouldn’t be sure which one the user was referring to.
- “FDR” - initials only would not be accepted for most answers, but Roosevelt was so well known as “FDR” that we would have to accept it in this case.
So five different iterations of a name, but only four would be accepted. Still, that’s FOUR answers to ONE question. How do we account for all of that without people getting involved?
Well, we tried adding some basic name recognition in our first release, but our users have come up with an incredible amount of differing answers for name-based questions; many more than our set of alpha users did, so we were completely unprepared for what was coming our way. Oops!
A CODE UPDATE APPROACHES!
We’re happy to announce that, as of today, Twitpardy!’s algorithm has been updated with some enhanced name recognition code. We’ll be parsing names in answers MUCH better than we previously were, and this should (hopefully!) alleviate any of the existing issues users are having with names as answers.
We’re also doing our best with finding where any additional issues lie, and are trying to fix issues as quickly as we can. We can only better the algorithm at this point, and want to make the game as accurate, yet forgiving, as we possibly can to make sure everybody has a good time while playing.
THX!
We’d also like to thank our users for their @ replies, messages, bug reports, and patience with us through this learning curve we’ve been given. We appreciate you all dealing with our issues as we grow and try to build an even more accurate and fun game for everyone!
Enjoy the game!
@mrpants and @McAtoms