What do you do when a Twitch streamer you’re watching needs a bio break? Chat, of course! Well, one streamer has implemented something even better than that: A playable ocarina from The Legend of Zelda that can be accessed via stream chat.
Lego Star Wars: The Skywalker Saga’s Air Combos Make Me Feel Skilled AF
Twitch streamer and OBS content creator nutty showed off their latest creation on Twitter, and it’s pretty impressive.The chat-controlled ocarina is capable of playing actual songs from The Legend of Zelda: Ocarina of Time. By typing in prompts that match what you’d input on an actual N64 controller, notes will display on stream via an overlaid music staff while an animated Link moves along to the song. And, if you type in a sequence of controls that matches a song from the original game, it will play through the whole song. Pretty neat, huh? You can see it in action here:
As they discuss in the video, nutty not only had to code this entire widget to work with their stream chat but they also had to create the PNGs of the “notes” to sit on the score. You can see the ocarina in action during this stream:
Elsewhere in that very stream, nutty reveals more of what went into bringing the ocarina widget to life. The notes and staff were traced from screenshots of the game using Affinity Designer, and the animated Link that bops along to the music was pulled directly from in-game footage using rotoscoping. The rotoscoping alone added around11 extra hours of work to an already extensive process. Together, it all works as an OBS widget available via their Patreon if you want to incorporate it into your next stream.
Everything is triggered via Streamer.bot, which looks for inputs from Twitch, such as follows or chat entries, and then executes specific commands. Then using that in conjunction with original code written in C#, the inputs from the chat trigger notes to be shown and played on stream.
From the visual elements to the actual coding, the widget is a damn impressive piece of work and a fun way to pass the time in between stream breaks.