June 16, 2025
hello! please excuse the really rushed devlog, i'm finishing this to lock in my time before devlogs close.
you can now post posts! this runs a sql function in supabase. the app also lists posts out, which means it's done! you can also edit your username.
now, after struggling a little to get it deployed, i realized that I check stuff that might not exist on page load. so tomorrow i'm going to add a ton of null checks, yay!!!!1!
hello! so turns out setting up a stripe account is a nightmare, so instead of real money you'll buy credits with jumping jacks. yes, this is even more stupid. jumping jack detection is surprisingly easy - you just track when the wrists go above the shoulders using the tensorflow pose model. when you click save this runs a SQL function in supabase that adds the balance to your account.
hi! so i set up the supabase db (first time doing backend so it was an experience) and figured out how to connect to it on the client. the client now anon signs you in, creates a profile for you, and tells you your balance and username! now i have to make it so that you can set your username...
the Uses app is done! this is just a list of the various things I use daily. i also added a guestbook! the Giscus project made this really easy (and lets ppl sign in with github), but the embed looks really bad in Firefox and I can't figure out how to fix it. Now i'm rewriting all my CSS to make it work on mobile :pf:
links app is done! the rainbow order looks really good. i also made the projects app! you can scroll through a list of projects with fun hover animations on the links for all of them. next up is the Fun app (badges, webrings, etc) and the Uses app (what software/hardware do I use?)
hello!!! wrote a holy yapparonie for the about app, and started on the links app. for some reason when i include my <ListLink> component more than once it doesn't show so i'll have to figure that out. but i figured out the really weird hover bug! it was because the launcher was still taking pointer events and overriding the windows :pf:
spent like 2hr trying to debug an extremely annoying issue when hover would just stop working randomly :pf: it happens less now so i think i fixed it kinda sorta maybe.
also spent a while trying to figure out why my props weren't being set when i realized i was doing it the complete wrong way.
anyways! now you can click a button in the app launcher, and an app opens! and it remembers where you put it (don't know why it does that but im not complaining)
been a little while! i made a status bar on the top, as well as an app launcher that opens smoothly when you click the button! the apps in the launcher are also smoothly animated, similar to the macOS dock. i now realize I probably should have used a component framework for this project instead of astro to facilitate all the communication between components, but ig i'll have to deal with this for now.
(ps. did you know you can press ctrl+d to insert a new cursor at the next occurence of the currently selected word? it's a lifesaver for tailwind)
i submitted to the jam!
but before that, I had to attempt to fix a huge problem with the game. it was EXTREMELY unoptimized. who knew running expensive vector math 1500+ times a frame would tank your FPS? not me! i spent a lot of time trying multiple different ways to improve performance, and it kinda worked? at least the game doesn't crash 25% of the time like before lol.
i also polished everything up, added a pause menu, high score saving (which for some reason doesn't work on web), and a little tutorial on the main screen.
oh man, been a while. i added a lot of stuff, like a whole new enemy type, a start screen, music, juice, and 4 kinds of pickups!!! there's also a score system now.
there were a TON of really weird crashes without errors, strange Object Freed errors, and mysterious Tween started with no Tweeners messages. This is probably because of my terrible code, but I did have to spend a lot of time debugging this one.
the game has gameplay now! enemies try to form a loop and short you out, but you can shoot back at them. there's also 2 kinds of enemies and a life counter!
hardest part was probably the enemy code - it took a lot of debugging to get the enemies to connect properly and I had to figure out how to separate the enemies so they don't all clump together.
next up is score, dynamic difficulty, more enemies, upgrades, and JUICE!
This was widely regarded as a great move by everyone.