What: A Python / Arduino based Twitch bot platform allowing chat to play the Player Unkown’s Battlegrounds communally
When: July 2017 - December 2017
Where: Previously accessible through Twitch Plays Battlegrounds channel
Who: Me – Python, Arduino, Twitch API
Why: Explore the ‘Twitch Plays’ community gaming format in a unique settings
Twitch Plays PUBG was an idea that was born out of more than anything else, curiosity. As the most popular game being streamed on Twitch at the time, and the unique versatility of viable play-styles, what happens when a collective hive mind is placed behind the controls? Is it even possible? I decided to find out how well the Twitch collective could perform.
Implementation Highlights
Building and revising the bot to play
Twitch chat API was used to process my channel’s chat feed to translate commands into keyboard and mouse input
A command processing check was implemented to handle the chat input from thousands of participants at once via a ranked voting system
The hosting server was set up to run 24 hours a day and 7 days a week, which required providing commands to the community to navigate through PUBG UI elements and error screens in the early beta state of PUBG
Challenges
Circumventing first person shooting mouse emulation prevention
PUBG is centered around not only key strokes, but raw mouse input values
Chat commands were processed through Python, and send to a pair of microcontrollers, which in turn converted them to authentic mouse inputs to send back to the computer to control the PUBG camera