Pokémon Badge Collector
Twitch is a live video platform redefining how content is created, presented, and consumed. It launched Extensions—a framework that allows developers to create games and tools that live on top of the video player—enabling Twitch viewers to participate in live streams in ways never before possible.
As they were planning a ten-week marathon of Pokémon TV shows and movies on their Twitch Presents channel, Twitch came to Stink Studios to explore the untapped potential of Extensions to better engage fans and foster camaraderie among members of the Twitch community. We created a mini-game to turn the marathon into a live, collaborative, Pokémon badge-collecting experience.
The Pokémon Badge Collector Extension allows tens of thousands of concurrent viewers to train alongside Ash and friends by catching and collecting Pokémon badges that appear in the stream—earning points, unlocking bonuses, and competing for a spot on the global leaderboard while they watch.
The Extension consists of three main panels: the Inventory where collected Pokémon badges are stored, Stats & Bonuses where viewers can track their progress, and the Leaderboard where the top twenty high-scorers worldwide are celebrated.
In our game design process, we tapped into the mechanics that make Pokémon timeless: the skill required to successfully capture a Pokémon, the emotional connection fans have with their favorite Pokémon, and the feeling of kinship and competition with other trainers. Pokémon badges appear at randomized intervals, keeping viewers on their toes and rewarding active viewership.
Global bonuses bring the streaming community together to achieve common goals. When all players meet a collective bonus threshold, the whole stream is rewarded with a special badge.
Since the extension had to be scalable to tens of thousands of concurrent users, we used a mixture of server-based and serverless architecture to handle the User and Capture APIs. In order to react immediately to viewers and their interactions, we leaned into optimistic updates with an eventual consistency model. That is to say, viewers would immediately see their badge and stat updates after a collection without having to wait for the server to return any information. This gave viewers immediate gratification without sacrificing the verification of their actions.