DIY Dungeon Crawler Game Plays on Single LED Strip

A delightful version of a clever one-dimensional game has been made by [Critters] which he calls TWANG! because the joystick is made from a spring doorstop with an accelerometer in the tip. The game itself is played out on an RGB LED strip. As a result, the game world, the player, goal, and enemies are all represented on a single line of LEDs.

How can a dungeon crawler game be represented in 1D, and how is this unusual game played? The goal is for the player (a green dot) to reach the goal (a blue dot) to advance to the next level. Making this more difficult are enemies (red dots) which move in different ways. The joystick is moved left or right to advance the player’s blue dot left or right, and the player can attack with a “twang” motion of the joystick, which eliminates nearby enemies. By playing with brightness and color, a surprising amount of gameplay can be jammed into a one-dimensional display!

Code for TWANG! is on github and models for 3D printing the physical pieces are on Thingiverse. The video (embedded below) focuses mainly on the development process, but does have the gameplay elements explained as well and demonstrates some slick animations and sharp feedback.

Using a spring doorstop as a controller is neat as heck as well as intuitive, but possibly not quite as intuitive as using an actual car as a video game controller.

19 thoughts on “DIY Dungeon Crawler Game Plays on Single LED Strip

    1. As others have said, 5D not 4D.

      But math is a wonderful thing. You can choose to exist in your own little world and visualize your TV as a 5D hyperspace that nobody else can possibly visualize. And does your hyperspace have integer or real coordinates? Or something else maybe?

      Or you can join the rest of humanity in visualizing your TV has a 2D matrix of 3D vectors. And visualize that as ….drumroll…. a TV.

      What does (27,168, 2, 78, 232) on your TV represent to you? And if you say pixel at certain coordinates will have a certain color then you’re with the rest of us who say TV is a 2D matrix of pixels. I look forward to your answer on this one.

  1. Funny how he advises to use the brighter LED strip then says you best run it at half brightness…

    On another note, I sort of like that setup with the strip horizontal then going vertically up the wall.

    1. It could be its own stand-alone game with fight mechanics, You vs your cat. You can give the cat some sort of stimulus based on your moves to entice it to play with the controller which goes into whatever fight mechanics and display you are after.That would be pretty sweet.

  2. First off, looks fun! But an accelerometer doesn’t seem like a very good sensor for this application for one big reason… it’s located in the tip of the joystick. For instance, how can it tell the difference between between being tilted to the right and being quickly accelerated to the left? Both actions result in exactly the same reading. It’s the same reason you can’t use only an accelerometer for a self-balancing robot – it’s translating in addition to tilting. I’m sure this adds a level of challenge to the game since it makes the behavior non-intuitive. For if you move the joystick too fast, your player will actually move in the opposite direction from what’s desired. I’m sure it works as well as it seems to simply because the door stop is so short; the longer the joystick, the greater the problem would be.

  3. This work by Critters is great! Back about one year ago we took his code and made a modified version for the kids: the MPU-6050 was installed underneath a tilting platform on which the kids could stand (2 arduinos with radio transmission between platform and main board) – The 300 LEDs 5m strip was installed horizontally. This was quite fun to play and quite popular (by the number of kids playing!) at the 2016 Ottawa Maker Faire.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s