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

vindognz

@vindognz

Joined June 2nd, 2026

  • 14Devlogs
  • 5Projects
  • 2Ships
  • 15Votes
18yr old goober from NZ ;)
Open comments for this post

3h 18m 18s logged

Fourth devlog!!

Today I built the actual frontend with a landing page (pick black/white, creates a game and redirects you), a live board page which polls the backend every 1.5s, click to play on legal squares, and CSS of course (green board, yellow legal move outlines).

Previously, when the player had no legal moves, the game would just stop and you’d be stuck. Now, your turn is automatically passed if you have no legal moves.

Added last-move highlighting (red outline on the most recently placed piece, so it’s obvious where your opponent just played) and a proper game-over screen showing the winning colour and final tile count.

0
0
13
Open comments for this post

3h 48m 27s logged

Third devlog! (I forgot to devlog…)

I fixed a bunch of serious bugs in the engine (illegal moves overwriting occupied tiles, allowing negative indexing of the board, and more). The minimax now scores wins/loses by token count, not positional advantage at the end of the game, and some documentation cleanup.

I also started working on the Flask backend, which now features 4 API routes for creating and joining games, making your move, and calling for AI moves.

I tested this thoroughly with cURL, so hopefully there aren’t any significant bugs!

0
0
5
Ship Pending review

I made a custom heart-shaped PCB with 10 LEDs and 3 modes (ON, breathing, OFF). It’s a birthday gift for my girlfriend!

Making the trimpot voltage divider took some iteration, but breadboard testing saved me big time.

I’m super proud of the entire architecture, as this is my first completed hardware project.

Thanks for voting!

  • 6 devlogs
  • 4h build
Video of Project → See source code →
Open comments for this post

1h 5m 18s logged

My second devlog!

It’s 1:17am right now, but I just finished implementing the most basic minimax algorithm possible, and it (miraculously) works!

I even hacked together a quick CPU vs CPU prototype, and it plays all the way through without any bugs, crashes or other breakage.

Goodnight 💀

0
0
16
Open comments for this post

1h 14m 47s logged

First Devlog!

I have a really bad habit of starting 12 projects and never shipping any of them… so I started yet another project!

I loved playing Othello with my brother growing up, but we haven’t been able to play much anymore since I moved to uni. To solve this, I’m developing FlaskOthello in my free time, and I plan to add a minimax algorithm with alpha-beta pruning.

The plan is a Python Flask backend, and a vanilla HTML + CSS + JS frontend, probably hosted on Github Pages.

So far, I’ve made an OthelloBoard class, with a basic board representation, and most of the fundamental game logic (making moves, flipping opponent tiles, validity checks, etc.), and since my COSC class forces me to, I wrote a bunch of doctests out of habit…

Next up: minimax algorithm + alpha-beta pruning!

0
0
10
Open comments for this post

28m logged

[Friday, July 17] - Hardware Assembly Complete
Okay so… it’s been a month since my last devlog. I ordered the PCBs June 16th, and they arrived while I was on holiday, but we’re finally back to building!

The PCBs arrived absolutely beautiful. The heart shape clean, and the blue solder mask + white silkscreen looks fabulous.

Soldering was a journey… I got every component on except the battery holder with relative ease (forgot to track the time 🫠). I tested the complete board using an Arduino as a PSU and everything worked perfectly!

There was a lot of residual flux left around the joints (looked like someone sneezed on my board) which I cleaned with an old toothbrush and some hand sanitiser 💀

Next: Solder battery holder, cut the LED legs, then ship!

0
1
700
Open comments for this post

5h 58m 54s logged

Big session today! (definitely didn’t forget to write a devlog) Here’s what got shipped:

The game is actually a game now! Spikes spawn from random sides, move across the screen, and despawn off the edge.

Score tracking is in. Each spike that passes the player increments the score, and speed scales with it. Each spike also has a ±50% random deviation in speed, so no two spikes feel the same.

