Story Horse?
Sometimes a good project begins with something very simple. In this case, it started with a video I came across on the internet showing a version of Space Invaders played in just one dimension.
Instead of using a screen filled with spaceships and enemies, the entire game takes place on a single strip of LEDs. The players, shots, and invaders are represented by points of light moving along the strip. It is a minimalist but surprisingly entertaining reinterpretation of one of the most iconic arcade games ever created.
As soon as I watched the video, I remembered the LED Race, a project I had previously built using LEDs, a Raspberry Pi, and a Makey Makey. Since I already had some experience turning an LED strip into a game, I decided to continue exploring the idea and create my own one-dimensional version of Space Invaders.
Building the project with Simone Marzulli
I developed the project together with my friend Simone. Our goal was to create something easy to understand, visually interesting, and, most importantly, fun to play.
In a traditional game, a screen represents a two-dimensional space. For this project, we had to reduce everything to a single line. Each LED represents a position in the game: the player occupies one point on the strip, enemies move towards the player, and shots travel between them.
This limitation became one of the most interesting parts of the project. With so few visual elements available, every colour and movement needs to communicate clearly what is happening. The result is a game that looks simple at first but still preserves the tension and timing of a classic arcade game.
If you search online for “1D Space Invaders,” you will find several examples of this concept. What makes our version different is the way players interact with it through a Makey Makey, as well as our decision to run the game on a Raspberry Pi instead of a microcontroller. Using a Raspberry Pi also gave us more flexibility to combine the game with other components, including the web application we developed for managing players and scores.
No traditional buttons
Because I had already used a Makey Makey for the LED Race, the idea of avoiding traditional buttons came almost instantly.
Makey Makey is an interface that turns conductive objects into keyboard commands. When a player touches the connected material and closes the electrical circuit, the computer interprets that contact as a key press.
To make the interaction more playful, we used Play-Doh as the controller. Instead of pressing a plastic button, the player touches the modelling compound to perform an action in the game. Because Play-Doh contains moisture and salts, it can conduct a small electrical current and complete the Makey Makey circuit.
This combination makes the project much more inviting. People see an LED strip, some wires, and pieces of Play-Doh, and naturally want to find out how everything works. The controller is no longer just a technical component—it becomes part of the experience.
The code
The game was designed for two players. I already had a five-metre LED strip and did not want to cut it into separate pieces, so I came up with the idea of wrapping the entire strip around a piece of cardboard.
Because the strip remains physically continuous, the code has to map its LEDs to the two separate playing areas. It uses the first section of LEDs for Player 1, skips the LEDs that are not part of the playable area, and then continues farther along the same strip for Player 2. This allowed us to create two distinct games from one uncut strip without changing the hardware permanently.
The application uses WebSockets because the original plan was to display information in a browser in real time. As the game runs, it can send updates such as player names, scores, and other game data directly to the web interface without requiring the page to be refreshed. This was another reason why using a Raspberry Pi made sense: it could run the game logic and support the web-based features at the same time.
The web application
We created a web application to support the game. It allowed us to show player names, track each player’s score, and display a scoreboard. The idea was to make the installation feel more like a complete arcade experience, where visitors could play, see their results, and compare their scores with those of other players.
In practice, however, the event was incredibly busy. Between setting everything up, explaining the project, helping people play, and dealing with the constant flow of visitors, everything moved very quickly. We ended up not using the web interface at Dublin Maker itself.
Even though the interface was not used during the event, it remains an important part of the project. The WebSocket-based architecture gives us a useful foundation for future demonstrations, when we can have a separate screen showing live game information and a proper leaderboard.
A project created for Dublin Maker
We created the project to present it at Dublin Maker, an event that brings together makers, inventors, artists, programmers, craftspeople, and people who are simply curious about technology and creativity.
Dublin Maker is a free, family-friendly festival where participants showcase their projects, exchange ideas, and invite visitors to experiment with their creations. The event combines electronics, programming, robotics, science, art, digital fabrication, and traditional crafts. More than an exhibition of finished objects, it is an opportunity to meet the people behind the projects, ask questions, try things out, and learn through hands-on experimentation. You can learn more on the Dublin Maker About Us page.
This kind of event was a perfect match for our project. The game is easy to explain, the lights immediately attract attention, and anyone can start playing within a few seconds. The Makey Makey and Play-Doh controls also demonstrate that electronics and programming do not need to remain hidden inside a box—they can be open, accessible, and fun.
Mishaps, mistakes, and lessons learned
Naturally, not everything worked as smoothly as we had imagined.
One of our main mistakes was how we handled player names. They had to be entered on the Python side of the application instead of through the web interface. This made the process inconvenient during a busy event and contributed to our decision not to use the screen. A better version would allow visitors or organisers to enter names directly in the browser before starting a game.
Lighting was another problem we had not fully anticipated. Our stand was in a very bright location, and sunlight reached the area for a significant part of the event. This made the LEDs much harder to see than they had been during our indoor tests. It also affected our documentation: the photos and videos were not as clear or as vivid as we had hoped.
The number of visitors created a different kind of challenge. Many people came to see and play the game, which was fantastic, but the space quickly became crowded. It was sometimes difficult to move around, organise the players, and explain the same idea repeatedly throughout the day.
Dublin Maker had previously been a one-day event, but this year it took place over two days. It was a new experience for us and, honestly, a very tiring one. Spending two full days setting up, demonstrating the game, answering questions, and helping visitors required much more energy than we expected.
Despite the mistakes, the lighting problems, the crowded space, and the exhaustion, we really enjoyed the experience. It taught us a lot about building a project not only to work on a desk, but also to survive a busy public event. We are already looking forward to next year.
Limitations can inspire creativity
One of the things I like most about this project is how it turns limitations into central parts of the experience.
We did not need complex graphics or a high-resolution screen. An LED strip, a Raspberry Pi, some electronics, code, and a creative form of interaction were enough to build a complete two-player game.
The decision not to cut the five-metre strip also led to an unusual physical design and a different approach in the code. In the same way, reducing Space Invaders to one dimension forced us to think carefully about movement, colour, timing, and interaction.
The project shows how one idea can evolve from previous experiences. What I learned while building the LED Race made it easier to imagine how another game could be adapted to an LED strip. Makey Makey, which had already worked so well in that earlier project, once again allowed us to create something more interesting than a traditional controller.
The source code and additional project details are available on GitHub:One Dimension Space Invader — source code
It was a lot of fun developing this project with Simone and preparing it for Dublin Maker. In the end, it brought together many things I enjoy: programming, LEDs, classic games, electronics, and a good amount of experimentation.
I first discovered Dublin Maker in 2014, but it was not until 2015 that I participated for the first time as an exhibitor. Although I have not attended every edition—and missed last year’s event—this year marked a decade of shared history with Dublin Maker. It was another great experience and one more maker event to add to my résumé.
Links
Simone Marzulli linkedin profile
Simone Marzulli linkedin post about the event




Top comments (0)