The game where zany facts go up against curated lies. Are you smart enough to come out ahead? Most are not. Let us see what you got.
From the drawing board, I desired to find a way to put a fun, new twist on the classic trivia genre. Through a variety of play testing, I discovered that pitting real truths against believable lies made for an engaging and exciting activity. I also sought to build something that could be enjoyed solo while being scalable for group settings.
The outcome is Fact vs Fiction. A game where wacky facts are placed against crafty lies. So crafty in fact, that most players lose more than they win.
What it does
The mechanics of this game are simple, although it is more challenging than most people suspect. Players are given two statements. One of them is a true fact, while the other is a fictional statement. Given these prompts, players must determine which one is true. That's it.
During the testing phases, most players were wrong a majority of the time time. These are not obvious.
After making a guess, some information about the statements is given. This allows players to learn interesting facts about fruits, animals, actors, and a large variety of other subjects.
Here are some real examples from the game:
Which is true:
A. Pineapples are categorized as berries.
B. Rosemary is actually a type of weed.
or what about this one?
Which is true:
A. There have only been 5 successfully eradicated diseases.
B. While searching for an AIDS cure, a research clinic made glow-in-the-dark cats.
You think you know the answer? Go play and find out!
How I built it
One of my goals for this project was to not overcomplicate it, while making sure it felt extremely engaging. To do this, I stayed focused on core technologies and spent a significant amount of time working through the Amazon Alexa documentation and tutorials. Progressive play testing was utilized, and I even created a website to test out different facts and lies to make sure it was challenging enough.
One useful outcome from play testing was the addition of the statement following a guess. Here players can learn a bit about why something is true or false before moving onto the next round.
Here is a real example from the game:
In the first question above, after making a guess, the answer would be revealed:
Rosemary is a shrub from the mint family, and pineapples are in fact berries... from the berry family.
Want to learn more? Jump in and start playing!
Challenges I ran into
One significant challenge was finding ways to keep the app flowing naturally while still providing clear instructions. Dumping text into the prompts quickly generated an unwieldy amount of chaos. I quickly adapted by finding more natural ways to handle communication, simplifying language, introducing multiple voices, and reworking phrases until they were concise. Coming from a visual design background, focusing so heavily on audio was both new and exciting.
Another difficulty I experienced was debugging. I found it quite challenging to solve complex framework and API misuses initially. An ASK Intent would not work, and I was not really sure how to go about finding a solution. Through looking at some online tutorials and documentation I found that simply logging out lots of information was not only simple, but quite effective. This was especially useful during this challenge, as time was a limiting factor.
Accomplishments that I'm proud of
I felt my usage of the Amazon Poly voices really enhanced this skill. The banter and conversations that Emma and Matthew create are dynamic with thousands of combinations. Almost no engagement is coded to be fully repeatable, which creates a beautifully subtle, yet complex experience. It keeps players on their toes, and can spark conversations between people as they hear these voices interact.
Coming up with the sheer number of fictional statements was quite an undertaking as well. All of this content is fully original and finding the right balance and combinations for truths and lies was not simple. Each true fact is matched with exactly one fictional statement. While this decreases the randomized combinations, I found this necessary in order to create highly engaging challenges.
What I learned
I have never worked with Amazon Alexa skills and have found the experience quite freeing. Coming from a full-stack and mobile development world, this was drastically different and the boundaries felt potentially endless. It is really a new medium of creativity with so much new ground to be made.
Learning how to adapt my voice engagements for these new interactions was difficult at times. Rather than seeing the visual representation of what I typed, I had to carefully craft my language to live in an audio-first world. Each engagement required audio testing, tweaking, and adjusting to get grammar and timing just right.
Being detached from a highly complex visual layout system was also liberating. No CSS or layout constraints, no div tags or highly complex visual libraries. It reminded me of simpler days. After engaging with Alexa development. I have a swath of ideas that I intend on creating. So, I have learned that I will continue to develop for Amazon Alexa and see where this journey takes me.
What's next for Fact vs Fiction
There are many places to advance Fact vs Fiction.
- Working with human voice actors to create more natural flows, and leverage human personalities.
- Support for Amazon Echo buttons (using them to select choices).
- Better usage of supported screens to display prompts.
- Submit to other regions (e.g. Germany, Japan, U.K.)
- I would like to rebuild some of the interactions with Flow Builder.
I also think this skill could be a platform that is used to plug in other types of data:
- Building a version for children. Simply creating easier prompts, or as a foundation to build things like math challenges (e.g. "which math statement is true")
- Build out genre quizzes (e.g. playing a quiz of only animal or celebrity prompts)
Most of my resources were directly from Amazon's excellent documentation, tutorials, guides, and sample code. Here are a few that were particularly helpful:
Guide about being personal and adaptable.
Persistent storage documentation.
Optimizations for upselling - Led me to make my upsell in better context, while also moving it early in the app flow.
Technical ISP guide - Clear and concise overview of the technical aspects of ISP buying and upselling.
Alexa GitHub - Nice sample code, and examples to view.
Alexa Live: ISP - A great live talk from Neelam and Amit that covers a variety of topics regarding in-skill purchasing with Alexa.