Logo.png

Concept

The greatest strength of Twitch is the ability of the content and the audience to interact with each other in at the same time. Twitch Response is a trivia game show style game I made that allows Twitch audience members to compete alongside the players streaming. 

Features

  • Networked GameplayMy guest Twitch streamers have their own build running on their own machines on their own network and are able to see all the questions, give their answers, and be scored.

  • Twitch Audience Members Can Play: In order to answer, they just type "#" and then whatever they think the answer is and my chat reader receives the answer, evaluates if it is a valid response to the question (did the player type something that is one of the options they could have chosen on screen or not?), and then records their answer(s) for scoring later.

  • Fully Automated Answer Recording & ScoringWhen we're playing the game, all I have to do is hit a button, the players are scored, and some cute animations play to show viewers who chose what options and what their scores are. There is also a leader board I can toggle to show the ranking of every player. This leaderboard includes both the networked streamers and the Twitch audience.

  • Ability To Write Questions With The Question Class: A Question has a string for what the actual thing being asked is, a collection of strings for what the options are for players to pick, collection of ints for what the indexes are of the correct options, and a string file path to load an image from the Resources folder to display above the question.

  • Avatar Generation: Whenever a new Twitch viewer says anything in chat, a small ghost is generated from their name and displayed on screen. Anything that user says is displayed over their head. I manage this data by keeping a Dictionary that takes a key of the string from a twitch players username and returns the value of the ghost's GameObject.

Networked players read the question, select 1 or more of the available options that they think might be right, and then lock in their answers. When they lock in their answers, it sends them to the host. There is a reward for correct guesses and penalty for incorrect guesses. There is also a small bonus for giving all possible correct answers without giving any wrong answers.

QuestionAndPossibleAnswers.png
HowToTwitchAnswer.png

Twitch players type "#" and then what they think the correct answer(s). I have code dedicated to reading and recording their answers

ezgif.com-gif-maker.gif

The players at the top are networked and have locked in their answers. The players on the right are the top 2 players from the witch audience. When I click the button to show them, my game evaluates their answers and all the answers given by the twitch players, and then scores them. 

Featured Playthrough

This is a 50ish minute long play through I did with two friends of mine who are streamers. We start with a practice round that are just asking the players what the rules of the game are while displaying a QR code that will take the players to the rules. Usually only about a third of the viewers will actually play with the streamers.

Planned Features

  • Break Down of Who Selected Which AnswersDuring testing, we thought it would be cool if when answers are locked in, if there was a way to pull up a tab that would show the popularity of each answer. This would be displayed as a pie chart with all the answers as slices and their sizes showing how many people chose them. Clicking on the slice would reveal a list of all the players that chose that answer.

  • Title Cards For Each Round: Twitch Response is broken up into rounds. Each round has a different theme for what the questions would be about. Having a graphic play before the round to tell the audience what's going on could add more production value and structure to the game show.

  • Ability For The Host To Manually Give Points: This would just be used as a failsafe to correct scores incase of a bug or error on the part of the host. I have not needed yet but someone I might in the future.

Tools Used

  • Unity3D 2021.1.16

  • MLAPI

  • Visual Studio 2019

  • Affinity Designer

  • Ableton Live 11

  • GitHub Desktop

Time Spent

  • 20 hours making initial game prototype

  • 5 hours working on connecting/reading/ interpreting twitch chat

  • 20 hours learning networking code

  • 30 hours working on networking code

  • 10 hours bug fixing

  • 5 hours testing

  • 5 hours art/audio

  • Total time: 95hrs

Back Ground

Because of Covid, my friends , especially the ones that don't live near me, and I aren't able so interact as much as we used to. Additionally, I've been meaning to work on my network programming skills. I took this project as an opportunity to make a game my friends and I can play together and strengthen my skills.

How To Play