Space Monsters
A miniature play on Taito’s Space Invaders, blending retro-style graphics, animated characters, interactive shooting, hints of Mozart, and a touch of chaos into an endlessly exciting survival game.
Duration: 3 to 4 Weeks
Description: This project involved creating a mini game console from start to finish, starting with a fixed set of electronic components. This involved soldering, programming, and creating the exterior enclosure/housing.
Objectives: Electronics Assembly + Coding → Housing/Enclosure Design & Assembly → Sharing



This represented a more ideal version of the game than I was able to achieve.
Process & Challenges
I took this project as an opportunity to expand my coding skillset, because while I had occasionally designed 3-D printed parts before, I had never done any programming on this level. Therefore, I kept the enclosure simple and clean, while I put more emphasis on the game code instead.
The enclosure was relatively simple solid body modelling with a little bit of surfacing; it is essentially a rectangular box, which is reminiscent of retro arcade games, but with extra depth due to how I positioned the LED. Small alignment bosses and ribs were added to accommodate the electronics and PCB, whereas small holes were added for the encoders, screen, speaker and USB port. The back cover was designed to be friction-fit into the main enclosure, creating a clean seam. Finally, a tiny bead of hot glue was used to fill the hole for the LED, which helped to diffuse the light a bit. The two parts of the enclosure were printed in glittery black PLA, sanded smooth, and finished with a bit of white acrylic paint for the recessed lettering.
Next, I soldered together the electronics to create the circuit. This was relatively straightforward because our PCB already came with the placements of each component dictated for us. Even so, I learned a lot about soldering, order of assembly, and working with a Raspberry Pi. The list of components was as follows:
-1x Raspberry Pi Pico Microcontroller
-1x Mini Buzzer
-2x Rotary Encoders
-1x RGB LED
-1x OLED Screen (128 x 64)
Then came the programming part, which I was a bit nervous about. As encouraged by our professor, I began by prompting ChatGPT to help generate the basic framework for the game. Unfortunately, it was not as straightforward of a process as I had hoped, and it took quite a bit of extra manual input to get the results I wanted. For instance, I had to:
-Draw and load the intro splash screen using the imageload function,
-Write out the bitmaps for the invader characters,
-Sync the music, lights and animations for the intro sequence,
-Debug and fine tune the collision logic and invader movement,
-And program the music note by note.
Thankfully, my limited knowledge from an introductory first-year computer science course came in quite handy. Mind you, that was basically the only programming-related class I’ve ever taken in my life, so I still had to spend countless frustrating hours debugging the whole thing. Even though the end result was a little less than perfect—for example, only the classic “crab” invaders were used to keep the widths consistent and prevent the rows from moving out of alignment—I feel that it was well worth the effort. For such a tiny project, I sure learned a ton!
Working Console
3-D Printed Black Glittery PLA