Trivia Fighter Turbo

street-fighter-v-ryu-screenshot.jpg

Are you ready to fulfill your destiny and become the greatest trivia fighter of all time?

The adventure you seek is just a text away!

Summary

Keywords: Chatbots, Web Development, Minimal User Interfaces, Interaction Design, Game Design

Trivia Fighter Turbo is a text-based trivia game that presents players with an arcade experience through SMS messages. The project has been designed and developed for “Programming for Online Prototypes” class I’ve attended during my Fall 2018 semester at Carnegie Mellon University.

Text-based and voice-based applications are a rapidly becoming a bigger part of our daily lives. As designers of today and tomorrow we should be able to think and create in terms of these developing user interfaces. Trivia Fighter Turbo project is my take on the design patterns and teachings on these minimal interfaces, that were presented during the “Programming for Online Prototypes” class.

You can see the gameplay demo below, to get a better taste of the Trivia Turbo Fighter experience.

Gameplay Demo

 

Intention

Computer games have become an integral part of our daily lives now. From big platform productions like God of War to addictive smartphone essentials like Farmville, there are millions of cool games to choose from. Unfortunately, I feel like it is still hard to find titles that can replicate the excitement and the amusement retro arcade games. That is why I wanted to pay homage to "the good old days" by creating an arcade style game application for my final project.  

In short, the goal of this project is to develop a text-based trivia game that allows players to test their skills and knowledge as they compete for the #1 spot on the leaderboard. 

..and you guessed it is heavily influenced by the timeless classic Street Fighter!

Context 

Retro games were glitchy and weren't really intricate as their modern counterparts but they had an organic warmth and simplicity to them. They were usually operated by 6 buttons and a joystick, sometimes even less. Yet they were able to make thousands of kids spend numerous hours and a lot of coins just to play couple more rounds. The friendly competition they provided by allowing Player vs. Player gameplay and incorporating leaderboards made them even more addictive. 

So with Trivia Fighter; which initially started as a voice-activated Alexa skill that I tried to develop just to make my daily chores more enjoyable, I tried to replicate the retro gameplay experience. As I moved on with the project I realized that text messages would be a better medium for such a game and migrated most of my work to a new project; Trivia Fighter Turbo, which I now plan to play to during my daily commute rather than daily chores.

The idea of the project developed after I stumbled upon a website called Open Trivia DB; a free-to-use and user-contributed trivia database. The website provided a simple API to retrieve trivia questions from the main database. So the development process started when I started playing around with their API using the infamous Ruby gem httparty. 

https://opentdb.com/api_config.php

If we look at today's trivia games that can be found on each and every platform, Trivia Fighter Turbo is quite simple. It doesn't have hotlines, money prizes or crazy visual effects. It just uses the relatively small command set to present you a simple but robust gaming experience. 

Outcome

Final form of the project turned out to be really cool. I actually played it couple times during my 2018 semester break!

Players can start a new game, answer as much questions as they possibly can, get their name on the leaderboard and actually see how they did compared to other people. 

One thing that was added in the final stages is the time limit for answering questions. The first prototype didn't have any time limits on answering questions but the final version now checks if you answered a question under 2 minutes. If a players exceeds that while answering a question, they automatically lose the game. 

Given more time the question engine can be extended to ask true false questions, questions with different scores depending on their difficulty or ask questions that progressively get more difficult. 

Technologies Involved: Ruby, Sinatra, Dialogflow, Twilio, Heroku, Postgres, httparty, 

Final Command List: New Game, Next Question, Answer is A, Repeat Question, Rules, Leaderboard, End Game, Current Score