It looks like osu!, but it's actually Trombone Champ

Implementing A Rhythm Game Entirely In A GPU Shader

Most rhythm games have a community creating custom charts, and Trombone Champ is no exception. What is exceptional, however, [CraftedCart]’s osu! played in a Trombone Champ chart.

It all started as a challenge to make the most unserious chart possible. Among some other ideas, [CraftedCart] eventually decides to make an osu! chart but play it in Trombone Champ. Okay, not a problem, let’s just–oh, you can’t run arbitrary code without a making a mod. So instead, they decided to use shaders on the GPU. There are, of course, all sorts of problems with such an idea. Being stuck in the fixed render pipeline of a game, you can’t just add any resources to your shader you want. This leads to using textures as memory, both the game state and the osu! chart are actually textures. Another interesting one is getting user input into the shader. [CraftedCart] solves that by connecting the position of the game object the background is rendered to to the cursor; then, the shader reads the world to local transform matrix to determine the mouse position. Finally, the graphics the player ends up seeing are rendered using ray marching.

Video after the break.
Continue reading “Implementing A Rhythm Game Entirely In A GPU Shader”

Electric Guitar Shocks You For Missing A Note

Rocksmith is a popular video game that works like Guitar Hero, but with a real guitar. You have to play well and hit the right notes, or the game penalizes your score. [Lightwing] took the stakes up a notch, though, adding a system that shocks the player every time they fail.

To achieve this, it was necessary to detect when the player missed a note. Initial attempts involved using Tensor Flow AI to detect the game state from the screen, but it was unreliable. Instead, the game’s memory was read to achieve detection. When the player misses a note, a certain section of memory changes, and a script reads the change in game state. It then sends a signal to an Arduino which triggers the stun gun’s fire button, which shocks the player holding the guitar.

As you might expect, the documentation for this project includes a video which involves plenty of gratuitous electric shocks when [Lightwing] makes mistakes. Fair warning — there’s plenty of colorful language when the stun gun fires. Generally, a powerful shock ends with screams a dropped guitar, and too much fear to continue.

It’s painful enough that it’s probably not a useful teaching tool for learning the guitar. We’ve seen similar shocking builds before, too, like this simple wire game.

Continue reading “Electric Guitar Shocks You For Missing A Note”