This year’s TwitchCon Hackathon saw 145 developers from around the world come to team up and build Twitch Extensions over the course of just 24 hours. We invited some of Twitch’s partnered broadcasters to participate by offering up challenges for the teams’ Extensions to solve.
At the end of the hackathon, we had 33 diverse Twitch Extensions to show off from our developer teams. You can check out all of the projects on our Devpost page, but here are a few of our favorites:
OK Gamers is a Twitch Extension which adds a visual element for streamers to really see what their viewers want – rather than just guessing off a fast-moving chat.
Using voice activation, OK Gamers automagically polls chat using a chatbot and creates a real-time pie chart based on chat spam, so both streamers and viewers can see what the majority wants – and everyone really has a voice.
We wanted to address Data_Dave’s challenge to allow community input to affect the content of the stream.
We figured that stream chat is the primary means for a streamer to interact directly with their community during the stream, and were inspired by the common interaction where streamers ask their viewers to make decisions for them in-game (for example in RPGs, horror games, and many more).
We thought that there must be a better way where even in bigger streams viewers still have that feeling that they have an influence over what they are watching. The simple solution is to make some sort of visual chart that keeps track of what viewers are voting for in real-time by monitoring chat.
Of course, that would require the streamer to interrupt the flow of their game and actually write out the options for a question (or a mod). We jokingly said it’d be cool if instead there was a Google Assistant-esque voice assistant, where a streamer could just say “OK Google, ask chat …” to magically parse the question and start a poll in chat - something like, “OK Gamers.”
The name stuck. The more we talked about it, the more it seemed like it was actually pretty feasible and useful. And thus, OK Gamers was born!
We got all of the core functionality completely working – OK Gamers listens to what the streamer says, parses questions in real-time, starts the poll in chat, and displays the pie chart updating in real-time in our extension.
The “Rundown” Extension was an entry in the MarsLife challenge and won an Honorable Mention as well as the MarsLife challenge at the TwitchCon Hackathon. You can see more about the project on the Devpost page or watch a demo.
The Rundown is the best way to welcome new viewers into your community. It shows new viewers a customizable overlay that puts your most important information front and center. Choose the sections that you think are most important to new viewers to see, including a streamer bio, common chatbot commands for your channel, your communities’ values, your top clips, and much more.
Immediately after the prompts were revealed, I actually left the hackathon to talk with some streamers and some co-workers to brainstorm some ideas. Focusing on something MarsLife had talked about – how do we activate new viewers? – one of my coworkers thought it would be both funny and useful to show new viewers a list of a community’s memes, since these can be particularly inscrutable to outsiders.
I liked the idea and spent the next hour or so wandering around the convention floor, talking to random streamers to see how they felt about the idea generally, and more specifically what the information is that they as streamers wish they could communicate easily to first-time viewers. All of the section types that ended up in The Rundown emerged from this process: one streamer had a bunch of obscure chat commands in his channel that new viewers often missed; another wanted to make sure the community’s rules and norms were clear from the beginning. Virtually all streamers I spoke with said that they put this information in their Twitch panels, but that new viewers almost never scroll down to actually read them, and they loved the idea of putting this information in a pop up overlay so it was harder to miss.
Honestly, more than I expected to. I implemented the system that checks if a viewer watching a stream for the first time (using twitch user ids if the viewer is logged in, or IP addresses if they aren’t). I implemented the overlay with six possible sections that a streamer could add to the Rundown, each with their own visual identity. These were:
Streamer Bio/Community Introduction
Common Chat Commands
Stream Rules (divided into Do’s and Don’ts)
I also built the config panels that would allow streamers to add up to three of the above sections and customize the content.
The “Summon.tv” Extension was an entry in the Data_Dave challenge and won an Honorable Mention as well as the Data_Dave challenge at the TwitchCon Hackathon. You can see more about the project on the Devpost page or watch a demo.
Summon.tv gives the audience a new way to interact with their favorite streams! Fans can throw bits to trigger actions in the game – Drop TNT? Summon a lightning smite? Give supplies / tools? Now the audience has their streamer covered… or challenged!
We started the hackathon with an iterative research cycle – we broke down the challenges into what was…
Interesting to us as individuals
Could affect a lot of fans and streamers
Plausible in 24 hours
Our first 3 hours were spent just narrowing down exactly what we wanted to build and then planning what to build. We wound up with an approach that jived really well with the individual experiences of our team members, which we hope shone through in the result.
Our team took a bite that was just beyond the maximum advisable size for a weekend hackathon, but we managed to:
Identify a Minecraft mod that could suit our needs
Learn some Java to work with the mod D:
Build a node.js websocket API wrapper for our mod
Get our modded Minecraft server running in EC2
Build a Component extension that tracks Bits and interacts with our mod stack
SubClip captures and archives moments you share with streamers. As a viewer any time you subscribe SubClip automatically clips the moment you get a shoutout and saves it to your per-stream personal archive.
We were trying to think about the core experience of being a viewer on Twitch and combine that with SirSlaw’s challenge. The interaction between a streamers and viewer after a subscription is integral as well as unique to Twitch. Whether it’s a funny dance, a song or just saying their name we wanted to help viewers catalog/surface those special moments in some way.
We built a service that gets webhook notifications for subscriptions, creates clips, and exposes them to the viewer who subscribed. We integrated with Twitch APIs, managed OAuth tokens, and archived clip info in our DynamoDB. We achieved a fully compliant scalable/shippable Twitch Extension.
Teams+ is a Twitch Extension designed to help grow a community by allowing streamers in a given Team within Teams+ to assign roles to specific users that other streams in the same Team can also see, allowing for both the good and bad apples to easily be shared among a group of streamers, making for a better community streaming experience.
We came up with the idea based on the real-life use case of Teams within Twitch, where multiple streamers are part of a community. We thought it would be nice if there was a way to distinguish good viewers from the general crowd, and so Teams+ was born.
Due to technical issues, we were only able to get a prototype out. We hardcoded a Team within Teams+ and then could select and deselect users to be “Trusted” from within the extension. If one of the team members made a change, it would be updated for the other team members.
As always, we were absolutely blown away by the quality of this year’s submissions. We hope that these Extensions will be fully finished and put on the Twitch Extension store for all streamers to add to their channels!
This event would not have been possible without the support of our partners at Major League Hacking and all of the resources they provided us. We had a blast with everyone in San Diego this year, and we can’t wait to host our next event. See you all in 2020!