Pixel art is fully gone. Both the player and spike are now drawn entirely in code using Godot’s _draw() API. No image assets, scales perfectly at any zoom (hypothetically).

Global leaderboard is live. Scores submit to a Supabase PostgreSQL backend. We even have a full leaderboard scene with a loading animation and ranked entries.

Game over screen shows your score and lets you play again (reloads the scene, resetting all state for free).

Next up: UI polish, danger zones, and a WebGL export!

0
0
3
Open comments for this post

1h 45m 12s logged

I’ve been grinding!

I implemented the basic spike, replaced pixel art with code-drawn vector shapes for smooth edges, and added a very bare bones start screen.

Next up is UI cleanup, score counting, and a game over screen!

0
0
16
Open comments for this post

18m 19s logged

First devlog!

So far, I’ve been setting up the base architecture for the game.
Currently I just have a simple square that you can control with WASD, but there are big things ahead!

0
0
3
Open comments for this post

49m 55s logged

[Tuesday, Jun 16] - Analog Brightness + PCB Finalized

Firmware is DONE! Got trimpot brightness control working - turn the knob, watch the LED respond beautifully.

Hardware: Rerouted the whole back to fit the trimpot voltage divider properly, added a power switch to toggle it on/off (goodbye battery drain anxiety!). PCB is ready to manufacture!

After many firmware bugs, all three pieces are finally working together: smooth fading firmware + trimpot brightness control + clean power management.

Next: Export Gerbers and ship this to JLCPCB!

0
0
17
Open comments for this post

24m 22s logged

[Tuesday, Jun 16] - Smooth fading and PCB polishing.

Firmware: I got the smooth PWM fading working with gamma corrected brightness. The breathing effect is absolutely GORGEOUS and way better than the old blinking.

Hardware: Did some PCB cleaning up. Rescaled the silkscreen text to be bigger and more readable, and repositioned everything to look cleaner on the front.

Both parts are coming together nicely! Firmware is almost done (just need trimpot brightness control), and the PCB design is ready to order soon!

Next up: Integrate analog brightness control from the trimpot.

0
0
19
Open comments for this post

49m 34s logged

[Saturday, Jun 6th] - Mode cycling and debouncing.

Core firmware structure updated. Button debouncing is solid (50ms), and mode cycling is working cleanly through OFF, ON and FADE.

Right now, the fade is just blinking, but that’s next on the list. Once I add smooth PWM fading with gamma correction, the breathing effect will be 🤌

Git log (attached) shows my iteration.

We’re getting close to ordering our PCBs!

0
0
11
Open comments for this post

27m 32s logged

[Saturday, Jun 6th] - Core Firmware.

Got the basic firmware working. Just simple button press turns LED on/off. Nothing fancy yet, but big things are in the near future.

Next up:
Debouncing, mode cycling (off, on, breathe), and trimpot brightness control. But for now, the core loop works and proves my ATtiny85 isn’t fried lol.

0
0
7
Open comments for this post

1h 1m 34s logged

[Friday, Jun 5th] - PCB Designed.

My first devlog! I got my first prototype of the board completed, designed so all the ugly components are on the back. This design features:

  • ATTINY85 microcontroller
  • A CR2032 battery holder
  • 10x 5mm red LEDs
  • A trimmer potentiometer from Aliexpress 💀
  • A button for switching modes
0
0
12
Open comments for this post

29m 58s logged

Following the “Make a Slack Bot” guide, I set up my own Slack bot and implemented the following commands:

  • /vnz-help — Displays a list of available commands.
  • /vnz-ping — Pings the bot and displays its latency.
  • /vnz-catfact — Fetches and sends a random cat fact from an API.
  • /vnz-joke — Fetches and sends a random joke from an API.
  • /vnz-coffee — Fetches and sends a random coffee photo from an API.
0
0
13

Followers

Loading…