You are browsing as a guest. Sign up (or log in) to start making projects!

thecatsmeow

@thecatsmeow

Joined June 5th, 2026

  • 2Devlogs
  • 2Projects
  • 1Ships
  • 0Votes
Open comments for this post

4h 59m 17s logged

I had been working on this game previously and gotten feedback on its alpha stage, but had stopped working on it recently. After I picked up the project again, my first main goal was to implement the feedback I had received on the alpha version, namely adding more enemy types. In my game, the player is on a small spaceship and must pick up ammo in geometric shapes to bring it to the corresponding launcher and use it to fend off the corresponding shape of enemy. As of now, I have added two out of four planned types. The first is the NOT enemy, which needs to be hit with any shape that is not its, then needs to be hit with its shape. The second is the hardy enemy, which simply needs to be hit twice. It’s worth noting that there was previously only one type of enemy, so I also added a weighted probability system for different types of enemies. I also made a fair amount of QoL updates, such as making new ammo spawn at a more intuitive time and adding offsets to different RNG instances to make the game seem more random (by preventing enemy placement from predicting enemy type, for example).

0
0
8
Ship Changes requested

This project runs on an ESP8266 and hosts a web server where users can upload SVG files. The laser pointer then traces them out on the ground, or whatever surface it is sitting on. Since the laser pointer can draw out shapes from the file in real size if the file is prepared correctly, it could be useful for visualizing digital files. For example, if you really wanted to know what a parallelogram with a base of 30cm, a height of 20cm, and two 65-degree angles looks like, this could show you. I learned FreeCAD to design and 3D-print the mounts for the servos; I manually tuned the servos to get precise angles; and I made code for the ESP to accept an SVG file, parse it, and calculate where the servos needed to go to point to it. Overall, this project was a good learning experience, and I am glad to have done it even if a video can’t fully capture its depth.

  • 1 devlog
  • 12h build
Video of Project → See source code →
Open comments for this post

12h 0m 14s logged

I got a bit caught up in making the project and neglected to write any devlogs, so here’s a summary. I started by designing the servo mounts for 3D printing, which took a while since I was learning FreeCAD and professional CAD in general as I went. My first 3D print was somewhat functional, but I hadn’t fully taken the servo wires into account, so I had to reposition the small gear. It also later turned out that the small gear wasn’t tall enough, so I also had to change that. Then, with some functional 3D printing, I turned to the code and started with a simple ESP web server that would save a file upload to a string. Once I got that, I made a simple SVG parser that would just take the points from the first polyline element and used trigonometry to determine where the servos should point based on 2D Cartesian coordinates. After further investigation of the servo mount, I also decreased some clearances and made the laser pointer mount thinner to allow it to bend. Next, with the full thing assembled, I had to do some minor debugging, including switching from atan to atan2. One of the servos also abruptly stopped working and refused to give any sort of accurate angles until I manually gave it a custom PWM range, so that was fun. After that, I did some experimentation in Illustrator and found that I could consistently get real-world units drawn by using a conversion of 0.353 mm/pt. My last two real features were adding a redo button that ran another trace with the previously uploaded file and breaking each edge into 20 smaller segments to allow a more accurate path between points. 

0
0
2

Followers

Loading…