Have you ever believed in magic? Ever thought that Twitch chat could be used for more than dank memes? Then TwitchPlaysSketchBot (or SketchBot for short) is the game for you!
SketchBot is a game inspired by TwitchPlaysPokemon, a recent social experiment where thousands of players on the livestreaming service Twitch type in button input through the stream chat, and all button inputs are processed in order by the console emulator.
What It Does
SketchBot, located here, allows you to use commands found on either the livestream (if it's live), and in the description to control the robot. There is a delay between what is happening in real-time, and what is on the stream due to Twitch's delays which is out of our control. The action will be done in real-time once the command is executed.
How We Built It
SketchBot is built from an Arduino Uno, two wheels, a robot kit, battery pack for extra juice, and a small castor wheel at the back. On the software side, there is a small Python script to capture Twitch users' chat input, and will write to the Serial port. The Arduino will then, based on what ASCII value is written to the Serial, drive different motors and execute different movements like forwards, backwards, and even dance!
Challenges We Ran Into
Our largest source of problem was writing to the Serial port properly so the Twitch chat and Arduino robot could actually communicate. Initially, we wanted to use wi-fi so that the range of the robot could be improved, but due to the nature of the WiFi and having to authenticate yourself before being able to access the internet, we had to resort to using a cable. Not only this, but we wanted to use an Intel Edison board, as you can control it via Bluetooth and it has WiFi capabilities. Unfortunately, the Edison is deprecated as the forums and official drivers are down, and thus there would be little to no support when using it. To further complicate this, we also wanted to use Estimotes to create a boundary for our robot, but there was very few tutorials on how to use an Estimote, so we dropped that idea as well.
Accomplishments That We're Proud Of
We were proud of being able to create a hack as beginners. Our fourth member left us because our pace was fairly slow, and another member of our team has never coded before. After 36 hours, she has learned a LOT and has taken away many new skills from this project. As a team, we are most proud of being able to finish the hack and make it a fun game to play.
What I Learned
a) Python is fairly unreliable and doesn't like many computers.
b) Always bring your own hardware (thankfully we did).
What's next for TwitchPlaysSketchBot
a) Use Particle Spark Core to enable WiFi capabilities (impossible to use with current WiFi).