|
6310
|
2D Ray Path Generator | Schwarzschild's Blackh 2D Ray Path Generator | Schwarzschild's Blackhole by @ysfemreygt | Stardance...
|
ysfemreygt
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: 2D Ray Path Generator | Schwarzschild's Title: 2D Ray Path Generator | Schwarzschild's Blackhole by @ysfemreygt | Stardance...
|
1793299775.3215508
|
1793904575.3215508
|
|
61373
|
Scanning Tunneling Microscope by @utkarsh_tewari | Scanning Tunneling Microscope by @utkarsh_tewari | Stardance...
|
utkarsh_tewari
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Scanning Tunneling Microscope by @utkarsh_t Title: Scanning Tunneling Microscope by @utkarsh_tewari | Stardance...
|
1793040573.686343
|
1793904573.686343
|
|
26390
|
Hexagonal Chess Engine by @tathyagarg | Stardance
|
tathyagarg
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Hexagonal Chess Engine by @tathyagarg | Sta Title: Hexagonal Chess Engine by @tathyagarg | Stardance...
|
1793299773.1833744
|
1793904573.1833744
|
|
30686
|
Hapticode by @Animated_Coding | Stardance
|
Animated_Coding
|
1
|
16.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-29T13:21:23Z", "hours": 16.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hi! I made Hapticode, an iOS app for developers to find the perfect haptic for their app, because an app without haptics is dull. I also made it so you can long press on a haptic and get the apple docs right there, but getting the web sheet to show all the controls took some research. Please try it out (even if your not an iOS developer its fun)!", "repo": "https://github.com/AnimatedCoding/Hapticode", "demo": "https://testflight.apple.com/join/r63Er1vz"}]...
|
[{"post_id": 84306, "ts": "202 [{"post_id": 84306, "ts": "2026-10-29T13:13:14Z", "hours": 4.8033, "text": "Hapticode Dev log #6 Final dev log!!! Over the past few weeks I’ve been slowly finishing up and fixing small bugs, added a settings/about sheet and worked the AppStore submission. The screenshots gave me a lot of trouble because the proper sizes weren’t listen on the developer website. The app is in AppStore review now, you check it out on TestFlight, or get it when it comes out on the AppStore. Here are the screenshots that gave me so much trouble:"}, {"post_id": 60298, "ts": "2026-09-02T15:59:21Z", "hours": 2.3136, "text": "Hapticode Dev log #5 Hello everyone! Today I made one kinda major update and added two haptic types. Let’s get into it. First, I made it so when you long press on a haptic it opens the docs in a web view sheet instead of a share sheet. This took longer then it should have because all the top tutorial hits where for the new in iOS 26 SwiftUI web view. I wanted a web view that would work all the way back to iOS 15, so I resorted to getting AI to help me. Next, I worked some more on getting ready to let users add their own custom haptic combinations. Then I added UIKitNotificationFeedbackGenerator and UIKitSelectionFeedbackGenerator, still don’t quite know how that one works. It accepts a position input, does that mean the haptic will play from different places in the phone? I’ll have to find out. I also made it so in voice over the warning that a haptic won’t play on your device is backed into the text instead of being a separate element. That was pretty much it. I did work on the core haptics section some, but it’s still a like buggy. God bless and see you next time! Here are some pictures of the new areas (nothing really exciting though):"}, {"post_id": 56568, "ts": "2026-08-28T11:34:24Z", "hours": 1.905, "text": "Devlog #4 Today I added storage for core haptics and prepared to add storage for custom haptic combos. I added SwiftData that persists the core haptics, so you can now save your custom haptics. I also got ready to add the custom combo haptics, basically you can put any haptic together and have timing between them. Check out the app here: https://testflight.apple.com/join/r63Er1vz Here’s some screenshots of the core haptics I make:"}, {"post_id": 40855, "ts": "2026-08-04T17:24:53Z", "hours": 1.8444, "text": "Devlog 3: Worked on Stardance socials video and added Core Haptics support. I also launched beta testing! I spent a few days working on my Starance socials YouTube short about Hapticode, check it out here . Then I added support for Core Haptics, which is the lower lever, more control iOS haptic generator. I plan to let you save your own custom haptic configs, right now you can adjust all the value, just not save for later. Then I added an app icon, it’s just a quick mockup for TestFlight, but it looks kinda good. I also uploaded a beta to TestFlight so testers can start, while, testing! You can join here , it is currently iOS only, but I will add watchOS and visionOS (macOS doesn’t have haptics). See you next time and God bless! ☺️ I couldn’t get Stardance to let me have new lines in my devlog, so it’s all one paragraph, anyway, here are some pictures of the new UI:"}, {"post_id": 31594, "ts": "2026-07-20T03:36:09Z", "hours": 4.3481, "text": "Hello! Welcome to devlog #2 for Hapticode! Today I worked on UI and making the app compatible with older versions of iOS. UI I added a nice background gradient, with dark mode support, of course. I also worked on the “not listed as supported” warning. Apples docs seem to be wrong, or something, with how they list what operating systems are supported to different haptics. Some that say they silly iOS don’t play anything, and some that don’t have iOS listed in their soldered operating systems, actually do play a haptic!? 🤷♂️. At first I wanted a tool tip to show what the warning symbol meant, but tool tips are very hard to deal with and they’re kinda confusing. So, I settled with an alert. I added a long press to get the links to the docs feature, so you can easily get to the docs. But, it’s kinda broken, I’ll be fixing that soon. Backward compatibility I also worked on being able to stylet back to iOS 15, the farthest Xcode will let me. My code base is now full of condition stuff for working with older OS’s, but that’s the price you must pay, 🙃. Anyway, here’s some screenshots of the app:"}, {"post_id": 23986, "ts": "2026-07-07T07:54:37Z", "hours": 1.0167, "text": "Devlog #1: Started Hapticode I started my first Stardance project, Hapticode. Hapticode is an app that lets you test different haptics on iOS, so you can find the perfect haptic for your app. I added the basic haptics from SwiftUI using the .sensoryFeedback() modifier. An interesting issue I have encountered is that SwiftUI doesn’t always run the haptic when you ask it to, so I still have to figure out how to play those haptics. Maybe they are only available to the operating system? Here’s a picture of the current list of all the haptics."}]...
|
Title: Hapticode by @Animated_Coding | Stardance
Title: Hapticode by @Animated_Coding | Stardance
Devlogs:
Devlog #1: Started Hapticode I started my first Stardance project, Hapticode. Hapticode is an app that lets you test different haptics on iOS, so you can find the perfect haptic for your app. I added the basic haptics from SwiftUI using the .sensoryFeedback() modifier. An interesting issue I have encountered is that SwiftUI doesn’t always run the haptic when you ask it to, so I still have to figure out how to play those haptics. Maybe they are only available to the operating system? Here’s a picture of the current list of all the haptics.
Hello! Welcome to devlog #2 for Hapticode! Today I worked on UI and making the app compatible with older versions of iOS. UI I added a nice background gradient, with dark mode support, of course. I also worked on the “not listed as supported” warning. Apples docs seem to be wrong, or something, with how they list what operating systems are supported to different haptics. Some that say they silly iOS don’t play anything, and some that don’t have iOS listed in their soldered operating systems, actually do play a haptic!? 🤷♂️. At first I wanted a tool tip to show what the warning symbol meant, but tool tips are very hard to deal with and they’re kinda confusing. So, I settled with an alert. I added a long press to get the links to the docs feature, so you can easily get to the docs. But, it’s kinda broken, I’ll be fixing that soon. Backward compatibility I also worked on being able to stylet back to iOS 15, the farthest Xcode will let me. My code base is now full of condition stuff for working with older OS’s, but that’s the price you must pay, 🙃. Anyway, here’s some screenshots of the app:
Devlog 3: Worked on Stardance socials video and added Core Haptics support. I also launched beta testing! I spent a few days working on my Starance socials YouTube short about Hapticode, check it out here . Then I added support for Core Haptics, which is the lower lever, more control iOS haptic generator. I plan to let you save your own custom haptic configs, right now you can adjust all the value, just not save for later. Then I added an app icon, it’s just a quick mockup for TestFlight, but it looks kinda good. I also uploaded a beta to TestFlight so testers can start, while, testing! You can join here , it is currently iOS only, but I will add watchOS and visionOS (macOS doesn’t have haptics). See you next time and God bless! ☺️ I couldn’t get Stardance to let me have new lines in my devlog, so it’s all one paragraph, anyway, here are some pictures of the new UI:
Devlog #4 Today I added storage for core haptics and prepared to add storage for custom haptic combos. I added SwiftData that persists the core haptics, so you can now save your custom haptics. I also got ready to add the custom combo haptics, basically you can put any haptic together and have timing between them. Check out the app here: https://testflight.apple.com/join/r63Er1vz Here’s some screenshots of the core haptics I make:
Hapticode Dev log #5 Hello everyone! Today I made one kinda major update and added two haptic types. Let’s get into it. First, I made it so when you long press on a haptic it opens the docs in a web view sheet instead of a share sheet. This took longer then it should have because all the top tutorial hits where for the new in iOS 26 SwiftUI web view. I wanted a web view that would work all the way back to iOS 15, so I resorted to getting AI to help me. Next, I worked some more on getting ready to let users add their own custom haptic combinations. Then I added UIKitNotificationFeedbackGenerator and UIKitSelectionFeedbackGenerator, still don’t quite know how that one works. It accepts a position input, does that mean the haptic will play from different places in the phone? I’ll have to find out. I also made it so in voice over the warning that a haptic won’t play on your device is backed into the text instead of being a separate element. That was pretty much it. I did work on the core haptics section some, but it’s still a like buggy. God bless and see you next time! Here are some pictures of the new areas (nothing really exciting though):
Hapticode Dev log #6 Final dev log!!! Over the past few weeks I’ve been slowly finishing up and fixing small bugs, added a settings/about sheet and worked the AppStore submission. The screenshots gave me a lot of trouble because the proper sizes weren’t listen on the developer website. The app is in AppStore review now, you check it out on TestFlight, or get it when it comes out on the AppStore. Here are the screenshots that gave me so much trouble:
Ships:
Hi! I made Hapticode, an iOS app for developers to find the perfect haptic for their app, because an app without haptics is dull. I also made it so you can long press on a haptic and get the apple docs right there, but getting the web sheet to show all the controls took some research. Please try it out (even if your not an iOS developer its fun)!...
|
1793818172.4114974
|
1793904572.4114974
|
|
2476
|
My first slack bot! by @Dockie | Stardance
|
Dockie
|
0
|
3.69
|
0
|
[]
|
[{"post_id": 6806, "ts": "2026 [{"post_id": 6806, "ts": "2026-06-11T12:43:57Z", "hours": 3.6947, "text": "I am working on my new slack bot to use in our school’s workspace. In doing this I have realized that there is nothing better than writing thing that you understand even if you use the AI’s , but that’s better than copy and paste . This made debugging so easy to me."}]...
|
Title: My first slack bot! by @Dockie | Stardance
Title: My first slack bot! by @Dockie | Stardance
Devlogs:
I am working on my new slack bot to use in our school’s workspace. In doing this I have realized that there is nothing better than writing thing that you understand even if you use the AI’s , but that’s better than copy and paste . This made debugging so easy to me....
|
1793299769.7727714
|
1793904569.7727714
|
|
27237
|
Tower Defense Game by @gavinwu42711 | Stardance
|
gavinwu42711
|
0
|
1.35
|
0
|
[]
|
[{"post_id": 17934, "ts": "202 [{"post_id": 17934, "ts": "2026-06-28T21:32:07Z", "hours": 0.8358, "text": "Base Tower Class Made some progress for the tower class that the towers will extend off of. It only has targeting currently since I’m not sure which direction I want to take this game yet Currently, the tower can target the furthest enemy, closest enemy, and enemy closest to the end of the track"}, {"post_id": 17166, "ts": "2026-06-27T21:25:08Z", "hours": 0.5169, "text": "Base Enemy Class Started with making the base enemy for all the enemies I make down the line to extend off of. This includes basic functionality such as dying, dealing damage, and following a path. Below, I’m testing out the path following"}]...
|
Title: Tower Defense Game by @gavinwu42711 | Stard Title: Tower Defense Game by @gavinwu42711 | Stardance
Devlogs:
Base Enemy Class Started with making the base enemy for all the enemies I make down the line to extend off of. This includes basic functionality such as dying, dealing damage, and following a path. Below, I’m testing out the path following
Base Tower Class Made some progress for the tower class that the towers will extend off of. It only has targeting currently since I’m not sure which direction I want to take this game yet Currently, the tower can target the furthest enemy, closest enemy, and enemy closest to the end of the track...
|
1793299768.8435042
|
1793904568.8435042
|
|
22574
|
Luna 1.62 by @eboro | Stardance
|
eboro
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Luna 1.62 by @eboro | Stardance
|
1793299766.7487376
|
1793904566.7487376
|
|
23138
|
Untitled project by @dhiraj_balaga13 | Stardance
|
dhiraj_balaga13
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @dhiraj_balaga13 | Star Title: Untitled project by @dhiraj_balaga13 | Stardance...
|
1793299765.867498
|
1793904565.867498
|
|
69979
|
RiddleBot by @avycado13 | Stardance
|
avycado13
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-16T19:37:07Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made riddlebot. A bot to riddel you.!", "repo": "https://github.com/avycado13/riddlebot", "demo": "https://hackclub.enterprise.slack.com/archives/C0C9GCQ4LUX"}]...
|
[{"post_id": 80117, "ts": "202 [{"post_id": 80117, "ts": "2026-10-16T08:52:01Z", "hours": 0.6928, "text": "I finished up the README and also the systemd unit to run on my nixos server"}, {"post_id": 80109, "ts": "2026-10-16T08:06:09Z", "hours": 0.4189, "text": "I wrote a basic slack app in socket mode using bolt to send riddles when a slash command is recieved. I tried using bun for this but turns out. that bun’s undici wrapper is super stupid and fails so good old node and pnpm worked instead"}]...
|
Title: RiddleBot by @avycado13 | Stardance
Devlog Title: RiddleBot by @avycado13 | Stardance
Devlogs:
I wrote a basic slack app in socket mode using bolt to send riddles when a slash command is recieved. I tried using bun for this but turns out. that bun’s undici wrapper is super stupid and fails so good old node and pnpm worked instead
I finished up the README and also the systemd unit to run on my nixos server
Ships:
I made riddlebot. A bot to riddel you.!...
|
1793818165.2376652
|
1793904565.2376652
|
|
27719
|
Kitty Calculator by @Tlusty | Stardance
|
Tlusty
|
0
|
1.64
|
0
|
[]
|
[{"post_id": 29724, "ts": "202 [{"post_id": 29724, "ts": "2026-07-16T20:19:27Z", "hours": 0.3231, "text": "Today i was looking into how to make my calculator better then i found inspiration https://github.com/nikita9604/Scientific-Calculator-with-Keypad.git I will try to remake this code myself for this calculator to make it POWERFUL!"}, {"post_id": 29152, "ts": "2026-07-15T20:52:33Z", "hours": 0.6597, "text": "today didn t have time to work much but i managed to fit extra 40 min , so today i worked on code optimization and planning to add extra features to this calculator i think the whole project was really funny i can t wait until i see my teacher face when i pull this out mid exam"}, {"post_id": 28522, "ts": "2026-07-14T20:42:18Z", "hours": 0.3597, "text": "Today i worked on kittycalc in arduino IDE code is really messy needs working but the project is assembled and it is working"}, {"post_id": 27259, "ts": "2026-07-12T17:33:10Z", "hours": 0.295, "text": "Devlog: Pivoting KittyCalc from Assembly to C (And Why Hardware is Hard)To be honest, I was a little shy about recording myself at the start of this project. Why? Because the beginning was messy, chaotic, and downright bad. But hardware is hard, and there is no point in hiding the struggle It all started with an idea, some thoughts, and a custom 3D model of a cat-ear enclosure I designed. With the design ready, I decided to take the hardcore route: writing the firmware in pure Assembly (ASM).Everything was going relatively fine until I hit the ultimate roadblock: programming the LCD screen Trying to write I2C communication protocol logic and drive an LCD display directly in raw Assembly for my first hardware project was a special kind of masochism. After staring at register maps for way too long, I made the executive decision to change things I am officially pivoting to C.It is not a defeat; it is pure optimization. Using C will let me actually finish the I2C logic, get the screen working, and keep the project moving forward without getting stuck in ASM register hell forever Next steps:Set up the C toolchain and SDKWire up the I2C backpack once it arrives in my local parcel locker Print the cat-ear enclosure on the Bambu printer once the rails are lubricated The grind continues"}]...
|
Title: Kitty Calculator by @Tlusty | Stardance
De Title: Kitty Calculator by @Tlusty | Stardance
Devlogs:
Devlog: Pivoting KittyCalc from Assembly to C (And Why Hardware is Hard)To be honest, I was a little shy about recording myself at the start of this project. Why? Because the beginning was messy, chaotic, and downright bad. But hardware is hard, and there is no point in hiding the struggle It all started with an idea, some thoughts, and a custom 3D model of a cat-ear enclosure I designed. With the design ready, I decided to take the hardcore route: writing the firmware in pure Assembly (ASM).Everything was going relatively fine until I hit the ultimate roadblock: programming the LCD screen Trying to write I2C communication protocol logic and drive an LCD display directly in raw Assembly for my first hardware project was a special kind of masochism. After staring at register maps for way too long, I made the executive decision to change things I am officially pivoting to C.It is not a defeat; it is pure optimization. Using C will let me actually finish the I2C logic, get the screen working, and keep the project moving forward without getting stuck in ASM register hell forever Next steps:Set up the C toolchain and SDKWire up the I2C backpack once it arrives in my local parcel locker Print the cat-ear enclosure on the Bambu printer once the rails are lubricated The grind continues
Today i worked on kittycalc in arduino IDE code is really messy needs working but the project is assembled and it is working
today didn t have time to work much but i managed to fit extra 40 min , so today i worked on code optimization and planning to add extra features to this calculator i think the whole project was really funny i can t wait until i see my teacher face when i pull this out mid exam
Today i was looking into how to make my calculator better then i found inspiration https://github.com/nikita9604/Scientific-Calculator-with-Keypad.git I will try to remake this code myself for this calculator to make it POWERFUL!...
|
1793299762.7397308
|
1793904562.7397308
|
|
1472
|
Untitled project by @coy_adelman | Stardance
|
coy_adelman
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @coy_adelman | Stardanc Title: Untitled project by @coy_adelman | Stardance...
|
1793299761.8384318
|
1793904561.8384318
|
|
3404
|
My awesome macropad! by @peachcobble | Stardance
|
peachcobble
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @peachcobble | Star Title: My awesome macropad! by @peachcobble | Stardance...
|
1793299760.906868
|
1793904560.906868
|
|
18428
|
My first slack bot! by @ziqizipi | Stardance
|
ziqizipi
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @ziqizipi | Stardanc Title: My first slack bot! by @ziqizipi | Stardance...
|
1793299759.9969277
|
1793904559.9969277
|
|
38563
|
My first slack bot! by @Taemin | Stardance
|
Taemin
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Taemin | Stardance
|
1793299759.1102781
|
1793904559.1102781
|
|
46223
|
MALLOW - REV2 by @mallow_dev | Stardance
|
mallow_dev
|
1
|
54.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-19T22:42:11Z", "hours": 54.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "hello everyone! it’s finally time to ship! i made a handheld gaming device inspired by Nintendo’s Game Boy that runs off of custom cartridges made by YOU! my goals were to make it affordable, run custom games, and learn a lot in the process, and i’d say i met all of them! the most challenging part of this project was definitely the programming, though i learned a lot in the process of doing so: it’s important to read documentation, even though it’s boring. i dont care whether it’s hardware or software, you gotta do it. SPI lines are sick! it’s just a bunch of timing with 1s and 0s. what ground planes are, as well as stitching vias. advanced C syntax (did you know structs can hold functions? neither did i)", "repo": "https://github.com/twentyfivefishinthetoilet/mallow", "demo": ""}]...
|
[{"post_id": 80781, "ts": "202 [{"post_id": 80781, "ts": "2026-10-18T19:34:11Z", "hours": 5.7589, "text": "final update before shipping mallow has finally been assembled and tested, and everything i programmed it to do is working fine. it can run different cartridges, all the buttons work fine, and the POWER PAK on the back works… decently. look, it’s not the prettiest, but it gets the job done. im gonna upload everything to github shortly, throw together a demonstration video, and then i should be ready to ship!"}, {"post_id": 80025, "ts": "2026-10-16T00:26:26Z", "hours": 5.5167, "text": "chassis for mallow + POWER PAK (power supply) the chassis took a bit more than the 5:30 i logged, but i would rather tank some hours than keep turning on lapse every few runs to the 3d printer. back to the model: all of these parts can be disassembled: the controller, the motherboard, and game cartridge. the POWER PAK snaps onto the back. (chose the name POWER PAK because it sounds like something out of the 80s) all i need are the electronics (that should ship soon ) then i can ship"}, {"post_id": 77975, "ts": "2026-10-09T02:46:11Z", "hours": 4.7514, "text": "revision 2.3 update well, i mean, it works! the video shows it running a game cartridge, the second image shows it recognizing that there’s no cartridge in the slot (i threw that screen together in krita in under a minute). seems like everything is working great until you look at the mess of tape and jumpers on the back. for some reason, the screen wasnt receiving power, and to this day, i still dont know why. the only way i was able to get it to work was by soldering a wire from the voltage regulator output to the screen’s LED_A (anode) pin and the general power pin. in the new, and TRULY final circuit board, i tried to make thicker wires. who knows, maybe it was a manufacturing issue, maybe it was some math i dont understand. whatever it was, i hope it works. if it doesnt, i added bare pads for be to easily connect a jumper wire again. i also added an fpc slot for the touch controls cable too. in the meantime, im going to finish up the programming and prototype a basic game for it in raylib. thanks for reading"}, {"post_id": 64568, "ts": "2026-09-09T02:29:57Z", "hours": 1.2956, "text": "while i wait for my circuit boards, im stuck programming and designing the shell for mallow. this is gonna be a short update because it’s not much of an update at all, rather a todo list. the first screenshot: my todo list the x means it’s done already, the - means it’s halfway done, and nothing at all means that i have yet to start that. in short, i have to complete some draw functions, lua(?), flash memory, and the sd card (all in the respective order of easy to hard ) the second screenshot: ifdefs i got inspiration from the TFT_eSPI UserSetup.h file where you uncomment the settings you want. in this case, im just gonna swap back and forth. ifdef just checks if the macro is defined, so BREADBOARD or PCB doesnt hold a value. the third screenshot: new way of handling flash i connected the CS pins to an mcp23017 since CS is just high or low values. little did i know, this would make using spi lines harder than it already is flash is easy: set the mcp pin to output, add helper functions to drive the CS pin high or low, call it before every spi transaction. sd cards on the other hand are along the same line now that i think about it. i just say it’s a pain because i need to do exactly what i did for the flash memory again, except for sd card commands. time to read through more documentation other: + i think i mentioned this somewhere in my code, but it wouldnt be a shame if the sd card slot doesnt work. i just need it to read from flash memory. i can always flash the game cartridges on my breadboard system. + i used carbon for my fancy code screenshots ( https://carbon.now.sh )"}, {"post_id": 61910, "ts": "2026-09-05T02:37:06Z", "hours": 6.4267, "text": "the final circuit board … for revision 2 CHANGES: + micro sd card wiring + new screen! instead of using the i80 parallel bus, im using a screen in spi mode. there’s two fpc connectors: one for the screen, one for touch controls + controller layout and wiring + new game cartridge OTHER: + i made a shell for mallow to show an example of how i want the project to look fully assembled. + PCB ART!!!!!! check the slack art channel if you wanna see it + while i wait for these circuit boards to come in, im going to rewrite my program to suit the pcb wiring rather than the breadboard wiring. + i really hope this screen works, because if it doesnt, i dont have a backup plan + my mallow neocities website is under construction. i forgot i had that on my circuit board."}, {"post_id": 55290, "ts": "2026-08-27T00:55:20Z", "hours": 5.3547, "text": "the debug board was… a flop let’s get the bad out of the way first: the screen won’t work and the wires heat up. i don’t know why, i followed the pinout and checked for shorts on the circuit board. only the backlight goes on. i think i might try another raw screen, but plan for another failure and have a slot for a pre-built module. no audio. i followed the schematic of a pre-built module and, when testing, i couldn’t figure out why audio wouldn’t come out of the speaker. there are no shorts on the amp, all the pins i used to wire it up are valid. maybe it’s a programming issue, or everything i just listed into one. all i know is that i might use another pre-built module for the sake of shipping my project in time. the final version will have an embedded screen and amp, im just starting to get on a strict time frame with only a month left of this challenge. okay, those are the failures. im happy to announce that the buttons and gpio expander work fine! i didn’t test out the flash memory yet, as well as the micro sd card slot. a few issues with the pin configuration for the controller (image 4), but so far it’s working good. in short: im going to shoot my shot with another raw screen, but if that doesn’t work, im using a pre-built module, as well as the same for the amp. we’ll see if the micro sd card works tomorrow when i get the slot in, as well as flash. im almost finished with the breadboard mallow configuration, it’s just the pcb that’s driving me nuts. ps: the esp32 s3 module on the main board is a temp solution. im getting another s3 wroom 1u, the one without the antenna. as always, thanks for reading. i hope to come back with good news next devlog"}, {"post_id": 54137, "ts": "2026-08-24T23:26:47Z", "hours": 3.7481, "text": "a little bit of this, a little bit of that: yet another programming update (except i locked in today) today was a long day. after almost 4 hours, i finally got images working. a quick way to describe what i did was making a little file system to work with. i also quickly added a few lines of code that checks if a flash_update.txt file exists before flashing the program. if it doesn’t, it’ll just read from the cartridge. this is so it doesn’t wear out the flash chip and so i dont have to wait 3 minutes for it to load. hopefully by the next time i upload another devlog, i’ll have audio and images working better. right now, i need to go into the esp-idf code and tell the code what files to flash (instead of it flashing everything inside of the images directory automatically). loading audio into flash memory will probably be interesting, i never even thought about it before. i attached a video of carbuncle from puyo puyo dancing. the raw binary files of the frames are on my github if, for some odd reason, anyone wants them."}, {"post_id": 53518, "ts": "2026-08-24T03:10:46Z", "hours": 5.3236, "text": "programming update (8/23/26): added a workflow closer to mallow revision 1.4’s i added an sd card slot to the flash spi line for uploading lua files easier. before, it was just a small const char* script = \"print(\\\"hi\\\")\"; expression. it works, but it gets messy for long scripts. now, a main.lua file can be stored on the sd card and flashed to memory with ease. rant about the sd card and sending lua files to flash one thing that’s cool about the sd card system is that once it’s mounted, you can use plain old fopen expressions like you would on a computer. to load the lua file onto flash memory, i used fseek to get the length of the file. i then used that length to malloc that file size + 1 byte for the string null terminator. then it sends the fseek pointer back to the start of the file, iterates through each character, and loads that into a buffer. the buffer is sent to flash with my flash_write_script function from last time (just check my github page. you’ll see it at programs/08_23_26.) something that is worth mentioning that i forgot about is that multiple devices can have the same spi line, just different CS pins. there’s 3 hosts for the esp32 s3: SPI1_HOST for internal ram and SPI2/SPI3_HOST for external devices. another thing i love about this sd card is that i can just easily edit the main.lua file on the sd card and pop it back into the card slot. it’s way easier than reflashing the esp32 s3 just to get a new rectangle on the screen. tomorrow im gonna work on trying to make a makeshift file system for loading up image files into flash and displaying them on screen via lua."}, {"post_id": 50690, "ts": "2026-08-20T00:30:34Z", "hours": 3.7864, "text": "programming update: implemented most of the flash memory into my program, as well as some (SOME) lua. flash memory took the longest. reading through documentation is boring but informative. i got a better understanding of how SPI works, and if not that, how the chip itself works. they have these diagrams of the MISO, MOSI, CS, and SCK lines which shows how data gets transferred. i attached a picture of one of those diagrams below. regarding lua: it didn’t take that long because i’ve experimented with it before in mallow revision 1.4. lua is interesting since, using the lua VM in C at least, it’s stack-based, using pop and push functions. it reminds me of the time i tried learning assembly. i need to try to push an actual file so i dont need to write down files like this… // i'll probably need to store the length of the script somewhere. // a script struct is probably going to be used for organization const char *script = \"local counter = 0\\n\" \"function update() end\\n\" \"function render()\\n\" \"if counter >= 0.5 then\\n\" \"draw_rect_filled(5, 5, 310, 230, 0xf81f)\\n\" \"display_fb()\\n\" \"counter = 0\\n\" \"end\\n\" \"counter = counter + delta_time\\n\" \"end\\n\"; …it works for now, but it’s gonna get messy if i were to push an actual game file. i need to also figure out how to push image data to flash. here’s an example of popping stuff in lua (from my program on 8/19/26: // get and call update lua_getglobal(L, \"update\"); if (lua_isfunction(L, -1)){ if (lua_pcall(L, 0, 0, 0) != LUA_OK){ printf(\"ERR CALLING UPDATE: %s\\n\", lua_tostring(L, -1)); lua_pop(L, 1); } } else { lua_pop(L, 1); } when you get the function, it pushes it to the top of the stack. then it checks if what you got was a function, as well as actually calling the code inside the function. if something goes wrong, it print’s the error. either way, it pops the function from the stack since we dont need it any more for that while loop cycle. this is the same process for render . if anyone actually decided to read through all of this, tell me about your own project. idk if im yapping into the void or not. i cant wait for my pcbs to come in, programming gets boring sometimes 🥹"}, {"post_id": 47262, "ts": "2026-08-15T02:28:37Z", "hours": 3.7411, "text": "over the span of today and some of yesterday, i designed the rest of mallow revision 2.2 and a controller for it. this board is haphazardly laid out, these aren’t the final component placements. on the back of the main board (image 2), there’s pads that i can solder to for debugging. let’s say i wired something up to the wrong pin in the schematics. i can just cut the trace and solder a wire from point A to point B to make up for that mistake. i probably could have just used a bunch of 0ohm resistors for this instead of cutting the trace, but idk cutting traces is more fun. the controller port is really just a 2.54mm 2x10 pin female header that the male header pins connect into. i couldn’t find the footprint for what i was looking for, so i just laid out through holes, making my own footprint essentially. long story short, this is just a debugging board and a test run"}, {"post_id": 46018, "ts": "2026-08-12T22:03:33Z", "hours": 5.94, "text": "there’s gonna be two parts of this devlog: the hardware and software. regarding the software, i just ran the draw_rect_filled function from my draw_functions.h header that i worked on yesterday and alternated the colors (see the gif) hardware is where everything started to fall apart. the good news is that the esp32 s3 works fine: no shorts, no errors when plugging it in. the main issues are the screen and the speaker. the screen is a cheap one i got off of aliexpress. it had an unusual pinout, or at least not the standard miso, mosi, etc that im used to. for anyone curious, it’s an i80 parallel spi interface. the pinout can be found here for the audio module, i already know that’s not gonna work. it was only during my debugging session last night that i realized this: GPIO37 is reserved for PSRAM, and i connected my audio module to pins GPIO35-39. what this means for future revisions: revision 2.2 is going to be a debugging board. there’s going to be a through hole for every component’s pins so i can cut traces and wire to another gpio/pin if i wanted to. that’s what i did with mallow rev 1.4. im going to start mallow revision 2.2 tonight! edit: the gif didnt work, just take my word for it 😭"}, {"post_id": 44883, "ts": "2026-08-10T22:31:34Z", "hours": 2.2317, "text": "DEVLOG 1: programming day 1 today i crossed off a little from my roadmap today: // TODO: // FLASH MEMORY [] - https://www.pjrc.com/teensy/W25Q128FV.pdf // ESP_LCD [x] // DRAW FUNCTIONS/VISUALS [-] // LUA INTEGRATION [] // BUTTONS [x] this is at the top of every main.c file i have on my github page. you can find today’s work here on my github page. some things i learned today: how to make header files. this one was actually kind of fun. i liked writing the descriptions for the functions and seeing them show up when i hover over the function in vscode. it’s a good way of organizing different functions. i was originally going to use a struct or something to hold all of the functions, like how a class would, but header files seemed like the better choice. how to use pointers. not fun at all, but it had to be done. learned from this video the most: https://www.youtube.com/watch?v=2ybLD6_2gKM&t=438s . i used that for my get_button_press function those are the major things i learned. tomorrow i plan on using littlefs for the flash memory so i don’t need to set raw memory addresses and break stuff. i wrote this kind of program before, so that’s why i was able to do this on the faster side. tomorrow will probably be a much slower day since im learning something completely new (littlefs). i really hope stardance allows me to timelapse my drawing process, that would be an easy day off…….👀 the first image shows my wiring, the second shows the program actually running. i dont know why i chose that gross color, let’s just pretend i did yellow for a star for stardance"}]...
|
Title: MALLOW - REV2 by @mallow_dev | Stardance
D Title: MALLOW - REV2 by @mallow_dev | Stardance
Devlogs:
DEVLOG 1: programming day 1 today i crossed off a little from my roadmap today: // TODO: // FLASH MEMORY [] - https://www.pjrc.com/teensy/W25Q128FV.pdf // ESP_LCD [x] // DRAW FUNCTIONS/VISUALS [-] // LUA INTEGRATION [] // BUTTONS [x] this is at the top of every main.c file i have on my github page. you can find today’s work here on my github page. some things i learned today: how to make header files. this one was actually kind of fun. i liked writing the descriptions for the functions and seeing them show up when i hover over the function in vscode. it’s a good way of organizing different functions. i was originally going to use a struct or something to hold all of the functions, like how a class would, but header files seemed like the better choice. how to use pointers. not fun at all, but it had to be done. learned from this video the most: https://www.youtube.com/watch?v=2ybLD6_2gKM&t=438s . i used that for my get_button_press function those are the major things i learned. tomorrow i plan on using littlefs for the flash memory so i don’t need to set raw memory addresses and break stuff. i wrote this kind of program before, so that’s why i was able to do this on the faster side. tomorrow will probably be a much slower day since im learning something completely new (littlefs). i really hope stardance allows me to timelapse my drawing process, that would be an easy day off…….👀 the first image shows my wiring, the second shows the program actually running. i dont know why i chose that gross color, let’s just pretend i did yellow for a star for stardance
there’s gonna be two parts of this devlog: the hardware and software. regarding the software, i just ran the draw_rect_filled function from my draw_functions.h header that i worked on yesterday and alternated the colors (see the gif) hardware is where everything started to fall apart. the good news is that the esp32 s3 works fine: no shorts, no errors when plugging it in. the main issues are the screen and the speaker. the screen is a cheap one i got off of aliexpress. it had an unusual pinout, or at least not the standard miso, mosi, etc that im used to. for anyone curious, it’s an i80 parallel spi interface. the pinout can be found here for the audio module, i already know that’s not gonna work. it was only during my debugging session last night that i realized this: GPIO37 is reserved for PSRAM, and i connected my audio module to pins GPIO35-39. what this means for future revisions: revision 2.2 is going to be a debugging board. there’s going to be a through hole for every component’s pins so i can cut traces and wire to another gpio/pin if i wanted to. that’s what i did with mallow rev 1.4. im going to start mallow revision 2.2 tonight! edit: the gif didnt work, just take my word for it 😭
over the span of today and some of yesterday, i designed the rest of mallow revision 2.2 and a controller for it. this board is haphazardly laid out, these aren’t the final component placements. on the back of the main board (image 2), there’s pads that i can solder to for debugging. let’s say i wired something up to the wrong pin in the schematics. i can just cut the trace and solder a wire from point A to point B to make up for that mistake. i probably could have just used a bunch of 0ohm resistors for this instead of cutting the trace, but idk cutting traces is more fun. the controller port is really just a 2.54mm 2x10 pin female header that the male header pins connect into. i couldn’t find the footprint for what i was looking for, so i just laid out through holes, making my own footprint essentially. long story short, this is just a debugging board and a test run
programming update: implemented most of the flash memory into my program, as well as some (SOME) lua. flash memory took the longest. reading through documentation is boring but informative. i got a better understanding of how SPI works, and if not that, how the chip itself works. they have these diagrams of the MISO, MOSI, CS, and SCK lines which shows how data gets transferred. i attached a picture of one of those diagrams below. regarding lua: it didn’t take that long because i’ve experimented with it before in mallow revision 1.4. lua is interesting since, using the lua VM in C at least, it’s stack-based, using pop and push functions. it reminds me of the time i tried learning assembly. i need to try to push an actual file so i dont need to write down files like this… // i'll probably need to store the length of the script somewhere. // a script struct is probably going to be used for organization const char *script = "local counter = 0\n" "function update() end\n" "function render()\n" "if counter >= 0.5 then\n" "draw_rect_filled(5, 5, 310, 230, 0xf81f)\n" "display_fb()\n" "counter = 0\n" "end\n" "counter = counter + delta_time\n" "end\n"; …it works for now, but it’s gonna get messy if i were to push an actual game file. i need to also figure out how to push image data to flash. here’s an example of popping stuff in lua (from my program on 8/19/26: // get and call update lua_getglobal(L, "update"); if (lua_isfunction(L, -1)){ if (lua_pcall(L, 0, 0, 0) != LUA_OK){ printf("ERR CALLING UPDATE: %s\n", lua_tostring(L, -1)); lua_pop(L, 1); } } else { lua_pop(L, 1); } when you get the function, it pushes it to the top of the stack. then it checks if what you got was a function, as well as actually calling the code inside the function. if something goes wrong, it print’s the error. either way, it pops the function from the stack since we dont need it any more for that while loop cycle. this is the same process for render . if anyone actually decided to read through all of this, tell me about your own project. idk if im yapping into the void or not. i cant wait for my pcbs to come in, programming gets boring sometimes 🥹
programming update (8/23/26): added a workflow closer to mallow revision 1.4’s i added an sd card slot to the flash spi line for uploading lua files easier. before, it was just a small const char* script = "print(\"hi\")"; expression. it works, but it gets messy for long scripts. now, a main.lua file can be stored on the sd card and flashed to memory with ease. rant about the sd card and sending lua files to flash one thing that’s cool about the sd card system is that once it’s mounted, you can use plain old fopen expressions like you would on a computer. to load the lua file onto flash memory, i used fseek to get the length of the file. i then used that length to malloc that file size + 1 byte for the string null terminator. then it sends the fseek pointer back to the start of the file, iterates through each character, and loads that into a buffer. the buffer is sent to flash with my flash_write_script function from last time (just check my github page. you’ll see it at programs/08_23_26.) something that is worth mentioning that i forgot about is that multiple devices can have the same spi line, just different CS pins. there’s 3 hosts for the esp32 s3: SPI1_HOST for internal ram and SPI2/SPI3_HOST for external devices. another thing i love about this sd card is that i can just easily edit the main.lua file on the sd card and pop it back into the card slot. it’s way easier than reflashing the esp32 s3 just to get a new rectangle on the screen. tomorrow im gonna work on trying to make a makeshift file system for loading up image files into flash and displaying them on screen via lua.
a little bit of this, a little bit of that: yet another programming update (except i locked in today) today was a long day. after almost 4 hours, i finally got images working. a quick way to describe what i did was making a little file system to work with. i also quickly added a few lines of code that checks if a flash_update.txt file exists before flashing the program. if it doesn’t, it’ll just read from the cartridge. this is so it doesn’t wear out the flash chip and so i dont have to wait 3 minutes for it to load. hopefully by the next time i upload another devlog, i’ll have audio and images working better. right now, i need to go into the esp-idf code and tell the code what files to flash (instead of it flashing everything inside of the images directory automatically). loading audio into flash memory will probably be interesting, i never even thought about it before. i attached a video of carbuncle from puyo puyo dancing. the raw binary files of the frames are on my github if, for some odd reason, anyone wants them.
the debug board was… a flop let’s get the bad out of the way first: the screen won’t work and the wires heat up. i don’t know why, i followed the pinout and checked for shorts on the circuit board. only the backlight goes on. i think i might try another raw screen, but plan for another failure and have a slot for a pre-built module. no audio. i followed the schematic of a pre-built module and, when testing, i couldn’t figure out why audio wouldn’t come out of the speaker. there are no shorts on the amp, all the pins i used to wire it up are valid. maybe it’s a programming issue, or everything i just listed into one. all i know is that i might use another pre-built module for the sake of shipping my project in time. the final version will have an embedded screen and amp, im just starting to get on a strict time frame with only a month left of this challenge. okay, those are the failures. im happy to announce that the buttons and gpio expander work fine! i didn’t test out the flash memory yet, as well as the micro sd card slot. a few issues with the pin configuration for the controller (image 4), but so far it’s working good. in short: im going to shoot my shot with another raw screen, but if that doesn’t work, im using a pre-built module, as well as the same for the amp. we’ll see if the micro sd card works tomorrow when i get the slot in, as well as flash. im almost finished with the breadboard mallow configuration, it’s just the pcb that’s driving me nuts. ps: the esp32 s3 module on the main board is a temp solution. im getting another s3 wroom 1u, the one without the antenna. as always, thanks for reading. i hope to come back with good news next devlog
the final circuit board … for revision 2 CHANGES: + micro sd card wiring + new screen! instead of using the i80 parallel bus, im using a screen in spi mode. there’s two fpc connectors: one for the screen, one for touch controls + controller layout and wiring + new game cartridge OTHER: + i made a shell for mallow to show an example of how i want the project to look fully assembled. + PCB ART!!!!!! check the slack art channel if you wanna see it + while i wait for these circuit boards to come in, im going to rewrite my program to suit the pcb wiring rather than the breadboard wiring. + i really hope this screen works, because if it doesnt, i dont have a backup plan + my mallow neocities website is under construction. i forgot i had that on my circuit board.
while i wait for my circuit boards, im stuck programming and designing the shell for mallow. this is gonna be a short update because it’s not much of an update at all, rather a todo list. the first screenshot: my todo list the x means it’s done already, the - means it’s halfway done, and nothing at all means that i have yet to start that. in short, i have to complete some draw functions, lua(?), flash memory, and the sd card (all in the respective order of easy to hard ) the second screenshot: ifdefs i got inspiration from the TFT_eSPI UserSetup.h file where you uncomment the settings you want. in this case, im just gonna swap back and forth. ifdef just checks if the macro is defined, so BREADBOARD or PCB doesnt hold a value. the third screenshot: new way of handling flash i connected the CS pins to an mcp23017 since CS is just high or low values. little did i know, this would make using spi lines harder than it already is flash is easy: set the mcp pin to output, add helper functions to drive the CS pin high or low, call it before every spi transaction. sd cards on the other hand are along the same line now that i think about it. i just say it’s a pain because i need to do exactly what i did for the flash memory again, except for sd card commands. time to read through more documentation other: + i think i mentioned this somewhere in my code, but it wouldnt be a shame if the sd card slot doesnt work. i just need it to read from flash memory. i can always flash the game cartridges on my breadboard system. + i used carbon for my fancy code screenshots ( https://carbon.now.sh )
revision 2.3 update well, i mean, it works! the video shows it running a game cartridge, the second image shows it recognizing that there’s no cartridge in the slot (i threw that screen together in krita in under a minute). seems like everything is working great until you look at the mess of tape and jumpers on the back. for some reason, the screen wasnt receiving power, and to this day, i still dont know why. the only way i was able to get it to work was by soldering a wire from the voltage regulator output to the screen’s LED_A (anode) pin and the general power pin. in the new, and TRULY final circuit board, i tried to make thicker wires. who knows, maybe it was a manufacturing issue, maybe it was some math i dont understand. whatever it was, i hope it works. if it doesnt, i added bare pads for be to easily connect a jumper wire again. i also added an fpc slot for the touch controls cable too. in the meantime, im going to finish up the programming and prototype a basic game for it in raylib. thanks for reading
chassis for mallow + POWER PAK (power supply) the chassis took a bit more than the 5:30 i logged, but i would rather tank some hours than keep turning on lapse every few runs to the 3d printer. back to the model: all of these parts can be disassembled: the controller, the motherboard, and game cartridge. the POWER PAK snaps onto the back. (chose the name POWER PAK because it sounds like something out of the 80s) all i need are the electronics (that should ship soon ) then i can ship
final update before shipping mallow has finally been assembled and tested, and everything i programmed it to do is working fine. it can run different cartridges, all the buttons work fine, and the POWER PAK on the back works… decently. look, it’s not the prettiest, but it gets the job done. im gonna upload everything to github shortly, throw together a demonstration video, and then i should be ready to ship!
Ships:
hello everyone! it’s finally time to ship! i made a handheld gaming device inspired by Nintendo’s Game Boy that runs off of custom cartridges made by YOU! my goals were to make it affordable, run custom games, and learn a lot in the process, and i’d say i met all of them! the most challenging part of this project was definitely the programming, though i learned a lot in the process of doing so: it’s important to read documentation, even though it’s boring. i dont care whether it’s hardware or software, you gotta do it. SPI lines are sick! it’s just a bunch of timing with 1s and 0s. what ground planes are, as well as stitching vias. advanced C syntax (did you know structs can hold functions? neither did i)...
|
1793818158.361855
|
1793904558.361855
|
|
31274
|
My own site! by @lulieriu29 | Stardance
|
lulieriu29
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @lulieriu29 | Stardance
|
1793299758.196268
|
1793904558.196268
|
|
5150
|
PCB business card by @geenk | Stardance
|
geenk
|
0
|
3.39
|
0
|
[]
|
[{"post_id": 2326, "ts": "2026 [{"post_id": 2326, "ts": "2026-06-04T19:17:07Z", "hours": 2.1022, "text": "Prototype routing done!"}, {"post_id": 1472, "ts": "2026-06-03T14:58:51Z", "hours": 1.2892, "text": "Schematic mostly doneee"}]...
|
Title: PCB business card by @geenk | Stardance
De Title: PCB business card by @geenk | Stardance
Devlogs:
Schematic mostly doneee
Prototype routing done!...
|
1793299756.019766
|
1793904556.019766
|
|
1323
|
Untitled project by @Kian | Stardance
|
Kian
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @Kian | Stardance
|
1793299755.1260498
|
1793904555.1260498
|
|
33318
|
Automatic Emailer by @hancsh_the_1 | Stardance
|
hancsh_the_1
|
0
|
0.91
|
0
|
[]
|
[{"post_id": 27048, "ts": "202 [{"post_id": 27048, "ts": "2026-07-12T07:36:45Z", "hours": 0.9061, "text": "I created a class structure in which I can effectively save a bunch of buisinesses and their information into a json for futher exploitation."}]...
|
Title: Automatic Emailer by @hancsh_the_1 | Starda Title: Automatic Emailer by @hancsh_the_1 | Stardance
Devlogs:
I created a class structure in which I can effectively save a bunch of buisinesses and their information into a json for futher exploitation....
|
1793299754.2181199
|
1793904554.2181199
|
|
20759
|
ez-SDR by @lupc65779 | Stardance
|
lupc65779
|
1
|
163.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-17T15:44:56Z", "hours": 163.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built ez-SDR , an open source software defined radio application written entirely in Rust (one of the relatively few fully Rust-based SDR desktop applications). ez-SDR has three main tabs: Radio: A general-purpose radio receiver with AM, FM, SSB, CW, and other modulation modes, real-time spectrum and waterfall displays, and stereo FM with RDS support. ADS-B: An aircraft tracking system with an interactive map showing aircraft positions, altitudes, speeds, headings, and flight trails. It includes native decoders for both 1090 MHz ADS-B, used worldwide, and the freedom frequency (978 MHz) Meteor Decoding: A satellite image decoder capable of decoding imagery transmitted by the Russian Meteor-M2-3 and M2-4 weather satellites. It supports both live reception and decoding previously recorded radio signals (saved as CS8 or CF32 files), with image previews and PNG exports. (A moment of silence for the deprecated NOAA satellites) Another major feature is the architecture itself. I beheaded it. (The project.) The actual GUI is separated from the radio processing backend allowing it to run as a headless daemon. It exposes HTTP and WebSocket API’s, making it possible to interact with the backend without using the GUI. Getting everything working was… interesting. Building the decoding pipelines, integrating them into a responsive desktop interface (making it snappy and fast took several tens of hours), debugging signal processing issues, and literally running through cornfields with an antenna in my hand were some of the biggest challenges I ran into. The project went through several major redesigns, from the initial Rust implementation to separating the backend from the UI, briefly experimenting with Electron, and eventually returning to the native Rust interface. After over 160 hours of logged work , I’m excited to finally ship ez-SDR! The source code and Linux builds are available on GitHub, with a Windows build planned for the near future.", "repo": "https://github.com/Lupc9102/ez-sdr", "demo": "https://drive.google.com/file/d/1CAk3eGq8M2QFzbwPgKeuX1w_fwFsIhUG/view?usp=sharing"}]...
|
[{"post_id": 80362, "ts": "202 [{"post_id": 80362, "ts": "2026-10-17T12:36:53Z", "hours": 10.9075, "text": "Major reliability and release readiness improvements for EZ-SDR -stronger ADS-B/UAT decoding -safer settings, cleaner daemon and browser lifecycles -better audio and integrations - finally stable data paths -packaging fixes -removal of immense amounts of bloat PS heres an image of LRPT decoding in action"}, {"post_id": 78367, "ts": "2026-10-10T16:02:57Z", "hours": 10.4897, "text": "Getting ready to ship it so here I am trying to patch some final bugs in the Meteor Satellite Lrpt decoding pipeline"}, {"post_id": 77103, "ts": "2026-10-05T17:15:36Z", "hours": 15.5006, "text": "Going for a final round of fixes on the ads-b pipeline before marking it as finished 6.1 sol xhigh audited it and its not looking too good (holy f 11k words)"}, {"post_id": 74071, "ts": "2026-09-26T16:52:51Z", "hours": 8.1261, "text": "Rust UI is back, also ported a couple of features from sdr++, The screenshot contains an actual signal (unlike the mockups in past devblogs), more precisely a local music radio station received through ez-sdr with a rtl sdr v4 dongle"}, {"post_id": 72598, "ts": "2026-09-23T09:47:02Z", "hours": 13.9953, "text": "a TON of bug hunting and im going back to the old rust ui because it turns out the electron app wasnt my brightest idea"}, {"post_id": 57242, "ts": "2026-08-29T10:50:29Z", "hours": 9.9469, "text": "Couldnt patch the ads-b map view inside the rust gui app so i took a U turn with the porject and went all in for an Electron App as the gui for the ez-sdr daemon. mockup waterfall"}, {"post_id": 44519, "ts": "2026-08-10T10:22:10Z", "hours": 8.3333, "text": "Not much to be written, just some painful and slow progress with decoding meteor imagery."}, {"post_id": 28507, "ts": "2026-07-14T20:02:26Z", "hours": 6.0031, "text": "Should I even be happy? I finally tested ez-sdr’s satellite decoding with a real recording I took yesterday on an Meteor M2-4 88* pass, and it’s… not great, especially compared to SatDump’s decode. (Ez-sdr is the first image, SatDump is the second image.) What troubles me the most is that I literally stole SatDump’s homework equation by equation and rewrote it in Rust, and it still looks like shite lol. Its for sure progress and im happy with that lol"}, {"post_id": 27542, "ts": "2026-07-13T06:10:40Z", "hours": 9.3789, "text": "Considering that the last two LRPT satellites that still transmit are Meteor m2-3 and Meteor m2-4 i did efforts to make decoding them as fast as possible , especially cf32, cs16 and cs8 decoding. Now i didnt really get to test the upgrades.. because i didnt get to FINISH the upgrades but i DID finish the web ui remote from the last devlog. (I am posting this devlog WITHOUT a finished feature because im getting close to the 10 hour cap) Also ive went outside, touched grass and snatched a good cs32 from meteor m2-4 so i actually have what to test the decoding on."}, {"post_id": 25907, "ts": "2026-07-10T12:18:29Z", "hours": 10.7172, "text": "I cut its head off. Fully decoupled Ez-sdr from Ez-gui (the Rust UI), effectively turning Ez-sdr into a headless project. This allows Ez-sdr to be coupled to multiple channels: The original Rust UI WebUI (Almost done, in development) Discord (in development) This decoupling also exposes an API, allowing you to integrate and use Ez-sdr functionalities on the go within your own applications and projects."}, {"post_id": 25177, "ts": "2026-07-09T07:11:47Z", "hours": 28.3117, "text": "Yet another from-scratch redesign because lately most of the app started feeling bloated and hard to use for beginners (which defeats the entire purpose of ez -sdr, which is meant to be easy . Therefore i moved most of the unnecessary stuff in advanced and other tabs. Also patched a lot of bugs."}, {"post_id": 20817, "ts": "2026-07-02T15:02:41Z", "hours": 25.5669, "text": "Full UI redesign + a ton of new features: The ADSB tab now includes a map, plane labels, and a 3D view mode. Added a Discord gateway that sends notifications and images of detected planes, satellite passes, and more. Overhauled the AI Assistant tab. Added a reasoning effort dropdown to the AI assistant. Granted the AI the ability to perform web searches. Added well-documented checklists and tutorials for beginners setting up their SDR kits, including an antenna angle and length calculator, recommended environments, cabling tips, and driver recommendations. Added UI presets: users can select their experience level on the first boot, and the app automatically customizes the interface accordingly (beginners rely more on the AI assistant and auto-tuning, while experts manage everything manually with optional AI assistance). Added premade themes and in depth ui customization."}, {"post_id": 17812, "ts": "2026-06-28T19:00:19Z", "hours": 5.7533, "text": "I know how hard is it to get started with software defined radios. I went through the hassle of being a complete beginner and having to deal with sketchy blogs and UIs of apps older than most of us participating in this hackaton, and so I tried to build an all-in-one SDR app with most of the cool things you can get from the average RTL-SDR kit: plane tracking, listening to ATC and some other cool frequencies, satellite signal capturing, decoding and tracking, and many more in one unified app interface. I originally intended to do ALL this in Python, but it was way too slow and crashed during DSP, so I had to rewrite it fully in Rust. Problem is that I don’t really know Rust (and basically anything lower level than Python) so props on kimi k2.6 who handled the whole rewrite flawlessly. There’s still many things to improve on this, and, more importantly.. a ton of testing and trial and error"}]...
|
Title: ez-SDR by @lupc65779 | Stardance
Devlogs:
Title: ez-SDR by @lupc65779 | Stardance
Devlogs:
I know how hard is it to get started with software defined radios. I went through the hassle of being a complete beginner and having to deal with sketchy blogs and UIs of apps older than most of us participating in this hackaton, and so I tried to build an all-in-one SDR app with most of the cool things you can get from the average RTL-SDR kit: plane tracking, listening to ATC and some other cool frequencies, satellite signal capturing, decoding and tracking, and many more in one unified app interface. I originally intended to do ALL this in Python, but it was way too slow and crashed during DSP, so I had to rewrite it fully in Rust. Problem is that I don’t really know Rust (and basically anything lower level than Python) so props on kimi k2.6 who handled the whole rewrite flawlessly. There’s still many things to improve on this, and, more importantly.. a ton of testing and trial and error
Full UI redesign + a ton of new features: The ADSB tab now includes a map, plane labels, and a 3D view mode. Added a Discord gateway that sends notifications and images of detected planes, satellite passes, and more. Overhauled the AI Assistant tab. Added a reasoning effort dropdown to the AI assistant. Granted the AI the ability to perform web searches. Added well-documented checklists and tutorials for beginners setting up their SDR kits, including an antenna angle and length calculator, recommended environments, cabling tips, and driver recommendations. Added UI presets: users can select their experience level on the first boot, and the app automatically customizes the interface accordingly (beginners rely more on the AI assistant and auto-tuning, while experts manage everything manually with optional AI assistance). Added premade themes and in depth ui customization.
Yet another from-scratch redesign because lately most of the app started feeling bloated and hard to use for beginners (which defeats the entire purpose of ez -sdr, which is meant to be easy . Therefore i moved most of the unnecessary stuff in advanced and other tabs. Also patched a lot of bugs.
I cut its head off. Fully decoupled Ez-sdr from Ez-gui (the Rust UI), effectively turning Ez-sdr into a headless project. This allows Ez-sdr to be coupled to multiple channels: The original Rust UI WebUI (Almost done, in development) Discord (in development) This decoupling also exposes an API, allowing you to integrate and use Ez-sdr functionalities on the go within your own applications and projects.
Considering that the last two LRPT satellites that still transmit are Meteor m2-3 and Meteor m2-4 i did efforts to make decoding them as fast as possible , especially cf32, cs16 and cs8 decoding. Now i didnt really get to test the upgrades.. because i didnt get to FINISH the upgrades but i DID finish the web ui remote from the last devlog. (I am posting this devlog WITHOUT a finished feature because im getting close to the 10 hour cap) Also ive went outside, touched grass and snatched a good cs32 from meteor m2-4 so i actually have what to test the decoding on.
Should I even be happy? I finally tested ez-sdr’s satellite decoding with a real recording I took yesterday on an Meteor M2-4 88* pass, and it’s… not great, especially compared to SatDump’s decode. (Ez-sdr is the first image, SatDump is the second image.) What troubles me the most is that I literally stole SatDump’s homework equation by equation and rewrote it in Rust, and it still looks like shite lol. Its for sure progress and im happy with that lol
Not much to be written, just some painful and slow progress with decoding meteor imagery.
Couldnt patch the ads-b map view inside the rust gui app so i took a U turn with the porject and went all in for an Electron App as the gui for the ez-sdr daemon. mockup waterfall
a TON of bug hunting and im going back to the old rust ui because it turns out the electron app wasnt my brightest idea
Rust UI is back, also ported a couple of features from sdr++, The screenshot contains an actual signal (unlike the mockups in past devblogs), more precisely a local music radio station received through ez-sdr with a rtl sdr v4 dongle
Going for a final round of fixes on the ads-b pipeline before marking it as finished 6.1 sol xhigh audited it and its not looking too good (holy f 11k words)
Getting ready to ship it so here I am trying to patch some final bugs in the Meteor Satellite Lrpt decoding pipeline
Major reliability and release readiness improvements for EZ-SDR -stronger ADS-B/UAT decoding -safer settings, cleaner daemon and browser lifecycles -better audio and integrations - finally stable data paths -packaging fixes -removal of immense amounts of bloat PS heres an image of LRPT decoding in action
Ships:
I built ez-SDR , an open source software defined radio application written entirely in Rust (one of the relatively few fully Rust-based SDR desktop applications). ez-SDR has three main tabs: Radio: A general-purpose radio receiver with AM, FM, SSB, CW, and other modulation modes, real-time spectrum and waterfall displays, and stereo FM with RDS support. ADS-B: An aircraft tracking system with an interactive map showing aircraft positions, altitudes, speeds, headings, and flight trails. It includes native decoders for both 1090 MHz ADS-B, used worldwide, and the freedom frequency (978 MHz) Meteor Decoding: A satellite image decoder capable of decoding imagery transmitted by the Russian Meteor-M2-3 and M2-4 weather satellites. It supports both live reception and decoding previously recorded radio signals (saved as CS8 or CF32 files), with image previews and PNG exports. (A moment of silence for the deprecated NOAA satellites) Another major feature is the architecture itself. I beheaded it. (The project.) The actual GUI is separated from the radio processing backend allowing it to run as a headless daemon. It exposes HTTP and WebSocket API’s, making it possible to interact with the backend without using the GUI. Getting everything working was… interesting. Building the decoding pipelines, integrating them into a responsive desktop interface (making it snappy and fast took several tens of hours), debugging signal processing issues, and literally running through cornfields with an antenna in my hand were some of the biggest challenges I ran into. The project went through several major redesigns, from the initial Rust implementation to separating the backend from the UI, briefly experimenting with Electron, and eventually returning to the native Rust interface. After over 160 hours of logged work , I’m excited to finally ship ez-SDR! The source code and Linux builds are available on GitHub, with a Windows build planned for the near future....
|
1793818152.4135668
|
1793904552.4135668
|
|
7593
|
Retract by @Senay | Stardance
|
Senay
|
0
|
3.12
|
0
|
[]
|
[{"post_id": 3095, "ts": "2026 [{"post_id": 3095, "ts": "2026-06-06T00:15:35Z", "hours": 1.2775, "text": "Added toasts, changed usage of pip and changed it into python -m pip for a more reliable use, and added a small animation while it installs yt-dlp using python so that it doesn’t look like it is just frozen. Took me a while to find out why the UI wasn’t updating with click and found out I needed to use yield to push the updates to the button and to send out the toasts after it downloads."}, {"post_id": 2561, "ts": "2026-06-05T03:48:25Z", "hours": 1.8408, "text": "Added detection yt-dlp detection using subprocess and incase it isn’t on path or the assets directory to alert the user, tell them to install it, or return back to the home page. Also allows the user to download it by pressing a button using python’s pip to install the package version of yt-dlp."}]...
|
Title: Retract by @Senay | Stardance
Devlogs:
Add Title: Retract by @Senay | Stardance
Devlogs:
Added detection yt-dlp detection using subprocess and incase it isn’t on path or the assets directory to alert the user, tell them to install it, or return back to the home page. Also allows the user to download it by pressing a button using python’s pip to install the package version of yt-dlp.
Added toasts, changed usage of pip and changed it into python -m pip for a more reliable use, and added a small animation while it installs yt-dlp using python so that it doesn’t look like it is just frozen. Took me a while to find out why the UI wasn’t updating with click and found out I needed to use yield to push the updates to the button and to send out the toasts after it downloads....
|
1793299752.0911126
|
1793904552.0911126
|
|
16232
|
RRSAT by @rehaan_raj_robotics_2008 | Stardance
|
rehaan_raj_robotics_2008
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: RRSAT by @rehaan_raj_robotics_2008 | Starda Title: RRSAT by @rehaan_raj_robotics_2008 | Stardance...
|
1793299749.9522345
|
1793904549.9522345
|
|
18805
|
My very own WebOS by @Nour | Stardance
|
Nour
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @Nour | Stardance
|
1793299745.7178035
|
1793904545.7178035
|
|
69972
|
Orbit Survivor by @Ankit_7 | Stardance
|
Ankit_7
|
1
|
5.0
|
3
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-16T07:58:02Z", "hours": 5.0, "multiplier": 1.38, "payout": 3, "blessing": "neutral", "text": "I have make Aafast-paced sci-fi survival game where you pilot a lone spacecraft trapped in a collapsing star system. Use planetary gravity to slingshot through space, dodge deadly hazards, gather resources, and survive as long as possible. Learing about Godot was interesting. I am proud that i have been able to make a game. to test the project just simply go to the link that i have provided …or click on this link : https://ankit-7.itch.io/orbit-survivor", "repo": "https://github.com/Ankit-dev-7/Orbit__Survivor", "demo": "https://ankit-7.itch.io/orbit-survivor"}]...
|
[{"post_id": 80091, "ts": "202 [{"post_id": 80091, "ts": "2026-10-16T06:22:08Z", "hours": 4.6794, "text": "A fast-paced sci-fi survival game where you pilot a lone spacecraft trapped in a collapsing star system. Use planetary gravity to slingshot through space, dodge deadly hazards, gather resources, and survive as long as possible."}]...
|
Title: Orbit Survivor by @Ankit_7 | Stardance
Dev Title: Orbit Survivor by @Ankit_7 | Stardance
Devlogs:
A fast-paced sci-fi survival game where you pilot a lone spacecraft trapped in a collapsing star system. Use planetary gravity to slingshot through space, dodge deadly hazards, gather resources, and survive as long as possible.
Ships:
I have make Aafast-paced sci-fi survival game where you pilot a lone spacecraft trapped in a collapsing star system. Use planetary gravity to slingshot through space, dodge deadly hazards, gather resources, and survive as long as possible. Learing about Godot was interesting. I am proud that i have been able to make a game. to test the project just simply go to the link that i have provided …or click on this link : https://ankit-7.itch.io/orbit-survivor...
|
1793818145.603595
|
1793904545.603595
|
|
36243
|
Still Untitled Game Compilation by @saltichash | S Still Untitled Game Compilation by @saltichash | Stardance...
|
saltichash
|
0
|
1.88
|
0
|
[]
|
[{"post_id": 30284, "ts": "202 [{"post_id": 30284, "ts": "2026-07-17T18:44:26Z", "hours": 0.8203, "text": "Updated Target game so it is fully fledged, simplified and organized code, improved gameplay, made backround change to multiple colors."}, {"post_id": 29930, "ts": "2026-07-17T03:16:31Z", "hours": 1.0564, "text": "First devlog! I am making a game launcher for all of my tiny games, this way I will be able to publish them even if they are short or not serious. The games are: Sunshine: A Suika game but using the LeBron James ¨You are my sunshine¨ meme Target: A simple aim trainer, Scary Game: An old not even playable survival game, RPS Battle: Saw it in a video once, a Rock-Paper-Scissors simulator Lechonk: A random battle game I made Home Buffet: A Kirby’s Dream Buffet copy Nugget VS (Originally Gedagedigedagedao VS): A 2-player reaction game based on the meme of the same name Fire in the Hole: An escape the maze game, no maze yet… Video was too heavy so I uploaded it to YouTube"}]...
|
Title: Still Untitled Game Compilation by @saltich Title: Still Untitled Game Compilation by @saltichash | Stardance
Devlogs:
First devlog! I am making a game launcher for all of my tiny games, this way I will be able to publish them even if they are short or not serious. The games are: Sunshine: A Suika game but using the LeBron James ¨You are my sunshine¨ meme Target: A simple aim trainer, Scary Game: An old not even playable survival game, RPS Battle: Saw it in a video once, a Rock-Paper-Scissors simulator Lechonk: A random battle game I made Home Buffet: A Kirby’s Dream Buffet copy Nugget VS (Originally Gedagedigedagedao VS): A 2-player reaction game based on the meme of the same name Fire in the Hole: An escape the maze game, no maze yet… Video was too heavy so I uploaded it to YouTube
Updated Target game so it is fully fledged, simplified and organized code, improved gameplay, made backround change to multiple colors....
|
1793299744.4899201
|
1793904544.4899201
|
|
32734
|
Untitled by @CasioKing54 | Stardance
|
CasioKing54
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @CasioKing54 | Stardance
|
1793299742.3699381
|
1793904542.3699381
|
|
8626
|
AniTrack by @Max76 | Stardance
|
Max76
|
0
|
3.59
|
0
|
[]
|
[{"post_id": 3304, "ts": "2026 [{"post_id": 3304, "ts": "2026-06-06T05:08:06Z", "hours": 2.5972, "text": "Devlog #2 Implemented the profile page"}, {"post_id": 3212, "ts": "2026-06-06T01:19:09Z", "hours": 0.9969, "text": "Devlog #1 Added the authentication page which fetches the AniList access token Added views for all of the pages which will be supported (dashboard, list, search, notifications, profile)"}]...
|
Title: AniTrack by @Max76 | Stardance
Devlogs:
De Title: AniTrack by @Max76 | Stardance
Devlogs:
Devlog #1 Added the authentication page which fetches the AniList access token Added views for all of the pages which will be supported (dashboard, list, search, notifications, profile)
Devlog #2 Implemented the profile page...
|
1793299741.4683504
|
1793904541.4683504
|
|
70928
|
ENU os by @Elia_Piagentini | Stardance
|
Elia_Piagentini
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-28T18:11:27Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "it took some days but finally i’m shipping it, i know this isn’t much but i’m a newbie in assembly, and im looking forward to improving it", "repo": "https://github.com/elia-pia/ENU-os", "demo": "https://github.com/elia-pia/ENU-os/releases/tag/release"}]...
|
[{"post_id": 83821, "ts": "202 [{"post_id": 83821, "ts": "2026-10-28T17:47:51Z", "hours": 0.7403, "text": "now shipping it"}, {"post_id": 82095, "ts": "2026-10-23T20:58:57Z", "hours": 1.8233, "text": "now does something"}, {"post_id": 81871, "ts": "2026-10-22T20:18:34Z", "hours": 0.6583, "text": "starting greate"}]...
|
Title: ENU os by @Elia_Piagentini | Stardance
Dev Title: ENU os by @Elia_Piagentini | Stardance
Devlogs:
starting greate
now does something
now shipping it
Ships:
it took some days but finally i’m shipping it, i know this isn’t much but i’m a newbie in assembly, and im looking forward to improving it...
|
1793818140.8727593
|
1793904540.8727593
|
|
16715
|
Ill comeback by @Akenor | Stardance
|
Akenor
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Ill comeback by @Akenor | Stardance
|
1793299740.5353885
|
1793904540.5353885
|
|
25857
|
Fattah by @jalal_lamyae10 | Stardance
|
jalal_lamyae10
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Fattah by @jalal_lamyae10 | Stardance
|
1793299738.7132545
|
1793904538.7132545
|
|
8070
|
My first slack bot! by @ukarthiksai | Stardance
|
ukarthiksai
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @ukarthiksai | Stard Title: My first slack bot! by @ukarthiksai | Stardance...
|
1793299736.8789136
|
1793904536.8789136
|
|
7662
|
My awesome macropad! by @course-free_canyon042 | S My awesome macropad! by @course-free_canyon042 | Stardance...
|
course-free_canyon042
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @course-free_canyon Title: My awesome macropad! by @course-free_canyon042 | Stardance...
|
1793299736.0078585
|
1793904536.0078585
|
|
70926
|
BenchDeck by @Rengoku | Stardance
|
Rengoku
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-24T14:16:40Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built BenchDeck. Personally, getting the glassmorphism values right and fixing UI bugs was quite challenging for me. I’m proud of this project because I’ve always wanted a customizable start page that I could make my own and that looked premium. The normal browser new-tab page felt a little boring to me. I want to optimize BenchDeck further and add more features, such as a clock and other useful tools.", "repo": "https://github.com/rengoku210/BenchDeck", "demo": "https://benchdeck.vercel.app/"}]...
|
[{"post_id": 82046, "ts": "202 [{"post_id": 82046, "ts": "2026-10-23T15:59:34Z", "hours": 3.87, "text": "BenchDeck is a highly configurable start page for programmers and electronics hobbyists. I am working on its design and style, creating shortcuts and daily task list."}]...
|
Title: BenchDeck by @Rengoku | Stardance
Devlogs: Title: BenchDeck by @Rengoku | Stardance
Devlogs:
BenchDeck is a highly configurable start page for programmers and electronics hobbyists. I am working on its design and style, creating shortcuts and daily task list.
Ships:
I built BenchDeck. Personally, getting the glassmorphism values right and fixing UI bugs was quite challenging for me. I’m proud of this project because I’ve always wanted a customizable start page that I could make my own and that looked premium. The normal browser new-tab page felt a little boring to me. I want to optimize BenchDeck further and add more features, such as a clock and other useful tools....
|
1793818135.991817
|
1793904535.991817
|
|
786
|
My first slack bot! by @aidenshamoeil53 | Stardanc My first slack bot! by @aidenshamoeil53 | Stardance...
|
aidenshamoeil53
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @aidenshamoeil53 | S Title: My first slack bot! by @aidenshamoeil53 | Stardance...
|
1793299733.8865132
|
1793904533.8865132
|
|
9437
|
Amplify by @joelynx | Stardance
|
joelynx
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Amplify by @joelynx | Stardance
|
1793299732.9856906
|
1793904532.9856906
|
|
46067
|
My own site! by @nitikpsn | Stardance
|
nitikpsn
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-19T17:27:09Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "shipping my site ;)", "repo": "https://github.com/Nitikpsn/nitik-personal-siite", "demo": "https://www.nitikpsn.xyz/"}]...
|
[{"post_id": 81041, "ts": "202 [{"post_id": 81041, "ts": "2026-10-19T17:21:50Z", "hours": 2.3806, "text": "My personal site is done ;)"}]...
|
Title: My own site! by @nitikpsn | Stardance
Devl Title: My own site! by @nitikpsn | Stardance
Devlogs:
My personal site is done ;)
Ships:
shipping my site ;)...
|
1793818132.2455509
|
1793904532.2455509
|
|
5013
|
My first slack bot! by @Jana | Stardance
|
Jana
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Jana | Stardance
|
1793299729.6355977
|
1793904529.6355977
|
|
30048
|
My own site! by @Welcome-to-Novanna | Stardance
|
Welcome-to-Novanna
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @Welcome-to-Novanna | Stard Title: My own site! by @Welcome-to-Novanna | Stardance...
|
1793299728.7224574
|
1793904528.7224574
|
|
21400
|
Frictionless by @joonparker12 | Stardance
|
joonparker12
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @joonparker12 | Stardance
|
1793299726.8913968
|
1793904526.8913968
|
|
46051
|
Tic-Tac-Cube by @EthanCubes | Stardance
|
EthanCubes
|
1
|
145.0
|
2576
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-18T21:33:24Z", "hours": 145.0, "multiplier": 17.76, "payout": 2576, "blessing": "neutral", "text": "I made a tic-tac-cube game where you can rotate the board like a Rubik’s cube! It was made in C++ with Raylib without a game engine, and only uses 2 libraries, Raylib, and Nlohmann-JSON. I’m really proud of the way I coded the entire GUI, buttons, board, and bot. Features Tic-Tac-Toe game on a Rubik’s cube Singleplayer mode against computer Local multiplayer against another player (or yourself) Main menu & help page. I coded the bot to be somewhat intelligent, and will actively try to block your attacks and create it’s own ones. It can turn the cube just like you, and will rotate the cube to get out of a pickle. This is my first C++ project, and my first experience with languages that have to be compiled before running. It was honestly really fun to make. I put a LOT of effort into this game, over 140 hours.", "repo": "https://github.com/EthanCubes/tic-tac-cube", "demo": "https://ethancubes.itch.io/tic-tac-cube"}]...
|
[{"post_id": 80806, "ts": "202 [{"post_id": 80806, "ts": "2026-10-18T20:46:55Z", "hours": 0.6053, "text": "Final Devlog Before Ship I’m done stalling. Every time I’ve shipped a project for Stardance, I’ve stalled for like a week trying to make sure it’s good enough. This time, I’ve stalled for more than a month. I’ve even shipped 2 separate projects to different Hack Club events in the time that this project has technically been “good enough”. Essentially, I just worked on the README a bit more. I did manage to fix a few errors. For example, I had a few spelling and grammar errors. I also added a bit more detail to the readme."}, {"post_id": 77976, "ts": "2026-10-09T02:51:47Z", "hours": 1.4722, "text": "Devlog #38 (25c796f): the beans aren’t going to know what hit them (regarding my 145 hours waiting to be shipped) I made a couple of changes, such as improving the readme and disabling the exit button, greying it out and making so that it can’t be pressed. For context, the game can only run on the web, and the exit button just doesn’t do anything useful on the web. I also customized the itch.io page (which hasn’t been released yet but you can access it here via secret url). It looks kinda decent (i just copied the game’s color scheme)"}, {"post_id": 76564, "ts": "2026-10-03T23:45:12Z", "hours": 2.1303, "text": "Devlog #37 (8b55316): I made a web build for the game! I took a break from Stardance to make something for Out to C, and when I was making a C game with Raylib I discovered that it is extremely hard to make a downloadable executable run well on Windows or MacOS, because on Windows you have to include DLL files, and on MacOS it’s just harder to install Raylib. In the end, I ended up making a web build, and since I wasn’t so bad, I decided to make a web build for this. I used Emscripten, and using the em++ tool with the asyncify option, manage to get most of the game logic working, with only one small frame generation bug, which I fixed by changing this_thread::sleep for to something that is easier for the browser to render. I also made some other QoL changes so that the bot feels less stagnant, hopefully."}, {"post_id": 71599, "ts": "2026-09-21T03:57:04Z", "hours": 2.0317, "text": "Devlog #36 (fcc4f2f): I made the first gameplay change in a while, and also changed the theming a bit more. The gameplay changes I noticed that the game was getting a bit… repetitive, so I changed the bot to have an element of randomness when there are multiple spots that provide similar advantage. This took me a long time, because my code is spaghetti, and also because random in JavaScript is so much better than in C++ The visual changes I changed the theming of the game because I didn’t think the discord-esque style looked very good. Now, it’s changed to match the “Arch” theme on Monkeytype. I also changed the font to Roboto Mono since that’s what my configuration of Monkeytype uses. Stuff to do Compile this for Windows and Mac, put this on Itch.io. Ship the project"}, {"post_id": 70648, "ts": "2026-09-19T14:52:27Z", "hours": 0.4536, "text": "Devlog #35 (b48efd0): I fixed most of the font scaling issues, and also updated the README at bit (as always). I did this by loading the same font 3 times, once at 20 font size, once at 40, and once at 80. I changed the code to use a either the 20, 40, or 80 version of the font according to the font size to make the text look smoother."}, {"post_id": 69944, "ts": "2026-09-18T03:21:41Z", "hours": 2.6569, "text": "Devlog #34 (4eec49b): I changed the font! And also updated the README. Fonts in raylib are REALLY hard. Since I’m using multiple different font sizes, the scaling is really screwed up and blurry sometimes. When I was trying to add the custom font, I may or may not have… lagged out my computer and had to restart. as for the readme upgrade, i added instructions to play i also removed some semicolons. took me like half and hour"}, {"post_id": 67849, "ts": "2026-09-14T03:57:37Z", "hours": 1.2122, "text": "Devlog #33 (d16d3b8): This time was used for trying to make the project work for webassembly, which i have decided to abandon. Therefore, this time should probably be deflated to account for the lack of progress. I probably picked the worst language for compiling for the web, and next time I want to make a web version of anything, I’m going to use a game engine. This just did not work out, and was too much effort to save maybe ~2 seconds of time. I’m sorry that this will cause any reviewers to have to download the game to play it, and to compensate I will be attaching a link to a YouTube video demoing the game either on the readme, on the itch.io page, or both. I feel like a failure for this, but maybe it’s the right choice for my mental health and academic… idk is health also the right word for this situation?"}, {"post_id": 67685, "ts": "2026-09-13T21:11:46Z", "hours": 2.8528, "text": "Devlog #32 (ca5f14e): I changed the theming yet again. I’m not really good at making programs look good, and even when I do, my designs are usually really basic. Yes, it’s inspired by discord. Please tell me how this looks in the comments, I really need feedback. I also finally added a little change in color to some of the buttons when selected, which was the entire reason I decided to rework buttons in the first place. I’ll also attach a beta design that’s more of a retro/terminal aesthetic, but contrasted too much with the cube and letters IMO"}, {"post_id": 66298, "ts": "2026-09-12T01:53:47Z", "hours": 1.1728, "text": "Devlog #31 (6639676): I fixed the code! Essentially, the code was breaking because the hover info for the code was undefined. I fixed it by setting the hover info to the regular button info if the hover info was not defined. Then I ran into another issue, which was that the buttons, upon hover, were being drawn from the center instead of the corner. It was a simple enough fix, I just changed like 2 values to use the calibrated values instead of the center coordinates. And yeah, the only real issue right now is that the text on the board is slightly offcentre, but that’s not really a big issue."}, {"post_id": 65739, "ts": "2026-09-11T02:41:43Z", "hours": 7.9714, "text": "Devlog #30 (b5f8085): The code is now compiling again, thanks to, as much as I hate to admit it, Visual Studio Code. I’m on Linux so I can’t use Visual Studio, CLion is kinda weird and the error messages are broken, and KDevelop doesn’t have a Wakatime/Hackatime plugin yet (maybe it does, but it isn’t in the Hackatime docs) I opened VSCode and was met with like a hundred errors. With a combination of VSCode’s functional error messages, DeepSeek telling me what those messages mean, and my pretty average brain, I managed to remove all the errors. But since I didn’t know how to use makefiles and stuff (still don’t ) I had to compile the program manually again. Apart from the fact that it crashes upon any user mouse input, it’s functional!"}, {"post_id": 63870, "ts": "2026-09-07T21:22:41Z", "hours": 0.4178, "text": "Devlog #29 (57bac36): Guess what I did: a: Made my code work again b: Add new features c: Complete the button rice d: Look up the GitHub Repo for DeepSeek because I got bored and discover how to add badges to my README. I had way to much fun doing this (it was d)"}, {"post_id": 63786, "ts": "2026-09-07T19:01:29Z", "hours": 9.4011, "text": "Devlog #28 (ac77900): I added an entire separate .cpp file for handling buttons because I wasn’t satisfied with how they were working (I love ricing). Yes, it did take 9 hours. I have a skill issue. There are 3 main things I improved on: The buttons are now more customizable, as they now accept JSON files as setup input instead of like only 4 parameters. A function was added to change the button upon hover It’s more organized since the files are separate. (I haven’t actually tested the code out yet, I feel pressured to get the devlog out ASAP)"}, {"post_id": 60009, "ts": "2026-09-02T03:12:55Z", "hours": 1.3197, "text": "Devlog #27 (a1b005f): I highkey have trouble keeping track of what I did between devlogs sometimes, so I’m adding the SHA of the Git commit to devlogs. So I tried to create a dedicated c++ file for handling buttons, since I wanted to have even more control over them, but ran into the issue of not having a way to share variables across different files. I know global variables are kinda bad, but I mean in this scenario they’re like config stuff that isn’t really going to be that harmful… Most of the time was spent creating the button.cpp and button.h files, and they’re not even in GitHub yet lol"}, {"post_id": 59291, "ts": "2026-09-01T00:20:03Z", "hours": 0.7611, "text": "Devlog #26: Pretty short devlog. I added some simple QoL changes: the main menu title is now centered, and the popup and some captions now have a margin around them so they aren’t stuck right on the edge. Also this was technically done a couple of devlogs ago, but I added shell scripts to compile and run the program so I don’t have to type g++ -std=c++17 -Wall -Wextra -Werror -pedantic -o build/tic-tac-cube src/main.cpp src/board.cpp src/bot.cpp src/logs.cpp -lraylib every single time I want to compile the program."}, {"post_id": 58538, "ts": "2026-08-30T23:41:22Z", "hours": 7.5928, "text": "Devlog #25: I tried to make the UI look good. It isn’t necessarily good, but it’s better than it used to be IMO. I just changed the color scheme, and now the text is round and the boxes are rounded. I also reworked the board position display system. Since the squares are just buttons, and the button class can display text, I just made the board display text by itself. For context I wrote the button class to draw and handle buttons. There might be a class for this or something but idc i just wrote it myself like 17 days ago."}, {"post_id": 57061, "ts": "2026-08-29T04:32:35Z", "hours": 7.4608, "text": "(How is it) Devlog #24 (Already): Lowkey, when I started this project I was expecting to take 1 week max, and it was supposed to be like practice for making a more advanced project. I’ve since decided to not make the more advanced project (for now). Now, it’s been more than 2 weeks since I’ve started it, and it’s still in rough shape and probably not ready for release. The UI still sucks, but I added like a popup system for displaying messages, such as telling the user why they won/lost without the win being visible due to the nature of the board being a cube. I was going to make a class to handle all the popups, but I settled for global variables and functions. Probably not the best practice, but it works, and if it ain’t broke don’t fix it. I also added a entire new menu, the help menu. It could probably use some improvements, so if you have anything you’re curious about or confused about, drop a comment. There’s like 8 people that have seen this project, so I’m really expecting anything, but it would be appreciated greatly. I lowkey forgot to add one break statement, so I spent like 30 minutes trying to figure out why it wasn’t working Still, how the hell did this take 7 hours? I swear I’m not inflating my time by any means."}, {"post_id": 56171, "ts": "2026-08-27T20:08:34Z", "hours": 2.4689, "text": "Devlog #23: “Minor” improvements that take like hours to do is literally my entire C++ learning experience so far. This time, I improved the “wild card” function that rotates the cube randomly. Before, it just actually rotated randomly, and now, I changed it to check and make sure that moves it makes does not cause the opponent to win on the very next move. fyi i DO write these devlogs myself without ai, I just literally need Vim keybinds to function as a person and therefore type all the devlogs inside of NeoVim before pasting them into the devlog. felt like writing this after i discovered that the “please write this yourself, humans read it” text at the bottom actually flashes red when you paste text."}, {"post_id": 55363, "ts": "2026-08-27T04:29:07Z", "hours": 3.4486, "text": "Devlog #22: I made the buttons look nicer by centering the text inside of them. It was much harder than it looked and I had to work with “Vector2” in Raylib. I may or may not have spent like half and hour trying to find documentation on it, only for me to discover that it’s a struct inside of Raylib. Still not entirely sure what a struct is. So I may or may not have spent another half and hour trying to declare the struct inside of the main.cpp file, before I finally gave up and asked DeepSeek. Turns out, it’s just Vector2 something{(float)x, (float)y} . It’s not exactly simple if you don’t have much experience with C++, but I started coding in C++ 16 days ago and I understand it just fine. Halfway through, while testing, I accidentally overrode the main file and had to restore it and re-add all the changes I make. I don’t like committing before the program doesn’t have that many bugs, so a lot of progress was lost. This is like the second time I’ve done this, and if you’re curious what I did, well… The command used to compile my program for testing is g++ -std=c++17 -o build/program src/main.cpp src/board.cpp src/bot.cpp src/logs.cpp -lrayib . This compiles the code for all the C++ files and the Raylib library, and creates and executable inside the build/ directory. Except I forgot to type build/program, and so GCC just overrode main.cpp. Honestly though, it didn’t do that much harm, thanks to the test.cpp file having a similar version of code as the code that was overridden, and also git. hackatime isn’t working so i can’t even post this devlog nvm it just worked nvm it broke again honestly this is one of the first times anything has broken in my experience as someone who joined hack club like 3 months ago. im sure everyone involved in fixing this is trying their absolute best."}, {"post_id": 55210, "ts": "2026-08-26T19:20:18Z", "hours": 2.4914, "text": "Devlog #21: I am very very very very bad at debugging code. Somehow I managed to fix the major rendering bug and also make the fork handling better within 2 hours. I don’t believe I’ve mentioned anything about it before, but there was a rendering glitch upon the bot winning the game right after the user has made a cube turn that allowed the bot to win the game. I’m still not sure wy that happened, but I fixed it by re-rendering the entire board before drawing the board position again. If that didn’t make sense to you, it doesn’t make much sense to me either. If it did, well good for you ig. I feel like the fork handling deserves and entire paragraph, so here: I changed the win blocking function to also log the direction that potential win is in, by logging “position 1” of that specific potential win. The possible neutralizing moves of the directional indicator value is then compared against the potential win location neutralizing move to try to find a match. If a match is found, that means that the move is guaranteed to neutralize the given threat. That paragraph did not make much sense, even to me. If you read my code, it’ll probably make more sense, as long as you do not get permanent brain damage from reading the it (I need to learn how to write better code)"}, {"post_id": 54902, "ts": "2026-08-26T03:54:05Z", "hours": 9.4122, "text": "Devlog #20: I abandoned searching for potential forks and stopping them from ever forming in favour of handling forks that have already been formed. After more than one win for the opponent is detected, the bot registers that it is a fork. It then calculates which moves are best to neutralize the threat. There are four ways for each single win to be neutralized, so I need to make one of these four moves, for each of the two cases. In some cases, one or more of the moves overlap, in which case the overlapped move will be immediately returned, but most of the time, the bot just picks from one of the 8 possible neutralization moves randomly. This is definitely less efficient than just figuring out how to prevent forks from ever forming, but I mean it’s a good implementation for the cube part of this game. (Sometimes it messes up and I just win instantly)"}, {"post_id": 54048, "ts": "2026-08-24T20:12:14Z", "hours": 5.1683, "text": "Devlog #19: In an effort to procrastinate fixing the bot fork bug while still doing something useful, I 1) took a 2 day break from this project to work (and ship) something else, and 2) fixed a very annoying bug where the user would be X every single time. I solved the issue by switching from older, more C-like rand() from cstdlib to the more modern #include <random> . I highkey copied the code from Stack Overflow , but at least it’s better than relying on AI. That solved like half of the problem, but then I discovered that I wasn’t actually resetting the board properly when manually exiting a game, since I was looking through the logs. I made the logs are procrastination, but they’re actually really nice. In case you were wondering btw, most of the time logged in this devlog was spent on trying to fix the fork bug, but I’ll make a dedicated devlog only when I’ve actually fixed the bug."}, {"post_id": 52065, "ts": "2026-08-22T03:58:57Z", "hours": 3.9525, "text": "Devlog #18: I worked on the logs even more, and now they are in separate files. You wouldn’t believe the amount of time this took me. Evidently, I’m not a very good C++ dev, and when I was searching on Stack Overflow and other sites, I kept running into things I don’t understand like & , auto , and probably many others. So of course, I resorted to coding my own functions at the most low level C++ possible without actually being totally backwards compatible with C. Essentially, every time the game starts, function runs that tries to generate a log file with the current time. There is a theoretically possible edge case where the user opens the project more than once in a single second, so I added some code to make absolute sure not to override any existing files. That took me like at least 15 minutes to half and hour, for an edge case that probably can only happen in testing, and that will not actually affect the game at all. Yay, what great decision making skills. I still haven’t fixed the fork detection and response function, but at least I can now have a way to find out what is going wrong. The only progress with finding out what is wrong is just narrowing the error location down to the function where I already knew there was going to be an error. Yay."}, {"post_id": 51891, "ts": "2026-08-21T19:50:23Z", "hours": 2.0631, "text": "Devlog #17: Guess what I did today: a) fixed the fork, b) optimized UI, c) hunted bugs, or d) added a random new c++ file for the sole purpose of logging information because I don’t want to use an IDE or configure NeoVim. The answer, of course, is D. I really need a way to figure out what is happening inside my code. Even though I wrote the code, it’s still kinda a black box to me, so I need to have some logs to figure out why the program is not working as expected. I have yet to actually implement the function or add out a way to have different logs files for different sessions though, I’m doing that next."}, {"post_id": 51427, "ts": "2026-08-21T03:58:41Z", "hours": 8.3636, "text": "Devlog #16: I added creating and defending against forks. One of my previous projects, Gomoku Balanced, had some decent defense and offense, which was even able to beat some people, according to the reviews on my ship. The one thing it was missing was the ability to detect potential forks and combat them, which was why I was able to beat it almost every single time. This bot, however, will not be the same. Mostly because the board is kinda small. I literally just added every single possibility of a fork to the to the bot. I just got notified that I have like 8 hours without a devlog, and since I am horrible at coding, the bot function I’m working on isn’t even working yet. I’m also just not getting it done within 2 hours. The function is supposed to block the fork, but it doesn’t work for some reason. DeepSeek (AI) gave me a list of 20 reasons it’s breaking, but I’m not about to blindly trust AI. I mean it doesn’t raise any errors, so that’s good. For me at least, I spend a lot of time just trying to get the code to compile properly. And in this case, even when the code compiles, half the time it just runs into a runtime error and crashes. The bot crashed like 20 times. They were all runtime errors, and I use C++, so I have absolutely no idea where the error occurs. Also, I want to be different, and therefore I use NeoVim, and since I don’t want to spend time that I could be building actually good projects for Stardance in the time it takes to configure NeoVim, and therefore I can’t see any warnings or errors. I did try using CLion and VSCode, but CLion takes up a lot of RAM and VSCode is made by Microsoft (and VSCodium and Code OSS don’t have that many plugins). Also, when I was using CLion, the errors didn’t really appear… and CLion also does a bunch of stuff and creates a bunch of mysterious files. I don’t really like doing stuff without knowing what they do, so I just ditched CLion altogether. Did I seriously go on a paragraph-long rant about how using NeoVim leads to not being able to know why my code sucks? Is the paragraph-long rant in question also probably longer than the entire rest of the devlog? (Yes and yes); Anyway you still can’t tell that I made any changes to the bot from a single screenshot, so I’m just going to attach one of my old ones."}, {"post_id": 50705, "ts": "2026-08-20T01:11:16Z", "hours": 2.1453, "text": "Devlog #15: I updated the bot to give it two of the most important features: winning the game, and trying to prevent your opponent from winning. This was done by saving every single possible way to have a two-in-a-row on the board, connected and disconnected, 24 possible combinations in total. And of course, because I’m not experienced enough to do it any other way, it was all written by hand. And since I don’t like using AI, and don’t really trust it, I wrote all of it myself, and used only used AI to check that I didn’t mess something up. Now how the hell do I make it detect forks…."}, {"post_id": 50618, "ts": "2026-08-19T20:57:50Z", "hours": 6.43, "text": "Devlog #14: In search of a better way to make a bot, I went on the world’s most reliable website: Wikipedia - and struck gold. The page on tic-tac-toe contains a strategy section, containing the optimal strategy that always leads to a draw. Of course, my game isn’t actually the same as Vanilla tic-tac-toe, so the player will probably still win most of the time. I haven’t actually implemented most of the rules, only the last few that are the least important. In my defense, they were the easiest to make. I did kinda struggle with the bot trying to mark a place that already has been placed, and it took like half and hour for me to figure that out. IDK what I should do for the screenshot, you can’t really tell that I changed anything."}, {"post_id": 49910, "ts": "2026-08-18T21:29:42Z", "hours": 6.7939, "text": "Devlog 13: I spent like 6 hours making the bot, and it’s absolutely stupid. I made two ways to get a move: scanning for 2-in-a-rows, and placing randomly. Even though the 2-in-a-row scan runs first, it still only plays randomly. As of right now, the bot has never won a single game against me and is always O for some reason. I probably messed up the setup code. but at least i made something that are somewhat functional….. (I was writing this devlog and trying to get a screenshot of the game, and somehow it actually worked and blocked my move somehow, IDK if it was a coincidence)"}, {"post_id": 49267, "ts": "2026-08-17T23:33:01Z", "hours": 2.055, "text": "Devlog #12: So I was going to implement the singleplayer mode, but turns out there was still a bunch of bugs and inconveniences that took me upwards of an hour to fix. Also, I lowkey put a break statement somewhere I shouldn’t have, and got the programming equivalent of a short-circuit. In the end, it did work fine, and now I actually will build the bot and singleplayer mode."}, {"post_id": 49122, "ts": "2026-08-17T19:10:00Z", "hours": 7.9347, "text": "Devlog #11: I was going to make a singleplayer mode for the game, but somewhere along the way I kinda messed my code up a lot, and had to undo nearly 6 hours of changes since the last devlog. I then spent like an hour fixing bugs and trying to organize code, mostly by moving code that could/should be reused. I’m going to start writing more functional code for singleplayer now :) Also I switched from Vim to NeoVim in case you care, and since not a lot of changes were actually implemented, Imma just attach a screenshot of a file opened in NVim"}, {"post_id": 48239, "ts": "2026-08-16T15:21:39Z", "hours": 1.3433, "text": "Devlog #10: I added an endscreen to the game. Before, when you won the game or lost the game, it would just go back to the main menu. Now, it displays a message according to which side won the game, and pauses for exactly one seconds before exiting back to the main menu. It probably still can be confusing since there’s no indication of where in the board the sequence that won the game is, and there is still a possibility that a cube rotation wins the game off the board, and I have no idea how to make more clear to the user what happened to win the game."}, {"post_id": 47846, "ts": "2026-08-16T02:15:52Z", "hours": 2.4331, "text": "Devlog #9: I added colors to the game. Colors are a crucial part in Rubik’s cubes, so it just makes sense to add it to this game, yknow. I basically just copied the code that rotates the board positions that I had to spend like 6 hours coding , and made it work with colors. Not actually that hard, but still almost made me go insane with how much mindless typing I had to do. It’s funny that when I am stuggling with things like using my brain and fixing broken code , I would like nothing more than some mindless coding, but now that I actually am doing this stuff, I am just wanting to do anything but. UI still looks ugly as hell, need to improve that later."}, {"post_id": 47741, "ts": "2026-08-15T21:13:06Z", "hours": 2.4297, "text": "Devlog 8: You can finally actually interact with the GUI. You can click the red squares to place an X or an O, or click on one of the white squares to rotate the cube. It’s kinda bad right now, and if you click one of the cube rotation things longer than 33 milliseconds, it will move several times. I mean, it’s good enough, I guess, apart from the fact that it looks… (I don’t know enough english to come up with a word that’s good enough, and my english grade in school is 95%)"}, {"post_id": 47618, "ts": "2026-08-15T16:56:17Z", "hours": 6.0747, "text": "Devlog #7: I got the GUI working for the game. I mean, technically, to be a GUI you have to be able to interact with it, and in it’s current state, uh you can’t really do anything and you’re just stuck there forever. I mean unless you decide to close the game window or press escape (which closes the game window). Ideally, I would like for the escape key to not close the window, but whatever at this stage it really does not matter. List of stuff I need to do: Make it so that the user can actually interact with the game. Make a bot or something Make the UI nicer Put in on Itch.io this actually looks kinda intimidating. what have i gotten myself in to"}, {"post_id": 46675, "ts": "2026-08-14T03:38:13Z", "hours": 4.9258, "text": "Devlog #6: I got a working GUI for the main menu! This is my first GUI that is actually like usable, but since the actual gameplay doesn’t have a GUI yet, it does nothing except closing when the exit button is pressed. I made the UI with Raylib, and apart from the occasional existential crisis, everything went pretty well. now how the hell do i make the actual game ui"}, {"post_id": 46051, "ts": "2026-08-12T23:59:49Z", "hours": 2.4667, "text": "Devlog #5: I added a main menu to the game. It’s still only Text UI, so it may not make sense why it took so long, but I moved all the functions inside a class, make a header file so that the class can be accessed in other C++ files, discovered that it doesn’t work, had an hour long conversation with deepseek about why this didn’t work, and finally got it working- just to implement one feature that would’ve taken like 5 minutes had I just made everything in one file. At least it’s going to be organized for when I add the GUI or other features."}, {"post_id": 45916, "ts": "2026-08-12T18:06:02Z", "hours": 3.4297, "text": "Devlog #4: You can now actually win the game! I wrote a function that scans all the possible ways to win on every face, with amounts to 6x8=48 possible combinations. So there’s a chance that you rotate a face of the cube, and win or lose instantly due to the face you rotated to already having like 2 in a row. Now, I just need to make the GUI, not sure how I’m even going to implement it. I know 2 of the options are Raylib and SDL2, but I honestly have no idea which one to pick."}, {"post_id": 44963, "ts": "2026-08-11T02:19:30Z", "hours": 3.5108, "text": "Devlog #3: I made the cube turning mechanic. Although I have made programs like this before (like my CubeTrainer ), I struggled a lot with making the code, especially the Z function, and the two functions that depend on it, L and R. This was entirely human error and typos though, and not really like intellectually challenging. So I added the ability to turn the cube finally. Most of the main features of the game are done now, I just need a GUI, main menu, bot, and… lowkey ran out of ideas so yeah. To be very honest, my experiences with GUIs in C++ is limited to drawing a single dot in sdl2, and that took me 3 hours to do. And I lowkey cannot find any tutorials on SDL2 that can satisfy my attention span. I am very much someone that learns by doing, and most SDL2 tutorials I found just tell me to copy and paste code word for word."}, {"post_id": 44443, "ts": "2026-08-10T06:12:06Z", "hours": 3.8533, "text": "Devlog #2: This is like my 3rd day of serious C++ coding, and I’ve already build a functional version of tic-tac-toe. That wasn’t really supposed to be impressive, but I am kinda surprised I managed to pull this off so quickly (by my standards, for context it took me like 3 year to make an actually decent Python project). So yeah, I made tic-tac-toe. So far it only works in the terminal as I have no idea how to make a functional GUI in C++. There are also safeguards in place to prevent placing where it’s already marked or out of bounds. I still need to implement rotating the cube, but that can’t be that hard…."}, {"post_id": 44282, "ts": "2026-08-09T22:49:28Z", "hours": 2.3694, "text": "Devlog #1: I suck at C++, so I decided to make tic-tac-toe on the different faces on a Rubik’s cube. Right now the program just prints out the default position (all blank), and you can’t change it or anything. Yes, this took me two hours. There were a lot of bugs and I have almost never used C++ before (I had to google how to output text like twice)"}]...
|
Title: Tic-Tac-Cube by @EthanCubes | Stardance
De Title: Tic-Tac-Cube by @EthanCubes | Stardance
Devlogs:
Devlog #1: I suck at C++, so I decided to make tic-tac-toe on the different faces on a Rubik’s cube. Right now the program just prints out the default position (all blank), and you can’t change it or anything. Yes, this took me two hours. There were a lot of bugs and I have almost never used C++ before (I had to google how to output text like twice)
Devlog #2: This is like my 3rd day of serious C++ coding, and I’ve already build a functional version of tic-tac-toe. That wasn’t really supposed to be impressive, but I am kinda surprised I managed to pull this off so quickly (by my standards, for context it took me like 3 year to make an actually decent Python project). So yeah, I made tic-tac-toe. So far it only works in the terminal as I have no idea how to make a functional GUI in C++. There are also safeguards in place to prevent placing where it’s already marked or out of bounds. I still need to implement rotating the cube, but that can’t be that hard….
Devlog #3: I made the cube turning mechanic. Although I have made programs like this before (like my CubeTrainer ), I struggled a lot with making the code, especially the Z function, and the two functions that depend on it, L and R. This was entirely human error and typos though, and not really like intellectually challenging. So I added the ability to turn the cube finally. Most of the main features of the game are done now, I just need a GUI, main menu, bot, and… lowkey ran out of ideas so yeah. To be very honest, my experiences with GUIs in C++ is limited to drawing a single dot in sdl2, and that took me 3 hours to do. And I lowkey cannot find any tutorials on SDL2 that can satisfy my attention span. I am very much someone that learns by doing, and most SDL2 tutorials I found just tell me to copy and paste code word for word.
Devlog #4: You can now actually win the game! I wrote a function that scans all the possible ways to win on every face, with amounts to 6x8=48 possible combinations. So there’s a chance that you rotate a face of the cube, and win or lose instantly due to the face you rotated to already having like 2 in a row. Now, I just need to make the GUI, not sure how I’m even going to implement it. I know 2 of the options are Raylib and SDL2, but I honestly have no idea which one to pick.
Devlog #5: I added a main menu to the game. It’s still only Text UI, so it may not make sense why it took so long, but I moved all the functions inside a class, make a header file so that the class can be accessed in other C++ files, discovered that it doesn’t work, had an hour long conversation with deepseek about why this didn’t work, and finally got it working- just to implement one feature that would’ve taken like 5 minutes had I just made everything in one file. At least it’s going to be organized for when I add the GUI or other features.
Devlog #6: I got a working GUI for the main menu! This is my first GUI that is actually like usable, but since the actual gameplay doesn’t have a GUI yet, it does nothing except closing when the exit button is pressed. I made the UI with Raylib, and apart from the occasional existential crisis, everything went pretty well. now how the hell do i make the actual game ui
Devlog #7: I got the GUI working for the game. I mean, technically, to be a GUI you have to be able to interact with it, and in it’s current state, uh you can’t really do anything and you’re just stuck there forever. I mean unless you decide to close the game window or press escape (which closes the game window). Ideally, I would like for the escape key to not close the window, but whatever at this stage it really does not matter. List of stuff I need to do: Make it so that the user can actually interact with the game. Make a bot or something Make the UI nicer Put in on Itch.io this actually looks kinda intimidating. what have i gotten myself in to
Devlog 8: You can finally actually interact with the GUI. You can click the red squares to place an X or an O, or click on one of the white squares to rotate the cube. It’s kinda bad right now, and if you click one of the cube rotation things longer than 33 milliseconds, it will move several times. I mean, it’s good enough, I guess, apart from the fact that it looks… (I don’t know enough english to come up with a word that’s good enough, and my english grade in school is 95%)
Devlog #9: I added colors to the game. Colors are a crucial part in Rubik’s cubes, so it just makes sense to add it to this game, yknow. I basically just copied the code that rotates the board positions that I had to spend like 6 hours coding , and made it work with colors. Not actually that hard, but still almost made me go insane with how much mindless typing I had to do. It’s funny that when I am stuggling with things like using my brain and fixing broken code , I would like nothing more than some mindless coding, but now that I actually am doing this stuff, I am just wanting to do anything but. UI still looks ugly as hell, need to improve that later.
Devlog #10: I added an endscreen to the game. Before, when you won the game or lost the game, it would just go back to the main menu. Now, it displays a message according to which side won the game, and pauses for exactly one seconds before exiting back to the main menu. It probably still can be confusing since there’s no indication of where in the board the sequence that won the game is, and there is still a possibility that a cube rotation wins the game off the board, and I have no idea how to make more clear to the user what happened to win the game.
Devlog #11: I was going to make a singleplayer mode for the game, but somewhere along the way I kinda messed my code up a lot, and had to undo nearly 6 hours of changes since the last devlog. I then spent like an hour fixing bugs and trying to organize code, mostly by moving code that could/should be reused. I’m going to start writing more functional code for singleplayer now :) Also I switched from Vim to NeoVim in case you care, and since not a lot of changes were actually implemented, Imma just attach a screenshot of a file opened in NVim
Devlog #12: So I was going to implement the singleplayer mode, but turns out there was still a bunch of bugs and inconveniences that took me upwards of an hour to fix. Also, I lowkey put a break statement somewhere I shouldn’t have, and got the programming equivalent of a short-circuit. In the end, it did work fine, and now I actually will build the bot and singleplayer mode.
Devlog 13: I spent like 6 hours making the bot, and it’s absolutely stupid. I made two ways to get a move: scanning for 2-in-a-rows, and placing randomly. Even though the 2-in-a-row scan runs first, it still only plays randomly. As of right now, the bot has never won a single game against me and is always O for some reason. I probably messed up the setup code. but at least i made something that are somewhat functional….. (I was writing this devlog and trying to get a screenshot of the game, and somehow it actually worked and blocked my move somehow, IDK if it was a coincidence)
Devlog #14: In search of a better way to make a bot, I went on the world’s most reliable website: Wikipedia - and struck gold. The page on tic-tac-toe contains a strategy section, containing the optimal strategy that always leads to a draw. Of course, my game isn’t actually the same as Vanilla tic-tac-toe, so the player will probably still win most of the time. I haven’t actually implemented most of the rules, only the last few that are the least important. In my defense, they were the easiest to make. I did kinda struggle with the bot trying to mark a place that already has been placed, and it took like half and hour for me to figure that out. IDK what I should do for the screenshot, you can’t really tell that I changed anything.
Devlog #15: I updated the bot to give it two of the most important features: winning the game, and trying to prevent your opponent from winning. This was done by saving every single possible way to have a two-in-a-row on the board, connected and disconnected, 24 possible combinations in total. And of course, because I’m not experienced enough to do it any other way, it was all written by hand. And since I don’t like using AI, and don’t really trust it, I wrote all of it myself, and used only used AI to check that I didn’t mess something up. Now how the hell do I make it detect forks….
Devlog #16: I added creating and defending against forks. One of my previous projects, Gomoku Balanced, had some decent defense and offense, which was even able to beat some people, according to the reviews on my ship. The one thing it was missing was the ability to detect potential forks and combat them, which was why I was able to beat it almost every single time. This bot, however, will not be the same. Mostly because the board is kinda small. I literally just added every single possibility of a fork to the to the bot. I just got notified that I have like 8 hours without a devlog, and since I am horrible at coding, the bot function I’m working on isn’t even working yet. I’m also just not getting it done within 2 hours. The function is supposed to block the fork, but it doesn’t work for some reason. DeepSeek (AI) gave me a list of 20 reasons it’s breaking, but I’m not about to blindly trust AI. I mean it doesn’t raise any errors, so that’s good. For me at least, I spend a lot of time just trying to get the code to compile properly. And in this case, even when the code compiles, half the time it just runs into a runtime error and crashes. The bot crashed like 20 times. They were all runtime errors, and I use C++, so I have absolutely no idea where the error occurs. Also, I want to be different, and therefore I use NeoVim, and since I don’t want to spend time that I could be building actually good projects for Stardance in the time it takes to configure NeoVim, and therefore I can’t see any warnings or errors. I did try using CLion and VSCode, but CLion takes up a lot of RAM and VSCode is made by Microsoft (and VSCodium and Code OSS don’t have that many plugins). Also, when I was using CLion, the errors didn’t really appear… and CLion also does a bunch of stuff and creates a bunch of mysterious files. I don’t really like doing stuff without knowing what they do, so I just ditched CLion altogether. Did I seriously go on a paragraph-long rant about how using NeoVim leads to not being able to know why my code sucks? Is the paragraph-long rant in question also probably longer than the entire rest of the devlog? (Yes and yes); Anyway you still can’t tell that I made any changes to the bot from a single screenshot, so I’m just going to attach one of my old ones.
Devlog #17: Guess what I did today: a) fixed the fork, b) optimized UI, c) hunted bugs, or d) added a random new c++ file for the sole purpose of logging information because I don’t want to use an IDE or configure NeoVim. The answer, of course, is D. I really need a way to figure out what is happening inside my code. Even though I wrote the code, it’s still kinda a black box to me, so I need to have some logs to figure out why the program is not working as expected. I have yet to actually implement the function or add out a way to have different logs files for different sessions though, I’m doing that next.
Devlog #18: I worked on the logs even more, and now they are in separate files. You wouldn’t believe the amount of time this took me. Evidently, I’m not a very good C++ dev, and when I was searching on Stack Overflow and other sites, I kept running into things I don’t understand like & , auto , and probably many others. So of course, I resorted to coding my own functions at the most low level C++ possible without actually being totally backwards compatible with C. Essentially, every time the game starts, function runs that tries to generate a log file with the current time. There is a theoretically possible edge case where the user opens the project more than once in a single second, so I added some code to make absolute sure not to override any existing files. That took me like at least 15 minutes to half and hour, for an edge case that probably can only happen in testing, and that will not actually affect the game at all. Yay, what great decision making skills. I still haven’t fixed the fork detection and response function, but at least I can now have a way to find out what is going wrong. The only progress with finding out what is wrong is just narrowing the error location down to the function where I already knew there was going to be an error. Yay.
Devlog #19: In an effort to procrastinate fixing the bot fork bug while still doing something useful, I 1) took a 2 day break from this project to work (and ship) something else, and 2) fixed a very annoying bug where the user would be X every single time. I solved the issue by switching from older, more C-like rand() from cstdlib to the more modern #include <random> . I highkey copied the code from Stack Overflow , but at least it’s better than relying on AI. That solved like half of the problem, but then I discovered that I wasn’t actually resetting the board properly when manually exiting a game, since I was looking through the logs. I made the logs are procrastination, but they’re actually really nice. In case you were wondering btw, most of the time logged in this devlog was spent on trying to fix the fork bug, but I’ll make a dedicated devlog only when I’ve actually fixed the bug.
Devlog #20: I abandoned searching for potential forks and stopping them from ever forming in favour of handling forks that have already been formed. After more than one win for the opponent is detected, the bot registers that it is a fork. It then calculates which moves are best to neutralize the threat. There are four ways for each single win to be neutralized, so I need to make one of these four moves, for each of the two cases. In some cases, one or more of the moves overlap, in which case the overlapped move will be immediately returned, but most of the time, the bot just picks from one of the 8 possible neutralization moves randomly. This is definitely less efficient than just figuring out how to prevent forks from ever forming, but I mean it’s a good implementation for the cube part of this game. (Sometimes it messes up and I just win instantly)
Devlog #21: I am very very very very bad at debugging code. Somehow I managed to fix the major rendering bug and also make the fork handling better within 2 hours. I don’t believe I’ve mentioned anything about it before, but there was a rendering glitch upon the bot winning the game right after the user has made a cube turn that allowed the bot to win the game. I’m still not sure wy that happened, but I fixed it by re-rendering the entire board before drawing the board position again. If that didn’t make sense to you, it doesn’t make much sense to me either. If it did, well good for you ig. I feel like the fork handling deserves and entire paragraph, so here: I changed the win blocking function to also log the direction that potential win is in, by logging “position 1” of that specific potential win. The possible neutralizing moves of the directional indicator value is then compared against the potential win location neutralizing move to try to find a match. If a match is found, that means that the move is guaranteed to neutralize the given threat. That paragraph did not make much sense, even to me. If you read my code, it’ll probably make more sense, as long as you do not get permanent brain damage from reading the it (I need to learn how to write better code)
Devlog #22: I made the buttons look nicer by centering the text inside of them. It was much harder than it looked and I had to work with “Vector2” in Raylib. I may or may not have spent like half and hour trying to find documentation on it, only for me to discover that it’s a struct inside of Raylib. Still not entirely sure what a struct is. So I may or may not have spent another half and hour trying to declare the struct inside of the main.cpp file, before I finally gave up and asked DeepSeek. Turns out, it’s just Vector2 something{(float)x, (float)y} . It’s not exactly simple if you don’t have much experience with C++, but I started coding in C++ 16 days ago and I understand it just fine. Halfway through, while testing, I accidentally overrode the main file and had to restore it and re-add all the changes I make. I don’t like committing before the program doesn’t have that many bugs, so a lot of progress was lost. This is like the second time I’ve done this, and if you’re curious what I did, well… The command used to compile my program for testing is g++ -std=c++17 -o build/program src/main.cpp src/board.cpp src/bot.cpp src/logs.cpp -lrayib . This compiles the code for all the C++ files and the Raylib library, and creates and executable inside the build/ directory. Except I forgot to type build/program, and so GCC just overrode main.cpp. Honestly though, it didn’t do that much harm, thanks to the test.cpp file having a similar version of code as the code that was overridden, and also git. hackatime isn’t working so i can’t even post this devlog nvm it just worked nvm it broke again honestly this is one of the first times anything has broken in my experience as someone who joined hack club like 3 months ago. im sure everyone involved in fixing this is trying their absolute best.
Devlog #23: “Minor” improvements that take like hours to do is literally my entire C++ learning experience so far. This time, I improved the “wild card” function that rotates the cube randomly. Before, it just actually rotated randomly, and now, I changed it to check and make sure that moves it makes does not cause the opponent to win on the very next move. fyi i DO write these devlogs myself without ai, I just literally need Vim keybinds to function as a person and therefore type all the devlogs inside of NeoVim before pasting them into the devlog. felt like writing this after i discovered that the “please write this yourself, humans read it” text at the bottom actually flashes red when you paste text.
(How is it) Devlog #24 (Already): Lowkey, when I started this project I was expecting to take 1 week max, and it was supposed to be like practice for making a more advanced project. I’ve since decided to not make the more advanced project (for now). Now, it’s been more than 2 weeks since I’ve started it, and it’s still in rough shape and probably not ready for release. The UI still sucks, but I added like a popup system for displaying messages, such as telling the user why they won/lost without the win being visible due to the nature of the board being a cube. I was going to make a class to handle all the popups, but I settled for global variables and functions. Probably not the best practice, but it works, and if it ain’t broke don’t fix it. I also added a entire new menu, the help menu. It could probably use some improvements, so if you have anything you’re curious about or confused about, drop a comment. There’s like 8 people that have seen this project, so I’m really expecting anything, but it would be appreciated greatly. I lowkey forgot to add one break statement, so I spent like 30 minutes trying to figure out why it wasn’t working Still, how the hell did this take 7 hours? I swear I’m not inflating my time by any means.
Devlog #25: I tried to make the UI look good. It isn’t necessarily good, but it’s better than it used to be IMO. I just changed the color scheme, and now the text is round and the boxes are rounded. I also reworked the board position display system. Since the squares are just buttons, and the button class can display text, I just made the board display text by itself. For context I wrote the button class to draw and handle buttons. There might be a class for this or something but idc i just wrote it myself like 17 days ago.
Devlog #26: Pretty short devlog. I added some simple QoL changes: the main menu title is now centered, and the popup and some captions now have a margin around them so they aren’t stuck right on the edge. Also this was technically done a couple of devlogs ago, but I added shell scripts to compile and run the program so I don’t have to type g++ -std=c++17 -Wall -Wextra -Werror -pedantic -o build/tic-tac-cube src/main.cpp src/board.cpp src/bot.cpp src/logs.cpp -lraylib every single time I want to compile the program.
Devlog #27 (a1b005f): I highkey have trouble keeping track of what I did between devlogs sometimes, so I’m adding the SHA of the Git commit to devlogs. So I tried to create a dedicated c++ file for handling buttons, since I wanted to have even more control over them, but ran into the issue of not having a way to share variables across different files. I know global variables are kinda bad, but I mean in this scenario they’re like config stuff that isn’t really going to be that harmful… Most of the time was spent creating the button.cpp and button.h files, and they’re not even in GitHub yet lol
Devlog #28 (ac77900): I added an entire separate .cpp file for handling buttons because I wasn’t satisfied with how they were working (I love ricing). Yes, it did take 9 hours. I have a skill issue. There are 3 main things I improved on: The buttons are now more customizable, as they now accept JSON files as setup input instead of like only 4 parameters. A function was added to change the button upon hover It’s more organized since the files are separate. (I haven’t actually tested the code out yet, I feel pressured to get the devlog out ASAP)
Devlog #29 (57bac36): Guess what I did: a: Made my code work again b: Add new features c: Complete the button rice d: Look up the GitHub Repo for DeepSeek because I got bored and discover how to add badges to my README. I had way to much fun doing this (it was d)
Devlog #30 (b5f8085): The code is now compiling again, thanks to, as much as I hate to admit it, Visual Studio Code. I’m on Linux so I can’t use Visual Studio, CLion is kinda weird and the error messages are broken, and KDevelop doesn’t have a Wakatime/Hackatime plugin yet (maybe it does, but it isn’t in the Hackatime docs) I opened VSCode and was met with like a hundred errors. With a combination of VSCode’s functional error messages, DeepSeek telling me what those messages mean, and my pretty average brain, I managed to remove all the errors. But since I didn’t know how to use makefiles and stuff (still don’t ) I had to compile the program manually again. Apart from the fact that it crashes upon any user mouse input, it’s functional!
Devlog #31 (6639676): I fixed the code! Essentially, the code was breaking because the hover info for the code was undefined. I fixed it by setting the hover info to the regular button info if the hover info was not defined. Then I ran into another issue, which was that the buttons, upon hover, were being drawn from the center instead of the corner. It was a simple enough fix, I just changed like 2 values to use the calibrated values instead of the center coordinates. And yeah, the only real issue right now is that the text on the board is slightly offcentre, but that’s not really a big issue.
Devlog #32 (ca5f14e): I changed the theming yet again. I’m not really good at making programs look good, and even when I do, my designs are usually really basic. Yes, it’s inspired by discord. Please tell me how this looks in the comments, I really need feedback. I also finally added a little change in color to some of the buttons when selected, which was the entire reason I decided to rework buttons in the first place. I’ll also attach a beta design that’s more of a retro/terminal aesthetic, but contrasted too much with the cube and letters IMO
Devlog #33 (d16d3b8): This time was used for trying to make the project work for webassembly, which i have decided to abandon. Therefore, this time should probably be deflated to account for the lack of progress. I probably picked the worst language for compiling for the web, and next time I want to make a web version of anything, I’m going to use a game engine. This just did not work out, and was too much effort to save maybe ~2 seconds of time. I’m sorry that this will cause any reviewers to have to download the game to play it, and to compensate I will be attaching a link to a YouTube video demoing the game either on the readme, on the itch.io page, or both. I feel like a failure for this, but maybe it’s the right choice for my mental health and academic… idk is health also the right word for this situation?
Devlog #34 (4eec49b): I changed the font! And also updated the README. Fonts in raylib are REALLY hard. Since I’m using multiple different font sizes, the scaling is really screwed up and blurry sometimes. When I was trying to add the custom font, I may or may not have… lagged out my computer and had to restart. as for the readme upgrade, i added instructions to play i also removed some semicolons. took me like half and hour
Devlog #35 (b48efd0): I fixed most of the font scaling issues, and also updated the README at bit (as always). I did this by loading the same font 3 times, once at 20 font size, once at 40, and once at 80. I changed the code to use a either the 20, 40, or 80 version of the font according to the font size to make the text look smoother.
Devlog #36 (fcc4f2f): I made the first gameplay change in a while, and also changed the theming a bit more. The gameplay changes I noticed that the game was getting a bit… repetitive, so I changed the bot to have an element of randomness when there are multiple spots that provide similar advantage. This took me a long time, because my code is spaghetti, and also because random in JavaScript is so much better than in C++ The visual changes I changed the theming of the game because I didn’t think the discord-esque style looked very good. Now, it’s changed to match the “Arch” theme on Monkeytype. I also changed the font to Roboto Mono since that’s what my configuration of Monkeytype uses. Stuff to do Compile this for Windows and Mac, put this on Itch.io. Ship the project
Devlog #37 (8b55316): I made a web build for the game! I took a break from Stardance to make something for Out to C, and when I was making a C game with Raylib I discovered that it is extremely hard to make a downloadable executable run well on Windows or MacOS, because on Windows you have to include DLL files, and on MacOS it’s just harder to install Raylib. In the end, I ended up making a web build, and since I wasn’t so bad, I decided to make a web build for this. I used Emscripten, and using the em++ tool with the asyncify option, manage to get most of the game logic working, with only one small frame generation bug, which I fixed by changing this_thread::sleep for to something that is easier for the browser to render. I also made some other QoL changes so that the bot feels less stagnant, hopefully.
Devlog #38 (25c796f): the beans aren’t going to know what hit them (regarding my 145 hours waiting to be shipped) I made a couple of changes, such as improving the readme and disabling the exit button, greying it out and making so that it can’t be pressed. For context, the game can only run on the web, and the exit button just doesn’t do anything useful on the web. I also customized the itch.io page (which hasn’t been released yet but you can access it here via secret url). It looks kinda decent (i just copied the game’s color scheme)
Final Devlog Before Ship I’m done stalling. Every time I’ve shipped a project for Stardance, I’ve stalled for like a week trying to make sure it’s good enough. This time, I’ve stalled for more than a month. I’ve even shipped 2 separate projects to different Hack Club events in the time that this project has technically been “good enough”. Essentially, I just worked on the README a bit more. I did manage to fix a few errors. For example, I had a few spelling and grammar errors. I also added a bit more detail to the readme.
Ships:
I made a tic-tac-cube game where you can rotate the board like a Rubik’s cube! It was made in C++ with Raylib without a game engine, and only uses 2 libraries, Raylib, and Nlohmann-JSON. I’m really proud of the way I coded the entire GUI, buttons, board, and bot. Features Tic-Tac-Toe game on a Rubik’s cube Singleplayer mode against computer Local multiplayer against another player (or yourself) Main menu & help page. I coded the bot to be somewhat intelligent, and will actively try to block your attacks and create it’s own ones. It can turn the cube just like you, and will rotate the cube to get out of a pickle. This is my first C++ project, and my first experience with languages that have to be compiled before running. It was honestly really fun to make. I put a LOT of effort into this game, over 140 hours....
|
1793818125.4763904
|
1793904525.4763904
|
|
38645
|
Untitled project by @safniahamed50 | Stardance
|
safniahamed50
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @safniahamed50 | Starda Title: Untitled project by @safniahamed50 | Stardance...
|
1793299724.7773306
|
1793904524.7773306
|
|
8165
|
MiniDaily Planner by @gammoudi_mouadh_6704 | Stard MiniDaily Planner by @gammoudi_mouadh_6704 | Stardance...
|
gammoudi_mouadh_6704
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: MiniDaily Planner by @gammoudi_mouadh_6704 Title: MiniDaily Planner by @gammoudi_mouadh_6704 | Stardance...
|
1793299723.8699381
|
1793904523.8699381
|
|
20726
|
Untitled project by @diyakachhawaha79 | Stardance
|
diyakachhawaha79
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @diyakachhawaha79 | Sta Title: Untitled project by @diyakachhawaha79 | Stardance...
|
1793299721.3629053
|
1793904521.3629053
|
|
69970
|
uselessshitidoforfun by @geg | Stardance
|
geg
|
1
|
20.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-22T23:54:08Z", "hours": 20.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "its a lot of stuff, like basically stuff i code when i have nothing to do. this took SO LONG i cant post a screenshot, as there are like 7 things in there. go check out the repo and maybe try them for yourself?", "repo": "https://github.com/greg-webdev/useless-shit-i-do-for-fun/", "demo": "https://greg-webdev.github.io/useless-shit-i-do-for-fun/"}]...
|
[{"post_id": 81910, "ts": "202 [{"post_id": 81910, "ts": "2026-10-22T23:39:45Z", "hours": 9.4431, "text": "i made casio apps to play games on my calculator!!!"}, {"post_id": 81454, "ts": "2026-10-21T10:41:07Z", "hours": 3.1789, "text": "i have done something."}, {"post_id": 80667, "ts": "2026-10-18T13:13:07Z", "hours": 2.0983, "text": "idk some stuff"}, {"post_id": 80083, "ts": "2026-10-16T05:46:35Z", "hours": 0.2744, "text": "made file copier for vscode extentiom"}, {"post_id": 80075, "ts": "2026-10-16T05:13:54Z", "hours": 4.7389, "text": "fixing mod"}]...
|
Title: uselessshitidoforfun by @geg | Stardance
D Title: uselessshitidoforfun by @geg | Stardance
Devlogs:
fixing mod
made file copier for vscode extentiom
idk some stuff
i have done something.
i made casio apps to play games on my calculator!!!
Ships:
its a lot of stuff, like basically stuff i code when i have nothing to do. this took SO LONG i cant post a screenshot, as there are like 7 things in there. go check out the repo and maybe try them for yourself?...
|
1793818120.7499099
|
1793904520.7499099
|
|
4908
|
My first slack bot! by @Tusankine | Stardance
|
Tusankine
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Tusankine | Stardan Title: My first slack bot! by @Tusankine | Stardance...
|
1793299720.4543912
|
1793904520.4543912
|
|
4784
|
Untitled by @Carlson | Stardance
|
Carlson
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @Carlson | Stardance
|
1793299719.5601382
|
1793904519.5601382
|
|
24069
|
My awesome macropad! by @Diyasri | Stardance
|
Diyasri
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Diyasri | Stardanc Title: My awesome macropad! by @Diyasri | Stardance...
|
1793299717.7548008
|
1793904517.7548008
|
|
7224
|
Card Game by @sharmnten | Stardance
|
sharmnten
|
2
|
33.0
|
284
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-31T07:50:39Z", "hours": 2.0, "multiplier": 12.03, "payout": 27, "blessing": "neutral", "text": "Fixed up poker game, and implemented new winning UI. Nothing else changed from the previous ship. I really like the new UI i created, and plan to implement it elsewhere in the other card game.", "repo": "https://github.com/sharmnten/card-game", "demo": "https://sharmnten.github.io/card-game/"}, {"ship_num": 2, "ts": "2026-10-22T03:36:02Z", "hours": 31.0, "multiplier": 8.32, "payout": 257, "blessing": "neutral", "text": "I made a game that aimed to be similar to Stardew Valley, but with more of a focus on making it out of debt, similar to the Steam game Gambling With Friends. While this game is not complete, players are able to create a character, explore a small town, and enter a casino, and play “Ride the Bus” on the right hand side of the Casino. I am really proud of the card games, as the animations are really good in my opinion. PS: Poker, on the left hand side of the casino, is entirely broken. DO NOT PLAY POKER or you will have to reload the page.", "repo": "https://github.com/sharmnten/card-game", "demo": "https://sharmnten.github.io/card-game/"}]...
|
[{"post_id": 85374, "ts": "202 [{"post_id": 85374, "ts": "2026-10-31T07:25:17Z", "hours": 0.5447, "text": "Created new win UI, as well as a really simple bot. Ready to ship now. In the future, I hope to optimize the UI further, and make the bot more intelligent using the Effective Hand Strength algorithm. I also plan to implement the new win UI in Ride the Bus, as well as creating blackjack as a new game. While the UI is not in a finalized shape, everything is functional."}, {"post_id": 85366, "ts": "2026-10-31T06:49:48Z", "hours": 1.6978, "text": "Wrote new poker logic, that determines who wins a match. Additionally, started adding new UI to poker so its easier to play."}, {"post_id": 81692, "ts": "2026-10-22T03:28:56Z", "hours": 0.9194, "text": "Added the UI to every screen, made the game full screen for web, and finally updated the website because I realized it wasn’t updating this whole time, because I hadn’t been pushing new web builds."}, {"post_id": 76567, "ts": "2026-10-03T23:56:12Z", "hours": 3.1072, "text": "Remade casino art, and added limos to the street. Made it so you can enter the casino, and when you exit you spawn in the same spot. Next I need to make the players house and some UI. After that I will work on fixing poker and blackjack, and finalizing the game mechanics."}, {"post_id": 72539, "ts": "2026-09-23T05:06:44Z", "hours": 5.0875, "text": "Worked on the map for the town. This took a really long time, as setting up the autotiling strategies was something I had never done before."}, {"post_id": 68422, "ts": "2026-09-15T02:55:47Z", "hours": 1.9653, "text": "Made it so when you start playing a game, you spawn in the same spot when the game ends."}, {"post_id": 54200, "ts": "2026-08-25T02:47:38Z", "hours": 2.5972, "text": "Created a prompt and system that starts the “Ride the Bus” and “Poker” games. The prompt appears when the player gets close. Additionally, the map of the casino was updated. The background of the camera matches the walls of the casino, so it appears there is nothing beyond the walls of the casino. Next will be making the money in card games link to the casino scene."}, {"post_id": 41134, "ts": "2026-08-05T04:36:14Z", "hours": 2.3386, "text": "Built out tilemap and configured tiles which is really tedious because I have to configure hitboxes and paint the tiles into place. A problem im having is that the foreground elements are not being ordered correctly with the player."}, {"post_id": 35046, "ts": "2026-07-26T06:42:34Z", "hours": 0.8406, "text": "Added walk animations to every single asset. Next step is to script the walk animations into place, so each animation plays at the right time, and the assets get mirrored at the right time as well."}, {"post_id": 34300, "ts": "2026-07-24T21:46:10Z", "hours": 2.2667, "text": "Started the character customizing screen, and wrote the code that allows the player to adjust the character sprite to their liking. Once this is finished, I will create a system that allows it to be saved into the game save file, and then I will have to create the rest of the animations. Then afterwards I will develop the map and the game will be almost complete."}, {"post_id": 23268, "ts": "2026-07-06T03:43:38Z", "hours": 0.9794, "text": "Created a new system for character animations where each clothing piece has a dedicated Animation Resource file. This will allow easier animation management when the user creates a custom character. Additionally, I created the police hat animations(this didn’t contribute to the time, but also is important)."}, {"post_id": 20877, "ts": "2026-07-02T16:24:42Z", "hours": 0.4219, "text": "Started setting up the player animations. It is rather tedious as I need to create idle animations for each character hair, body, shirt, and pants and shadow, but this will later allow for more customizability of the character. I will also need to create a police hat for the IRS officers, but that will come later."}, {"post_id": 20589, "ts": "2026-07-02T06:32:02Z", "hours": 1.1778, "text": "Finished the Ride the Bus card game. Turn four involved guessing which suite the next card will be for 20x multiplier. Wrote 8 new functions, overall the first card game being finished is a solid landmark for the project. In the future I will either continue to develop the other card games and possibly roulette, or I might move to character movement and map design."}, {"post_id": 5635, "ts": "2026-06-09T14:40:57Z", "hours": 5.8906, "text": "Worked a ton on a new card game I am adding, called ride the bus. Animations have been added to card dealing, so the card now smoothly tweens over and then flips over to show the face. I also updated poker so that way the game starts, takes the bet amount, and then deals cards to the player and dealer. Additionally, I created a chip scene that can be used in all the games to approximate the amount of money that is on the table."}, {"post_id": 2524, "ts": "2026-06-05T01:53:16Z", "hours": 1.0033, "text": "Got the dealing mechanism to work. Now, when the “check” button is pressed, a card comes from the deck, and goes to the players hand. This is just for testing, the real game cards will be dealt automatically."}, {"post_id": 2134, "ts": "2026-06-04T13:48:12Z", "hours": 2.2475, "text": "Made setup for poker game and blackjack game, with intial UI layout. Took sprites from Itch.io to use in the game. I took way to long making sure everything was perfectly centered, because it was annoying me. Started making a card class."}]...
|
Title: Card Game by @sharmnten | Stardance
Devlog Title: Card Game by @sharmnten | Stardance
Devlogs:
Made setup for poker game and blackjack game, with intial UI layout. Took sprites from Itch.io to use in the game. I took way to long making sure everything was perfectly centered, because it was annoying me. Started making a card class.
Got the dealing mechanism to work. Now, when the “check” button is pressed, a card comes from the deck, and goes to the players hand. This is just for testing, the real game cards will be dealt automatically.
Worked a ton on a new card game I am adding, called ride the bus. Animations have been added to card dealing, so the card now smoothly tweens over and then flips over to show the face. I also updated poker so that way the game starts, takes the bet amount, and then deals cards to the player and dealer. Additionally, I created a chip scene that can be used in all the games to approximate the amount of money that is on the table.
Finished the Ride the Bus card game. Turn four involved guessing which suite the next card will be for 20x multiplier. Wrote 8 new functions, overall the first card game being finished is a solid landmark for the project. In the future I will either continue to develop the other card games and possibly roulette, or I might move to character movement and map design.
Started setting up the player animations. It is rather tedious as I need to create idle animations for each character hair, body, shirt, and pants and shadow, but this will later allow for more customizability of the character. I will also need to create a police hat for the IRS officers, but that will come later.
Created a new system for character animations where each clothing piece has a dedicated Animation Resource file. This will allow easier animation management when the user creates a custom character. Additionally, I created the police hat animations(this didn’t contribute to the time, but also is important).
Started the character customizing screen, and wrote the code that allows the player to adjust the character sprite to their liking. Once this is finished, I will create a system that allows it to be saved into the game save file, and then I will have to create the rest of the animations. Then afterwards I will develop the map and the game will be almost complete.
Added walk animations to every single asset. Next step is to script the walk animations into place, so each animation plays at the right time, and the assets get mirrored at the right time as well.
Built out tilemap and configured tiles which is really tedious because I have to configure hitboxes and paint the tiles into place. A problem im having is that the foreground elements are not being ordered correctly with the player.
Created a prompt and system that starts the “Ride the Bus” and “Poker” games. The prompt appears when the player gets close. Additionally, the map of the casino was updated. The background of the camera matches the walls of the casino, so it appears there is nothing beyond the walls of the casino. Next will be making the money in card games link to the casino scene.
Made it so when you start playing a game, you spawn in the same spot when the game ends.
Worked on the map for the town. This took a really long time, as setting up the autotiling strategies was something I had never done before.
Remade casino art, and added limos to the street. Made it so you can enter the casino, and when you exit you spawn in the same spot. Next I need to make the players house and some UI. After that I will work on fixing poker and blackjack, and finalizing the game mechanics.
Added the UI to every screen, made the game full screen for web, and finally updated the website because I realized it wasn’t updating this whole time, because I hadn’t been pushing new web builds.
Wrote new poker logic, that determines who wins a match. Additionally, started adding new UI to poker so its easier to play.
Created new win UI, as well as a really simple bot. Ready to ship now. In the future, I hope to optimize the UI further, and make the bot more intelligent using the Effective Hand Strength algorithm. I also plan to implement the new win UI in Ride the Bus, as well as creating blackjack as a new game. While the UI is not in a finalized shape, everything is functional.
Ships:
I made a game that aimed to be similar to Stardew Valley, but with more of a focus on making it out of debt, similar to the Steam game Gambling With Friends. While this game is not complete, players are able to create a character, explore a small town, and enter a casino, and play “Ride the Bus” on the right hand side of the Casino. I am really proud of the card games, as the animations are really good in my opinion. PS: Poker, on the left hand side of the casino, is entirely broken. DO NOT PLAY POKER or you will have to reload the page.
Fixed up poker game, and implemented new winning UI. Nothing else changed from the previous ship. I really like the new UI i created, and plan to implement it elsewhere in the other card game....
|
1793818116.7708042
|
1793904516.7708042
|
|
5728
|
Posture Tracker by @Tomer | Stardance
|
Tomer
|
0
|
4.72
|
0
|
[]
|
[{"post_id": 32117, "ts": "202 [{"post_id": 32117, "ts": "2026-07-21T01:53:18Z", "hours": 0.9336, "text": "July 16-18 - I had to replace the one thing that my design truly relies on :(((( (the IMU for the actual posture tracking part of my posture tracking device) What Went Wrong After finishing the pcb and schematic I wanted to put it in to jlcpb to get a quote, and it came out to almost one hundred dollars (see the image below) that was actualy crazy to me and so I did some investigating and it was because I chose to use a LSM6DSV16X IMU, which made my pcb switch from economic to standard, wildly inflating prices. A little background on why I chose the LSM6DSV16X: it had smart power features to make the device last a long time, and a machine learning core for more advanced tracking making it a perfect fit. My solution I could either suck it up and go forward with a 100+ device, or fix it which would require to restructure everything. Fix it i did. I wanted to find a comprable IMU that was supported in the economic manufacturing, similar footprint to the LSM6DSV16X, and had power regulating features that would not degrade my original plan. I originaly looked into other candidates like the MPU-6500(which a website I looked at for footprints literaly told me was too old to use). I also looked at the ICM-45686, ICM-42670-P, and LSM6DSOX, which where all standard-only. I then came across the LSM6DSVQTR, one of the only IMUs comprable to the LSM6DSV16X, on the economic tier. It retained the Machine learning core, low power mode, and had an almost identical footrpint to the original. So, with that change, and a few components that where replaced with a basic instead of extended variant, I had to rebuild the schematic. That was not as bad as I thought and took about an hour. Next up: CAD"}, {"post_id": 29641, "ts": "2026-07-16T18:24:18Z", "hours": 2.2003, "text": "July 14/15 - PCB Routing, probably the most important part in hardware design A brief overview of what I did so basicaly today I had to route the pcb, which would determine the layout of all of my parts in the real assembled design. It was very important for me to make this compact and accessible. to accomplish this I would place the xiao port, switch, and battery and motor connectors on the edge of the board for ease of use. the process when starting out I used the default 0.2mm traces for my routing. I wanted to double check this and as it turns out there are different sized traces for different use cases, rendering my original traces useless. Nonetheless I perservered. When I thought I was done, I ran the DRC, and a whopping 39 errors (if you go to 1:13 in the video you can see all of the errors). Luckily, a lot of these errors where the same thingd multiple times. For instance, In some of the narrower spaces, the increased traces I drew interfered with other pads and traces, so I had to change and alter portions. this was especialy true for the imu, which was microscopic. I also had issues with some of the ground pins being stranded away from the copper pour I placed, so I just routed them to the back of the board. there where a bunch more issues but that should sufice to cover my process for these days All in all pretty successful portion of the design process."}, {"post_id": 26346, "ts": "2026-07-11T02:38:21Z", "hours": 1.5833, "text": "July 10th - Schematics!! Goal Today, I wanted to finalize the BOM and get everything on to the KiCad Schematic, (making sure nothing gets fried :) My Circuitry Throughout this whole learning experience of creating the BOM, researching electronics, and so much more, I found it helpful to explain things so a 5 year old can understand it, so hopefully my explanation of this circuit does it justice :) My design works by taking power from a battery, not shown on the schematic, and controlling it with a sliding switch. For a microcontroller, I used an ESP32S3. To track posture, I used an IMU, with a super long name that if you care for, you can find it as the big square at the bottom of the schematic I also used a simple coin motor. Ultimately, this monstrosity was formed, with those key components and a whole bunch of researching in regards to capacitors, resistors, and so much more. (Any “pause” in the timelapse was me researching what to do because I didnt want to screw it up) Some stuff I found along the way I had to learn how to import footprints, and what to do when there arent any to be found. I ended up having to use the command prompt and a tool called easyeda2kicad to find footprints for the slide switch. Issues and Problems i encountered, because of course there are. Although I found out that I had to use easyeda2kicad, I ran into problems with it. Most notably was that it didnt work lol. This had a simple fix of just adding a python -m command to the beginning of the command. Worked like a charm after that. When doing the electrical check, I ran into a whopping 18 ERC Errors!!! 15 of these where solved simply with a cool feature that most people already know but I didnt, called the No Connect flag, which marked that I didnt use some of the pins on the XIAO and IMU. I guess they want me to use all of them :/ The last 3 occured because I did not include the battery in the schematic, so there was no power. (the battery would be connected through a cable, not soldering, so it didnt matter). I used another flag tool called the Power Flag to fix this. Of course, there where so many more problems, but I dont want to bore anyone reading this, so just enjoy the timelapse (I hope it looks cool) Next Time Next up is the PCB itself, how exciting!"}]...
|
Title: Posture Tracker by @Tomer | Stardance
Devl Title: Posture Tracker by @Tomer | Stardance
Devlogs:
July 10th - Schematics!! Goal Today, I wanted to finalize the BOM and get everything on to the KiCad Schematic, (making sure nothing gets fried :) My Circuitry Throughout this whole learning experience of creating the BOM, researching electronics, and so much more, I found it helpful to explain things so a 5 year old can understand it, so hopefully my explanation of this circuit does it justice :) My design works by taking power from a battery, not shown on the schematic, and controlling it with a sliding switch. For a microcontroller, I used an ESP32S3. To track posture, I used an IMU, with a super long name that if you care for, you can find it as the big square at the bottom of the schematic I also used a simple coin motor. Ultimately, this monstrosity was formed, with those key components and a whole bunch of researching in regards to capacitors, resistors, and so much more. (Any “pause” in the timelapse was me researching what to do because I didnt want to screw it up) Some stuff I found along the way I had to learn how to import footprints, and what to do when there arent any to be found. I ended up having to use the command prompt and a tool called easyeda2kicad to find footprints for the slide switch. Issues and Problems i encountered, because of course there are. Although I found out that I had to use easyeda2kicad, I ran into problems with it. Most notably was that it didnt work lol. This had a simple fix of just adding a python -m command to the beginning of the command. Worked like a charm after that. When doing the electrical check, I ran into a whopping 18 ERC Errors!!! 15 of these where solved simply with a cool feature that most people already know but I didnt, called the No Connect flag, which marked that I didnt use some of the pins on the XIAO and IMU. I guess they want me to use all of them :/ The last 3 occured because I did not include the battery in the schematic, so there was no power. (the battery would be connected through a cable, not soldering, so it didnt matter). I used another flag tool called the Power Flag to fix this. Of course, there where so many more problems, but I dont want to bore anyone reading this, so just enjoy the timelapse (I hope it looks cool) Next Time Next up is the PCB itself, how exciting!
July 14/15 - PCB Routing, probably the most important part in hardware design A brief overview of what I did so basicaly today I had to route the pcb, which would determine the layout of all of my parts in the real assembled design. It was very important for me to make this compact and accessible. to accomplish this I would place the xiao port, switch, and battery and motor connectors on the edge of the board for ease of use. the process when starting out I used the default 0.2mm traces for my routing. I wanted to double check this and as it turns out there are different sized traces for different use cases, rendering my original traces useless. Nonetheless I perservered. When I thought I was done, I ran the DRC, and a whopping 39 errors (if you go to 1:13 in the video you can see all of the errors). Luckily, a lot of these errors where the same thingd multiple times. For instance, In some of the narrower spaces, the increased traces I drew interfered with other pads and traces, so I had to change and alter portions. this was especialy true for the imu, which was microscopic. I also had issues with some of the ground pins being stranded away from the copper pour I placed, so I just routed them to the back of the board. there where a bunch more issues but that should sufice to cover my process for these days All in all pretty successful portion of the design process.
July 16-18 - I had to replace the one thing that my design truly relies on :(((( (the IMU for the actual posture tracking part of my posture tracking device) What Went Wrong After finishing the pcb and schematic I wanted to put it in to jlcpb to get a quote, and it came out to almost one hundred dollars (see the image below) that was actualy crazy to me and so I did some investigating and it was because I chose to use a LSM6DSV16X IMU, which made my pcb switch from economic to standard, wildly inflating prices. A little background on why I chose the LSM6DSV16X: it had smart power features to make the device last a long time, and a machine learning core for more advanced tracking making it a perfect fit. My solution I could either suck it up and go forward with a 100+ device, or fix it which would require to restructure everything. Fix it i did. I wanted to find a comprable IMU that was supported in the economic manufacturing, similar footprint to the LSM6DSV16X, and had power regulating features that would not degrade my original plan. I originaly looked into other candidates like the MPU-6500(which a website I looked at for footprints literaly told me was too old to use). I also looked at the ICM-45686, ICM-42670-P, and LSM6DSOX, which where all standard-only. I then came across the LSM6DSVQTR, one of the only IMUs comprable to the LSM6DSV16X, on the economic tier. It retained the Machine learning core, low power mode, and had an almost identical footrpint to the original. So, with that change, and a few components that where replaced with a basic instead of extended variant, I had to rebuild the schematic. That was not as bad as I thought and took about an hour. Next up: CAD...
|
1793299716.6180153
|
1793904516.6180153
|
|
32499
|
Untitled by @Abhi_K | Stardance
|
Abhi_K
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @Abhi_K | Stardance
|
1793299713.5785525
|
1793904513.5785525
|