|
70417
|
Pro website by @syedakhter | Stardance
|
syedakhter
|
1
|
2.0
|
1
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-19T01:12:51Z", "hours": 2.0, "multiplier": 1.0, "payout": 1, "blessing": "neutral", "text": "This is a website i made using js html and css and this website is going pro.", "repo": "https://github.com/8051987-eng/pro-website", "demo": "https://8051987-eng.github.io/pro-website/"}]...
|
[{"post_id": 80856, "ts": "202 [{"post_id": 80856, "ts": "2026-10-19T01:11:57Z", "hours": 2.0783, "text": "A pro website"}]...
|
Title: Pro website by @syedakhter | Stardance
Dev Title: Pro website by @syedakhter | Stardance
Devlogs:
A pro website
Ships:
This is a website i made using js html and css and this website is going pro....
|
1793094941.8067822
|
1793181341.8067822
|
|
67083
|
ISS robot assistant by @taylan_abramson | Stardanc ISS robot assistant by @taylan_abramson | Stardance...
|
taylan_abramson
|
0
|
13.3
|
0
|
[]
|
[{"post_id": 80853, "ts": "202 [{"post_id": 80853, "ts": "2026-10-19T00:54:18Z", "hours": 1.2586, "text": "worked on creating a windows release for mujococad, adding springs and tendons for new control mechanisms for robot arm in the cad , imge a ttached is a autodesk picture of a tendon, as I am not with the computer i did the update with and the device I am pushing this devlog on can barely run chrome :)"}, {"post_id": 79677, "ts": "2026-10-15T01:20:32Z", "hours": 1.9597, "text": "I am working more on the differnet envionrmental testing in my cad software, attempting to simulate a ornithopter, as a basis for movement in the cad"}, {"post_id": 79169, "ts": "2026-10-12T21:28:09Z", "hours": 5.1744, "text": "I worked on training and rigging the robot in mujoco cad, and simulator that i had designed to now work with different gravities."}, {"post_id": 77198, "ts": "2026-10-06T02:07:00Z", "hours": 0.9381, "text": "Today I rigged the tentacle in Blender, then added physics to watch interactions with a cube. I used a Codex GPT solution to help with the physics, since I can’t run RoboOptics software on my laptop and need an AI agent to simulate physics at a higher level than I could account for. I am quite happy with the tentacle motion. I would like to rig more and test interaction with more objects. Additionally, if I ever get access to a computer with an RTX GPU, I would like to use Isaac Sim in order to allow the robot to learn online before build"}, {"post_id": 76911, "ts": "2026-10-05T01:49:28Z", "hours": 1.1989, "text": "Today I added CAD for the tentacles to be printed, built ouyt of a ionogel in and then run a line through in order to control I am really excited to start building it. I want to 3D print the body, so I have toi wait for that, but I want to make ionogels and attempt to hape them into the tentacles so I can do those emmidiatly"}, {"post_id": 76579, "ts": "2026-10-04T01:24:37Z", "hours": 1.7333, "text": "Fixing a 3D printer, and hardware work, I am a little sick, so I apologize for the little time spect, i spent two hours fixing my 3d printer, pushing code, and calibrating a force sensor and joy stick, so that the internal hardware is ready when I can print the chassis :)."}, {"post_id": 76509, "ts": "2026-10-03T19:37:45Z", "hours": 1.0417, "text": "ISS robot CAD and computer science pre build, I recycled some old code, and modified it for the project I NEED TO START ADDING IN MORE ELEMENTS INTO THE HARDWARE IN REAL LIFE."}]...
|
Title: ISS robot assistant by @taylan_abramson | S Title: ISS robot assistant by @taylan_abramson | Stardance
Devlogs:
ISS robot CAD and computer science pre build, I recycled some old code, and modified it for the project I NEED TO START ADDING IN MORE ELEMENTS INTO THE HARDWARE IN REAL LIFE.
Fixing a 3D printer, and hardware work, I am a little sick, so I apologize for the little time spect, i spent two hours fixing my 3d printer, pushing code, and calibrating a force sensor and joy stick, so that the internal hardware is ready when I can print the chassis :).
Today I added CAD for the tentacles to be printed, built ouyt of a ionogel in and then run a line through in order to control I am really excited to start building it. I want to 3D print the body, so I have toi wait for that, but I want to make ionogels and attempt to hape them into the tentacles so I can do those emmidiatly
Today I rigged the tentacle in Blender, then added physics to watch interactions with a cube. I used a Codex GPT solution to help with the physics, since I can’t run RoboOptics software on my laptop and need an AI agent to simulate physics at a higher level than I could account for. I am quite happy with the tentacle motion. I would like to rig more and test interaction with more objects. Additionally, if I ever get access to a computer with an RTX GPU, I would like to use Isaac Sim in order to allow the robot to learn online before build
I worked on training and rigging the robot in mujoco cad, and simulator that i had designed to now work with different gravities.
I am working more on the differnet envionrmental testing in my cad software, attempting to simulate a ornithopter, as a basis for movement in the cad
worked on creating a windows release for mujococad, adding springs and tendons for new control mechanisms for robot arm in the cad , imge a ttached is a autodesk picture of a tendon, as I am not with the computer i did the update with and the device I am pushing this devlog on can barely run chrome :)...
|
1793105650.7038205
|
1793710450.7038205
|
|
69566
|
SchoolWare by @obedot | Stardance
|
obedot
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-19T01:03:00Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What is SchoolWare? SchoolWare is a short WarioWare-style puzzle game about school. You have to complete different tasks in a short amount of time that involve History, Prealgebra, or Biology. What was challenging? One thing I found challenging was getting the timing of the levels to work right. When you start a level, it first shows you how many lives you have, and which level you’re on. Then, that message disappears, and the timer for your task starts. I didn’t fully understand how Godot’s process modes and time scaling worked, but I was able to figure it out. What am I proud of? I think the theme of the game and the levels are unique and silly. I am proud of the player movement, because it feels very responsive and fun to play. How can you test my project? You can just click the “Try Project” link below and it will take you to the itch.io page, where you can press “Run Game”. You may want to fullscreen the game to make it a bit more immersive, but it works either way.", "repo": "https://github.com/ObedH/school-ware", "demo": "https://obedh.itch.io/school-ware"}]...
|
[{"post_id": 80852, "ts": "202 [{"post_id": 80852, "ts": "2026-10-19T00:52:20Z", "hours": 0.6469, "text": "Final touches on the README, itch.io page, player movement, and sound effects I finished the GitHub readme file and added a short gameplay gif to attract the reader’s attention. I drew a stylized button link to make the “Try It” link pop. I made a background image for the itch.io page and wrote a description. I added some game juice by adding coyote time, which allows the player to jump even after they’ve fallen a little bit off a ledge. I also added squash and stretch to make the game feel more bouncy. Finally, I made some 8-bit sound effects using JSFXR. They’re really simple as of now, but I think they’re enough for the kind of game I’m going for. This will probably be the last devlog before I ship!"}, {"post_id": 80827, "ts": "2026-10-18T22:27:29Z", "hours": 0.8453, "text": "Created a third minigame, death screen, and a speedrun timer The third level is biology themed, and you have to click on all the living organisms. I used a Godot TextureButton for each item, and the incorrect answers make you restart the level. I also implemented a lose screen, which is one of the final requirements for the mission, so I’m getting pretty close to the end. Finally, I made a system to track your fastest time to complete all three minigames. I think I might be shipping soon!"}, {"post_id": 80747, "ts": "2026-10-18T18:12:59Z", "hours": 0.8969, "text": "Made a win screen, and made the UI look better I drew a simple win screen that looks like a diploma, and the red circle at the bottom is a button which takes you to the menu. I drew more of the UI myself, and I think it looks better than using Godot’s Labels. For the minigame timer though, it really was easier to just use a Label here because I didn’t feel like setting up a custom pixel art font just to display some numbers. I added the Quit button to the main menu, and made the Play button green. Now, the main thing I have left is making a death screen, and probably one more minigame."}, {"post_id": 80272, "ts": "2026-10-17T02:17:10Z", "hours": 0.8553, "text": "Created the second level - PreAlgebra My second level involves solving a simple equation. There are four multiple choice options, which I made using TextureButtons in Godot. I plan to refine the visuals later. Currently, the win condition doesn’t look like it isn’t working, but that’s only because there I haven’t yet made the next level."}, {"post_id": 80026, "ts": "2026-10-16T00:41:27Z", "hours": 1.9136, "text": "Made a prototype of the first level Since my game is school themed, I made the first level a history lesson. You play as George Washington in a tiny platformer level and you get to the magically floating declaration of independence. The artwork doesn’t look great right now, and there isn’t a lose condition yet. I did a couple things differently from the tutorial: I used a TileMapLayer instead of StaticBodies for each platform, and a rectangular collision shape for the player instead of the circular one for better feeling movement."}, {"post_id": 79660, "ts": "2026-10-14T23:36:12Z", "hours": 1.0183, "text": "Set up the Godot project, made a menu screen, and healthbar display I’m starting a new project on the mission “Make a WarioWare Game”, and my game is school themed. I finished setting up Godot, GitHub, and WakaTime. I made a health indicator which will pop up each time you die. The notebooks represent how many lives you have lost, and the timer at the bottom shows how long the message will stay up for. Right now, my menu screen is super simple, and I haven’t drawn a quit button yet so it’s not really usable. But I plan on continuing with the NES color palette!"}]...
|
Title: SchoolWare by @obedot | Stardance
Devlogs: Title: SchoolWare by @obedot | Stardance
Devlogs:
Set up the Godot project, made a menu screen, and healthbar display I’m starting a new project on the mission “Make a WarioWare Game”, and my game is school themed. I finished setting up Godot, GitHub, and WakaTime. I made a health indicator which will pop up each time you die. The notebooks represent how many lives you have lost, and the timer at the bottom shows how long the message will stay up for. Right now, my menu screen is super simple, and I haven’t drawn a quit button yet so it’s not really usable. But I plan on continuing with the NES color palette!
Made a prototype of the first level Since my game is school themed, I made the first level a history lesson. You play as George Washington in a tiny platformer level and you get to the magically floating declaration of independence. The artwork doesn’t look great right now, and there isn’t a lose condition yet. I did a couple things differently from the tutorial: I used a TileMapLayer instead of StaticBodies for each platform, and a rectangular collision shape for the player instead of the circular one for better feeling movement.
Created the second level - PreAlgebra My second level involves solving a simple equation. There are four multiple choice options, which I made using TextureButtons in Godot. I plan to refine the visuals later. Currently, the win condition doesn’t look like it isn’t working, but that’s only because there I haven’t yet made the next level.
Made a win screen, and made the UI look better I drew a simple win screen that looks like a diploma, and the red circle at the bottom is a button which takes you to the menu. I drew more of the UI myself, and I think it looks better than using Godot’s Labels. For the minigame timer though, it really was easier to just use a Label here because I didn’t feel like setting up a custom pixel art font just to display some numbers. I added the Quit button to the main menu, and made the Play button green. Now, the main thing I have left is making a death screen, and probably one more minigame.
Created a third minigame, death screen, and a speedrun timer The third level is biology themed, and you have to click on all the living organisms. I used a Godot TextureButton for each item, and the incorrect answers make you restart the level. I also implemented a lose screen, which is one of the final requirements for the mission, so I’m getting pretty close to the end. Finally, I made a system to track your fastest time to complete all three minigames. I think I might be shipping soon!
Final touches on the README, itch.io page, player movement, and sound effects I finished the GitHub readme file and added a short gameplay gif to attract the reader’s attention. I drew a stylized button link to make the “Try It” link pop. I made a background image for the itch.io page and wrote a description. I added some game juice by adding coyote time, which allows the player to jump even after they’ve fallen a little bit off a ledge. I also added squash and stretch to make the game feel more bouncy. Finally, I made some 8-bit sound effects using JSFXR. They’re really simple as of now, but I think they’re enough for the kind of game I’m going for. This will probably be the last devlog before I ship!
Ships:
What is SchoolWare? SchoolWare is a short WarioWare-style puzzle game about school. You have to complete different tasks in a short amount of time that involve History, Prealgebra, or Biology. What was challenging? One thing I found challenging was getting the timing of the levels to work right. When you start a level, it first shows you how many lives you have, and which level you’re on. Then, that message disappears, and the timer for your task starts. I didn’t fully understand how Godot’s process modes and time scaling worked, but I was able to figure it out. What am I proud of? I think the theme of the game and the levels are unique and silly. I am proud of the player movement, because it feels very responsive and fun to play. How can you test my project? You can just click the “Try Project” link below and it will take you to the itch.io page, where you can press “Run Game”. You may want to fullscreen the game to make it a bit more immersive, but it works either way....
|
1793155790.436773
|
1793242190.436773
|
|
28564
|
Dodge The Spikes by @vindognz | Stardance
|
vindognz
|
1
|
24.0
|
323
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-19T10:11:14Z", "hours": 24.0, "multiplier": 13.34, "payout": 323, "blessing": "neutral", "text": "I made a 2D reflex game about dodging spikes! A level lasts 10 spikes - every level is faster and more dangerous. This was my first Godot project in years, so it was difficult to relearn the engine at first, but I got used to it. I’m really proud of the firefly shader! It took me ages to tune and refine, but I’m super happy with it. It might be really hard because I adjusted the difficulty as I made it, so if you struggle - sorry! Thanks for voting!!!", "repo": "https://github.com/vindognz/dodge-the-spikes", "demo": "https://vindognz.github.io/dodge-the-spikes/"}]...
|
[{"post_id": 80848, "ts": "202 [{"post_id": 80848, "ts": "2026-10-19T00:31:27Z", "hours": 2.6886, "text": "It’s been a while (school is schooling 😭) This is probably my last devlog before I ship. The game has sound now! 5 sound effects, made in jsfxr: jump, thud when you land, a blip every time you dodge a spike, a boom when you die, and a level up! (Press M to mute the sound effects) I got a tiny bit obsessed with outlines, and gave every label a thick outline The leaderboard title is gold now too! SPACE is both jump and play again, so smashing it as you died would skip the leaderboard.. Play Again now ignores pressed for a half second after you die. All that, some minor performance tweaks, README polishing and now we’re ready to ship! Thanks for playing!"}, {"post_id": 76872, "ts": "2026-10-04T21:50:40Z", "hours": 1.1408, "text": "Hosting move and some small QoL. So uhh… The old site is gone. I moved the game from Nest to Github Pages: New Link (The old link shows a “we moved” pages that redirects you) Nest was sending the 38MB engine file uncompressed and sometimes worked, sometimes took 40+ minutes to send. I tried gzip, i tried brotli, and the proxy just seemed to break it all. Github serves the same game so fast it loads before the splash is done. RIP serve.py. Okay, onto QoL: Space to play again. Hit space on the game over screen and you immediately respawn (no more reaching for your mouse every death). README overhaul. I finally updated it! It has how to play, correct feature list, how it’s built, guidance on running it locally, and the live link. I also dropped the idea of Linux/Windows/Mac downloads, because it’s just easier in a browser. Still to do: sfx, polish."}, {"post_id": 75849, "ts": "2026-10-01T10:37:06Z", "hours": 3.24, "text": "HUGE updates, the demo is actually out! It’s live, and YOU can play the beta right now: Play! (I will maintain it as the latest, stable build, please comment with any feedback 😊). The Godot build is exported to WebGL and embedded in a landing page that I built around it. I tried to keep it somewhat minimal, so it’s just a splash text that fades into a dark ‘cave’ with the same red spikes on the walls, and the game in the middle. It’s hosted on Nest, being run by a tiny Python server I wrote that gzips everything. Compression might seem excessive, but it shrank the 38MB engine file to ~10MB, so it loads significantly faster. The leaderboard got cooked when publishing, so I had to rewrite some logic but I got it working eventually! Difficulty used to increase with your score, now we have Levels. Every 10 spikes, the screen clears, a “Level ” banner shows, and the next level starts faster. Danger zones now start at certain levels too, completely ditching the old score driving approach. I also created a real start screen (This was desperately needed). It has the same firefly background as the game, a little controls hint, and a little demo player hopping spikes :) All that’s left is sfx, README and polish!"}, {"post_id": 75140, "ts": "2026-09-29T08:47:13Z", "hours": 9.0861, "text": "Holy moly I need to remember to devlog 😭 Gameplay has been locked in. Danger zones have been added: at score 10 red columns flash for 3s and insta-kill if you’re in them when time is up. At score 30, two zones spawn at once. Screen shakes on landing and death. Spike cooldown now scales with score, so the difficulty actually increases. Player is now a squishy jelly ball that deforms on jump, stretches while airborne, and splats on landing with a nice tween animation. The leaderboard is alive! Input name on first death (cached for the session), auto-submit to Supabase backend, leaderboard is now embedded in the game over screen. Your current run shows golden in the rankings. Insane visual overhaul. I built a procedural shader for the background that renders 30 animated fireflies (on the GPU). Each one drifts with a unique sine-wave pattern, and pulses brightness. Death burst spawns 12 red sparks that fly outward, and fade out. To-do: Start screen, audio (jump, death, score sfx), and WebGL export + GitHub Pages."}, {"post_id": 22405, "ts": "2026-07-04T21:24:46Z", "hours": 5.9817, "text": "Big session today! (definitely didn’t forget to write a devlog) Here’s what got shipped: The game is actually a game now! Spikes spawn from random sides, move across the screen, and despawn off the edge. Score tracking is in. Each spike that passes the player increments the score, and speed scales with it. Each spike also has a ±50% random deviation in speed, so no two spikes feel the same. Pixel art is fully gone. Both the player and spike are now drawn entirely in code using Godot’s _draw() API. No image assets, scales perfectly at any zoom (hypothetically). Global leaderboard is live. Scores submit to a Supabase PostgreSQL backend. We even have a full leaderboard scene with a loading animation and ranked entries. Game over screen shows your score and lets you play again (reloads the scene, resetting all state for free). Next up: UI polish, danger zones, and a WebGL export!"}, {"post_id": 18960, "ts": "2026-06-30T04:16:26Z", "hours": 1.7533, "text": "I’ve been grinding! I implemented the basic spike, replaced pixel art with code-drawn vector shapes for smooth edges, and added a very bare bones start screen. Next up is UI cleanup, score counting, and a game over screen!"}, {"post_id": 18846, "ts": "2026-06-30T01:30:24Z", "hours": 0.3053, "text": "First devlog! So far, I’ve been setting up the base architecture for the game. Currently I just have a simple square that you can control with WASD, but there are big things ahead!"}]...
|
Title: Dodge The Spikes by @vindognz | Stardance
Title: Dodge The Spikes by @vindognz | Stardance
Devlogs:
First devlog! So far, I’ve been setting up the base architecture for the game. Currently I just have a simple square that you can control with WASD, but there are big things ahead!
I’ve been grinding! I implemented the basic spike, replaced pixel art with code-drawn vector shapes for smooth edges, and added a very bare bones start screen. Next up is UI cleanup, score counting, and a game over screen!
Big session today! (definitely didn’t forget to write a devlog) Here’s what got shipped: The game is actually a game now! Spikes spawn from random sides, move across the screen, and despawn off the edge. Score tracking is in. Each spike that passes the player increments the score, and speed scales with it. Each spike also has a ±50% random deviation in speed, so no two spikes feel the same. Pixel art is fully gone. Both the player and spike are now drawn entirely in code using Godot’s _draw() API. No image assets, scales perfectly at any zoom (hypothetically). Global leaderboard is live. Scores submit to a Supabase PostgreSQL backend. We even have a full leaderboard scene with a loading animation and ranked entries. Game over screen shows your score and lets you play again (reloads the scene, resetting all state for free). Next up: UI polish, danger zones, and a WebGL export!
Holy moly I need to remember to devlog 😭 Gameplay has been locked in. Danger zones have been added: at score 10 red columns flash for 3s and insta-kill if you’re in them when time is up. At score 30, two zones spawn at once. Screen shakes on landing and death. Spike cooldown now scales with score, so the difficulty actually increases. Player is now a squishy jelly ball that deforms on jump, stretches while airborne, and splats on landing with a nice tween animation. The leaderboard is alive! Input name on first death (cached for the session), auto-submit to Supabase backend, leaderboard is now embedded in the game over screen. Your current run shows golden in the rankings. Insane visual overhaul. I built a procedural shader for the background that renders 30 animated fireflies (on the GPU). Each one drifts with a unique sine-wave pattern, and pulses brightness. Death burst spawns 12 red sparks that fly outward, and fade out. To-do: Start screen, audio (jump, death, score sfx), and WebGL export + GitHub Pages.
HUGE updates, the demo is actually out! It’s live, and YOU can play the beta right now: Play! (I will maintain it as the latest, stable build, please comment with any feedback 😊). The Godot build is exported to WebGL and embedded in a landing page that I built around it. I tried to keep it somewhat minimal, so it’s just a splash text that fades into a dark ‘cave’ with the same red spikes on the walls, and the game in the middle. It’s hosted on Nest, being run by a tiny Python server I wrote that gzips everything. Compression might seem excessive, but it shrank the 38MB engine file to ~10MB, so it loads significantly faster. The leaderboard got cooked when publishing, so I had to rewrite some logic but I got it working eventually! Difficulty used to increase with your score, now we have Levels. Every 10 spikes, the screen clears, a “Level ” banner shows, and the next level starts faster. Danger zones now start at certain levels too, completely ditching the old score driving approach. I also created a real start screen (This was desperately needed). It has the same firefly background as the game, a little controls hint, and a little demo player hopping spikes :) All that’s left is sfx, README and polish!
Hosting move and some small QoL. So uhh… The old site is gone. I moved the game from Nest to Github Pages: New Link (The old link shows a “we moved” pages that redirects you) Nest was sending the 38MB engine file uncompressed and sometimes worked, sometimes took 40+ minutes to send. I tried gzip, i tried brotli, and the proxy just seemed to break it all. Github serves the same game so fast it loads before the splash is done. RIP serve.py. Okay, onto QoL: Space to play again. Hit space on the game over screen and you immediately respawn (no more reaching for your mouse every death). README overhaul. I finally updated it! It has how to play, correct feature list, how it’s built, guidance on running it locally, and the live link. I also dropped the idea of Linux/Windows/Mac downloads, because it’s just easier in a browser. Still to do: sfx, polish.
It’s been a while (school is schooling 😭) This is probably my last devlog before I ship. The game has sound now! 5 sound effects, made in jsfxr: jump, thud when you land, a blip every time you dodge a spike, a boom when you die, and a level up! (Press M to mute the sound effects) I got a tiny bit obsessed with outlines, and gave every label a thick outline The leaderboard title is gold now too! SPACE is both jump and play again, so smashing it as you died would skip the leaderboard.. Play Again now ignores pressed for a half second after you die. All that, some minor performance tweaks, README polishing and now we’re ready to ship! Thanks for playing!
Ships:
I made a 2D reflex game about dodging spikes! A level lasts 10 spikes - every level is faster and more dangerous. This was my first Godot project in years, so it was difficult to relearn the engine at first, but I got used to it. I’m really proud of the firefly shader! It took me ages to tune and refine, but I’m super happy with it. It might be really hard because I adjusted the difficulty as I made it, so if you struggle - sorry! Thanks for voting!!!...
|
1793156024.3225598
|
1793242424.3225598
|
|
67594
|
DNA to Protein translator by @Rayan123-4 | Stardan DNA to Protein translator by @Rayan123-4 | Stardance...
|
Rayan123-4
|
2
|
12.0
|
83
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-19T03:30:56Z", "hours": 8.0, "multiplier": 6.23, "payout": 51, "blessing": "neutral", "text": "What did I make I made a website that translates DNA to Protein and Protein to DNA, using Python and Flask. Users can enter a DNA sequence and the website checks the sequence, reads the codons, and translate it into a protein. As well as if a user enters a Protein chain they can translate it into all possible DNA sequences for that Protein. It uses flask, Python, JavaScript, HTML, and CSS. What was challenging The most challenging part was adding the Protein to DNA translator and making sure that it worked while the DNA to Protein translator was still there. I made two HTML pages one with Protein translator and one with the DNA translator. What am I most proud of I am most proud of upgrading my original project from just a DNA to protein translator to a Protein to DNA translator, and making it all work smoothly together. I learn more about Python and JavaScript, which are currently some programming languages that I’m learning. And I even learn more about Biology. What people should know about my project It runs on the web and if you want to see the demo use the link in my README or the Stardance project. Do not run just the HTML pages, because it wont load the Python backend and it most likely wont work. Also for the Protein to DNA translator, I would suggest doing small Protein chains or even just one, as it will show all possible DNA codons for the protein. This means if you input a long Protein chain , even if its just 5 Letters long, depending on the protein it might get a bit laggy. Please leave thoughtful reviews and feedback, as it will really help me learn more about what I can improve on, to help me further progress with coding and making more projects like this one", "repo": "https://github.com/rayan123-4/Flask-website-Biology", "demo": "https://bio.rayan123-4.hackclub.app/"}, {"ship_num": 2, "ts": "2026-10-03T04:04:58Z", "hours": 4.0, "multiplier": 7.29, "payout": 32, "blessing": "neutral", "text": "What did I make I made a DNA to Protein Translator using Python and Flask. Users can enter a DNA sequence and the website checks the sequence, reads the DNA in codons, and translates it into a protein. I also made a frontend using HTML and CSS and connected it to my Python backend. JavaScript was also used in this project for sending information between the website from the Python code. What was challenging The most challenging part was learning Flask for the first time and understanding how the frontend communicates with Python backend. It was also challenging to get the Python, Flask and Javascript to communicate and make this website work. What am I most proud of I am most proud of making a project with Flask for the first time. I learnt more things about coding with Python, Javascript, and even learnt more about Biology. What people should know about my project It runs from render so it might take a few seconds to load. Also the translator looks for the START codon (ATG) so if the sequence doesn’t contain that it won’t work. Also sequences need to be only using A, C, G, and T letters. It also gives an error message if sequence is invalid. ** Please leave thoughtful reviews and give me feedback for what I could do better in the future**", "repo": "https://github.com/rayan123-4/Flask-website-Biology", "demo": "https://bio.rayan123-4.hackclub.app/"}]...
|
[{"post_id": 80842, "ts": "202 [{"post_id": 80842, "ts": "2026-10-18T23:49:34Z", "hours": 0.5019, "text": "Devlog 12: Final devlog Just fixing up some things and some button styling so that it works better on all screen sizes. Please give thoughtful feedback as I am learning Python and Javascript still and want to improve a lot."}, {"post_id": 80012, "ts": "2026-10-15T23:36:37Z", "hours": 0.5558, "text": "Devlog 11: Changing some off the font types and fixing text to background color visibility. Just fixing up some off the CSS with the text fonts and some fonts being hard to see because of the background. I fixed this by adding a box to the text so that it is more visible. I also used a font type that I thought looked very nice on the title."}, {"post_id": 79434, "ts": "2026-10-13T23:42:37Z", "hours": 1.2606, "text": "Devlog 10: Edited some of the CSS styling and fixing up the code I fixed up some of the Python backend code that wasn’t working how I wanted it. I adding stuff to the CSS changing colors and animation. I also added a success animation for when you input is valid. What I learnt I am learning a lot more about how flask works and Python, and I think that this is very beneficial for me. I learnt more about how to handle errors and make good error messages."}, {"post_id": 77974, "ts": "2026-10-09T02:39:42Z", "hours": 0.6847, "text": "Devlog 9: Changing the CSS styling making the website look good. I changed the CSS styling on the buttons and links. I made sure that the buttons stand out in the white background, by adding a light grey-ish color. I also edited some of the border coloring, sizings, and text shadows, making them pop. This helps me to learn more about CSS styling, and how to make a project really look good."}, {"post_id": 77704, "ts": "2026-10-08T00:11:32Z", "hours": 0.8375, "text": "Devlog 8: Added error animation on the pages. I added an error animation on the pages when you dont enter anything or you enter invalid input. I made it with Javascript adding the if statements and stuff, and connected it to my animations in CSS. I added a shake animation with some red text. I also had to re arrange some code for this to work. The final product looks very good and I am very happy with how it turned out."}, {"post_id": 77479, "ts": "2026-10-07T05:08:41Z", "hours": 1.1833, "text": "Devlog 7: Added the HTML and Javascript for the protein to DNA. I added the Javascript and HTML for the protein to DNA code, so that it could work on my flask website. The Javascript code was simple, because it was the same as the other one, just switching up the variable names around. I also had to do the HTML for the website and for the flask, which meant that I had to make another HTML file for the new feature. I made the it on another page so you can visit both of them from the website on a link. What did I learn I learnt more about how Javascript works in a flask website, and how HTML has to be coded slightly different in order for it to work on flask. This will help me for future projects, using flask and without it."}, {"post_id": 77256, "ts": "2026-10-06T09:15:05Z", "hours": 1.8636, "text": "Devlog 6: Adding new feature to the website. I just added a new feature where, you can translate a protein chain into a dna sequence. This is very similar to the other dna to protein translator, except its the other way around. It using mostly the same functions and stuff with slight differences. Right now I have only done the Python backend, and I will be doing the HTML, CSS, and Javascript, to make it work on the website later. What did I learn. I learn how to make a protein to DNA translator in Python. I learn how to code the back end, to work with flask aswelll, to display it on the website. I also learn more about the fundamentals of Python and I think I am progressing very well."}, {"post_id": 76881, "ts": "2026-10-04T22:36:20Z", "hours": 0.5211, "text": "Devlog 5: Edited some comments and other stuff. Today I just fixed up some comments and code, and just edited a few parts making sure that it all looks good."}, {"post_id": 76651, "ts": "2026-10-04T08:21:29Z", "hours": 0.2978, "text": "Devlog 4: Writing comments I just finished writing some comments in the Python and the Javascript code. I wrote in detail what the main functions do and how. I Mainly put comments on important things, and things that may need explaining."}, {"post_id": 76581, "ts": "2026-10-04T01:32:56Z", "hours": 0.5086, "text": "Devlog 3: Edited the CSS styling of the website to make it look much more appealing. I improved the design of my website using CSS. I added text shadows to the text to give it more depth, and I added things like smooth hover animations/effects with filters and scale increase. I also added buttons to the links and things, making them stand out more. I experimented with different colors and functions, and picked the one that fitted best. What I learnt and how difficult was it. I learnt more about different CSS properties such as text-shadow, box-shadow, box-sizing and many more. I also learnt how different animations and effects can have a big difference on the overall website. This was not extremely difficult, but it did take some experimenting for it too look good, and I had to try different properties and see what they do."}, {"post_id": 76302, "ts": "2026-10-03T03:53:49Z", "hours": 0.58, "text": "Devlog 2: Added Javascript and render pages I added the Javascript to the testing.html page, so it can send the DNA sequence code from my Python file to my Flash backend. What I learnt I learn that Javascript can communicate with Python and the Flask backend to send information back and forth to make the website work. I learn more about how to use Javascript with Python and how to make a website with a Python backend."}, {"post_id": 76290, "ts": "2026-10-03T03:01:24Z", "hours": 3.7553, "text": "Devlog 1: Making a flask website for the first time. Its a simple dna to protein translator. I used python to code the back end that translates the dna/rna sequence to protein. It used html and css aswell, and im just starting to do the javascript."}]...
|
Title: DNA to Protein translator by @Rayan123-4 | Title: DNA to Protein translator by @Rayan123-4 | Stardance
Devlogs:
Devlog 1: Making a flask website for the first time. Its a simple dna to protein translator. I used python to code the back end that translates the dna/rna sequence to protein. It used html and css aswell, and im just starting to do the javascript.
Devlog 2: Added Javascript and render pages I added the Javascript to the testing.html page, so it can send the DNA sequence code from my Python file to my Flash backend. What I learnt I learn that Javascript can communicate with Python and the Flask backend to send information back and forth to make the website work. I learn more about how to use Javascript with Python and how to make a website with a Python backend.
Devlog 3: Edited the CSS styling of the website to make it look much more appealing. I improved the design of my website using CSS. I added text shadows to the text to give it more depth, and I added things like smooth hover animations/effects with filters and scale increase. I also added buttons to the links and things, making them stand out more. I experimented with different colors and functions, and picked the one that fitted best. What I learnt and how difficult was it. I learnt more about different CSS properties such as text-shadow, box-shadow, box-sizing and many more. I also learnt how different animations and effects can have a big difference on the overall website. This was not extremely difficult, but it did take some experimenting for it too look good, and I had to try different properties and see what they do.
Devlog 4: Writing comments I just finished writing some comments in the Python and the Javascript code. I wrote in detail what the main functions do and how. I Mainly put comments on important things, and things that may need explaining.
Devlog 5: Edited some comments and other stuff. Today I just fixed up some comments and code, and just edited a few parts making sure that it all looks good.
Devlog 6: Adding new feature to the website. I just added a new feature where, you can translate a protein chain into a dna sequence. This is very similar to the other dna to protein translator, except its the other way around. It using mostly the same functions and stuff with slight differences. Right now I have only done the Python backend, and I will be doing the HTML, CSS, and Javascript, to make it work on the website later. What did I learn. I learn how to make a protein to DNA translator in Python. I learn how to code the back end, to work with flask aswelll, to display it on the website. I also learn more about the fundamentals of Python and I think I am progressing very well.
Devlog 7: Added the HTML and Javascript for the protein to DNA. I added the Javascript and HTML for the protein to DNA code, so that it could work on my flask website. The Javascript code was simple, because it was the same as the other one, just switching up the variable names around. I also had to do the HTML for the website and for the flask, which meant that I had to make another HTML file for the new feature. I made the it on another page so you can visit both of them from the website on a link. What did I learn I learnt more about how Javascript works in a flask website, and how HTML has to be coded slightly different in order for it to work on flask. This will help me for future projects, using flask and without it.
Devlog 8: Added error animation on the pages. I added an error animation on the pages when you dont enter anything or you enter invalid input. I made it with Javascript adding the if statements and stuff, and connected it to my animations in CSS. I added a shake animation with some red text. I also had to re arrange some code for this to work. The final product looks very good and I am very happy with how it turned out.
Devlog 9: Changing the CSS styling making the website look good. I changed the CSS styling on the buttons and links. I made sure that the buttons stand out in the white background, by adding a light grey-ish color. I also edited some of the border coloring, sizings, and text shadows, making them pop. This helps me to learn more about CSS styling, and how to make a project really look good.
Devlog 10: Edited some of the CSS styling and fixing up the code I fixed up some of the Python backend code that wasn’t working how I wanted it. I adding stuff to the CSS changing colors and animation. I also added a success animation for when you input is valid. What I learnt I am learning a lot more about how flask works and Python, and I think that this is very beneficial for me. I learnt more about how to handle errors and make good error messages.
Devlog 11: Changing some off the font types and fixing text to background color visibility. Just fixing up some off the CSS with the text fonts and some fonts being hard to see because of the background. I fixed this by adding a box to the text so that it is more visible. I also used a font type that I thought looked very nice on the title.
Devlog 12: Final devlog Just fixing up some things and some button styling so that it works better on all screen sizes. Please give thoughtful feedback as I am learning Python and Javascript still and want to improve a lot.
Ships:
What did I make I made a DNA to Protein Translator using Python and Flask. Users can enter a DNA sequence and the website checks the sequence, reads the DNA in codons, and translates it into a protein. I also made a frontend using HTML and CSS and connected it to my Python backend. JavaScript was also used in this project for sending information between the website from the Python code. What was challenging The most challenging part was learning Flask for the first time and understanding how the frontend communicates with Python backend. It was also challenging to get the Python, Flask and Javascript to communicate and make this website work. What am I most proud of I am most proud of making a project with Flask for the first time. I learnt more things about coding with Python, Javascript, and even learnt more about Biology. What people should know about my project It runs from render so it might take a few seconds to load. Also the translator looks for the START codon (ATG) so if the sequence doesn’t contain that it won’t work. Also sequences need to be only using A, C, G, and T letters. It also gives an error message if sequence is invalid. ** Please leave thoughtful reviews and give me feedback for what I could do better in the future**
What did I make I made a website that translates DNA to Protein and Protein to DNA, using Python and Flask. Users can enter a DNA sequence and the website checks the sequence, reads the codons, and translate it into a protein. As well as if a user enters a Protein chain they can translate it into all possible DNA sequences for that Protein. It uses flask, Python, JavaScript, HTML, and CSS. What was challenging The most challenging part was adding the Protein to DNA translator and making sure that it worked while the DNA to Protein translator was still there. I made two HTML pages one with Protein translator and one with the DNA translator. What am I most proud of I am most proud of upgrading my original project from just a DNA to protein translator to a Protein to DNA translator, and making it all work smoothly together. I learn more about Python and JavaScript, which are currently some programming languages that I’m learning. And I even learn more about Biology. What people should know about my project It runs on the web and if you want to see the demo use the link in my README or the Stardance project. Do not run just the HTML pages, because it wont load the Python backend and it most likely wont work. Also for the Protein to DNA translator, I would suggest doing small Protein chains or even just one, as it will show all possible DNA codons for the protein. This means if you input a long Protein chain , even if its just 5 Letters long, depending on the protein it might get a bit laggy. Please leave thoughtful reviews and feedback, as it will really help me learn more about what I can improve on, to help me further progress with coding and making more projects like this one...
|
1793217113.7914987
|
1793303513.7914987
|
|
65035
|
WarioWare Game by @ju90092 | Stardance
|
ju90092
|
0
|
20.52
|
0
|
[]
|
[{"post_id": 80840, "ts": "202 [{"post_id": 80840, "ts": "2026-10-18T23:48:00Z", "hours": 2.6722, "text": "I fixed the textbox and some bugs in minigame 2, and added the first part of the story."}, {"post_id": 80266, "ts": "2026-10-17T00:48:31Z", "hours": 1.7853, "text": "Adding the textbox to the scenes :D (example)"}, {"post_id": 78731, "ts": "2026-10-11T12:45:01Z", "hours": 2.7439, "text": "I finished the minigame 1 and the minigame 2, added a textbox and I’ll start making the minigame 3."}, {"post_id": 78439, "ts": "2026-10-10T20:04:43Z", "hours": 4.9108, "text": "I added the “garlics” and the timer is “working”. It doesn’t appear on the screen yet, but I’ll try to add it later. I added some things to the Settings, but I’ll put more effort on it later because I want to finish the minigames first (and add a “storytime”, maybe)"}, {"post_id": 77701, "ts": "2026-10-07T23:48:56Z", "hours": 3.1489, "text": "I don’t know why she doesn’t touch the ground, but I’m glad I added the animation for her movements. Also, I have the tittle screen (it was ready some time ago, but I forgot to show it) and the background. Next, I’ll work on the minigames and (maybe) put a “storytime” somewhere (which would lead me to create more characters). My level_scene isn’t working the way it should, but I’ll deal with it later"}, {"post_id": 77140, "ts": "2026-10-05T19:14:53Z", "hours": 3.9322, "text": "It’s been some hours, but I spent half of then in a mistake with the script. When I clicked the “Start” button, nothing happened. After some tutorials, I discovered that I put the wrong script in the wrong scene and the code of one of the tutorials I watched wasn’t working anymore because it was from another version of godot. Anyways, I managed to solve that part aaaand I drew my first character and background for the game (pixel art). I didn’t record the process because it was my first time using the app, so I was more focused on how to use the tools. Sadly, I’m not at home right now, so I can’t show the latest version of the character, but I have a really close version that I can show :D. English isn’t my first language, so, sorry for any mistake."}, {"post_id": 74264, "ts": "2026-09-27T03:10:07Z", "hours": 1.3219, "text": "I was following the guide to do that, so I finished the 1-9 part and I’m in the middle of the step 10. I think I’ll call the game “A Hundred and Ten Percent” because I’m a hundred and ten percent sure that I’ll finish this project (hahah)"}]...
|
Title: WarioWare Game by @ju90092 | Stardance
Dev Title: WarioWare Game by @ju90092 | Stardance
Devlogs:
I was following the guide to do that, so I finished the 1-9 part and I’m in the middle of the step 10. I think I’ll call the game “A Hundred and Ten Percent” because I’m a hundred and ten percent sure that I’ll finish this project (hahah)
It’s been some hours, but I spent half of then in a mistake with the script. When I clicked the “Start” button, nothing happened. After some tutorials, I discovered that I put the wrong script in the wrong scene and the code of one of the tutorials I watched wasn’t working anymore because it was from another version of godot. Anyways, I managed to solve that part aaaand I drew my first character and background for the game (pixel art). I didn’t record the process because it was my first time using the app, so I was more focused on how to use the tools. Sadly, I’m not at home right now, so I can’t show the latest version of the character, but I have a really close version that I can show :D. English isn’t my first language, so, sorry for any mistake.
I don’t know why she doesn’t touch the ground, but I’m glad I added the animation for her movements. Also, I have the tittle screen (it was ready some time ago, but I forgot to show it) and the background. Next, I’ll work on the minigames and (maybe) put a “storytime” somewhere (which would lead me to create more characters). My level_scene isn’t working the way it should, but I’ll deal with it later
I added the “garlics” and the timer is “working”. It doesn’t appear on the screen yet, but I’ll try to add it later. I added some things to the Settings, but I’ll put more effort on it later because I want to finish the minigames first (and add a “storytime”, maybe)
I finished the minigame 1 and the minigame 2, added a textbox and I’ll start making the minigame 3.
Adding the textbox to the scenes :D (example)
I fixed the textbox and some bugs in minigame 2, and added the first part of the story....
|
1793083769.5299585
|
1793688569.5299585
|
|
70044
|
AI Bipedal Robot by @oshy | Stardance
|
oshy
|
0
|
13.03
|
0
|
[]
|
[{"post_id": 80838, "ts": "202 [{"post_id": 80838, "ts": "2026-10-18T23:28:34Z", "hours": 9.8692, "text": "Robot Designed! I finished building my robot, although I still have to export it in a URDF format, which is a whole other thing."}, {"post_id": 80528, "ts": "2026-10-18T01:02:42Z", "hours": 3.1594, "text": "I finished the Gimble for the camera on my robot!"}]...
|
Title: AI Bipedal Robot by @oshy | Stardance
Devl Title: AI Bipedal Robot by @oshy | Stardance
Devlogs:
I finished the Gimble for the camera on my robot!
Robot Designed! I finished building my robot, although I still have to export it in a URDF format, which is a whole other thing....
|
1792946969.3964255
|
1793551769.3964255
|
|
70308
|
My very own WebOS by @isipisi | Stardance
|
isipisi
|
0
|
1.74
|
0
|
[]
|
[{"post_id": 80833, "ts": "202 [{"post_id": 80833, "ts": "2026-10-18T23:00:49Z", "hours": 1.0978, "text": "Okay so after like 1h more things start to make more sense (excluding the moment in which I created the first window that everything started to overlap)"}, {"post_id": 80694, "ts": "2026-10-18T15:20:11Z", "hours": 0.6464, "text": "honestly it was like 38min to understand what am I doing and how to write it in html. It is very ugly but hey as for my first 38min coding in html it is not that bad."}]...
|
Title: My very own WebOS by @isipisi | Stardance
Title: My very own WebOS by @isipisi | Stardance
Devlogs:
honestly it was like 38min to understand what am I doing and how to write it in html. It is very ugly but hey as for my first 38min coding in html it is not that bad.
Okay so after like 1h more things start to make more sense (excluding the moment in which I created the first window that everything started to overlap)...
|
1792990375.0067286
|
1793595175.0067286
|
|
70134
|
WebOS for real this time by @avycado13 | Stardance
|
avycado13
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-18T23:10:15Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a WebOS that is powered by a bash shell for filesystem and all utiitlites", "repo": "https://github.com/avycado13/avyos", "demo": "https://webos-iota-two.vercel.app/"}]...
|
[{"post_id": 80832, "ts": "202 [{"post_id": 80832, "ts": "2026-10-18T22:58:00Z", "hours": 0.9247, "text": "I added a proper bash implementation to my terminal and added folders on the desktop. I also deployed it to vercel. I also added a weather app"}, {"post_id": 80823, "ts": "2026-10-18T21:51:23Z", "hours": 0.5214, "text": "I addeda clock app"}, {"post_id": 80597, "ts": "2026-10-18T08:09:03Z", "hours": 1.4908, "text": "I built a basic windowing system for my webos!"}]...
|
Title: WebOS for real this time by @avycado13 | St Title: WebOS for real this time by @avycado13 | Stardance
Devlogs:
I built a basic windowing system for my webos!
I addeda clock app
I added a proper bash implementation to my terminal and added folders on the desktop. I also deployed it to vercel. I also added a weather app
Ships:
I made a WebOS that is powered by a bash shell for filesystem and all utiitlites...
|
1793199128.2108119
|
1793285528.2108119
|
|
66665
|
ShareList by @Huseyin | Stardance
|
Huseyin
|
1
|
23.0
|
222
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-18T22:42:16Z", "hours": 23.0, "multiplier": 9.69, "payout": 222, "blessing": "neutral", "text": "ShareList You have seen the plethora of different playlist services offered in different apps and websites. You can make a playlist in Youtube. You can make a playlist in Spotify. Heck you can even make a playlist of sorts in Scratch! The problem is that all those platforms allow you to make a playlist of ONLY whatever you find on that platform, and I have not seen otherwise. With ShareList, you can make a simple playlist, give it a name, a description(optional), a cool icon(optional), a password for editing further, and an expiration date so Firestore doesn’t end up crying later!! Features No Account Required Straight to the Point; No Bluff Cool UI Fast No Restrictions Anonymous No Tracking(rare these days) Open-Source Bakes you a cookie 😢 Final Regards Thank you for checking our ShareList and sharing your experiences with others.", "repo": "https://github.com/krambo345/ShareList", "demo": "https://sharelist.krambo.space"}]...
|
[{"post_id": 80828, "ts": "202 [{"post_id": 80828, "ts": "2026-10-18T22:29:08Z", "hours": 0.9003, "text": "Last Devlog After some quick clean up and polish, ShareList is practically ready for shipping. Things I Did Fix responsive ui Remove browser assumption of “password” fields Thats really it"}, {"post_id": 79863, "ts": "2026-10-15T17:26:08Z", "hours": 6.7394, "text": "RESPONSIVE Sharelist is now responsive dont got much time will keep this short… made responsive fixed some ui now you can completely edit, save, things like that… share button for sharing about page for abouting things like that. cool images from cool website btw…"}, {"post_id": 79513, "ts": "2026-10-14T12:12:06Z", "hours": 3.3314, "text": "UI 🎨 [Devlog 3] After some work, I finished the CSS side of things for the playlists… So now, you can see your playlist and it’s information better. Other Additions You can now somewhat toggle between the edit mode and view mode of a playlist. Well, it is kind of a one-way thing. So if you start editing, you can not save yet. Added a function for synchronizing changes to Firebase . Not used rn. Added the input elements and buttons to allow changing values of a playlist. Right now, they are only toggle-able."}, {"post_id": 76941, "ts": "2026-10-05T04:41:38Z", "hours": 7.0897, "text": "Got the Back end! [Devlog 2] Last devlog, I worked on the main UI, and added very cool effects. NEW This devlog, I got other stuff!! OK.. maybe just a bit more cool UI The Firebase side of stuff is pretty complete! Now, you can make a playlist inside the create page, and when made, it will redirect you to a URL(/p/id) which will be your playlist! I had to look through many ways i could implement security. However, I stayed with a basic sha256 hashing system. Because there are no accounts on the app, there really is no other alternative. And sha256 is very easy. Made layout for create page and playlist page. Conclusion These are pretty cool! What else do you want added? Let me know in comments below!!"}, {"post_id": 75068, "ts": "2026-09-29T01:44:46Z", "hours": 4.8722, "text": "ShareList [Devlog 1] Youtube has a playlist system… for Youtube only videos. Spotify has a playlist system… for Spotify only audio. Why not a web app that allows you to make a playlist of both worlds? With ShareList, you will be able to make a playlist that can have content stretching from videos to music to websites, with the additional benefit of being able to share them! Starting off… Today, I worked on the main structure of the project, and did a whole lot of styling. I think it worked out pretty cool. I did things like: Box-shadows for the bar atop the page, which interacts with the mouse and is actually split in two! A glow ⭐ on the mouse, which is pretty cool and awesome looking. Night/Light mode. 404 Page(my first time) There is way more, but I will not list em’. Things I am/will work on… It is time for the back-end now… yay… 🙄 Need to make the about and playlist pages themselves. The form-like interface to make/edit a playlist. Conclusion So I think I overdid myself today, which is pretty tuff . I am really hoping to finish this so people can use it ASAP!!"}]...
|
Title: ShareList by @Huseyin | Stardance
Devlogs: Title: ShareList by @Huseyin | Stardance
Devlogs:
ShareList [Devlog 1] Youtube has a playlist system… for Youtube only videos. Spotify has a playlist system… for Spotify only audio. Why not a web app that allows you to make a playlist of both worlds? With ShareList, you will be able to make a playlist that can have content stretching from videos to music to websites, with the additional benefit of being able to share them! Starting off… Today, I worked on the main structure of the project, and did a whole lot of styling. I think it worked out pretty cool. I did things like: Box-shadows for the bar atop the page, which interacts with the mouse and is actually split in two! A glow ⭐ on the mouse, which is pretty cool and awesome looking. Night/Light mode. 404 Page(my first time) There is way more, but I will not list em’. Things I am/will work on… It is time for the back-end now… yay… 🙄 Need to make the about and playlist pages themselves. The form-like interface to make/edit a playlist. Conclusion So I think I overdid myself today, which is pretty tuff . I am really hoping to finish this so people can use it ASAP!!
Got the Back end! [Devlog 2] Last devlog, I worked on the main UI, and added very cool effects. NEW This devlog, I got other stuff!! OK.. maybe just a bit more cool UI The Firebase side of stuff is pretty complete! Now, you can make a playlist inside the create page, and when made, it will redirect you to a URL(/p/id) which will be your playlist! I had to look through many ways i could implement security. However, I stayed with a basic sha256 hashing system. Because there are no accounts on the app, there really is no other alternative. And sha256 is very easy. Made layout for create page and playlist page. Conclusion These are pretty cool! What else do you want added? Let me know in comments below!!
UI 🎨 [Devlog 3] After some work, I finished the CSS side of things for the playlists… So now, you can see your playlist and it’s information better. Other Additions You can now somewhat toggle between the edit mode and view mode of a playlist. Well, it is kind of a one-way thing. So if you start editing, you can not save yet. Added a function for synchronizing changes to Firebase . Not used rn. Added the input elements and buttons to allow changing values of a playlist. Right now, they are only toggle-able.
RESPONSIVE Sharelist is now responsive dont got much time will keep this short… made responsive fixed some ui now you can completely edit, save, things like that… share button for sharing about page for abouting things like that. cool images from cool website btw…
Last Devlog After some quick clean up and polish, ShareList is practically ready for shipping. Things I Did Fix responsive ui Remove browser assumption of “password” fields Thats really it
Ships:
ShareList You have seen the plethora of different playlist services offered in different apps and websites. You can make a playlist in Youtube. You can make a playlist in Spotify. Heck you can even make a playlist of sorts in Scratch! The problem is that all those platforms allow you to make a playlist of ONLY whatever you find on that platform, and I have not seen otherwise. With ShareList, you can make a simple playlist, give it a name, a description(optional), a cool icon(optional), a password for editing further, and an expiration date so Firestore doesn’t end up crying later!! Features No Account Required Straight to the Point; No Bluff Cool UI Fast No Restrictions Anonymous No Tracking(rare these days) Open-Source Bakes you a cookie 😢 Final Regards Thank you for checking our ShareList and sharing your experiences with others....
|
1793155812.680188
|
1793242212.680188
|
|
70301
|
SlackHack by @george_sameh | Stardance
|
george_sameh
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-21T18:16:02Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a Slack bot that can perform simple tasks like checking the weather or sharing a joke or quote. The challenging part was to write my first code for a Slack bot ever, but I learned from the docs and the internet, and with some help from AI, I successfully made my first Slack bot. I’m proud that I learned new things and how to make a Slack bot. People can try the bot directly from the Slack channel because it is running on HackClub Nest.", "repo": "https://github.com/george-sameh/SlackHack", "demo": "https://hackclub.enterprise.slack.com/archives/C0CAD53DPB8"}]...
|
[{"post_id": 80822, "ts": "202 [{"post_id": 80822, "ts": "2026-10-18T21:50:14Z", "hours": 2.3444, "text": "In this devlog. I created my first ever Slack bot, which features commands like weather, quote, joke. I integrated multiple APIs: the first is Open-Meteo for weather data, the second is Zen Quotes for quote command, and the third is Official Jokes that is used for the jokes section"}]...
|
Title: SlackHack by @george_sameh | Stardance
Dev Title: SlackHack by @george_sameh | Stardance
Devlogs:
In this devlog. I created my first ever Slack bot, which features commands like weather, quote, joke. I integrated multiple APIs: the first is Open-Meteo for weather data, the second is Zen Quotes for quote command, and the third is Official Jokes that is used for the jokes section
Ships:
I made a Slack bot that can perform simple tasks like checking the weather or sharing a joke or quote. The challenging part was to write my first code for a Slack bot ever, but I learned from the docs and the internet, and with some help from AI, I successfully made my first Slack bot. I’m proud that I learned new things and how to make a Slack bot. People can try the bot directly from the Slack channel because it is running on HackClub Nest....
|
1793116198.232485
|
1793202598.232485
|
|
68485
|
My humble Macropad by @gustavocunha | Stardance
|
gustavocunha
|
0
|
15.19
|
0
|
[]
|
[{"post_id": 80821, "ts": "202 [{"post_id": 80821, "ts": "2026-10-18T21:45:47Z", "hours": 0.7214, "text": "I’ve done the last setup, and now I’m gonna ship it. I’m very happy to have gotten this far."}, {"post_id": 80804, "ts": "2026-10-18T20:37:39Z", "hours": 1.2539, "text": "I’ve finished the firmware. Now it’s just a few small touches and it’s ready to ship!!!"}, {"post_id": 80670, "ts": "2026-10-18T13:30:08Z", "hours": 3.2333, "text": "I finally finished the top part, but I have my doubts about whether it will fit, because I wasn’t able to import the 3D model properly. In the future, I plan to review it or redo it in another program, but for now the next step is the firmware."}, {"post_id": 80408, "ts": "2026-10-17T15:36:19Z", "hours": 3.8167, "text": "I redid my PCB, but I ran into an error when adding the LEDs. I don’t know what’s going on. If anyone has any ideas or suggestions, please let me know. I could really use the help."}, {"post_id": 80233, "ts": "2026-10-16T20:14:36Z", "hours": 2.4667, "text": "I redid the bottom part of the case and added four holes for the screws, but I’m lost on how to make the top part, where the keys go. I tried following the tutorial, but the holes and the distances don’t line up. The best solution I’ve come up with so far is to do it by hand, which is going to be pretty complicated, but if anyone has another suggestion, I’m open to it."}, {"post_id": 79983, "ts": "2026-10-15T18:52:44Z", "hours": 1.6833, "text": "I’ve made the base for my Macropad, it still needs the holes for the screws and the opening for the USB. P.S.: It took me quite a while just to do this, but at least now I know more."}, {"post_id": 79652, "ts": "2026-10-14T22:21:30Z", "hours": 0.5333, "text": "I think I fixed the routes on my PCB. Now it will probably work."}, {"post_id": 79646, "ts": "2026-10-14T20:48:21Z", "hours": 0.8667, "text": "I’m going crazy trying to route my PCB. Can someone please give me some tips or tell me what’s wrong?"}, {"post_id": 79603, "ts": "2026-10-14T17:48:39Z", "hours": 0.6167, "text": "This is my first time doing a project like this. I’ve never built anything like it, and I’m excited to keep developing this Macropad. For now, I’ve finished the schematic for my PCB. Is it good? For me it’s okay for someone with zero experience, but I’m all ears for suggestions."}]...
|
Title: My humble Macropad by @gustavocunha | Stard Title: My humble Macropad by @gustavocunha | Stardance
Devlogs:
This is my first time doing a project like this. I’ve never built anything like it, and I’m excited to keep developing this Macropad. For now, I’ve finished the schematic for my PCB. Is it good? For me it’s okay for someone with zero experience, but I’m all ears for suggestions.
I’m going crazy trying to route my PCB. Can someone please give me some tips or tell me what’s wrong?
I think I fixed the routes on my PCB. Now it will probably work.
I’ve made the base for my Macropad, it still needs the holes for the screws and the opening for the USB. P.S.: It took me quite a while just to do this, but at least now I know more.
I redid the bottom part of the case and added four holes for the screws, but I’m lost on how to make the top part, where the keys go. I tried following the tutorial, but the holes and the distances don’t line up. The best solution I’ve come up with so far is to do it by hand, which is going to be pretty complicated, but if anyone has another suggestion, I’m open to it.
I redid my PCB, but I ran into an error when adding the LEDs. I don’t know what’s going on. If anyone has any ideas or suggestions, please let me know. I could really use the help.
I finally finished the top part, but I have my doubts about whether it will fit, because I wasn’t able to import the 3D model properly. In the future, I plan to review it or redo it in another program, but for now the next step is the firmware.
I’ve finished the firmware. Now it’s just a few small touches and it’s ready to ship!!!
I’ve done the last setup, and now I’m gonna ship it. I’m very happy to have gotten this far....
|
1793123293.1638262
|
1793728093.1638262
|
|
70408
|
haunteds-site by @nic | Stardance
|
nic
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-18T21:55:23Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "haunted’s web: a crappy, low-quality 2000’s inspired webpage built with html/css, this website acts like a time capsule of a forgotten age in the digital era. a time when all websites looked like crap with a few random gifs thrown in. this is a website that’s meant to discourage people from staying on the internet. features: daily online check-in (because you should really consider how you feel when you’re browsing the web) my small blinkies collection spinning phone with a knife thrown on it a message telling people to go touch grass.", "repo": "https://github.com/sodahaunted/haunted-site", "demo": "https://sodahaunted.github.io/haunted-site/"}]...
|
[{"post_id": 80820, "ts": "202 [{"post_id": 80820, "ts": "2026-10-18T21:43:32Z", "hours": 1.6478, "text": "the dead internet theory is real made a www-inspired low-stakes website with stuff from the y2k era. resembles how i would imagine my ten-year-old self to make a website if i’d learned programming twenty years ago. some of the code is reused from my old neocities webpages, mostly for styling/css. sometimes you lose your passion for things but you keep moving forward regardless. this website is more like those crappy single-page websites you’d run into during the 90s, but no one was alive during that time to remember what it was actually like. also kind of inspired from old scam websites created by people who don’t know how to code. i programmed all of this in one sitting and forgot to commit most of the time. (if it wasn’t obvious, the site looks low-quality on purpose)"}]...
|
Title: haunteds-site by @nic | Stardance
Devlogs: Title: haunteds-site by @nic | Stardance
Devlogs:
the dead internet theory is real made a www-inspired low-stakes website with stuff from the y2k era. resembles how i would imagine my ten-year-old self to make a website if i’d learned programming twenty years ago. some of the code is reused from my old neocities webpages, mostly for styling/css. sometimes you lose your passion for things but you keep moving forward regardless. this website is more like those crappy single-page websites you’d run into during the 90s, but no one was alive during that time to remember what it was actually like. also kind of inspired from old scam websites created by people who don’t know how to code. i programmed all of this in one sitting and forgot to commit most of the time. (if it wasn’t obvious, the site looks low-quality on purpose)
Ships:
haunted’s web: a crappy, low-quality 2000’s inspired webpage built with html/css, this website acts like a time capsule of a forgotten age in the digital era. a time when all websites looked like crap with a few random gifs thrown in. this is a website that’s meant to discourage people from staying on the internet. features: daily online check-in (because you should really consider how you feel when you’re browsing the web) my small blinkies collection spinning phone with a knife thrown on it a message telling people to go touch grass....
|
1793156072.7586725
|
1793242472.7586725
|
|
57992
|
link - probe by @ayman | Stardance
|
ayman
|
0
|
25.69
|
0
|
[]
|
[{"post_id": 80816, "ts": "202 [{"post_id": 80816, "ts": "2026-10-18T21:28:52Z", "hours": 0.7186, "text": "using pytest I added a test_channel.py file that checks 3 of the functions in my code ( make_channel) adding bernoullie lost and changing GE burst lengths"}, {"post_id": 80782, "ts": "2026-10-18T19:37:04Z", "hours": 0.3919, "text": "FIxed readme and added to results.md"}, {"post_id": 80769, "ts": "2026-10-18T18:50:47Z", "hours": 0.4819, "text": "ok next I made a new plot to analyze the missed packet dealine percentage for my latency ladder and jitter runs, and we can see that all the latency ladders show a similar shape with a horizantal shift, while the jitter run has the shape of a oddpower function with an inflection point around 100ms"}, {"post_id": 80752, "ts": "2026-10-18T18:19:02Z", "hours": 0.7853, "text": "I made a new pythoin fiel athat created a new figure using matplotlib and this measures teh median and p99 rtt for my latency ladder, i will know add this into my results .md"}, {"post_id": 79694, "ts": "2026-10-15T02:45:04Z", "hours": 0.5592, "text": "So i worked on fixing or updating my plot.py with some feature. I added a title verision and fixed the y axis labeling and then adding a theoriticla value using the defintaitons of GE loss and bernoullie loss somethign we see is that int he real data we have a stair case step due to burts values being aonly integers while the therotical value using a line of best fit which is linear. here is a before and after"}, {"post_id": 79684, "ts": "2026-10-15T01:52:08Z", "hours": 0.6667, "text": "added sections 5-7 to resutls.md which talk about the limitations and like also talked about the py file i made yesterday"}, {"post_id": 79193, "ts": "2026-10-12T23:38:32Z", "hours": 1.2231, "text": "i added a new file that is supposed to check across all runs if the value in the csv matches with my decide function to check my seeds. Out of 60000 packets i only got one mismatch"}, {"post_id": 79175, "ts": "2026-10-12T21:57:42Z", "hours": 1.8461, "text": "I first added requiremetns.txt in my repo for people who want to re run or add onto the experiment, also made sure to include instructison to reapeat in my read me then i fixed some rounding errors in my summary.csv and alsltyu added a results.md that I have not finished yet"}, {"post_id": 75382, "ts": "2026-09-29T21:50:15Z", "hours": 2.2731, "text": "i used matplotlib to make a graph of my burst results. the x axis is the burst length(how many packets are lloss in a row). and the y axis is the the eprcentage of hwo many burst were greater than the k value so you obvisouly see a decleining trend because for both its much aharder from a. randopoitn for lose a lot of pacerts in a. row we see. big differen of giulbert elliot and bernouli here and the fidffernt between the two packet loss calcauation methods"}, {"post_id": 74615, "ts": "2026-09-27T19:42:56Z", "hours": 0.3431, "text": "So now i wokred on making anogther csv apart of anlsyze.py whiuchcounts hwo many burst were in each run, and the lenght adn fequencey of teh burst. A burst is basically how many packets were lsot in a row. so now i am gona downlaodn matpotlib to plot it and see how my data and expereiment actually works and try andundesrtand my reustls"}, {"post_id": 74562, "ts": "2026-09-27T17:11:11Z", "hours": 1.1439, "text": "ok i had to fix a fewt hign with my analyze.py and sumamry.csv, because it didnt trrakc lost packets or parameters of the runs so then i used enumerate and slicing, and joining to get the right parameters for each run"}, {"post_id": 72496, "ts": "2026-09-23T02:34:10Z", "hours": 2.1517, "text": "so over the past few days i have been working on a analyze.py python filet hat will take my csv results of the 14 trials and then basiclaly take all of it and make it into one summary obvisouly its missing late and params so i have to fix that and make a new one but I had to learn a lot and there was a lot of logic i did wrong in the beginning so im glad i wokred it out"}, {"post_id": 70933, "ts": "2026-09-20T02:15:42Z", "hours": 3.7128, "text": "today was long day, bsically wrote a new python file that will connect to config.py and run the server and client multiple times and ran a smoke test. learned a lot of new things like matrixes which keep all my test aswell as parsing throuhg argparse"}, {"post_id": 70380, "ts": "2026-09-19T02:23:06Z", "hours": 1.0139, "text": "Today I created a config.py where I can set all my parameters for my experiments I can do and used it to connect channel.py to config.py I also ran some tests of bernoulli versus elliot"}, {"post_id": 69422, "ts": "2026-09-17T00:59:26Z", "hours": 1.7903, "text": "researched on gilbert elliot and bernoulli package loss distrubutions and made a model to simulate that in channel.py"}, {"post_id": 68351, "ts": "2026-09-15T00:15:21Z", "hours": 1.4958, "text": "Today I found a bug where my client could save a reply under the wrong packet. The client grabbed whichever reply showed up first and assumed it belonged to the packet it had just sent. When a reply came back after the timeout, it got recorded as the next packet’s reply, and every packet after that was shifted by one. Nothing crashed. The data was just wrong.To prove it, I made my server hold a reply for 1.5 seconds while my timeout was 1 second. By accident, my first test delayed every packet after the 20th. The RTTs climbed from 1.5 s to 12 s, every other packet was marked lost, and the ones marked received carried an older packet’s time.The fix: every packet gets a deadline (send time + timeout), and the client keeps listening until the reply with the matching sequence number arrives or time runs out. Replies for older packets get counted as “late” and thrown away. Now the same test shows 1 lost, 1 late, and every packet after it keeps the right number. This matters because my jitter profile will produce late replies constantly, and without this fix every jitter run would have been garbage. i also added totola runtime and average packet rate"}, {"post_id": 67704, "ts": "2026-09-13T22:02:52Z", "hours": 0.965, "text": "I worked on making my data from tests actually to be exported as csv files, I had to learn how to use the csv file node in python and how to make sure my files don’t get overidden each time and how to show a packet is lost then i ran some trials and saw the csv but I still need to fix some things"}, {"post_id": 67676, "ts": "2026-09-13T20:47:05Z", "hours": 0.6097, "text": "added file constants aswell as working through some bugs. Basically tried out a few experiments with how many packets I sent and the time in between each packet. It really changed the average dtt and also I got to see how counter worked"}, {"post_id": 67631, "ts": "2026-09-13T19:38:36Z", "hours": 2.5683, "text": "I added the first layer of my experimentation, a server and a client. The client sends packets of info with sequence number to the server and then sends it back to the client then prints out the number in sequence and the time of the whole trip."}, {"post_id": 61247, "ts": "2026-09-04T02:46:17Z", "hours": 0.9519, "text": "created github and readme.md to start of my project also wrote more in detail why i am doing this and aswell as what I am trying to accomplish and what I am measuring, I had to spend a lot of time fixing hackatime. I Learned a lot about why packets actually get lost and how modern researchers categorize their loss and why it happens."}]...
|
Title: link - probe by @ayman | Stardance
Devlogs Title: link - probe by @ayman | Stardance
Devlogs:
created github and readme.md to start of my project also wrote more in detail why i am doing this and aswell as what I am trying to accomplish and what I am measuring, I had to spend a lot of time fixing hackatime. I Learned a lot about why packets actually get lost and how modern researchers categorize their loss and why it happens.
I added the first layer of my experimentation, a server and a client. The client sends packets of info with sequence number to the server and then sends it back to the client then prints out the number in sequence and the time of the whole trip.
added file constants aswell as working through some bugs. Basically tried out a few experiments with how many packets I sent and the time in between each packet. It really changed the average dtt and also I got to see how counter worked
I worked on making my data from tests actually to be exported as csv files, I had to learn how to use the csv file node in python and how to make sure my files don’t get overidden each time and how to show a packet is lost then i ran some trials and saw the csv but I still need to fix some things
Today I found a bug where my client could save a reply under the wrong packet. The client grabbed whichever reply showed up first and assumed it belonged to the packet it had just sent. When a reply came back after the timeout, it got recorded as the next packet’s reply, and every packet after that was shifted by one. Nothing crashed. The data was just wrong.To prove it, I made my server hold a reply for 1.5 seconds while my timeout was 1 second. By accident, my first test delayed every packet after the 20th. The RTTs climbed from 1.5 s to 12 s, every other packet was marked lost, and the ones marked received carried an older packet’s time.The fix: every packet gets a deadline (send time + timeout), and the client keeps listening until the reply with the matching sequence number arrives or time runs out. Replies for older packets get counted as “late” and thrown away. Now the same test shows 1 lost, 1 late, and every packet after it keeps the right number. This matters because my jitter profile will produce late replies constantly, and without this fix every jitter run would have been garbage. i also added totola runtime and average packet rate
researched on gilbert elliot and bernoulli package loss distrubutions and made a model to simulate that in channel.py
Today I created a config.py where I can set all my parameters for my experiments I can do and used it to connect channel.py to config.py I also ran some tests of bernoulli versus elliot
today was long day, bsically wrote a new python file that will connect to config.py and run the server and client multiple times and ran a smoke test. learned a lot of new things like matrixes which keep all my test aswell as parsing throuhg argparse
so over the past few days i have been working on a analyze.py python filet hat will take my csv results of the 14 trials and then basiclaly take all of it and make it into one summary obvisouly its missing late and params so i have to fix that and make a new one but I had to learn a lot and there was a lot of logic i did wrong in the beginning so im glad i wokred it out
ok i had to fix a fewt hign with my analyze.py and sumamry.csv, because it didnt trrakc lost packets or parameters of the runs so then i used enumerate and slicing, and joining to get the right parameters for each run
So now i wokred on making anogther csv apart of anlsyze.py whiuchcounts hwo many burst were in each run, and the lenght adn fequencey of teh burst. A burst is basically how many packets were lsot in a row. so now i am gona downlaodn matpotlib to plot it and see how my data and expereiment actually works and try andundesrtand my reustls
i used matplotlib to make a graph of my burst results. the x axis is the burst length(how many packets are lloss in a row). and the y axis is the the eprcentage of hwo many burst were greater than the k value so you obvisouly see a decleining trend because for both its much aharder from a. randopoitn for lose a lot of pacerts in a. row we see. big differen of giulbert elliot and bernouli here and the fidffernt between the two packet loss calcauation methods
I first added requiremetns.txt in my repo for people who want to re run or add onto the experiment, also made sure to include instructison to reapeat in my read me then i fixed some rounding errors in my summary.csv and alsltyu added a results.md that I have not finished yet
i added a new file that is supposed to check across all runs if the value in the csv matches with my decide function to check my seeds. Out of 60000 packets i only got one mismatch
added sections 5-7 to resutls.md which talk about the limitations and like also talked about the py file i made yesterday
So i worked on fixing or updating my plot.py with some feature. I added a title verision and fixed the y axis labeling and then adding a theoriticla value using the defintaitons of GE loss and bernoullie loss somethign we see is that int he real data we have a stair case step due to burts values being aonly integers while the therotical value using a line of best fit which is linear. here is a before and after
I made a new pythoin fiel athat created a new figure using matplotlib and this measures teh median and p99 rtt for my latency ladder, i will know add this into my results .md
ok next I made a new plot to analyze the missed packet dealine percentage for my latency ladder and jitter runs, and we can see that all the latency ladders show a similar shape with a horizantal shift, while the jitter run has the shape of a oddpower function with an inflection point around 100ms
FIxed readme and added to results.md
using pytest I added a test_channel.py file that checks 3 of the functions in my code ( make_channel) adding bernoullie lost and changing GE burst lengths...
|
1792731163.4619932
|
1793335963.4619932
|
|
55930
|
Bugatti Type 57SC Atlantic by @nejenabinupa | Star Bugatti Type 57SC Atlantic by @nejenabinupa | Stardance...
|
nejenabinupa
|
0
|
42.72
|
0
|
[]
|
[{"post_id": 80815, "ts": "202 [{"post_id": 80815, "ts": "2026-10-18T21:26:56Z", "hours": 1.3042, "text": "its finish now, after around 40+ hours"}, {"post_id": 61579, "ts": "2026-09-04T15:39:00Z", "hours": 4.4256, "text": "I make a cool seen to render with and add textures normal maps to it and I did I said and out well"}, {"post_id": 60685, "ts": "2026-09-03T07:00:26Z", "hours": 10.0406, "text": "I make the underbody and the rims and the inner and added sum textures and materials"}, {"post_id": 59681, "ts": "2026-09-01T16:31:59Z", "hours": 10.5028, "text": "I make small bits and added them, now working on the underside"}, {"post_id": 59036, "ts": "2026-08-31T16:55:18Z", "hours": 10.0525, "text": "I added the rivets by hand and make the modle little nicer and add thr grill and she look good"}, {"post_id": 58123, "ts": "2026-08-30T14:07:40Z", "hours": 6.3931, "text": "I make the base shape of the Atlantic and it look good enough for now."}]...
|
Title: Bugatti Type 57SC Atlantic by @nejenabinupa Title: Bugatti Type 57SC Atlantic by @nejenabinupa | Stardance
Devlogs:
I make the base shape of the Atlantic and it look good enough for now.
I added the rivets by hand and make the modle little nicer and add thr grill and she look good
I make small bits and added them, now working on the underside
I make the underbody and the rims and the inner and added sum textures and materials
I make a cool seen to render with and add textures normal maps to it and I did I said and out well
its finish now, after around 40+ hours...
|
1792641134.7121732
|
1793245934.7121732
|
|
6431
|
luminal by @t3kkm0tt | Stardance
|
t3kkm0tt
|
0
|
214.16
|
0
|
[]
|
[{"post_id": 80812, "ts": "202 [{"post_id": 80812, "ts": "2026-10-18T21:03:58Z", "hours": 11.4214, "text": "What has changed I forgot to devlog (again) and I lost 1hr 21m I started working on registration (yey) I removed the login screen because it was a stupid concept because the identifiers are long as helllllll and they can be loaded from a file I added a registration screen that currently only shows that you can go to the list of public instances or host your own instance (with a link to the docs which don’t exist yet)"}, {"post_id": 79141, "ts": "2026-10-12T19:59:26Z", "hours": 10.5661, "text": "What has changed: I (once again) forgot to devlog in time so I lost about 33m I deleted the client because I hate css and html (making an iced ui in rust now) added more stuff to lcp (functions, yey) refined the login (I have no idea if I did it right, but I´ll see.)"}, {"post_id": 77670, "ts": "2026-10-07T19:45:36Z", "hours": 11.1578, "text": "what has changed I forgor to devlog so i lost 1h and 9m. I deleted major parts of lcp , instance and msgstorage , which I am rebuilding right now. I just installed another distro (guix system) so building doesn’t work right now"}, {"post_id": 74215, "ts": "2026-09-26T22:48:43Z", "hours": 10.9461, "text": "What has changed: not much, I had to get better at tauri and yew and had weird ownership errors i made a component that fetches the conversations (yay) i destroyed my table because I slammed on it too hard (not yay)"}, {"post_id": 70826, "ts": "2026-09-19T20:43:21Z", "hours": 6.1056, "text": "What has changed: I have stopped developing the tui and I´m focusing on a gui now. I also tried making a web-app but that didn´t really work :<"}, {"post_id": 68157, "ts": "2026-09-14T16:43:20Z", "hours": 8.6347, "text": "What has changed I changed the logo (someone on reddit drew it for me, big shoutout to them <3) I added a instance field to the Message struct so you can figure out what instance the Message was sent from (that´s useful for texting between instances (you send a Message to your instance, it sends it to your friend´s instance)) I fixed some bugs, but in its current state, the application won´t compile"}, {"post_id": 64195, "ts": "2026-09-08T12:54:10Z", "hours": 10.1464, "text": "What has changed I finally fixed a stupid bug by using DER instead of PEM I cleaned up a bit and added custom errors using thiserror I started implementing Communities and Groups"}, {"post_id": 59606, "ts": "2026-09-01T14:55:07Z", "hours": 9.5381, "text": "What has changed basically nothing, had multiple problems that I couldn´t fix, so I just used certbot to get the certs did some config system fixes for the instance wrote some comments/docs"}, {"post_id": 52550, "ts": "2026-08-22T18:29:24Z", "hours": 8.9558, "text": "What has changed: I made the TUI better and also made one for the instance I had multiple mental breakdowns trying to understand TLS I started implementing Let´s encrypt certs instead of self-signed ones for usability. Right now, I cannot show a screenshot of the stuff because it´s not compiling (yet)"}, {"post_id": 49214, "ts": "2026-08-17T21:24:41Z", "hours": 3.6575, "text": "What has changed: I added more customization options to the messagestorage, it was pretty hard to do that with ratatui I wrote some comments in the code I found a bug where the font is the same colour as the background, so the font is unreadable. I gotta fix that bug now."}, {"post_id": 47772, "ts": "2026-08-15T22:49:38Z", "hours": 4.4378, "text": "What has changed: I continued making the TUI and it now has color schemes, stats and settings. I will continue making the TUI for the instance later. I migrated the project to an organization to get luminal.codeberg.page as the domain of the website"}, {"post_id": 46282, "ts": "2026-08-13T12:31:37Z", "hours": 5.9986, "text": "What has changed: tried implementing a resource monitoring widget on the messagestorage dashboard and failed to do so, so I deleted it again (there were bugs I was unable to fix)"}, {"post_id": 43021, "ts": "2026-08-08T02:03:47Z", "hours": 8.3433, "text": "What has changed: continued making the TUI to a point where it was usable until I put a bug somewhere in the code. I will have to fix that soon updated the messagestorage replaced some .unwrap() s"}, {"post_id": 41644, "ts": "2026-08-06T00:15:22Z", "hours": 5.8672, "text": "What has changed: I started making a TUI using ratatui, focusing on minimalism and simplicity fixed some bugs"}, {"post_id": 40965, "ts": "2026-08-04T20:47:01Z", "hours": 5.7975, "text": "What has changed: I implemented and tested encryption (it still has some minor bugs, but it works) I stopped using userids and started using RSA keys for identification since that´s way more efficient"}, {"post_id": 39821, "ts": "2026-08-03T02:11:26Z", "hours": 8.9131, "text": "What has changed: I lost my mind trying to use the wtransport crate (it will work, trust (cope)) continued working on the messaging part refined the authentication stuff"}, {"post_id": 37227, "ts": "2026-07-29T19:35:16Z", "hours": 8.2822, "text": "What has changed: created a SQLite database for users and messages “offloaded” more code to LCP (Luminal Communication Protocol) started making the messaging part"}, {"post_id": 36057, "ts": "2026-07-27T22:01:52Z", "hours": 7.29, "text": "What has changed: Made a basic session-based authentication system (harder than I thought) using JWT Fixed and created some bugs Created unnecessary debug messages before I noticed that the hex decoding fails because I put something like ¨adasdasd¨ into my config instead of a hex string"}, {"post_id": 33264, "ts": "2026-07-23T01:24:33Z", "hours": 7.1994, "text": "What changed: continued making lcp (took longer as expected because the wtransport crate is poorly documented) started making messagestorage use lcp everything has become a mess, I gotta clean up next time I work on luminal Sidenote: I cannot commit to codeberg as I am writing this, they reported that they have an outage. I will push the code when codeberg is back up."}, {"post_id": 31853, "ts": "2026-07-20T15:54:01Z", "hours": 8.6744, "text": "What has changed Structure Started making libs and mods for the separate parts ( l uminal c ommunication p rotocol, etc.) changed the architecture from: Client <-> Messagestorage <-> Instance to: Messagestorage <- Client <-> Instance Bugfixes Fixed various bugs, but the compiler throws errors right now, so I cannot show a working version in the screenshot."}, {"post_id": 29139, "ts": "2026-07-15T20:31:15Z", "hours": 8.5089, "text": "What changed started making a bash-like shell for managing and controlling the instance rewrote the config system to use the toml crate instead of config fixed multiple bugs started making cert verification smol sidenote: I cannot work as fast as the last weeks right now because I’m on vacation and only have a dual-core ThinkPad with me."}, {"post_id": 26334, "ts": "2026-07-11T02:05:48Z", "hours": 8.7136, "text": "What changed added automatic port fetching for better ux fixed multiple bugs made the code very messy (gonna clean everything up tomorrow)"}, {"post_id": 15708, "ts": "2026-06-25T15:38:56Z", "hours": 7.2625, "text": "What changed: Took out ml-kem for now because it was causing rust-analyzer to be slow as hell Switched to RSA encryption because I was stupid fixed many bugs (not running right now - gotta fix that now) And a small information at the bottom: I am making this project to learn cryptography and get a Framework 12"}, {"post_id": 10286, "ts": "2026-06-16T22:32:02Z", "hours": 5.1903, "text": "Things that changed: I went back to BiStreams because I was dumb and didn’t realize that what I wanted to do was way easier with BiStreams . I started working on the backend, which can receive BiStreams from the selfhost-server as of now."}, {"post_id": 7109, "ts": "2026-06-11T21:35:55Z", "hours": 4.3564, "text": "Things that changed: Used multiple UniStreams instead of a single BiStream because its easier, made the functions more usable, removed unused dependencies."}, {"post_id": 6298, "ts": "2026-06-10T16:25:13Z", "hours": 5.8919, "text": "Started cleaning up and structuring the project. I also made a basic account system which will need some tuning later."}, {"post_id": 5589, "ts": "2026-06-09T13:19:23Z", "hours": 10.8408, "text": "After trying different protocols for literal hours , I finally settled on WebTransport. Its safer than WebSocket, I believe. I now have to make it send the json instead of “HELLO”."}, {"post_id": 1604, "ts": "2026-06-03T18:51:18Z", "hours": 1.4583, "text": "This is my first devlog of this project. I’ve always wanted to make a chat app since they are one of the most used tools today. Every attempt of making one failed and I was really frustrated. Now, I have motivation to make it and get something for free ."}]...
|
Title: luminal by @t3kkm0tt | Stardance
Devlogs:
Title: luminal by @t3kkm0tt | Stardance
Devlogs:
This is my first devlog of this project. I’ve always wanted to make a chat app since they are one of the most used tools today. Every attempt of making one failed and I was really frustrated. Now, I have motivation to make it and get something for free .
After trying different protocols for literal hours , I finally settled on WebTransport. Its safer than WebSocket, I believe. I now have to make it send the json instead of “HELLO”.
Started cleaning up and structuring the project. I also made a basic account system which will need some tuning later.
Things that changed: Used multiple UniStreams instead of a single BiStream because its easier, made the functions more usable, removed unused dependencies.
Things that changed: I went back to BiStreams because I was dumb and didn’t realize that what I wanted to do was way easier with BiStreams . I started working on the backend, which can receive BiStreams from the selfhost-server as of now.
What changed: Took out ml-kem for now because it was causing rust-analyzer to be slow as hell Switched to RSA encryption because I was stupid fixed many bugs (not running right now - gotta fix that now) And a small information at the bottom: I am making this project to learn cryptography and get a Framework 12
What changed added automatic port fetching for better ux fixed multiple bugs made the code very messy (gonna clean everything up tomorrow)
What changed started making a bash-like shell for managing and controlling the instance rewrote the config system to use the toml crate instead of config fixed multiple bugs started making cert verification smol sidenote: I cannot work as fast as the last weeks right now because I’m on vacation and only have a dual-core ThinkPad with me.
What has changed Structure Started making libs and mods for the separate parts ( l uminal c ommunication p rotocol, etc.) changed the architecture from: Client <-> Messagestorage <-> Instance to: Messagestorage <- Client <-> Instance Bugfixes Fixed various bugs, but the compiler throws errors right now, so I cannot show a working version in the screenshot.
What changed: continued making lcp (took longer as expected because the wtransport crate is poorly documented) started making messagestorage use lcp everything has become a mess, I gotta clean up next time I work on luminal Sidenote: I cannot commit to codeberg as I am writing this, they reported that they have an outage. I will push the code when codeberg is back up.
What has changed: Made a basic session-based authentication system (harder than I thought) using JWT Fixed and created some bugs Created unnecessary debug messages before I noticed that the hex decoding fails because I put something like ¨adasdasd¨ into my config instead of a hex string
What has changed: created a SQLite database for users and messages “offloaded” more code to LCP (Luminal Communication Protocol) started making the messaging part
What has changed: I lost my mind trying to use the wtransport crate (it will work, trust (cope)) continued working on the messaging part refined the authentication stuff
What has changed: I implemented and tested encryption (it still has some minor bugs, but it works) I stopped using userids and started using RSA keys for identification since that´s way more efficient
What has changed: I started making a TUI using ratatui, focusing on minimalism and simplicity fixed some bugs
What has changed: continued making the TUI to a point where it was usable until I put a bug somewhere in the code. I will have to fix that soon updated the messagestorage replaced some .unwrap() s
What has changed: tried implementing a resource monitoring widget on the messagestorage dashboard and failed to do so, so I deleted it again (there were bugs I was unable to fix)
What has changed: I continued making the TUI and it now has color schemes, stats and settings. I will continue making the TUI for the instance later. I migrated the project to an organization to get luminal.codeberg.page as the domain of the website
What has changed: I added more customization options to the messagestorage, it was pretty hard to do that with ratatui I wrote some comments in the code I found a bug where the font is the same colour as the background, so the font is unreadable. I gotta fix that bug now.
What has changed: I made the TUI better and also made one for the instance I had multiple mental breakdowns trying to understand TLS I started implementing Let´s encrypt certs instead of self-signed ones for usability. Right now, I cannot show a screenshot of the stuff because it´s not compiling (yet)
What has changed basically nothing, had multiple problems that I couldn´t fix, so I just used certbot to get the certs did some config system fixes for the instance wrote some comments/docs
What has changed I finally fixed a stupid bug by using DER instead of PEM I cleaned up a bit and added custom errors using thiserror I started implementing Communities and Groups
What has changed I changed the logo (someone on reddit drew it for me, big shoutout to them <3) I added a instance field to the Message struct so you can figure out what instance the Message was sent from (that´s useful for texting between instances (you send a Message to your instance, it sends it to your friend´s instance)) I fixed some bugs, but in its current state, the application won´t compile
What has changed: I have stopped developing the tui and I´m focusing on a gui now. I also tried making a web-app but that didn´t really work :<
What has changed: not much, I had to get better at tauri and yew and had weird ownership errors i made a component that fetches the conversations (yay) i destroyed my table because I slammed on it too hard (not yay)
what has changed I forgor to devlog so i lost 1h and 9m. I deleted major parts of lcp , instance and msgstorage , which I am rebuilding right now. I just installed another distro (guix system) so building doesn’t work right now
What has changed: I (once again) forgot to devlog in time so I lost about 33m I deleted the client because I hate css and html (making an iced ui in rust now) added more stuff to lcp (functions, yey) refined the login (I have no idea if I did it right, but I´ll see.)
What has changed I forgot to devlog (again) and I lost 1hr 21m I started working on registration (yey) I removed the login screen because it was a stupid concept because the identifiers are long as helllllll and they can be loaded from a file I added a registration screen that currently only shows that you can go to the list of public instances or host your own instance (with a link to the docs which don’t exist yet)...
|
1792612413.4905527
|
1793217213.4905527
|
|
70257
|
isolatedworld by @elkonmechato | Stardance
|
elkonmechato
|
1
|
1.92
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-18T20:30:01Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Welcome to my Space! This is a log and documentation of all of my projects, and you all get to have fun and check out these resources: https://xisolatedev.github.io/IsolatedWorld/ - you can play around with the planet😉", "repo": "https://github.com/xisolatedev/IsolatedWorld", "demo": "https://xisolatedev.github.io/IsolatedWorld/"}]...
|
[{"post_id": 80810, "ts": "202 [{"post_id": 80810, "ts": "2026-10-18T20:58:25Z", "hours": 0.9239, "text": "NUKE"}, {"post_id": 80718, "ts": "2026-10-18T16:32:11Z", "hours": 1.255, "text": "Quick Personal Website - https://xisolatedev.github.io/IsolatedWorld/"}]...
|
Title: isolatedworld by @elkonmechato | Stardance
Title: isolatedworld by @elkonmechato | Stardance
Devlogs:
Quick Personal Website - https://xisolatedev.github.io/IsolatedWorld/
NUKE
Ships:
Welcome to my Space! This is a log and documentation of all of my projects, and you all get to have fun and check out these resources: https://xisolatedev.github.io/IsolatedWorld/ - you can play around with the planet😉...
|
1793199406.78655
|
1793285806.78655
|
|
29987
|
CashDive by @Thomas | Stardance
|
Thomas
|
0
|
28.57
|
0
|
[]
|
[{"post_id": 80807, "ts": "202 [{"post_id": 80807, "ts": "2026-10-18T20:48:30Z", "hours": 4.4756, "text": "Web UI & Account page Added account page for viewing transactions I added a page for specific accounts so you can see the transactions and balance. Added styling to site I added some styling to the main page and the new account page This devlog took a while because I was focussing on other projects, but im gonna finish this project now. Also the styling took a while to get right and nextjs/react is hard Anyway next I am going to split up the transactions into pages, so it doesn’t take ages to load and result in a massive page"}, {"post_id": 49663, "ts": "2026-08-18T15:28:00Z", "hours": 4.7322, "text": "I was gone for a while, but now I started working on a frontend website for the project! I am using next.js and it uses the API I created for data. It automatically checks the authentication status and then prompts you to login with your bank if required, then it redirects to the home page. Next I will add more functionality to the site and add proper styling."}, {"post_id": 36399, "ts": "2026-07-28T14:08:07Z", "hours": 2.7244, "text": "I made an API for cashdive! I made an authentication flow with TrueLayer, so there is no need for manual auth code input. All the basic info is available from my API, including accounts, balances, and transactions."}, {"post_id": 34320, "ts": "2026-07-24T22:29:16Z", "hours": 2.0233, "text": "The database is now used to cache the data, so the API is not reached every time. The default expiry is 3 minutes, so new data will be fetched from the API after that."}, {"post_id": 33557, "ts": "2026-07-23T16:20:57Z", "hours": 5.3361, "text": "I made several improvements to the database, it now stores all the data including accounts, balances, and transactions, and pending transactions are shown & updated. When data is fetched from the API, the database is automatically updated. Authentication is improved by automatically refreshing the token after its expiry time. I made a lot of progress this devlog but it’s all backend stuff, so there’s not much to show, but here are the new tables in the DB:"}, {"post_id": 27237, "ts": "2026-07-12T16:58:05Z", "hours": 3.5094, "text": "I added a PostgreSQL database! The code I wrote can create a transactions table, add transactions from the API to the table, and fetch them from the database again."}, {"post_id": 21727, "ts": "2026-07-03T20:20:33Z", "hours": 3.2906, "text": "I made a lot of behind-the-scenes changes, including separating the API, auth, and interface into different files, adding token renewal support (so you only need to log in once every 90 days) and added some dataclasses so the data from the API is in a standard form across the whole app. The video shows that if the API token is not valid, it can generate a new one with the refresh token."}, {"post_id": 21478, "ts": "2026-07-03T13:28:53Z", "hours": 2.4814, "text": "I made a basic terminal interface for viewing bank account information, using the TrueLayer API. I used their mock bank account credentials to test my program!"}]...
|
Title: CashDive by @Thomas | Stardance
Devlogs:
I Title: CashDive by @Thomas | Stardance
Devlogs:
I made a basic terminal interface for viewing bank account information, using the TrueLayer API. I used their mock bank account credentials to test my program!
I made a lot of behind-the-scenes changes, including separating the API, auth, and interface into different files, adding token renewal support (so you only need to log in once every 90 days) and added some dataclasses so the data from the API is in a standard form across the whole app. The video shows that if the API token is not valid, it can generate a new one with the refresh token.
I added a PostgreSQL database! The code I wrote can create a transactions table, add transactions from the API to the table, and fetch them from the database again.
I made several improvements to the database, it now stores all the data including accounts, balances, and transactions, and pending transactions are shown & updated. When data is fetched from the API, the database is automatically updated. Authentication is improved by automatically refreshing the token after its expiry time. I made a lot of progress this devlog but it’s all backend stuff, so there’s not much to show, but here are the new tables in the DB:
The database is now used to cache the data, so the API is not reached every time. The default expiry is 3 minutes, so new data will be fetched from the API after that.
I made an API for cashdive! I made an authentication flow with TrueLayer, so there is no need for manual auth code input. All the basic info is available from my API, including accounts, balances, and transactions.
I was gone for a while, but now I started working on a frontend website for the project! I am using next.js and it uses the API I created for data. It automatically checks the authentication status and then prompts you to login with your bank if required, then it redirects to the home page. Next I will add more functionality to the site and add proper styling.
Web UI & Account page Added account page for viewing transactions I added a page for specific accounts so you can see the transactions and balance. Added styling to site I added some styling to the main page and the new account page This devlog took a while because I was focussing on other projects, but im gonna finish this project now. Also the styling took a while to get right and nextjs/react is hard Anyway next I am going to split up the transactions into pages, so it doesn’t take ages to load and result in a massive page...
|
1792759874.8368871
|
1793364674.8368871
|
|
46051
|
Tic-Tac-Cube by @EthanCubes | Stardance
|
EthanCubes
|
1
|
145.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-18T21:33:24Z", "hours": 145.0, "multiplier": null, "payout": 0, "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....
|
1793195759.545501
|
1793282159.545501
|
|
70325
|
Kibo - Cutie Desktop Pet by @xtanmay_09 | Stardanc Kibo - Cutie Desktop Pet by @xtanmay_09 | Stardance...
|
xtanmay_09
|
0
|
1.11
|
0
|
[]
|
[{"post_id": 80803, "ts": "202 [{"post_id": 80803, "ts": "2026-10-18T20:37:32Z", "hours": 1.1106, "text": "KIbo’s finally moving😎 I set uped the Godot scene, imported Pokémon sprite “Pancham”, created walking and idle positions till now.. After lots of effort, finally got it moving across my lappy.. Next, I will improve the walking directions, add mouse dragging, and give the pet more interactive behaviors. (WORK IN PROGRESS ) Lessgoo…"}]...
|
Title: Kibo - Cutie Desktop Pet by @xtanmay_09 | S Title: Kibo - Cutie Desktop Pet by @xtanmay_09 | Stardance
Devlogs:
KIbo’s finally moving😎 I set uped the Godot scene, imported Pokémon sprite “Pancham”, created walking and idle positions till now.. After lots of effort, finally got it moving across my lappy.. Next, I will improve the walking directions, add mouse dragging, and give the pet more interactive behaviors. (WORK IN PROGRESS ) Lessgoo…...
|
1792993979.4069664
|
1793598779.4069664
|
|
2805
|
FPEeee by @Duck | Stardance
|
Duck
|
2
|
191.0
|
1850
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-24T04:30:31Z", "hours": 58.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is an updated version of my physics engine, using a new simulation method called XPBD! It was a bit challenging learning the basics of vector calculus, but it was worth it for the added flexibility of XPBD constraints and integration. I’m also really proud of getting OpenGL rendering working for some of the demos, because making an 3D renderer could be a project in and of itself! (Not this renderer though, it’s pretty barebones.) I’m especially happy with the cloth demo, with the best 3D rendering and (in my opinion) the best showcase of the engine’s features! (Also the least laggy of them all? I know why but it’s still kinda weird, being the most complex demo.) Writing it in C was a probably a bit harder than using a higher level language like C++, but being able to compile the entire project from source in less than two seconds on my machine was a big plus! I hope you enjoy playing with the physics demos! I worked really hard on this project!!", "repo": "https://github.com/duckdood/fpeeee", "demo": "https://duckdood.github.io/physics_demo"}, {"ship_num": 2, "ts": "2026-09-06T04:53:48Z", "hours": 133.0, "multiplier": 16.74, "payout": 1850, "blessing": "neutral", "text": "This is a position-based physics engine made all in C for portability and versatility. It had many challenging moments when making it, such as triangle collisions, spatial partitioning, performance optimization, and more, but I had a lot of fun building it, showing it off to my friends and family, and learning more about physics.", "repo": "https://github.com/duckdood/fpeeee", "demo": "https://duckdood.github.io/physics_demo"}]...
|
[{"post_id": 80800, "ts": "202 [{"post_id": 80800, "ts": "2026-10-18T20:26:33Z", "hours": 1.6025, "text": "Devlog #22 (I just realized that I accidentally did two devlog #15s but it’s too late now) Getting ready for another ship I edited some constraints to be more stable, edited the website to be a bit more clear of where the controls are if your screen is too small to fit them, and had a NIGHTMARE fiddling with ffmpeg to try and replace the video on the README to not be too laggy or low quality but also not too big. I also tried to do some performance optimizations for phones, but I couldn’t figure it out. This is the mp4 version animated WebP that I eventually got ffmpeg to spit out. For some reason animated WebPs don’t work in devlogs."}, {"post_id": 79264, "ts": "2026-10-13T08:10:35Z", "hours": 2.3019, "text": "Devlog #21 MERGING I’ve been rewriting a lot of the physics engine for XPBD (eXtended Position Based Dynamics) since the last ship, but on a separate branch so that if I broke anything too bad it wouldn’t show up on the website, but today I finally merged the xpbd branch into main. Sadly, it is a fair bit slower than the previous verlet integration (at least for my simple demos), but it’s a far more flexible integration and constraint scheme and I think the tradeoff is worth it. (I am a bit disappointed with the performance on the website though, I swear it was faster before I merged it! It’s a lot faster natively!)"}, {"post_id": 78023, "ts": "2026-10-09T07:13:56Z", "hours": 4.0489, "text": "Devlog #20 Another constraint, and another failed side project. Boundary constraint I added a constraint that I named a “boundary constraint”, that confines a particle to being on the specific side of a line e.g. making four lines around the edges of the screen and making sure the particle is on the side which is visible on screen. This is different from a wall because walls have two sides (and also zero thickness) which can cause a particle that’s going super fast to completely pass through to the other side of the wall in a single physics step, whereas with a boundary it will always snap it back to the correct side of the line. (If this was a bad explanation, I’m sorry). Failed lua integration I suppose the word ‘failed’ is a bit harsh in this scenario, I was just dipping my toes into integrating a little lua shell into the demos that would let you spawn particles and stuff programatically, but I decided it wasn’t worth it for small demos that aren’t meant to be super duper flexible anyway because they’re just meant to show off cool features the engine can do. throwing balls very quickly at the wall, which don’t clip through VVV"}, {"post_id": 75992, "ts": "2026-10-01T22:09:53Z", "hours": 10.0394, "text": "Devlog #19 Optimization and Interaction I’ve optimized the triangle collision code to use the spatial partitioning I implemented before for collisions. It goes through each triangle and checks what balls are in its bounding box with the collision grid, and completely skips any balls that aren’t close. This allows for about a thousand balls in a scene (at least on my computer), which is a lot better than the hundred or so you’d get with just bounding box checks and the tens or so you would get with a naive approach. Sadly, this change is only on the XPBD branch for now, meaning it won’t reflect on the website, but you’d still probably have to be spawning balls for a while for that to slow down, depending on the computer. I’ve also added far better interaction to the cloth, using some matrix multiplication and some raycast tests, you can now drag the cloth around with your mouse! This change was on the main branch too, so this is right on the website , right now! I did try to implement a system for having the cloth tear when it was under stress, but it would have required me to rework a lot of stuff and it didn’t quite work out. :("}, {"post_id": 74317, "ts": "2026-09-27T05:22:56Z", "hours": 11.4481, "text": "Devlog #18 Fluid simulation For a couple days I’ve been researching and trying to implement a PBF (position based fluid) fluid simulation, but there are barely any resources on the topic that I’ve been able to find, and the ones I have found are very math oriented with evil cryptic symbols that take a while to wrap my head around. The fluid simulation does work, but it’s much laggier, a lot finickier, and not a lot better (if at all better) than just chucking a couple thousand balls together and having them collide normally."}, {"post_id": 72994, "ts": "2026-09-24T05:51:47Z", "hours": 9.7506, "text": "Devlog #17 OpenGL integration I spend the last couple days integrating OpenGL rendering into a couple of the projects, meaning the graphics will be a lot better and rendered on the GPU instead of being rendered on the CPU, as well as speeding up the demos because even with the added visual complexity, the GPU is just so much faster at rendering! I made these changes of the main branch so that they would reflect on the website sooner, but git’s merge system is actually super good and it took no more than 15 minutes to merge the OpenGL rendering to the XPBD branch. I’ve only migrated over the cloth and fluid demos, but they’re the ones that needed it the most, and it’s not too hard to add it to more demos after I’ve had most of the OpenGL boilerplate implemented."}, {"post_id": 70439, "ts": "2026-09-19T06:17:10Z", "hours": 8.4, "text": "Devlog #16 I migrated the XPBD stuff to 3D and moved all the demos to work with it as well, not much interesting to talk about though. Here’s a demo of it working though"}, {"post_id": 66409, "ts": "2026-09-12T07:11:52Z", "hours": 10.2822, "text": "Devlog #15: Rebuilding because why not A bit before shipping, I heard about another physics method called XPBD (extended position based dynamics) that’s a lot more powerful and flexible, and I decided, after I would ship, I would try to convert my engine to that. I kinda have to remake almost all of the physics stuff I already made, but I can recycle a lot of the older code, just making it fit the new framework, and being a lot more educated about physics simulation stuff than when I started this project, it wasn’t too hard to rewrite some new stuff. Right now I have ported over my ball pit thingy, not a lot to show that’s different from old devlogs, but hey, it’s the inside that counts, right?"}, {"post_id": 62664, "ts": "2026-09-06T04:32:53Z", "hours": 6.1839, "text": "Devlog #15: shipping! Super small devlog, just editing the website and the README and stuff like that, really want to ship now! It just took a while to add messages to all the different demos and I may have tried a little bit of engine stuff but it just didn’t work out."}, {"post_id": 59457, "ts": "2026-09-01T10:01:32Z", "hours": 10.425, "text": "Devlog #14 I added edge detection for 3D triangles and other miscellaneous stuff, like improving the website, adding VSync to the demos, but that stuff’s boring so I’m just going to show off the new demo! It might be the coolest one so far, but it was one of the easiest to make. I’m planning on shipping real soon though, just wanna add a few things to the website and readme!"}, {"post_id": 56613, "ts": "2026-08-28T13:09:26Z", "hours": 10.6511, "text": "Devlog #13 I added triangle-walls which vertices are 3 dynamic spheres, which can collide with other particles and have all 4 particles update with their own velocities! This makes the engine a lot more flexible, so you don’t have to make big grids of spheres if you want to be able to have walls that can move, instead of being static. And it makes rigidbodies (probably) possible! (Press enter to spawn balls) Demo! This devlog is a bit long, sorry! I didn’t want to go too far over 10 hours like a did a couple devlogs ago. 2D 2D is, of course, simpler than 3D, and the length of the function for these walls definitely show that (~40 lines). I used the same algorithm to find the closest position on a line to another position as I used for detecting collisions on the edges of the static 3D walls a while ago. It gives you a lerpable value from from the first point to the second point of the line, and you can use that to find the point you are looking for. Comparing it to the circle you’re checking against, will give the distance and the normal of the collision. You can use that information to move the circle out of the wall, and push the wall away, using the value to lerp between as the ratio to push each of the points that the wall is made of away. 3D This function is a bit more complicated, being about 80 lines long, but a lot of the information in the 2D version is applicable here too. Here, instead of trying to find the closest point, we are trying to find the barycentric coordinates of the point, which is similar to the value to lerp between the two points in 2D, but for 3D (It’s basically just 3 numbers which tell you how close you are to each vertex of a triangle, and can describe any point on the triangle). This involves find the triangle’s area that you are checking against using the cross product, getting the distance of the point inward to the triangle for each edge, and calculating some inverse areas, which magically (not really) give you the barycentric coordinates. We then use these coordinates, as long as the distance to the triangle face using the dot product, to figure out whether the ball is colliding with the face, and if so, moving the ball outside of the triangle and moving the 3 vertices away as well, of course using each barycentric coordinate as a weight for how much to move each individual vertex. I haven’t implemented detections with the edges of the triangles exactly yet though, only the faces, but I will try to implement it soon!"}, {"post_id": 50030, "ts": "2026-08-19T01:48:43Z", "hours": 11.2506, "text": "Devlog #12 I improved the website to include multiple demos, and I made a couple improvements to the performance of the spatial partitioning detection, but I’ve mostly just been doing tinkering and testing with the engine some more."}, {"post_id": 31654, "ts": "2026-07-20T07:22:53Z", "hours": 7.2706, "text": "Devlog #11: Not a huge devlog, I’ve mostly been having fun with this little parachute demo I made! I definitely spent too much time just playing with it. I’ve also been experimenting a bit with multithreading, but it’s not in a stable or performant enough state right now to showcase. mp4 compression will hate this"}, {"post_id": 27421, "ts": "2026-07-12T23:48:38Z", "hours": 6.1297, "text": "Devlog #10: I ported the spatial partitioning to 3D! It’s definitely a lot laggier in the 3D environment, because it needs to check 3x the partitions per ball, but it’s still a lot better than having no spatial partitioning at all. One of the problems I encountered when transitioning to 3D was lag, but not in the expected “It’s going to be laggy when you have a lot of balls” way. For some strange reason, the framerate was still below 60 even when there were no balls in the world! It turned out to be an issue with needing to calloc a big region of memory everytime it would sort the balls into their partitions, but I was able to fix it by keeping the allocation throughout the lifetime of the partition grid. I also fixed it in the 2D version, even though it wasn’t really a problem there, it also wasn’t really a problem to fix either. (In the video you will notice the balls disappearing, the sample I whipped up for the devlog just automatically despawns balls when they leave the partitioning grid. Also some balls fly off when spawning, because sometimes the balls spawn inside one another) I’m getting a bit burnt out from this project though, I might ship after maybe adding multithreading, creating the README, and maybe making some more demos. I’ve been watching some videos on real rigidbody physics, and I want to try that out too!"}, {"post_id": 24090, "ts": "2026-07-07T13:02:59Z", "hours": 25.6289, "text": "Devlog #9: Intro I added spatial partitioning to the engine to speed up collisions when you have a lot of balls in a scene. Partitioning explanation Spatial partitioning is an optimization that divides the world into a grid, so balls only check other balls that are in close cells, instead of every ball checking all others, which is O(n^2). It seems pretty simple, but I tried 4 different ways before getting a good result. Judging by the time logged, I struggled. First Attempt (Dense grid) I first tried a naive implementation, which was making a big grid, with each cell having a list of pointers to balls that are in it. The problem is, each cell needs to have the total amount of balls that could be in it allocated. For the best performance, each grid cell should be the same size as a ball, and for the size I use here, you need the grid dimensions to be in the 100s. with 1000 balls, and with 64 bit pointers, you could have 1000 * 8 * 300 * 300 bytes allocated total, ~720 MB. You can get away with a lot less pointers, but that still wasn’t satisfying, or flexible. Second Attempt (Sparse grid) My second try was a grid, but you only store cells which have balls in them. This doesn’t solve the high number of pointers per cell, but it uses less cells overall. It should’ve been easier, but C doesn’t have any built in hashmaps. The physics code doesn’t use many libraries, and I didn’t want to rely on more, so I had the bright idea to make my own hashmap. It didn’t work and I gave up, and that was the end of the sparse grid. Third Attempt (Resizable arrays) The third attempt was like the first, but I decided to try allocating the memory on the fly, when balls moved around, but it didn’t work out. Working Attempt!! (Sorting) The most successful attempt was a grid, every cell is allocated, and yet, uses the least memory. Instead of storing pointers, each cell only stores two things: An offset and a length. Just indices into the ball array, which sounds easy, but then you realize - the balls are in a random order. To fix this, when updating the grid, you sort the balls into the cell they’re in. You may think that going into the dark cave of sorting is a bad idea, but here, it’s just a counting sort. Then it sets each cell’s fields, and you have your partitions. Detecting Collisions Collisions are easier than constructing the grid, you just check every ball, find its cell, check balls in close cells, then you’re done. Struggles There was a lot of friction with memory errors. To fix them, I learned GDB, and learnt about sanitizers, which detect lots of hard to catch memory errors. One time the program would randomly crash, and it was really hard to fix, but a sanitizer detected an easy out of bounds error when rendering. Not even a physics thing. :( Sorry!! Sorry for the long post, and the time it took me to post it, The devlog guide says to keep it short and post often, but I fell down a rabbit hole with optimizing, and was putting off writing as I knew it would be unwieldy in length. I haven’t implemented partitioning in 3d yet, but it should be easy to transfer over. It’s hard to see the balls in the video, but I want to keep the video smaller. It gets laggy in the video as well, but there are 7000 balls in the scene at the end, and I check collisions 15 times per frame, I am also recording too. Try it out If you read all the way down here, you might want to try the engine. I have a build on my pages , but it’s kinda slow on web. Click to attract P to set where the balls shoot to when spawned Enter to spawn balls Scroll to change spawn speed (at least until I change the demo). On some screens the simulation doesn’t show up until you click fullscreen. Sorry for weird wording, max devlog size is 4k characters."}, {"post_id": 13602, "ts": "2026-06-22T09:10:49Z", "hours": 9.5267, "text": "Devlog #8: I added a function that generates wheels (kinda lame), but I also added a GitHub action that automatically compiles and pushes my commits to my GitHub pages so now theres a web demo also i did just like a ton of testing and playing and stuff which is what pushed it to 9 hours"}, {"post_id": 11197, "ts": "2026-06-18T10:07:28Z", "hours": 12.275, "text": "Devlog 7: Finally added mass to the engine! Before now all the particles had the same mass (just implicitly, so basically all of them had a mass of 1), making the small ones super dense. Took so long because I had to migrate back to 2d in order to make sure the mass was working in 2d (everything was in 3d already so I actually added mass to 3d first), and had to update the 2d rendering for it to be able to render in 3d, but now everything (especially springs), is a lot cooler!"}, {"post_id": 7804, "ts": "2026-06-13T00:51:39Z", "hours": 3.5253, "text": "I added the shape generators back for 3d, now we have ✨ 3D cloth ✨!"}, {"post_id": 7351, "ts": "2026-06-12T08:09:41Z", "hours": 12.0594, "text": "Trying to move to 3D, finally got triangle-sphere collisions working the edges were by far the hardest part, the sphere-face collision actually wasn’t too hard the engine wasn’t built for walls to be able to move, but it can handle it semi fine (I’m just having rotating walls for the cool 3d showcase)"}, {"post_id": 3300, "ts": "2026-06-06T04:57:51Z", "hours": 5.0347, "text": "Added some functions that generate shapes for you, for example, cloth!"}, {"post_id": 2633, "ts": "2026-06-05T08:26:08Z", "hours": 1.5244, "text": "not that big but i migrated to the sdl callback system, so it works on emscripten now (can run in browser) ignore my screen recorder quality"}, {"post_id": 2039, "ts": "2026-06-04T10:12:11Z", "hours": 5.5597, "text": "got circle-circle collision working and with a lot of balls its a bit like a fluid cleaned up main.c as well too"}, {"post_id": 721, "ts": "2026-06-02T09:46:29Z", "hours": 5.7058, "text": "includes double pendulum for clout not actually accurate but looks fine it uses verlet integration and supports springs as well"}]...
|
Title: FPEeee by @Duck | Stardance
Devlogs:
inclu Title: FPEeee by @Duck | Stardance
Devlogs:
includes double pendulum for clout not actually accurate but looks fine it uses verlet integration and supports springs as well
got circle-circle collision working and with a lot of balls its a bit like a fluid cleaned up main.c as well too
not that big but i migrated to the sdl callback system, so it works on emscripten now (can run in browser) ignore my screen recorder quality
Added some functions that generate shapes for you, for example, cloth!
Trying to move to 3D, finally got triangle-sphere collisions working the edges were by far the hardest part, the sphere-face collision actually wasn’t too hard the engine wasn’t built for walls to be able to move, but it can handle it semi fine (I’m just having rotating walls for the cool 3d showcase)
I added the shape generators back for 3d, now we have ✨ 3D cloth ✨!
Devlog 7: Finally added mass to the engine! Before now all the particles had the same mass (just implicitly, so basically all of them had a mass of 1), making the small ones super dense. Took so long because I had to migrate back to 2d in order to make sure the mass was working in 2d (everything was in 3d already so I actually added mass to 3d first), and had to update the 2d rendering for it to be able to render in 3d, but now everything (especially springs), is a lot cooler!
Devlog #8: I added a function that generates wheels (kinda lame), but I also added a GitHub action that automatically compiles and pushes my commits to my GitHub pages so now theres a web demo also i did just like a ton of testing and playing and stuff which is what pushed it to 9 hours
Devlog #9: Intro I added spatial partitioning to the engine to speed up collisions when you have a lot of balls in a scene. Partitioning explanation Spatial partitioning is an optimization that divides the world into a grid, so balls only check other balls that are in close cells, instead of every ball checking all others, which is O(n^2). It seems pretty simple, but I tried 4 different ways before getting a good result. Judging by the time logged, I struggled. First Attempt (Dense grid) I first tried a naive implementation, which was making a big grid, with each cell having a list of pointers to balls that are in it. The problem is, each cell needs to have the total amount of balls that could be in it allocated. For the best performance, each grid cell should be the same size as a ball, and for the size I use here, you need the grid dimensions to be in the 100s. with 1000 balls, and with 64 bit pointers, you could have 1000 * 8 * 300 * 300 bytes allocated total, ~720 MB. You can get away with a lot less pointers, but that still wasn’t satisfying, or flexible. Second Attempt (Sparse grid) My second try was a grid, but you only store cells which have balls in them. This doesn’t solve the high number of pointers per cell, but it uses less cells overall. It should’ve been easier, but C doesn’t have any built in hashmaps. The physics code doesn’t use many libraries, and I didn’t want to rely on more, so I had the bright idea to make my own hashmap. It didn’t work and I gave up, and that was the end of the sparse grid. Third Attempt (Resizable arrays) The third attempt was like the first, but I decided to try allocating the memory on the fly, when balls moved around, but it didn’t work out. Working Attempt!! (Sorting) The most successful attempt was a grid, every cell is allocated, and yet, uses the least memory. Instead of storing pointers, each cell only stores two things: An offset and a length. Just indices into the ball array, which sounds easy, but then you realize - the balls are in a random order. To fix this, when updating the grid, you sort the balls into the cell they’re in. You may think that going into the dark cave of sorting is a bad idea, but here, it’s just a counting sort. Then it sets each cell’s fields, and you have your partitions. Detecting Collisions Collisions are easier than constructing the grid, you just check every ball, find its cell, check balls in close cells, then you’re done. Struggles There was a lot of friction with memory errors. To fix them, I learned GDB, and learnt about sanitizers, which detect lots of hard to catch memory errors. One time the program would randomly crash, and it was really hard to fix, but a sanitizer detected an easy out of bounds error when rendering. Not even a physics thing. :( Sorry!! Sorry for the long post, and the time it took me to post it, The devlog guide says to keep it short and post often, but I fell down a rabbit hole with optimizing, and was putting off writing as I knew it would be unwieldy in length. I haven’t implemented partitioning in 3d yet, but it should be easy to transfer over. It’s hard to see the balls in the video, but I want to keep the video smaller. It gets laggy in the video as well, but there are 7000 balls in the scene at the end, and I check collisions 15 times per frame, I am also recording too. Try it out If you read all the way down here, you might want to try the engine. I have a build on my pages , but it’s kinda slow on web. Click to attract P to set where the balls shoot to when spawned Enter to spawn balls Scroll to change spawn speed (at least until I change the demo). On some screens the simulation doesn’t show up until you click fullscreen. Sorry for weird wording, max devlog size is 4k characters.
Devlog #10: I ported the spatial partitioning to 3D! It’s definitely a lot laggier in the 3D environment, because it needs to check 3x the partitions per ball, but it’s still a lot better than having no spatial partitioning at all. One of the problems I encountered when transitioning to 3D was lag, but not in the expected “It’s going to be laggy when you have a lot of balls” way. For some strange reason, the framerate was still below 60 even when there were no balls in the world! It turned out to be an issue with needing to calloc a big region of memory everytime it would sort the balls into their partitions, but I was able to fix it by keeping the allocation throughout the lifetime of the partition grid. I also fixed it in the 2D version, even though it wasn’t really a problem there, it also wasn’t really a problem to fix either. (In the video you will notice the balls disappearing, the sample I whipped up for the devlog just automatically despawns balls when they leave the partitioning grid. Also some balls fly off when spawning, because sometimes the balls spawn inside one another) I’m getting a bit burnt out from this project though, I might ship after maybe adding multithreading, creating the README, and maybe making some more demos. I’ve been watching some videos on real rigidbody physics, and I want to try that out too!
Devlog #11: Not a huge devlog, I’ve mostly been having fun with this little parachute demo I made! I definitely spent too much time just playing with it. I’ve also been experimenting a bit with multithreading, but it’s not in a stable or performant enough state right now to showcase. mp4 compression will hate this
Devlog #12 I improved the website to include multiple demos, and I made a couple improvements to the performance of the spatial partitioning detection, but I’ve mostly just been doing tinkering and testing with the engine some more.
Devlog #13 I added triangle-walls which vertices are 3 dynamic spheres, which can collide with other particles and have all 4 particles update with their own velocities! This makes the engine a lot more flexible, so you don’t have to make big grids of spheres if you want to be able to have walls that can move, instead of being static. And it makes rigidbodies (probably) possible! (Press enter to spawn balls) Demo! This devlog is a bit long, sorry! I didn’t want to go too far over 10 hours like a did a couple devlogs ago. 2D 2D is, of course, simpler than 3D, and the length of the function for these walls definitely show that (~40 lines). I used the same algorithm to find the closest position on a line to another position as I used for detecting collisions on the edges of the static 3D walls a while ago. It gives you a lerpable value from from the first point to the second point of the line, and you can use that to find the point you are looking for. Comparing it to the circle you’re checking against, will give the distance and the normal of the collision. You can use that information to move the circle out of the wall, and push the wall away, using the value to lerp between as the ratio to push each of the points that the wall is made of away. 3D This function is a bit more complicated, being about 80 lines long, but a lot of the information in the 2D version is applicable here too. Here, instead of trying to find the closest point, we are trying to find the barycentric coordinates of the point, which is similar to the value to lerp between the two points in 2D, but for 3D (It’s basically just 3 numbers which tell you how close you are to each vertex of a triangle, and can describe any point on the triangle). This involves find the triangle’s area that you are checking against using the cross product, getting the distance of the point inward to the triangle for each edge, and calculating some inverse areas, which magically (not really) give you the barycentric coordinates. We then use these coordinates, as long as the distance to the triangle face using the dot product, to figure out whether the ball is colliding with the face, and if so, moving the ball outside of the triangle and moving the 3 vertices away as well, of course using each barycentric coordinate as a weight for how much to move each individual vertex. I haven’t implemented detections with the edges of the triangles exactly yet though, only the faces, but I will try to implement it soon!
Devlog #14 I added edge detection for 3D triangles and other miscellaneous stuff, like improving the website, adding VSync to the demos, but that stuff’s boring so I’m just going to show off the new demo! It might be the coolest one so far, but it was one of the easiest to make. I’m planning on shipping real soon though, just wanna add a few things to the website and readme!
Devlog #15: shipping! Super small devlog, just editing the website and the README and stuff like that, really want to ship now! It just took a while to add messages to all the different demos and I may have tried a little bit of engine stuff but it just didn’t work out.
Devlog #15: Rebuilding because why not A bit before shipping, I heard about another physics method called XPBD (extended position based dynamics) that’s a lot more powerful and flexible, and I decided, after I would ship, I would try to convert my engine to that. I kinda have to remake almost all of the physics stuff I already made, but I can recycle a lot of the older code, just making it fit the new framework, and being a lot more educated about physics simulation stuff than when I started this project, it wasn’t too hard to rewrite some new stuff. Right now I have ported over my ball pit thingy, not a lot to show that’s different from old devlogs, but hey, it’s the inside that counts, right?
Devlog #16 I migrated the XPBD stuff to 3D and moved all the demos to work with it as well, not much interesting to talk about though. Here’s a demo of it working though
Devlog #17 OpenGL integration I spend the last couple days integrating OpenGL rendering into a couple of the projects, meaning the graphics will be a lot better and rendered on the GPU instead of being rendered on the CPU, as well as speeding up the demos because even with the added visual complexity, the GPU is just so much faster at rendering! I made these changes of the main branch so that they would reflect on the website sooner, but git’s merge system is actually super good and it took no more than 15 minutes to merge the OpenGL rendering to the XPBD branch. I’ve only migrated over the cloth and fluid demos, but they’re the ones that needed it the most, and it’s not too hard to add it to more demos after I’ve had most of the OpenGL boilerplate implemented.
Devlog #18 Fluid simulation For a couple days I’ve been researching and trying to implement a PBF (position based fluid) fluid simulation, but there are barely any resources on the topic that I’ve been able to find, and the ones I have found are very math oriented with evil cryptic symbols that take a while to wrap my head around. The fluid simulation does work, but it’s much laggier, a lot finickier, and not a lot better (if at all better) than just chucking a couple thousand balls together and having them collide normally.
Devlog #19 Optimization and Interaction I’ve optimized the triangle collision code to use the spatial partitioning I implemented before for collisions. It goes through each triangle and checks what balls are in its bounding box with the collision grid, and completely skips any balls that aren’t close. This allows for about a thousand balls in a scene (at least on my computer), which is a lot better than the hundred or so you’d get with just bounding box checks and the tens or so you would get with a naive approach. Sadly, this change is only on the XPBD branch for now, meaning it won’t reflect on the website, but you’d still probably have to be spawning balls for a while for that to slow down, depending on the computer. I’ve also added far better interaction to the cloth, using some matrix multiplication and some raycast tests, you can now drag the cloth around with your mouse! This change was on the main branch too, so this is right on the website , right now! I did try to implement a system for having the cloth tear when it was under stress, but it would have required me to rework a lot of stuff and it didn’t quite work out. :(
Devlog #20 Another constraint, and another failed side project. Boundary constraint I added a constraint that I named a “boundary constraint”, that confines a particle to being on the specific side of a line e.g. making four lines around the edges of the screen and making sure the particle is on the side which is visible on screen. This is different from a wall because walls have two sides (and also zero thickness) which can cause a particle that’s going super fast to completely pass through to the other side of the wall in a single physics step, whereas with a boundary it will always snap it back to the correct side of the line. (If this was a bad explanation, I’m sorry). Failed lua integration I suppose the word ‘failed’ is a bit harsh in this scenario, I was just dipping my toes into integrating a little lua shell into the demos that would let you spawn particles and stuff programatically, but I decided it wasn’t worth it for small demos that aren’t meant to be super duper flexible anyway because they’re just meant to show off cool features the engine can do. throwing balls very quickly at the wall, which don’t clip through VVV
Devlog #21 MERGING I’ve been rewriting a lot of the physics engine for XPBD (eXtended Position Based Dynamics) since the last ship, but on a separate branch so that if I broke anything too bad it wouldn’t show up on the website, but today I finally merged the xpbd branch into main. Sadly, it is a fair bit slower than the previous verlet integration (at least for my simple demos), but it’s a far more flexible integration and constraint scheme and I think the tradeoff is worth it. (I am a bit disappointed with the performance on the website though, I swear it was faster before I merged it! It’s a lot faster natively!)
Devlog #22 (I just realized that I accidentally did two devlog #15s but it’s too late now) Getting ready for another ship I edited some constraints to be more stable, edited the website to be a bit more clear of where the controls are if your screen is too small to fit them, and had a NIGHTMARE fiddling with ffmpeg to try and replace the video on the README to not be too laggy or low quality but also not too big. I also tried to do some performance optimizations for phones, but I couldn’t figure it out. This is the mp4 version animated WebP that I eventually got ffmpeg to spit out. For some reason animated WebPs don’t work in devlogs.
Ships:
This is a position-based physics engine made all in C for portability and versatility. It had many challenging moments when making it, such as triangle collisions, spatial partitioning, performance optimization, and more, but I had a lot of fun building it, showing it off to my friends and family, and learning more about physics.
This is an updated version of my physics engine, using a new simulation method called XPBD! It was a bit challenging learning the basics of vector calculus, but it was worth it for the added flexibility of XPBD constraints and integration. I’m also really proud of getting OpenGL rendering working for some of the demos, because making an 3D renderer could be a project in and of itself! (Not this renderer though, it’s pretty barebones.) I’m especially happy with the cloth demo, with the best 3D rendering and (in my opinion) the best showcase of the engine’s features! (Also the least laggy of them all? I know why but it’s still kinda weird, being the most complex demo.) Writing it in C was a probably a bit harder than using a higher level language like C++, but being able to compile the entire project from source in less than two seconds on my machine was a big plus! I hope you enjoy playing with the physics demos! I worked really hard on this project!!...
|
1793130509.6334765
|
1793216909.6334765
|
|
41782
|
BIOSnake by @Duck | Stardance
|
Duck
|
1
|
32.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-19T23:24:25Z", "hours": 32.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is snake written in x86 assembly, running directly on the CPU with BIOS interrupt calls without an operating system, in under 3KB. It also includes comfort features like input buffering and thin snake drawing. It was challenging to get started programming in assembly, but once you get used to it it becomes a lot easier.", "repo": "https://github.com/duckdood/biosnake", "demo": "https://duckdood.github.io/asm_snake"}]...
|
[{"post_id": 80796, "ts": "202 [{"post_id": 80796, "ts": "2026-10-18T20:18:04Z", "hours": 0.6553, "text": "Palettes Devlog #8 Firstly I made the initial seed for for apple to be based on the current time (so it’s randomized every time you boot it up), and I added some color palettes that you can switch between with the E key."}, {"post_id": 69115, "ts": "2026-09-16T12:23:52Z", "hours": 2.6669, "text": "Miscellaneous stuff Devlog #7 I added input buffering, centered the screen, and added an end animation. I don’t really remember if I added anything else because I haven’t worked on this project in about a month and reading assembly is kinda hard."}, {"post_id": 43158, "ts": "2026-08-08T08:28:59Z", "hours": 9.6006, "text": "t h i n s n a k e Devlog #6 Thin Snake! Finally made the snake thin so it doesn’t turn into a blob. It should NOT have taken 9 hours, but it really does take a long time to program in assembly. In order to figure out how to bend the snake, it checks the segment in front of the snake, packs the info into 2 bits, and then does the same thing for the segment behind the snake. Then, it does a switch statement (At least, the closest thing to a switch statement in assembly) of the 16 possible values from those 4 bits packed together and then hardcodes drawing the segment. This implementation is definitely a bit strange and not the best way to do it, but it was the first one that worked and I didn’t want to keep trying different methods (doing anything in assembly isn’t very pleasant) (If the video looks super blurry, that’s because I recorded it at the original 320*240 resolution)"}, {"post_id": 39291, "ts": "2026-08-02T05:15:37Z", "hours": 2.0097, "text": "Nearly Finished! Devlog #5 Apples! The snake now has some food that appears on the screen. Not much to say here about the feature, it’s snake! But the implementation is a little bit more interesting. In computers, random numbers aren’t much of a thing, so you’ll usually have to settle for pseudo random numbers, but, CPUs today have an RDRAND instruction for generating random numbers from thermal noise and whatnot inside the CPU. but even though it’s on practically every chip today, I still opted not to use it, because Unseeded, so you can’t make a game seed or stuff like that, and They aren’t present on processors before 2012! And we want this snake to be able to run on the original i386, don’t we? So instead I decided to use a simple pseudo random number generator I just whipped up on the spot by multiply the seed by some big numbers and xor’ing it with itself a couple times. it’s definitely not cryptographically secure, but it’s snake, so whatever. What next? Now that the game is done, I’m gonna add a couple more features just so the game is a bit more more comfortable to play. I plan on adding: Centering the game screen (For obvious reasons) Restart button (so you don’t have to reboot the emulator) (Or if anyone runs this bare metal for some reason, the computer) Choosing colors (Because fun!) Button queuing (for convenience) Maybe some visual flair (like drawing the snake as thin, some sprites if I can figure those out, and stuff like that)"}, {"post_id": 38792, "ts": "2026-08-01T11:07:25Z", "hours": 5.5558, "text": "Hungry snake :( Devlog #4 Sadly there’s no apple yet so the snake is getting pretty hungry. The snake moves! I made the snake finally able to get longer than 1 segment through a circular style array for keeping track of the head. This means that there is an array for all the segments that store the X and Y, and the head slithers through the array overwriting the tail segment so that you don’t need to copy the whole array forward every time the snake moves. Copy problems With this way of implementing the snake, you need to shift forward all the segments in front of the snake’s head in memory so that it creates a free space in front of the head, and so the head can move into the free space instead of overwriting the tail. It’s a pretty simple concept, but I had a lot of trouble enacting this in assembly. Having to think about individual bytes isn’t something I’m used to from having data types handled automatically by higher level languages like C."}, {"post_id": 38097, "ts": "2026-07-31T09:47:36Z", "hours": 3.6206, "text": "This snake is devouring disk space Devlog #3 Reading more sectors As I was writing more assembly, I noticed a moment when whenever I added any more instructions, the screen would just go black. I knew I might be scooching up to the 512 byte limit, so I ndisasm’d the binary and found out that, sure enough, I only had 2 more bytes left! I was preparing to have use more than 512 bytes for my program, so I knew roughly what I needed to do. You just need one bios interrupt to read a couple sectors (512 byte chunks) into memory, and moved some code around, and now I have practically unlimited (a couple thousand bytes) to work with!"}, {"post_id": 37499, "ts": "2026-07-30T09:11:11Z", "hours": 1.4617, "text": "New Snake Habitats near You Devlog #2 Drawing the grid I drew a grid for the snake to move on. The code for the nested loop is not readable at all, but then again, it’s in assembly, no matter how you write it it’s unreadable. CAUTION: Please do not touch or feed snakes, or the DX register. I had an issue with the rectangle size being 0, because the size is passed to the drawing function through the DX register and I forgot that the MUL instruction doesn’t just store the result in AX, but also the DX register. This part sounds a bit weird but the stardance devlog guide says to “Include the friction” Dull Devlogs I know these devlogs may seem uneventful or dull, but writing anything in assembly is a hard task. It took me over an hour to draw a grid!"}, {"post_id": 37435, "ts": "2026-07-30T05:17:47Z", "hours": 5.9428, "text": "I have a rectangle and I’m not afraid to use it Devlog #1 Introduction This is my first devlog of making (or at least trying to make) snake without an operating system using BIOS interrupts and 16 bit x86 real mode assembly. I’ve made my functions for clearing the screen and drawing a rectangle, and it only took 5 hours to do! A lot of was also researching calling conventions, which registers can do what, and wondering why you can’t access memory with the stack pointer register (???? why cant you it LITERALLY has the word pointer in its name)"}]...
|
Title: BIOSnake by @Duck | Stardance
Devlogs:
I h Title: BIOSnake by @Duck | Stardance
Devlogs:
I have a rectangle and I’m not afraid to use it Devlog #1 Introduction This is my first devlog of making (or at least trying to make) snake without an operating system using BIOS interrupts and 16 bit x86 real mode assembly. I’ve made my functions for clearing the screen and drawing a rectangle, and it only took 5 hours to do! A lot of was also researching calling conventions, which registers can do what, and wondering why you can’t access memory with the stack pointer register (???? why cant you it LITERALLY has the word pointer in its name)
New Snake Habitats near You Devlog #2 Drawing the grid I drew a grid for the snake to move on. The code for the nested loop is not readable at all, but then again, it’s in assembly, no matter how you write it it’s unreadable. CAUTION: Please do not touch or feed snakes, or the DX register. I had an issue with the rectangle size being 0, because the size is passed to the drawing function through the DX register and I forgot that the MUL instruction doesn’t just store the result in AX, but also the DX register. This part sounds a bit weird but the stardance devlog guide says to “Include the friction” Dull Devlogs I know these devlogs may seem uneventful or dull, but writing anything in assembly is a hard task. It took me over an hour to draw a grid!
This snake is devouring disk space Devlog #3 Reading more sectors As I was writing more assembly, I noticed a moment when whenever I added any more instructions, the screen would just go black. I knew I might be scooching up to the 512 byte limit, so I ndisasm’d the binary and found out that, sure enough, I only had 2 more bytes left! I was preparing to have use more than 512 bytes for my program, so I knew roughly what I needed to do. You just need one bios interrupt to read a couple sectors (512 byte chunks) into memory, and moved some code around, and now I have practically unlimited (a couple thousand bytes) to work with!
Hungry snake :( Devlog #4 Sadly there’s no apple yet so the snake is getting pretty hungry. The snake moves! I made the snake finally able to get longer than 1 segment through a circular style array for keeping track of the head. This means that there is an array for all the segments that store the X and Y, and the head slithers through the array overwriting the tail segment so that you don’t need to copy the whole array forward every time the snake moves. Copy problems With this way of implementing the snake, you need to shift forward all the segments in front of the snake’s head in memory so that it creates a free space in front of the head, and so the head can move into the free space instead of overwriting the tail. It’s a pretty simple concept, but I had a lot of trouble enacting this in assembly. Having to think about individual bytes isn’t something I’m used to from having data types handled automatically by higher level languages like C.
Nearly Finished! Devlog #5 Apples! The snake now has some food that appears on the screen. Not much to say here about the feature, it’s snake! But the implementation is a little bit more interesting. In computers, random numbers aren’t much of a thing, so you’ll usually have to settle for pseudo random numbers, but, CPUs today have an RDRAND instruction for generating random numbers from thermal noise and whatnot inside the CPU. but even though it’s on practically every chip today, I still opted not to use it, because Unseeded, so you can’t make a game seed or stuff like that, and They aren’t present on processors before 2012! And we want this snake to be able to run on the original i386, don’t we? So instead I decided to use a simple pseudo random number generator I just whipped up on the spot by multiply the seed by some big numbers and xor’ing it with itself a couple times. it’s definitely not cryptographically secure, but it’s snake, so whatever. What next? Now that the game is done, I’m gonna add a couple more features just so the game is a bit more more comfortable to play. I plan on adding: Centering the game screen (For obvious reasons) Restart button (so you don’t have to reboot the emulator) (Or if anyone runs this bare metal for some reason, the computer) Choosing colors (Because fun!) Button queuing (for convenience) Maybe some visual flair (like drawing the snake as thin, some sprites if I can figure those out, and stuff like that)
t h i n s n a k e Devlog #6 Thin Snake! Finally made the snake thin so it doesn’t turn into a blob. It should NOT have taken 9 hours, but it really does take a long time to program in assembly. In order to figure out how to bend the snake, it checks the segment in front of the snake, packs the info into 2 bits, and then does the same thing for the segment behind the snake. Then, it does a switch statement (At least, the closest thing to a switch statement in assembly) of the 16 possible values from those 4 bits packed together and then hardcodes drawing the segment. This implementation is definitely a bit strange and not the best way to do it, but it was the first one that worked and I didn’t want to keep trying different methods (doing anything in assembly isn’t very pleasant) (If the video looks super blurry, that’s because I recorded it at the original 320*240 resolution)
Miscellaneous stuff Devlog #7 I added input buffering, centered the screen, and added an end animation. I don’t really remember if I added anything else because I haven’t worked on this project in about a month and reading assembly is kinda hard.
Palettes Devlog #8 Firstly I made the initial seed for for apple to be based on the current time (so it’s randomized every time you boot it up), and I added some color palettes that you can switch between with the E key.
Ships:
This is snake written in x86 assembly, running directly on the CPU with BIOS interrupt calls without an operating system, in under 3KB. It also includes comfort features like input buffering and thin snake drawing. It was challenging to get started programming in assembly, but once you get used to it it becomes a lot easier....
|
1793155921.5354595
|
1793242321.5354595
|
|
66445
|
The Trolley Problem by @j4y_boi | Stardance
|
j4y_boi
|
0
|
9.58
|
0
|
[]
|
[{"post_id": 80795, "ts": "202 [{"post_id": 80795, "ts": "2026-10-18T20:14:39Z", "hours": 1.6417, "text": "Working on game mechanics, also found out that you can actually generate meshes with CSG 3D objects. I don’t even need to learn Blender for this project at this rate! (Though, it would be nice to learn) The GUI looks pretty horrendous at the moment, but it’s still a WIP."}, {"post_id": 80002, "ts": "2026-10-15T21:14:34Z", "hours": 1.8017, "text": "Changes: Added a dummy save file screen started work on a dialog system started work on first 3D level you can now skip the opening logo’s implemented save management system Gameplay won’t be finished for a bit, I got a rough concept and storyline plotted out, but only time will tell how much will actually be implemented."}, {"post_id": 76725, "ts": "2026-10-04T12:50:47Z", "hours": 1.5519, "text": "web demo is up and running, starting work on gameplay now"}, {"post_id": 76555, "ts": "2026-10-03T22:38:13Z", "hours": 3.0181, "text": "main menu work, also currently trying to get a demo up"}, {"post_id": 76060, "ts": "2026-10-02T07:14:07Z", "hours": 1.5639, "text": "Made a Godot project, also started making the main menu theme first for some reason"}]...
|
Title: The Trolley Problem by @j4y_boi | Stardance Title: The Trolley Problem by @j4y_boi | Stardance
Devlogs:
Made a Godot project, also started making the main menu theme first for some reason
main menu work, also currently trying to get a demo up
web demo is up and running, starting work on gameplay now
Changes: Added a dummy save file screen started work on a dialog system started work on first 3D level you can now skip the opening logo’s implemented save management system Gameplay won’t be finished for a bit, I got a rough concept and storyline plotted out, but only time will tell how much will actually be implemented.
Working on game mechanics, also found out that you can actually generate meshes with CSG 3D objects. I don’t even need to learn Blender for this project at this rate! (Though, it would be nice to learn) The GUI looks pretty horrendous at the moment, but it’s still a WIP....
|
1793098378.8749132
|
1793703178.8749132
|
|
69555
|
Hackpad by @makeme44 | Stardance
|
makeme44
|
0
|
12.9
|
0
|
[]
|
[{"post_id": 80794, "ts": "202 [{"post_id": 80794, "ts": "2026-10-18T20:08:07Z", "hours": 1.2661, "text": "some git hub preping"}, {"post_id": 80484, "ts": "2026-10-17T20:22:33Z", "hours": 1.8975, "text": "added some final tuches to my cad and started uploading it to git hub next is adding some pictures to the pcb and uploading it to then writing a read me and im done"}, {"post_id": 80439, "ts": "2026-10-17T16:56:44Z", "hours": 0.4508, "text": "made the knob"}, {"post_id": 80423, "ts": "2026-10-17T16:24:26Z", "hours": 4.0458, "text": "started making the cad just the knob left"}, {"post_id": 80348, "ts": "2026-10-17T10:51:58Z", "hours": 1.0675, "text": "made the PCB feels great the microcontroler position is a lil goofy"}, {"post_id": 80072, "ts": "2026-10-16T04:58:07Z", "hours": 3.0317, "text": "I made an actual pcb sadly o forgit to screenshot it so here is my new schematic i chalieplexed switches"}, {"post_id": 79420, "ts": "2026-10-13T21:51:34Z", "hours": 1.1414, "text": "i made the pcb i have no idea what im doing"}]...
|
Title: Hackpad by @makeme44 | Stardance
Devlogs:
Title: Hackpad by @makeme44 | Stardance
Devlogs:
i made the pcb i have no idea what im doing
I made an actual pcb sadly o forgit to screenshot it so here is my new schematic i chalieplexed switches
made the PCB feels great the microcontroler position is a lil goofy
started making the cad just the knob left
made the knob
added some final tuches to my cad and started uploading it to git hub next is adding some pictures to the pcb and uploading it to then writing a read me and im done
some git hub preping...
|
1792857117.7542348
|
1793461917.7542348
|
|
69834
|
Productivity-Tracker by @bananayt294 | Stardance
|
bananayt294
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-18T19:57:27Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a new chrome tab page that is Deployed And has a Database,it is a minimalistic page as i dont like my chrome page to cluttered up and use too many resources. The hardest Part was adding the database functionality for everything. To use the project visit the demo link shared.", "repo": "https://github.com/Bananayt294/Tab-Page", "demo": "https://tabpage.vercel.app/"}]...
|
[{"post_id": 80789, "ts": "202 [{"post_id": 80789, "ts": "2026-10-18T19:52:15Z", "hours": 1.5292, "text": "Added a Delete And Search Bar Functionality"}, {"post_id": 79984, "ts": "2026-10-15T18:58:34Z", "hours": 0.8156, "text": "Working on Connecting A supbase Database. This is my second devlog and i am making a chrome tab page. I am currently trying to connect this to a database and implement get and post request."}, {"post_id": 79868, "ts": "2026-10-15T17:48:35Z", "hours": 1.1725, "text": "I just Configured and Set up Everything to begin my Project for the Tab Page that i am making i plan to make it like a productivity Tracker that keeps track of everything you have done and have left to do using todolist,cards,TimeTable and etc And have a very basic Website going."}]...
|
Title: Productivity-Tracker by @bananayt294 | Star Title: Productivity-Tracker by @bananayt294 | Stardance
Devlogs:
I just Configured and Set up Everything to begin my Project for the Tab Page that i am making i plan to make it like a productivity Tracker that keeps track of everything you have done and have left to do using todolist,cards,TimeTable and etc And have a very basic Website going.
Working on Connecting A supbase Database. This is my second devlog and i am making a chrome tab page. I am currently trying to connect this to a database and implement get and post request.
Added a Delete And Search Bar Functionality
Ships:
I made a new chrome tab page that is Deployed And has a Database,it is a minimalistic page as i dont like my chrome page to cluttered up and use too many resources. The hardest Part was adding the database functionality for everything. To use the project visit the demo link shared....
|
1793156019.3606718
|
1793242419.3606718
|
|
37327
|
HackClub OS by @Faiz | Stardance
|
Faiz
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-18T19:48:35Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a HACKLUB themed OS!! It includes cool little easter eggs and icons that resemble hackclub, and I even added a little orpheus that follows your pointer :) Check it out!!", "repo": "https://github.com/FaizKhanv7/HackClubOS", "demo": "https://hackclubos.netlify.app"}]...
|
[{"post_id": 80786, "ts": "202 [{"post_id": 80786, "ts": "2026-10-18T19:47:26Z", "hours": 0.4186, "text": "Added a little orpheus that follows your pointer! This is the third iteration of the HackClub themed OS, I added little white indicator dots beneath the apps to show which ones are active, and I also added an orpheus that follows your pointer!! All pretty small changes but looks really polished now."}, {"post_id": 80766, "ts": "2026-10-18T18:47:08Z", "hours": 0.2564, "text": "Updated Styles + Added Icons I’ve been working on an OS that is hackclub themed! I just added some styling and icons to make everything look more polished. I will probably add a few cool/unique features next because right now its kinda bland."}, {"post_id": 72939, "ts": "2026-09-24T02:32:48Z", "hours": 1.0053, "text": "Here is the first version of HackClubOS!! Just finished the guide, everything looks kind of basic right now, I will spend the rest of my time polishing it and adding cool features! Hopefully hackclub will like it lol :)"}]...
|
Title: HackClub OS by @Faiz | Stardance
Devlogs:
Title: HackClub OS by @Faiz | Stardance
Devlogs:
Here is the first version of HackClubOS!! Just finished the guide, everything looks kind of basic right now, I will spend the rest of my time polishing it and adding cool features! Hopefully hackclub will like it lol :)
Updated Styles + Added Icons I’ve been working on an OS that is hackclub themed! I just added some styling and icons to make everything look more polished. I will probably add a few cool/unique features next because right now its kinda bland.
Added a little orpheus that follows your pointer! This is the third iteration of the HackClub themed OS, I added little white indicator dots beneath the apps to show which ones are active, and I also added an orpheus that follows your pointer!! All pretty small changes but looks really polished now.
Ships:
I made a HACKLUB themed OS!! It includes cool little easter eggs and icons that resemble hackclub, and I even added a little orpheus that follows your pointer :) Check it out!!...
|
1793199159.3943665
|
1793285559.3943665
|
|
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)...
|
1793198869.9299297
|
1793285269.9299297
|
|
68261
|
ai smart mirror by @mayaO | Stardance
|
mayaO
|
0
|
0.43
|
0
|
[]
|
[{"post_id": 80780, "ts": "202 [{"post_id": 80780, "ts": "2026-10-18T19:20:07Z", "hours": 0.4333, "text": "removing the casing of my moniter screen - so stressful"}]...
|
Title: ai smart mirror by @mayaO | Stardance
Devl Title: ai smart mirror by @mayaO | Stardance
Devlogs:
removing the casing of my moniter screen - so stressful...
|
1793119877.742453
|
1793724677.742453
|
|
53831
|
contrast by @a-fun-gi | Stardance
|
a-fun-gi
|
2
|
27.0
|
291
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-24T19:24:40Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is the second ship of the project, and the final ship to Stardance. I added most of the things people mentioned in review and a couple other things that will make development smoother in the future. I am planning on developing the full version of the game for another competition after stardance ends. Hopefully you guys had fun seeing this project evolve (ik i did :)) and follow my github or itch if you want to see how it goes!! Thank you!!", "repo": "https://github.com/a-fun-gi/contrast", "demo": "https://a-fun-gi.itch.io/contrast-demo"}, {"ship_num": 2, "ts": "2026-10-04T01:06:39Z", "hours": 24.0, "multiplier": 12.26, "payout": 291, "blessing": "neutral", "text": "Contrast Contrast is a monochrome metroidvania involving light, shadows, and getting lost in the dark built in Godot. The Idea I was once doodling in my journal and I made a cute little character that I liked. I was like, “hey I should put that into a video game!”. So I started to draw different iterations of it digitally, but one block I kept running into was that I wasn’t sure how to add color to it, because I always doodle in black and white. After thinking about that for quite a bit, I decided, “you know what? I don’t even need color, I’ll just make a completely monochrome game!” (not a real quote, but basically my train of thought). I eventually landed on a version that I drew in GIMP and animated using Skeleton2D in Godot. So at this point I had a character and… nothing else, but that was enough to build off of. The Development I knew I would be making the game in Godot from the start, because my computer would die if I tried running Unreal Engine, and I don’t know how to use Unity. After making the character I basically made the rest of the game as I went, adding bits of terrain, playing with shaders, and all of that fun stuff. What I learned Making this game felt very spiritual for me. I even started to have dreams set in the world of the game. And I learned SO MUCH. I feel like I was having to google something every other minute, but that’s okay because of the sheer amount of information I took in. Overall This was such an amazing journey and process, especially documenting my progress in Stardance. Whoever is reading this, thank you for rating my project!!!", "repo": "https://github.com/a-fun-gi/contrast", "demo": "https://a-fun-gi.itch.io/contrast-demo"}]...
|
[{"post_id": 80779, "ts": "202 [{"post_id": 80779, "ts": "2026-10-18T19:18:43Z", "hours": 2.5447, "text": "Devlog # 5: Hi, I’m back Hello everyone, back with another devlog!! I loved reading everyone’s feedback so thank you to whoever rated my project! In this iteration I was mainly fixing all of the bugs that the raters mentioned with a couple additions of my own. Bug Fixes: I removed the debug function that brings your health down when you press space. I realise that that’s probably super confusing for people so sorry for that. On that note I also updated the controls to be much more intuitive, most common configurations should work. The pause menu also works in the last level now. Improvements: I removed the LoopManager nodes and transferred all of their functionality to the GameManager, which is less confusing for me and hopefully others too. I also added a focus, which means you don’t have to use a mouse to click the buttons. Additions: There were a few requests for a tutorial, so I expanded the first level a little bit and added hints of what to do. There was also a suggestion to add an option menu, so I did. So far there is only volume and another thing there, but I will add more in the future. While I was making that, I decided to tackle saving, just to save the settings, but now that I have that framework lain it will be easier development later on. Other News I made a web playable version! Hopefully it works well. Also, to whoever did this review: It is a classical platformer story elements would make it more interesting but as you said it is a first demo, the addition of the light/inverted bar thingi makes it a bit more original but there is still a lot to add like lore. I would like to see future additions in story area especially ?horror?. … GIVE ME LOOOREE! :)… I hear your pleas for lore (loud and clear), but it appears that I have… writer’s block???!??! Basically I can’t think of anything, but my purpose of saying this is to let whoever’s reading this know that my DMs are very open and I NEED ideas!!!"}, {"post_id": 76572, "ts": "2026-10-04T00:37:49Z", "hours": 8.7278, "text": "Devlog # 4: Possibly the final devlog!! Wow, I apologized for the length of the last devlog, and here I am with a 7 hour one!! The time just keeps on ticking… A lot has changed since the last devlog so bear with me. Improvements: I’ve added a source button to the title screen that redirects to the Github . There is now a pause menu when you press escape that can quit to the main menu. I successfully made the “unstable zone”, so there is a bar at the top of the hud that moves back and forth depending on whether the player is inverted or not. The idea is that you have to balance between light and dark. If the bar gets to one end, you get damaged every one second. Additions: I added a death animation so death actually happens now instead of an error that says you can’t have negative health . I also added a portal to go between levels and a whole second level with gpu particle rain!! I also improved the GameManager’s level switching so it’s much more adaptive now. There is also now an end, as this is just a demo. Bug fixes: Most bugs I had to fix were from the new additions and didn’t exist in the previous version of the game. So idk In other news… I have the game published on itch.io !!!!! Pleasepleaseplease check it out and leave a nice comment if you are capable!! 🙏 expect a ship soon and i love all of you guys sosososo much thank you everyone for an amazing event ❤️ ❤️ ❤️"}, {"post_id": 70915, "ts": "2026-09-20T01:06:40Z", "hours": 5.0072, "text": "Devlog # 3: Visual fx galore Hello everyone! I apologize for doing such a long devlog, but those hours really slip by Without further ado: let’s jump into it Improvements: I’ve added a few more moving elements to the terrain, but I’ve been mostly focusing on gameplay instead of actual length at this point. I also made the title screen look better and the “quit” button actually quit. I made the life counter actually work , for now it only goes down when you fall off the edge of something. You reset to the last safe place you were standing. Additions: I was having fun playing with shaders and added a glitch effect to the character when you enter/exit an inverted zone I also added a ripple shader that has no purpose at the moment but it will don’t worry No bug fixes this time What’s Next: Next I am planning on using that ripple shader to make sort of a “unstable zone” where you have to balance between light and dark. Stardance is ending soon though so we’ll see how much is done when I ship peace"}, {"post_id": 63194, "ts": "2026-09-06T21:16:06Z", "hours": 4.1097, "text": "Devlog # 2: Terrain, shaders, and a really annoying bug Improvements: I made the terrain much more flexible by using seperate objects that I could just place wherever, instead of the tilemap, but that was really just for showing that the character worked. Also I made a moving element. Additions: I added a title screen, a life counter (not implemented yet, but it’s there ), and a shader that inverts colors. The shader will probably be involved in a gameplay thingy later, but for now, it’s just to look nice. Making the shader was really hard, actually even though it was really simple… Bug Fixes: Sooo I was going to post this devlog yesterday, but then I realised that my whole scene loading everything was horrible and some really weird things happened. SO I spent another hour and a half fixing it . HOWEVER I did also learn some valuable lessons, and made a GameManager, so I don’t think it was a complete waste What’s Next Next up will be making the title screen look more interesting, and I have some ideas for game mechanics and new characters that I will explore. Stay tuned! (or not )"}, {"post_id": 56889, "ts": "2026-08-28T21:37:23Z", "hours": 5.8878, "text": "Devlog # 1: Back With a New Project What’s up folks! I am back with another project, having shipped the vent alien. This is a monochrome metroidvania involving light, shadows, and getting lost in the dark . (Clearly still need to figure out some lore) However, I finished drawing, rigging, and animating the main character in this devlog. I also made some mediocre background graphics to show the character moving. What’s Next Mainly worldbuilding, which will take a while. I am also planning on making a neat banner for the project! stay tuned!!"}]...
|
Title: contrast by @a-fun-gi | Stardance
Devlogs: Title: contrast by @a-fun-gi | Stardance
Devlogs:
Devlog # 1: Back With a New Project What’s up folks! I am back with another project, having shipped the vent alien. This is a monochrome metroidvania involving light, shadows, and getting lost in the dark . (Clearly still need to figure out some lore) However, I finished drawing, rigging, and animating the main character in this devlog. I also made some mediocre background graphics to show the character moving. What’s Next Mainly worldbuilding, which will take a while. I am also planning on making a neat banner for the project! stay tuned!!
Devlog # 2: Terrain, shaders, and a really annoying bug Improvements: I made the terrain much more flexible by using seperate objects that I could just place wherever, instead of the tilemap, but that was really just for showing that the character worked. Also I made a moving element. Additions: I added a title screen, a life counter (not implemented yet, but it’s there ), and a shader that inverts colors. The shader will probably be involved in a gameplay thingy later, but for now, it’s just to look nice. Making the shader was really hard, actually even though it was really simple… Bug Fixes: Sooo I was going to post this devlog yesterday, but then I realised that my whole scene loading everything was horrible and some really weird things happened. SO I spent another hour and a half fixing it . HOWEVER I did also learn some valuable lessons, and made a GameManager, so I don’t think it was a complete waste What’s Next Next up will be making the title screen look more interesting, and I have some ideas for game mechanics and new characters that I will explore. Stay tuned! (or not )
Devlog # 3: Visual fx galore Hello everyone! I apologize for doing such a long devlog, but those hours really slip by Without further ado: let’s jump into it Improvements: I’ve added a few more moving elements to the terrain, but I’ve been mostly focusing on gameplay instead of actual length at this point. I also made the title screen look better and the “quit” button actually quit. I made the life counter actually work , for now it only goes down when you fall off the edge of something. You reset to the last safe place you were standing. Additions: I was having fun playing with shaders and added a glitch effect to the character when you enter/exit an inverted zone I also added a ripple shader that has no purpose at the moment but it will don’t worry No bug fixes this time What’s Next: Next I am planning on using that ripple shader to make sort of a “unstable zone” where you have to balance between light and dark. Stardance is ending soon though so we’ll see how much is done when I ship peace
Devlog # 4: Possibly the final devlog!! Wow, I apologized for the length of the last devlog, and here I am with a 7 hour one!! The time just keeps on ticking… A lot has changed since the last devlog so bear with me. Improvements: I’ve added a source button to the title screen that redirects to the Github . There is now a pause menu when you press escape that can quit to the main menu. I successfully made the “unstable zone”, so there is a bar at the top of the hud that moves back and forth depending on whether the player is inverted or not. The idea is that you have to balance between light and dark. If the bar gets to one end, you get damaged every one second. Additions: I added a death animation so death actually happens now instead of an error that says you can’t have negative health . I also added a portal to go between levels and a whole second level with gpu particle rain!! I also improved the GameManager’s level switching so it’s much more adaptive now. There is also now an end, as this is just a demo. Bug fixes: Most bugs I had to fix were from the new additions and didn’t exist in the previous version of the game. So idk In other news… I have the game published on itch.io !!!!! Pleasepleaseplease check it out and leave a nice comment if you are capable!! 🙏 expect a ship soon and i love all of you guys sosososo much thank you everyone for an amazing event ❤️ ❤️ ❤️
Devlog # 5: Hi, I’m back Hello everyone, back with another devlog!! I loved reading everyone’s feedback so thank you to whoever rated my project! In this iteration I was mainly fixing all of the bugs that the raters mentioned with a couple additions of my own. Bug Fixes: I removed the debug function that brings your health down when you press space. I realise that that’s probably super confusing for people so sorry for that. On that note I also updated the controls to be much more intuitive, most common configurations should work. The pause menu also works in the last level now. Improvements: I removed the LoopManager nodes and transferred all of their functionality to the GameManager, which is less confusing for me and hopefully others too. I also added a focus, which means you don’t have to use a mouse to click the buttons. Additions: There were a few requests for a tutorial, so I expanded the first level a little bit and added hints of what to do. There was also a suggestion to add an option menu, so I did. So far there is only volume and another thing there, but I will add more in the future. While I was making that, I decided to tackle saving, just to save the settings, but now that I have that framework lain it will be easier development later on. Other News I made a web playable version! Hopefully it works well. Also, to whoever did this review: It is a classical platformer story elements would make it more interesting but as you said it is a first demo, the addition of the light/inverted bar thingi makes it a bit more original but there is still a lot to add like lore. I would like to see future additions in story area especially ?horror?. … GIVE ME LOOOREE! :)… I hear your pleas for lore (loud and clear), but it appears that I have… writer’s block???!??! Basically I can’t think of anything, but my purpose of saying this is to let whoever’s reading this know that my DMs are very open and I NEED ideas!!!
Ships:
Contrast Contrast is a monochrome metroidvania involving light, shadows, and getting lost in the dark built in Godot. The Idea I was once doodling in my journal and I made a cute little character that I liked. I was like, “hey I should put that into a video game!”. So I started to draw different iterations of it digitally, but one block I kept running into was that I wasn’t sure how to add color to it, because I always doodle in black and white. After thinking about that for quite a bit, I decided, “you know what? I don’t even need color, I’ll just make a completely monochrome game!” (not a real quote, but basically my train of thought). I eventually landed on a version that I drew in GIMP and animated using Skeleton2D in Godot. So at this point I had a character and… nothing else, but that was enough to build off of. The Development I knew I would be making the game in Godot from the start, because my computer would die if I tried running Unreal Engine, and I don’t know how to use Unity. After making the character I basically made the rest of the game as I went, adding bits of terrain, playing with shaders, and all of that fun stuff. What I learned Making this game felt very spiritual for me. I even started to have dreams set in the world of the game. And I learned SO MUCH. I feel like I was having to google something every other minute, but that’s okay because of the sheer amount of information I took in. Overall This was such an amazing journey and process, especially documenting my progress in Stardance. Whoever is reading this, thank you for rating my project!!!
This is the second ship of the project, and the final ship to Stardance. I added most of the things people mentioned in review and a couple other things that will make development smoother in the future. I am planning on developing the full version of the game for another competition after stardance ends. Hopefully you guys had fun seeing this project evolve (ik i did :)) and follow my github or itch if you want to see how it goes!! Thank you!!...
|
1793152468.2702217
|
1793238868.2702217
|
|
61542
|
The Bemicro by @fortuna | Stardance
|
fortuna
|
0
|
10.07
|
0
|
[]
|
[{"post_id": 80778, "ts": "202 [{"post_id": 80778, "ts": "2026-10-18T19:17:01Z", "hours": 0.7139, "text": "flashed firmware i flashed the xiao, now that i have parts. i attempted to digitally prototype a breadboard in the meantime but the platform was quite buggy. heres as far as i got. waiting for circuit boards to arrive, movement has been quite slow. once i get my hands on a breadboard, hopefully today, im gonna work on programming the rotary encoder to a good turn length, and code the oled display."}, {"post_id": 72074, "ts": "2026-09-22T03:32:32Z", "hours": 1.3664, "text": "WE ARE ON GITHUB LETS GOOOOO submission pending identity verification… which i have some things to say about… but ill hold my tongue."}, {"post_id": 72043, "ts": "2026-09-22T01:51:53Z", "hours": 0.7167, "text": "error removal just removed some errors that prevented compiling with qmk. the green is pure neuron activation."}, {"post_id": 71856, "ts": "2026-09-21T17:37:41Z", "hours": 0.4636, "text": "FIRMWARE the thing has firmware now. MAN qmk is a headache to get started with, but now that i have something working maybe itll kinda work. submission soon hopefully. i wanna make the most of this long weekend. (actual work was longer than 27 mins, but the hackatime i tried to do was over-representative of the work done, so i decided to not include it)"}, {"post_id": 69892, "ts": "2026-09-18T00:57:00Z", "hours": 0.6536, "text": "woah, a case!! (some of this didnt get lapsed) so this case is gonna be pretty simple i think, as long as its within the rules i dont wanna complete the top until i have all the parts, if i complete it at all. most likely the case will stay open top, because theres a lot of small gaps to work around and itd look a bit crap. the board is mounted on the two screw-holes, and i plan to put some kind of foam in the gap underneath, for stability’s sake. there is also a “turntable”. its designed like that so it can be out of the way of the keys, but still be an adequate size. after finalizing the stability of the turntable, onto firmware!!"}, {"post_id": 68844, "ts": "2026-09-15T21:04:58Z", "hours": 0.9703, "text": "OMG OMG OMG finally at the modeling stage. did some work yesterday but didnt remember to lapse it. this is THE final design, i have decided. added a small silkscreen and mounting holes (m3). added 3c models to kicad, to aid in 3d modeling. attempted to use fusion but it said my graphics driver needed to be updated, which i dont have time for rn. made a very simple box in onshape, to hold the pcb. design going into modeling (this is mostly so i remember). id like to have the top exposed above the xiao, if i can print it id like a translucent portion above the leds, unsure about the screen. the scratch wheel is going to be a bit hard, as its quite close and (assuming a consistent diameter) will be 2 cm across (not good). my planned solution for this is to have half of it be short (to not interfere with the keys), and the other half be a suitable size (and hanging off the board)"}, {"post_id": 67780, "ts": "2026-09-14T00:57:49Z", "hours": 1.8053, "text": "wow there goes my sunday i blinked and i have a circuit board on the screen, but i lost like 4 hours in the process . pcb is mostly done, hopefully no more changes are needed, please i dont wanna wire it again. next is case and scratchwheel design."}, {"post_id": 67642, "ts": "2026-09-13T19:52:47Z", "hours": 1.1458, "text": "ugh progress slowing, going to go at it slower, to avoid burning out on this. tentative layout, ill have to move the encoder at some point as i fine tune the scratch wheel size and distance from keys."}, {"post_id": 67489, "ts": "2026-09-13T16:33:25Z", "hours": 1.0742, "text": "progress progress progress!! more progress on the schematic of the hackpad. due to the limited amount of pins i will only have 8 buttons (including the rotary encoder button), screen, chain of neopixels, and rotary encoder. next will be finalizing, error checking, and then onto pcb design."}, {"post_id": 67021, "ts": "2026-09-13T02:01:17Z", "hours": 1.1619, "text": "Beatmania (or similar staggered-key rhythm game) hackpad! In the end, this will have 7 (maybe 12) keys, staggered like that of a piano. a small turntable (a la beatmania). a screen mirroring the secondary lcd screen of early beatmania IIDX cabinets. and lights, if i still have energy by then. space allowing i may use the leftover keys and encoder as a seperate macropad section. this would be to avoid layers in the firmware, keeping it less complicated. image is of a very bad keyboard matrix test."}]...
|
Title: The Bemicro by @fortuna | Stardance
Devlog Title: The Bemicro by @fortuna | Stardance
Devlogs:
Beatmania (or similar staggered-key rhythm game) hackpad! In the end, this will have 7 (maybe 12) keys, staggered like that of a piano. a small turntable (a la beatmania). a screen mirroring the secondary lcd screen of early beatmania IIDX cabinets. and lights, if i still have energy by then. space allowing i may use the leftover keys and encoder as a seperate macropad section. this would be to avoid layers in the firmware, keeping it less complicated. image is of a very bad keyboard matrix test.
progress progress progress!! more progress on the schematic of the hackpad. due to the limited amount of pins i will only have 8 buttons (including the rotary encoder button), screen, chain of neopixels, and rotary encoder. next will be finalizing, error checking, and then onto pcb design.
ugh progress slowing, going to go at it slower, to avoid burning out on this. tentative layout, ill have to move the encoder at some point as i fine tune the scratch wheel size and distance from keys.
wow there goes my sunday i blinked and i have a circuit board on the screen, but i lost like 4 hours in the process . pcb is mostly done, hopefully no more changes are needed, please i dont wanna wire it again. next is case and scratchwheel design.
OMG OMG OMG finally at the modeling stage. did some work yesterday but didnt remember to lapse it. this is THE final design, i have decided. added a small silkscreen and mounting holes (m3). added 3c models to kicad, to aid in 3d modeling. attempted to use fusion but it said my graphics driver needed to be updated, which i dont have time for rn. made a very simple box in onshape, to hold the pcb. design going into modeling (this is mostly so i remember). id like to have the top exposed above the xiao, if i can print it id like a translucent portion above the leds, unsure about the screen. the scratch wheel is going to be a bit hard, as its quite close and (assuming a consistent diameter) will be 2 cm across (not good). my planned solution for this is to have half of it be short (to not interfere with the keys), and the other half be a suitable size (and hanging off the board)
woah, a case!! (some of this didnt get lapsed) so this case is gonna be pretty simple i think, as long as its within the rules i dont wanna complete the top until i have all the parts, if i complete it at all. most likely the case will stay open top, because theres a lot of small gaps to work around and itd look a bit crap. the board is mounted on the two screw-holes, and i plan to put some kind of foam in the gap underneath, for stability’s sake. there is also a “turntable”. its designed like that so it can be out of the way of the keys, but still be an adequate size. after finalizing the stability of the turntable, onto firmware!!
FIRMWARE the thing has firmware now. MAN qmk is a headache to get started with, but now that i have something working maybe itll kinda work. submission soon hopefully. i wanna make the most of this long weekend. (actual work was longer than 27 mins, but the hackatime i tried to do was over-representative of the work done, so i decided to not include it)
error removal just removed some errors that prevented compiling with qmk. the green is pure neuron activation.
WE ARE ON GITHUB LETS GOOOOO submission pending identity verification… which i have some things to say about… but ill hold my tongue.
flashed firmware i flashed the xiao, now that i have parts. i attempted to digitally prototype a breadboard in the meantime but the platform was quite buggy. heres as far as i got. waiting for circuit boards to arrive, movement has been quite slow. once i get my hands on a breadboard, hopefully today, im gonna work on programming the rotary encoder to a good turn length, and code the oled display....
|
1793040682.2231698
|
1793645482.2231698
|
|
7422
|
Weird looking f1 car by @leg1231 | Stardance
|
leg1231
|
0
|
113.42
|
0
|
[]
|
[{"post_id": 80777, "ts": "202 [{"post_id": 80777, "ts": "2026-10-18T19:11:39Z", "hours": 16.7047, "text": "IT FINALLY WORKS!!!! still have alot to do but it can move and steer on its own."}, {"post_id": 74742, "ts": "2026-09-28T03:32:28Z", "hours": 10.2919, "text": "Its starting to look Cool!!!! you can now see why i called it wierd looking f1 car, half the engine area is just a motor"}, {"post_id": 72962, "ts": "2026-09-24T03:40:43Z", "hours": 9.1639, "text": "It only looks a little sus. next thing to do is finish the body and work on wiring. I was about to do the first full test then realized the battery was dead. ILL BE BACK"}, {"post_id": 70401, "ts": "2026-09-19T03:29:14Z", "hours": 8.9811, "text": "I replaced the 3d printed axles with steel rods, then remade the main chassy to be more sturdy, then the front stearring broke. so much fun : |"}, {"post_id": 59979, "ts": "2026-09-02T02:03:37Z", "hours": 8.6339, "text": "This is the full size of it. i ran the motors and the rear axel limitedly snapped. It couldn’t handle the torque :("}, {"post_id": 52740, "ts": "2026-08-23T02:11:12Z", "hours": 9.2153, "text": "Fully assembled front stearing. V1"}, {"post_id": 47193, "ts": "2026-08-14T22:34:32Z", "hours": 7.8606, "text": "hopefully done with the steering and front wheel base"}, {"post_id": 45155, "ts": "2026-08-11T13:48:51Z", "hours": 5.0683, "text": "Working on the front stearing struts and part of the body( this is half, ill mirror it once I like how it is working)"}, {"post_id": 33204, "ts": "2026-07-22T22:06:48Z", "hours": 8.1108, "text": "Started working on front steering. Each wheel will steer individually so that i can test both postive ackermen and reverse ackermen stearing"}, {"post_id": 30489, "ts": "2026-07-18T03:16:27Z", "hours": 10.4411, "text": "from a cad file to physical"}, {"post_id": 17314, "ts": "2026-06-28T01:15:18Z", "hours": 18.9447, "text": "drive train of car, all 3d printed"}]...
|
Title: Weird looking f1 car by @leg1231 | Stardanc Title: Weird looking f1 car by @leg1231 | Stardance
Devlogs:
drive train of car, all 3d printed
from a cad file to physical
Started working on front steering. Each wheel will steer individually so that i can test both postive ackermen and reverse ackermen stearing
Working on the front stearing struts and part of the body( this is half, ill mirror it once I like how it is working)
hopefully done with the steering and front wheel base
Fully assembled front stearing. V1
This is the full size of it. i ran the motors and the rear axel limitedly snapped. It couldn’t handle the torque :(
I replaced the 3d printed axles with steel rods, then remade the main chassy to be more sturdy, then the front stearring broke. so much fun : |
It only looks a little sus. next thing to do is finish the body and work on wiring. I was about to do the first full test then realized the battery was dead. ILL BE BACK
Its starting to look Cool!!!! you can now see why i called it wierd looking f1 car, half the engine area is just a motor
IT FINALLY WORKS!!!! still have alot to do but it can move and steer on its own....
|
1792558215.3520005
|
1793163015.3520005
|
|
4687
|
HAND CV by @DhruvJ | Stardance
|
DhruvJ
|
0
|
4.9
|
0
|
[]
|
[{"post_id": 80774, "ts": "202 [{"post_id": 80774, "ts": "2026-10-18T19:04:58Z", "hours": 4.9042, "text": "First Devlog My Project idea seems really basic and simple and I thought so to! so, I broke down the idea into 3 parts: 1)Pre Processing (turning to grayscale and popping out the notes more) 2)actual CV model 3)converting and displaying into text So i began with the first part and realised there are so many factors 1)Resolution: -Photo needs resolution to make out actual keystrokes 2)Aspect ratio and resizing (I wasn’t aware, but models can only take in a fixed size) 3)Inconsistent Skew and orientation could really affect recognition of the same stroke 4)Different lightings in photos: I realized preprocessing on one image can be perfect but be blurry on another 5) fine turning the model So, in this devlog I was learning about different factors do account for and realised that even jpeg and png can have different outputs my first version works really bad in my attempt to making the notes pop I converted it to grayscale which wasn’t enough so I tried a per-pixel intensity remap CLAHE which I still don’t understand how it works but the other methods with gaussian blur and median type blur wasn’t helpful."}]...
|
Title: HAND CV by @DhruvJ | Stardance
Devlogs:
Fi Title: HAND CV by @DhruvJ | Stardance
Devlogs:
First Devlog My Project idea seems really basic and simple and I thought so to! so, I broke down the idea into 3 parts: 1)Pre Processing (turning to grayscale and popping out the notes more) 2)actual CV model 3)converting and displaying into text So i began with the first part and realised there are so many factors 1)Resolution: -Photo needs resolution to make out actual keystrokes 2)Aspect ratio and resizing (I wasn’t aware, but models can only take in a fixed size) 3)Inconsistent Skew and orientation could really affect recognition of the same stroke 4)Different lightings in photos: I realized preprocessing on one image can be perfect but be blurry on another 5) fine turning the model So, in this devlog I was learning about different factors do account for and realised that even jpeg and png can have different outputs my first version works really bad in my attempt to making the notes pop I converted it to grayscale which wasn’t enough so I tried a per-pixel intensity remap CLAHE which I still don’t understand how it works but the other methods with gaussian blur and median type blur wasn’t helpful....
|
1792626653.5686443
|
1793231453.5686443
|
|
63129
|
Bloggy by @pwohlfahrt | Stardance
|
pwohlfahrt
|
1
|
22.0
|
138
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-18T18:58:13Z", "hours": 22.0, "multiplier": 6.22, "payout": 138, "blessing": "neutral", "text": "Easy to host website for your own blog, because art of the blogging is slowly dying. Your own custom blog is just one command away.", "repo": "https://github.com/pwohlfahrt/Bloggy", "demo": "https://homelab.taila52305.ts.net"}]...
|
[{"post_id": 80770, "ts": "202 [{"post_id": 80770, "ts": "2026-10-18T18:52:00Z", "hours": 1.625, "text": "Devlog 5 - Readme, Docker & Ship!!! I`ve managed to bring back my homelab to life, so this time i decided to use docker to not screw everything up. After some trouble docker was ready. For some reason It worked on my machine, but on homelab it had some problems, but it sure works now. Then quickly adding readme, bc shipping requires to and it was ready to be funneled onto the internet. And thanks God for tailscale bc my beloved ISP wont let me port forward on my router. The app is finally ready so you can give it a try here: https://homelab.taila52305.ts.net/ It was really fun project and I think thanks to this my coding burn out is no more. Thank you all for this amazing journey. See you next time."}, {"post_id": 79998, "ts": "2026-10-15T20:37:14Z", "hours": 6.98, "text": "Devlog 4 - Comments & Polishing. It’s been a long time since the last post, but I’ve made great progress on the app and I think it’s finally ready to ship. I patched a few security flaws, squashed some bugs, and wrote a discussion page for blogs, so readers can share their thoughts after reading. There’s no sign-up page, and yes - you can type your name and be anyone, but I think that’s what makes the internet better."}, {"post_id": 72765, "ts": "2026-09-23T18:12:57Z", "hours": 7.0047, "text": "Devlog 3 - Admin panel. It took kinda long but i managed to make flask run two apps with access to each other. So admin panel is going to have separate port from the app. Also, now you can create plugins, and add them just by dropping a file into the folder. Finally, Ive added a bit of statistics so you can now see how well your blog is doing. Let me know in the comments what else youd like to see"}, {"post_id": 72254, "ts": "2026-09-22T15:17:07Z", "hours": 1.7642, "text": "Devlog 2 - Photos. I have made a gallery so you can share that nice picture of a tree with rest of the world. And the world can give you feed back by the comment section! Maybe its time to talk a little bit of my tech stack. So i choosed to go with easiest technology on the market: flask as fastest framework to build with. peewee as easiest to implement database. and as a frontend some html & css with a bit of help can do the job kinda well. Let me know what you think about this"}, {"post_id": 72169, "ts": "2026-09-22T11:08:34Z", "hours": 4.875, "text": "HI, Im starting a new project called bloggy. I was gonna do it anyways, but Im going to use stardance as a way to force myself into making it. Its going to be just a minimalistic website for blogs and showing to the world my other artistic work. Ive been planning to host it on my homelab via tailscale funnel, so weill see how it will work. For now only raw blog pages are created, so theres still some work. Gonna keep u updated"}]...
|
Title: Bloggy by @pwohlfahrt | Stardance
Devlogs: Title: Bloggy by @pwohlfahrt | Stardance
Devlogs:
HI, Im starting a new project called bloggy. I was gonna do it anyways, but Im going to use stardance as a way to force myself into making it. Its going to be just a minimalistic website for blogs and showing to the world my other artistic work. Ive been planning to host it on my homelab via tailscale funnel, so weill see how it will work. For now only raw blog pages are created, so theres still some work. Gonna keep u updated
Devlog 2 - Photos. I have made a gallery so you can share that nice picture of a tree with rest of the world. And the world can give you feed back by the comment section! Maybe its time to talk a little bit of my tech stack. So i choosed to go with easiest technology on the market: flask as fastest framework to build with. peewee as easiest to implement database. and as a frontend some html & css with a bit of help can do the job kinda well. Let me know what you think about this
Devlog 3 - Admin panel. It took kinda long but i managed to make flask run two apps with access to each other. So admin panel is going to have separate port from the app. Also, now you can create plugins, and add them just by dropping a file into the folder. Finally, Ive added a bit of statistics so you can now see how well your blog is doing. Let me know in the comments what else youd like to see
Devlog 4 - Comments & Polishing. It’s been a long time since the last post, but I’ve made great progress on the app and I think it’s finally ready to ship. I patched a few security flaws, squashed some bugs, and wrote a discussion page for blogs, so readers can share their thoughts after reading. There’s no sign-up page, and yes - you can type your name and be anyone, but I think that’s what makes the internet better.
Devlog 5 - Readme, Docker & Ship!!! I`ve managed to bring back my homelab to life, so this time i decided to use docker to not screw everything up. After some trouble docker was ready. For some reason It worked on my machine, but on homelab it had some problems, but it sure works now. Then quickly adding readme, bc shipping requires to and it was ready to be funneled onto the internet. And thanks God for tailscale bc my beloved ISP wont let me port forward on my router. The app is finally ready so you can give it a try here: https://homelab.taila52305.ts.net/ It was really fun project and I think thanks to this my coding burn out is no more. Thank you all for this amazing journey. See you next time.
Ships:
Easy to host website for your own blog, because art of the blogging is slowly dying. Your own custom blog is just one command away....
|
1793155778.7970457
|
1793242178.7970457
|
|
35149
|
Wingspan for Pterodactyl by @brahmtejsawhney | Sta Wingspan for Pterodactyl by @brahmtejsawhney | Stardance...
|
brahmtejsawhney
|
2
|
38.44
|
680
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-17T07:32:22Z", "hours": 14.0, "multiplier": 17.93, "payout": 246, "blessing": "neutral", "text": "Hello! If you are new here, welcome! This is my flagship project called Wingspan, It’s used by system administrators and infrastructure managers to manage their virtual servers in bulk rather than one by one. This project works in the terminal with AMAZING Terminal UI! This is my second ship. I have worked on making the Server Purge Function, to easily delete servers in large quantities. In my previous ships, I worked on making the basics of the code and functions to index and search the database. I have received extremely positive comments for this project, and i’m really proud of making it! Do star it on github if you like this one!", "repo": "https://github.com/brahmtej2009/wingspan", "demo": "https://github.com/brahmtej2009/Wingspan/blob/main/SHIPWRIGHTS.md"}, {"ship_num": 2, "ts": "2026-09-23T10:49:52Z", "hours": 24.0, "multiplier": 18.44, "payout": 434, "blessing": "neutral", "text": "Welcome to WingSpan, A project to bulk manage your self hosted hardware on pterodactyl. Easily search through servers, get detailed information, export lists based on precise filtering and more! It is made for people like me, who manage hundreds of servers daily, and need to perform bulk actions on them. Its posted on frictionless mission because it would make my life really easy as it automates a lot of my work and would save me a LOT of clicks! cant wait for you to try it out! <3", "repo": "https://github.com/brahmtej2009/wingspan", "demo": "https://github.com/brahmtej2009/Wingspan/blob/main/SHIPWRIGHTS.md"}]...
|
[{"post_id": 80768, "ts": "202 [{"post_id": 80768, "ts": "2026-10-18T18:48:38Z", "hours": 0.4375, "text": "ps: not an official devlog, just an update Show and Tell + Super Star This was another great show and tell, and OMG SUPER STAR! Thanks @Lazyllama ❤️ Ty guys, rly grateful!! Image shows me submitting to Show and Tell and 2nd Image showing my Super Star!"}, {"post_id": 80312, "ts": "2026-10-17T07:27:32Z", "hours": 2.9072, "text": "Devlog 19 Show and Tell #1 WINNER Project! 🏆 Progress Done Purge function has been completely created. I have worked on API Request Error Catching in duration of this devlog. I have integrated all the standard practices and error catching which is required, and now the program displays the error and a solution to fix it. Also, it tracks if there are any errors due to wingspan itself, and provides resolution! Great Stuff! I also started work on User Purge Function, which i’ll release in the ship after shipping Server Purge. There was a bug in the release file, which prevented auto update in windows. Fixed that. Features Added/Worked on Better API Requests to Pterodactyl Rate Limit detector and queue Error Catching and Resolution Server Purge Function Completed Started work on User Purge What new I learnt I learnt to work with industry standard error catching I learnt to make better API systems I learnt to work with queues and rate limiters I learnt to use DELETE Protocol What I would be working on Completing Documentation till here Shipping till Server Purge AI Declaration Claude was used to find out bug in release file only. No AI was used in code during the span of this devlog. All places where AI was used in code, is mentioned properly in the source code. The attached image shows the Release Page of the project, project homepage and some lovely previous votes screenshots."}, {"post_id": 79114, "ts": "2026-10-12T18:33:47Z", "hours": 2.0575, "text": "Devlog 18 Progress Done Purge feature is now functional. Server purges are working as expected. I have added 4 purge methods. Parameters are Forced/Unforced, and Verified and Unverified.So, FV,FU,UV,UU. When you choose unforced method, it would ensure a clean deletion, and ensure the entire data is wiped. On a forced delete, it would delete it from frontend, and only attempt to clean it entirely. Force method is useful to delete servers whose nodes have been discontinued, or conditions where unforced wouldnt work. Verified feature ensures that the purge process goes as close to the expected outcome as possible, and if anything is detected which shouldnt be so, wingspan would prompt you there, so you can take manual action right there on the spot while it purges. Unverified means that wingspan would try its best to delete all the servers given in the importlist and would not prompt the user in case of discrepancies. Features Added/Worked on Import Verification Server Name Live Verification Completed Beta Purge Function Updated Menu to allow Purge Function Wingspan now needs an Admin API key with Full Perms (Readonly no longer works) What I would be working on Bugchecking all the features I made Attempting to delete some servers in massive quantities. Starting work on User Purge Function Do changes in README.md for the new purge function documentation. Find a good reliable Pterodactyl API Docs Website. AI Declaration No AI was used in code in the duration of this devlog. All places where AI was used in code, is mentioned properly in the source code. The attached image shows the Graphical UI of the Purge Function along with the questions it asks."}, {"post_id": 78414, "ts": "2026-10-10T18:32:47Z", "hours": 3.1958, "text": "Devlog 17 Show and Tell #1 WINNER Project! 🏆 Progress Done Ship Approved! Yay! Also, Show and Tell Winner! So, during the span of this devlog, I have worked on creating release files for this project, in a way that they do not have to be updated everr! Also, I have worked on the Purge Function, and have completed the server list import, and have made major changes in server list export function, which now exports minimally required data only for security reasons. Also, I have made quite a lot of confirmations that the person has to fill in order for the servers to actually get deleted, which is a good practice so a person doesnt anciently delete their entire pterodactyl. Also, I have worked on advanced logging in the import system and a very smart directory checker. Also, exporting now adds the panel’s URL on top of the export file, so a wingspan session linked to another panel does not perform critical actions on wrong servers. It properly verifies the import file and gives a clear warning if needed. Features Added/Worked on Export Function Major Changes New Import Function Improved logging Purge Function Increased security and confirmations before taking critical actions. What new I learnt I learnt to export files I learnt to import files I learnt security and integrity tactics to prevent unwanted destruction I learnt to do better logging What I would be working on Completing server purge function Starting work on user purge function AI Declaration No AI was used in code in the duration of this devlog. All places where AI was used in code, is mentioned properly in the source code. The attached file shows and older video I recorded of me using the project."}, {"post_id": 77037, "ts": "2026-10-05T13:23:55Z", "hours": 5.5469, "text": "Devlog 16 Progress Done The project is still on its reviewing stage, in the meantime, I have worked on releasing the executable release for both windows and linux. The executables are internally dynamic, so it updates to the latest wingspan version on every boot. Alongside, I have also worked on a lot of bugfixes, added more detailed logging, Autoboot after Setup and more. I have also worked on the purge function, specifically on the server purge feature. I have completed the export function and import function for the server lists. So server lists could be imported to action functions. I have also worked on reducing the boot time for linux, and on a fresh install, its as little as 5 seconds for the complete install and setup. I’ll be releasing more things after the ship gets approved! Features Added/Worked on Enhanced Logging System Added Release Executables/Binaries Added Auto Updater Added Importer Function for exported server-lists Fixed bugs and slight performance enhancement for windows Massive performance enhancement for linux What new I learnt I learnt to make a formal logging system I learnt to create binaries of python I learnt how to export and import and edit csv I learnt to optimize code on linux I learnt to make Auto Updaters and Version Checkers What I would be working on Completing server purge function Improving performance for windows systems Adding verification of exports while importing them Warnings before destructive action AI Declaration No AI was used in code in the duration of this devlog. AI was used in helping me with creating the executables from the code. All places where AI was used in code, is mentioned properly in the source code. The attached image shows the Release Page of the project, Purge Window Screenshots and Export File Content Screenshots."}, {"post_id": 72609, "ts": "2026-09-23T10:33:51Z", "hours": 2.5994, "text": "Changelog Repo Created on Git, Code Uploaded. V1: Added: Server & Info Fn. Welcome to wingspan folks! <3"}, {"post_id": 71935, "ts": "2026-09-21T20:20:07Z", "hours": 4.2222, "text": "Devlog 14 Progress Done I know this is a very delayed devlog, I had my exams mid way. I’m into the 20th hour of the project, most of the stuff is made. API System is ready, most of the code which would be shared across multiple functions is ready. First function, of Bulk Search and server lookup is also complete. Server lookup function has a really cool UI. Alongside with that, I have also added export option to the Bulk Server Search, you can use the exported file on other functions which take actions on server. Features Added/Worked on Completed Bulk Search and Server Lookup Added server list export Added Shipwrights Docs (Readme for shipwrights) Worked on fixing bugs and README What new I learnt I learnt to work with CSV files I learnt to spoof responses to provide hardcoded outputs (For shipwrights testing) I learnt how to read and save data into json and env I learnt to add images into my Readme AI Declaration A little bit AI was used in CSV saving mechanics, so its saved in a way so could be read back easily for processing later. Server Lookup’s UI was heavily created with help of AI, as I was not able to achieve that high information density without use of AI. Rest, updates in README and SHIPWRIGHTS.md were all done by hand with 0% AI. The attached image shows the new Server Lookup UI, new readme with banner and terminal header, shipwrights file, csv file output."}, {"post_id": 36602, "ts": "2026-07-28T20:22:42Z", "hours": 0.5042, "text": "Devlog 13 Progress Done I did not do much today as the schedule was really busy, I have done a little bit of debugging and bughunting by testing with different kinds of server eggs and parameters on pterodactyl. I have not found any major issue yet, there were some little issues with server search function where some parameters would not show up, that is fixed. Rest, I also am working on the server info function and the readme. Features Added/Worked on Finished with Server Search Worked on CSV Export Started work on Server Info Function AI Declaration No AI Used for this devlog period The attached photos show the new updates to the readme and docs."}, {"post_id": 36001, "ts": "2026-07-27T20:15:25Z", "hours": 1.0306, "text": "Devlog 12 Progress Done I am now making the Server Info function, which provides all the server information in one very well managed panel. Thanks to my fellow developer @stef [U0823APHVK7], I got to know that most of the pterodactyl API docs out there are AI generated and are mostly inaccurate. The accurate one is: https://pterodactyl-api.redbanana.dev I have also experienced issues with Pterodactyl itself, not working right with parameter based data fetching, Il work more on it as most likely its some my side issue. I am also working on adding some kind of live table display right into the terminal to beautifully display the data from the Server Info function. Features Added/Worked on Finished with Server Search Worked on CSV Export Started work on Server Info Function AI Declaration No AI Used for this devlog period The attached video show the preview pics of the new Server Info function."}, {"post_id": 35424, "ts": "2026-07-26T20:28:47Z", "hours": 0.6428, "text": "Devlog 11 Progress Done Im in the 14th Hour of the project, and I have worked on the readme. I have written installation process, and scopes of this project. Also, I have added credits as required. All content is human written, no AI used. Features Added/Worked on Added Readme AI Declaration No AI Used for this devlog period The attached video show the preview pics of the readme."}, {"post_id": 34748, "ts": "2026-07-25T18:37:48Z", "hours": 1.3872, "text": "Devlog 10 Progress Done Im in the 13th hour of the project, and have completely finished the first feature of Searching and Indexing servers. This feature allows you to search from bulk server lists and filter out servers based on all the parameters. It also works with any extension which you may add in future which adds more parameters in the panel, its universally compatible. Next, I would be working on the Purge function, on which we would be using the Search and Info function, to export a csv list and import it into the purgetool to eliminate servers. Features Added/Worked on Refined menus and controls Added more colors Added support for complete universal API [Explained above] Finished with the first function of the software What new I learnt I learnt to work with APIs I learnt to manage big data I learnt to make really complicated nested loops I learnt to convert Json and Lists from 2D to 1D AI Declaration A little bit of AI was used to automate repetitive tasks to save time in the search and info function, where filter rules had to be created for each datatype separately and code was mostly same as I written by hand. AI was used to just change variable names and fit it for other datatypes. AI was also used for debugging and checking if everything works alright. Wherever AI was used, has an AI marker in the source code. The attached video show the first working function which is filtering servers based on user inputs."}, {"post_id": 34235, "ts": "2026-07-24T19:23:32Z", "hours": 0.445, "text": "Devlog 9 Progress Done Im working on the final parts of the first function, that is filtering and exporting. Next I would be moving onto purge manager and related functions which are more useful in real life. Input of the ID parameter was giving vague errors when provided with ranges, It took me a lot of debugging to find the source of the issue, and that was a string was being compared to an int (str<int) in a part of code where I didnt typecast. That is fixed now. AI Declaration Close to None AI was used for this devlog. The attached images show the accepted input of the ID field when put with a range."}, {"post_id": 33694, "ts": "2026-07-23T20:23:16Z", "hours": 0.3294, "text": "Devlog 8 Progress Done Im done with Search and Info function’s basics. Only export options and other advanced options are left to be created. This is a really little 15 minute devlog to mark the achievement of the first actual usable feature in the program, which took me about 11 hours, and this project would be having about 20 of such large functions, making this an extremely detailed and big project. In this devlog, I also want to thank each and every follower of mine, for taking interest in my project and supporting me! Thankyou. AI Declaration Close to None AI was used for this devlog. Everything was done by hand for self learning and improvement. The attached images show the Banner of project."}, {"post_id": 33143, "ts": "2026-07-22T19:44:20Z", "hours": 1.6344, "text": "Devlog 7 Progress Done Im into the 12th hour of the project, and I have done a lot of progress on the first function, which is search and info. I have worked on the parameter search option which is an extremely bulky work as im making it compatible with future upgrades and any extra addons that the user may have which cause changes in the API, I’m adding dynamic automatic support for new fields too for search, while taking all inputs and performing operations in the terminal. I am completely AVOIDING AI for this devlog, and focusing on complete self improvement and understanding of such deeply nested code structures. This is a partial devlog, meaning it doesnt mark a completion of a feature. AI Declaration Close to None AI was used for this devlog. Everything was done by hand for self learning and improvement. The attached images show the home page, followed by the new Search from Parameters Mode…"}, {"post_id": 32494, "ts": "2026-07-21T18:30:08Z", "hours": 3.0075, "text": "Devlog 6 Progress Done Its the 11th hour into the project and the progress is booming! I have started working on the interactive menus of the program. I have also started work on the first function, which is “Search and Info”, in which you can select parameters to search from, and it performs bulk search for you, which you can export to a file, or use in the program internally to trigger actions, or get detailed info about. I have also added terminal ui from curses in this, for the parameter selector, and it looks really good! I also worked on algorithms which convert data from pterodactyl to a usable format for mass bulk searching. I am making it in a way that some of the load is shared on the pterodactyl server side for filtering, and the rest is done on machine running this program, so I can minimize the rate limiting and divide load among both the machines for bulk processing and improve speed. For example, basic filter arguments are run on pterodactyl server’s side (Handled built in by pterodactyl), whereas advanced parameter searches are done on user side as generally user’s own system has more threads and is much better than the pterodactyl webserver. Features Added/Worked on Made menus and sections for first function Worked on algorithms to convert api responses to filterable data Worked on UI by adding curses based parameter selector Made first function, Search and Info What new I learnt I learnt to work with massive data and make algorithms to convert to usable data I learnt to make my first usable intractable terminal UI from curses I learnt to divide operations and perform load balancing for such bulk data AI Declaration Close to None AI was used for this devlog. All the algorithms which were made, where made completely by hand. AI was used for research purposes for curses as its a new field for me. All code blocks where AI has been used are marked in source code! The attached images show the home page, followed by new menus, along with the parameter selector and more…"}, {"post_id": 31424, "ts": "2026-07-19T19:41:27Z", "hours": 1.7656, "text": "Devlog 5 Progress Done Its about the 8th hour into the project, Since around the past 1 hour, I have been reading and understanding the entire pterodactyl API. Learning everything from sending requests to sorting data according to needs. Not much progress was done on the main project, though I did a lot of testing in temp files and had a lot of learning. What new I learnt I learnt to use RestJS API system of Pterodactyl I learnt to use Requests in Python I learnt to capture data and filter/manipulate it from APIs I learnt to manage rate limits and error codes Sources Pterodactyl API Docs: https://pterodactyl-api-docs.netvpx.com/docs/intro AI Declaration No AI was used for the period of this devlog. Most of the work was only done for understanding and learning purposes which was done in temp files which is essential for the project’s development. The attached images show the pterodactyl AI docs which I am reading and testing."}, {"post_id": 30613, "ts": "2026-07-18T10:19:26Z", "hours": 2.2778, "text": "Devlog 4 Progress Done Its about the 6th hour into the project, I have worked on making a terminal UI on which you can click up and down arrows and space button to select servers from a list to do actions. I did not work on actual API yet, thats kept for the last, currently I am working on data sorting and filter functions and more. I also made a cool banner for the project! Sorry for the late devlog, took a lot of time debugging and learning this one. Features Added/Worked on Made a cool image banner on canva [No AI] Worked on filtering functions Worked on a better terminal UI with curses Made HomePage What new I learnt I learnt Graphic Design with Canva I learnt to work with Curses to make terminal UI I learnt to capture button clicks on terminal for functions AI Declaration Close to None AI was used for this devlog. I used AI to understand how the curses library works and how to make it perform actions on button clicks. Also, the tech-pterodactyl symbol on the banner was made with AI as I couldnt find a similar icon on the internet. The attached images show the new banner, followed by the homepage and terminal selector UI demo."}, {"post_id": 28897, "ts": "2026-07-15T14:28:47Z", "hours": 1.6511, "text": "Devlog 3 Progress Done Its the 3rd hour into the project, and I have worked on adding args feature (specifically for linux users) and have worked on the project’s banner and interactive setup menu. I have also added verification in the setup fields to ensure that the user fills in correct information, and even guides the user if wrong keys are entered after 2 tries. Alongside with it, I added colors and made a cool ASCII banner. I also added the system to make venv automatically on first boot (supported on both linux/windows) for those who are running the code directly uncompiled. Features Added/Worked on Added Colorful ASCII Banner [Check Attached Image] Added field verification for setup- Added Args support, Eg. wingspan setup Improved POST Added Auto Venv and Dependency Installer What new I learnt I learnt to work with ASCII Color Codes I learnt to make args on python I learnt how to work with Venv I learnt to work with Terminal Commands from python to install dependencies AI Declaration AI was used for this devlog period for generating the automatic venv and dependencies installer, and making it compatible for both linux and windows at the same time. AI was also used to help with the Args function as I have not had any experience with it before. The attached images show the program running on both Linux and Windows. First screenshot shows the automatic dependencies installer in action, followed by images of the new banner and guide text if the user enters wrong api key multiple times."}, {"post_id": 28503, "ts": "2026-07-14T19:58:23Z", "hours": 1.5825, "text": "Devlog 2 Progress Done Its been about the first hour into the project, and I have well planned everything and have started working on execution. I have started with the linux versions (CMD ONLY), because I dont have experience with GUI Apps and compiling to executables. I have started on configuration tool, which asks the user for all required API Keys and creates the config files and sets up the installation. I have also worked on a standard automatic dependency downloader, so it runs its own venv on boot, downloads its dependencies there, and runs normally. I would not be compiling it into an executable, so you can take and run it on linux, and copy paste it and run it on windows without any platform change issues. I also set up python library, “logging”, to provide proper logs of every action, because it would be important for the users if anything goes wrong or they need history of the tool’s actions. I have also added an entire system testing feature (POST) which triggers when the program is turned on. This is to ensure that no issues come while critical server actions are being performed by the software. It also checks if all the configs are built right. Features Added/Worked on Added Logging System Added Self Config tool Added dependency resolver Added a POST Test What new I learnt I learnt to work with logging library I learnt different logging levels I learnt how to read and save data into json and env I learnt to work with venv & auto pip installers I learnt that stardance has a 4000 char limit on devlogs I learnt to make a cool startup animation with ASCII I learnt to make a cool looking UI in terminal for config page AI Declaration AI was used to make a big empty blueprint list of all functions which I have to code, which makes the work easy as it allows me to visualize the functions pending to create and those which are done. AI was used in ASCII Animation’s character generation. The attached image shows the ASCII Animation, and then some pics of the AutoConfig window, asking the user to enter the details to perform setup."}, {"post_id": 28444, "ts": "2026-07-14T18:06:10Z", "hours": 0.4731, "text": "Devlog 1 Project Details 1. The point/scope of this project So, this is going to be a project for all the hosting owners and homelab operators, who have to manually control/edit each server on pterodactyl to do basic actions which is the same to be done on multiple servers. If you dont know, Pterodactyl is a game/server hosting control panel which gives you a good UI to make your stuff easier to control and all.. but it does lack bulk change features, and there arent much addons for it, and addons also dont work well and get deleted everytime we upgrade the panel, which is a mess. 2. My Solution for the problem I would be making a standalone windows app + a linux cmd app which uses pterodactyl API to perform actions. It would provide a very comprehensive UI to specifically allow for bulk actions and add features which arent there in normal pterodactyl. 3. Features of my project After extensive planning and discussion with several other hosting/homelab owners, I have gathered a list of features which everyone require and would use on a regular basis if there was an app for it. So, my app would have the following features: Bulk Suspend/Unsuspend Bulk Delete Selective Purge Backup download Bulk resource change, or Copy 1 server’s resources and paste to multiple servers. Bulk Reinstall Bulk Transfer Settings page for storing api keys and more. Email notifications to notify users for bulk actions if scheduled. [Planned for a later stage, to be released with other matching updates] Make a management tab in which all node’s real specs are shown, and heavy overloading or other parameter of servers are shown. Il take suggestions from UI of Proxmox and Proxmox Datacenter manager as thats a really good UI with a lot of pterodactyl usable features. User management features like Bulk Email, Bulk user delete, Specific User Purge (Like delete those without any server), User Clear (Clear all servers of a user) The complete flagship feature of panel speed booster, which does all required purges and makes panel faster Update monitor, so users can safely and reliably update their wingspan installation and get prompted whenever a new release is put. 4. Who am I/What do I do? I am Brahmtej Singh, a Python Developer, usually working with devops projects like automations and things, so this kinda project is a perfect fit of what I like to do! Im the founder of HostingKarle, I started with a pledge of providing a safe place to my customers. There are a lot LOT of scams out there in IT/Hosting sector, and I wish to change that. I always prioritized customer experience and trust building, and I also support developers by providing Free hosting services to support their development and projects! AI Use in Project and Other Details I am always very clear with AI Use, I believe to use it as a helping tool to navigate through complex logic building and automate repetitive tasks. All my AI use is properly logged and would be attached in every devlog, though I try my best to write what I know by hand. If you ever wish to contribute or to provide feedback on my work, please feel free to conact me on slack, ID: U0AJ2DDJ996 I always write all my devlogs by hand, every single detail is hand written and not passed through any AI tool, not even for grammatical or syntaxial fixing. My devlogs are mainly formatted like this: Introduction to what I did What new I learnt Project Impact / Upcoming Changes AI Use Declaration Attached Photo Description Thankyou for taking interest in my project. The attached image shows a screenshot of my current and future targets, written and planned out. This much text wouldnt fit in the text space, so had to attach a screenshot of the text planning. (First 15 Minutes into creation)"}]...
|
Title: Wingspan for Pterodactyl by @brahmtejsawhne Title: Wingspan for Pterodactyl by @brahmtejsawhney | Stardance
Devlogs:
Devlog 1 Project Details 1. The point/scope of this project So, this is going to be a project for all the hosting owners and homelab operators, who have to manually control/edit each server on pterodactyl to do basic actions which is the same to be done on multiple servers. If you dont know, Pterodactyl is a game/server hosting control panel which gives you a good UI to make your stuff easier to control and all.. but it does lack bulk change features, and there arent much addons for it, and addons also dont work well and get deleted everytime we upgrade the panel, which is a mess. 2. My Solution for the problem I would be making a standalone windows app + a linux cmd app which uses pterodactyl API to perform actions. It would provide a very comprehensive UI to specifically allow for bulk actions and add features which arent there in normal pterodactyl. 3. Features of my project After extensive planning and discussion with several other hosting/homelab owners, I have gathered a list of features which everyone require and would use on a regular basis if there was an app for it. So, my app would have the following features: Bulk Suspend/Unsuspend Bulk Delete Selective Purge Backup download Bulk resource change, or Copy 1 server’s resources and paste to multiple servers. Bulk Reinstall Bulk Transfer Settings page for storing api keys and more. Email notifications to notify users for bulk actions if scheduled. [Planned for a later stage, to be released with other matching updates] Make a management tab in which all node’s real specs are shown, and heavy overloading or other parameter of servers are shown. Il take suggestions from UI of Proxmox and Proxmox Datacenter manager as thats a really good UI with a lot of pterodactyl usable features. User management features like Bulk Email, Bulk user delete, Specific User Purge (Like delete those without any server), User Clear (Clear all servers of a user) The complete flagship feature of panel speed booster, which does all required purges and makes panel faster Update monitor, so users can safely and reliably update their wingspan installation and get prompted whenever a new release is put. 4. Who am I/What do I do? I am Brahmtej Singh, a Python Developer, usually working with devops projects like automations and things, so this kinda project is a perfect fit of what I like to do! Im the founder of HostingKarle, I started with a pledge of providing a safe place to my customers. There are a lot LOT of scams out there in IT/Hosting sector, and I wish to change that. I always prioritized customer experience and trust building, and I also support developers by providing Free hosting services to support their development and projects! AI Use in Project and Other Details I am always very clear with AI Use, I believe to use it as a helping tool to navigate through complex logic building and automate repetitive tasks. All my AI use is properly logged and would be attached in every devlog, though I try my best to write what I know by hand. If you ever wish to contribute or to provide feedback on my work, please feel free to conact me on slack, ID: U0AJ2DDJ996 I always write all my devlogs by hand, every single detail is hand written and not passed through any AI tool, not even for grammatical or syntaxial fixing. My devlogs are mainly formatted like this: Introduction to what I did What new I learnt Project Impact / Upcoming Changes AI Use Declaration Attached Photo Description Thankyou for taking interest in my project. The attached image shows a screenshot of my current and future targets, written and planned out. This much text wouldnt fit in the text space, so had to attach a screenshot of the text planning. (First 15 Minutes into creation)
Devlog 2 Progress Done Its been about the first hour into the project, and I have well planned everything and have started working on execution. I have started with the linux versions (CMD ONLY), because I dont have experience with GUI Apps and compiling to executables. I have started on configuration tool, which asks the user for all required API Keys and creates the config files and sets up the installation. I have also worked on a standard automatic dependency downloader, so it runs its own venv on boot, downloads its dependencies there, and runs normally. I would not be compiling it into an executable, so you can take and run it on linux, and copy paste it and run it on windows without any platform change issues. I also set up python library, “logging”, to provide proper logs of every action, because it would be important for the users if anything goes wrong or they need history of the tool’s actions. I have also added an entire system testing feature (POST) which triggers when the program is turned on. This is to ensure that no issues come while critical server actions are being performed by the software. It also checks if all the configs are built right. Features Added/Worked on Added Logging System Added Self Config tool Added dependency resolver Added a POST Test What new I learnt I learnt to work with logging library I learnt different logging levels I learnt how to read and save data into json and env I learnt to work with venv & auto pip installers I learnt that stardance has a 4000 char limit on devlogs I learnt to make a cool startup animation with ASCII I learnt to make a cool looking UI in terminal for config page AI Declaration AI was used to make a big empty blueprint list of all functions which I have to code, which makes the work easy as it allows me to visualize the functions pending to create and those which are done. AI was used in ASCII Animation’s character generation. The attached image shows the ASCII Animation, and then some pics of the AutoConfig window, asking the user to enter the details to perform setup.
Devlog 3 Progress Done Its the 3rd hour into the project, and I have worked on adding args feature (specifically for linux users) and have worked on the project’s banner and interactive setup menu. I have also added verification in the setup fields to ensure that the user fills in correct information, and even guides the user if wrong keys are entered after 2 tries. Alongside with it, I added colors and made a cool ASCII banner. I also added the system to make venv automatically on first boot (supported on both linux/windows) for those who are running the code directly uncompiled. Features Added/Worked on Added Colorful ASCII Banner [Check Attached Image] Added field verification for setup- Added Args support, Eg. wingspan setup Improved POST Added Auto Venv and Dependency Installer What new I learnt I learnt to work with ASCII Color Codes I learnt to make args on python I learnt how to work with Venv I learnt to work with Terminal Commands from python to install dependencies AI Declaration AI was used for this devlog period for generating the automatic venv and dependencies installer, and making it compatible for both linux and windows at the same time. AI was also used to help with the Args function as I have not had any experience with it before. The attached images show the program running on both Linux and Windows. First screenshot shows the automatic dependencies installer in action, followed by images of the new banner and guide text if the user enters wrong api key multiple times.
Devlog 4 Progress Done Its about the 6th hour into the project, I have worked on making a terminal UI on which you can click up and down arrows and space button to select servers from a list to do actions. I did not work on actual API yet, thats kept for the last, currently I am working on data sorting and filter functions and more. I also made a cool banner for the project! Sorry for the late devlog, took a lot of time debugging and learning this one. Features Added/Worked on Made a cool image banner on canva [No AI] Worked on filtering functions Worked on a better terminal UI with curses Made HomePage What new I learnt I learnt Graphic Design with Canva I learnt to work with Curses to make terminal UI I learnt to capture button clicks on terminal for functions AI Declaration Close to None AI was used for this devlog. I used AI to understand how the curses library works and how to make it perform actions on button clicks. Also, the tech-pterodactyl symbol on the banner was made with AI as I couldnt find a similar icon on the internet. The attached images show the new banner, followed by the homepage and terminal selector UI demo.
Devlog 5 Progress Done Its about the 8th hour into the project, Since around the past 1 hour, I have been reading and understanding the entire pterodactyl API. Learning everything from sending requests to sorting data according to needs. Not much progress was done on the main project, though I did a lot of testing in temp files and had a lot of learning. What new I learnt I learnt to use RestJS API system of Pterodactyl I learnt to use Requests in Python I learnt to capture data and filter/manipulate it from APIs I learnt to manage rate limits and error codes Sources Pterodactyl API Docs: https://pterodactyl-api-docs.netvpx.com/docs/intro AI Declaration No AI was used for the period of this devlog. Most of the work was only done for understanding and learning purposes which was done in temp files which is essential for the project’s development. The attached images show the pterodactyl AI docs which I am reading and testing.
Devlog 6 Progress Done Its the 11th hour into the project and the progress is booming! I have started working on the interactive menus of the program. I have also started work on the first function, which is “Search and Info”, in which you can select parameters to search from, and it performs bulk search for you, which you can export to a file, or use in the program internally to trigger actions, or get detailed info about. I have also added terminal ui from curses in this, for the parameter selector, and it looks really good! I also worked on algorithms which convert data from pterodactyl to a usable format for mass bulk searching. I am making it in a way that some of the load is shared on the pterodactyl server side for filtering, and the rest is done on machine running this program, so I can minimize the rate limiting and divide load among both the machines for bulk processing and improve speed. For example, basic filter arguments are run on pterodactyl server’s side (Handled built in by pterodactyl), whereas advanced parameter searches are done on user side as generally user’s own system has more threads and is much better than the pterodactyl webserver. Features Added/Worked on Made menus and sections for first function Worked on algorithms to convert api responses to filterable data Worked on UI by adding curses based parameter selector Made first function, Search and Info What new I learnt I learnt to work with massive data and make algorithms to convert to usable data I learnt to make my first usable intractable terminal UI from curses I learnt to divide operations and perform load balancing for such bulk data AI Declaration Close to None AI was used for this devlog. All the algorithms which were made, where made completely by hand. AI was used for research purposes for curses as its a new field for me. All code blocks where AI has been used are marked in source code! The attached images show the home page, followed by new menus, along with the parameter selector and more…
Devlog 7 Progress Done Im into the 12th hour of the project, and I have done a lot of progress on the first function, which is search and info. I have worked on the parameter search option which is an extremely bulky work as im making it compatible with future upgrades and any extra addons that the user may have which cause changes in the API, I’m adding dynamic automatic support for new fields too for search, while taking all inputs and performing operations in the terminal. I am completely AVOIDING AI for this devlog, and focusing on complete self improvement and understanding of such deeply nested code structures. This is a partial devlog, meaning it doesnt mark a completion of a feature. AI Declaration Close to None AI was used for this devlog. Everything was done by hand for self learning and improvement. The attached images show the home page, followed by the new Search from Parameters Mode…
Devlog 8 Progress Done Im done with Search and Info function’s basics. Only export options and other advanced options are left to be created. This is a really little 15 minute devlog to mark the achievement of the first actual usable feature in the program, which took me about 11 hours, and this project would be having about 20 of such large functions, making this an extremely detailed and big project. In this devlog, I also want to thank each and every follower of mine, for taking interest in my project and supporting me! Thankyou. AI Declaration Close to None AI was used for this devlog. Everything was done by hand for self learning and improvement. The attached images show the Banner of project.
Devlog 9 Progress Done Im working on the final parts of the first function, that is filtering and exporting. Next I would be moving onto purge manager and related functions which are more useful in real life. Input of the ID parameter was giving vague errors when provided with ranges, It took me a lot of debugging to find the source of the issue, and that was a string was being compared to an int (str<int) in a part of code where I didnt typecast. That is fixed now. AI Declaration Close to None AI was used for this devlog. The attached images show the accepted input of the ID field when put with a range.
Devlog 10 Progress Done Im in the 13th hour of the project, and have completely finished the first feature of Searching and Indexing servers. This feature allows you to search from bulk server lists and filter out servers based on all the parameters. It also works with any extension which you may add in future which adds more parameters in the panel, its universally compatible. Next, I would be working on the Purge function, on which we would be using the Search and Info function, to export a csv list and import it into the purgetool to eliminate servers. Features Added/Worked on Refined menus and controls Added more colors Added support for complete universal API [Explained above] Finished with the first function of the software What new I learnt I learnt to work with APIs I learnt to manage big data I learnt to make really complicated nested loops I learnt to convert Json and Lists from 2D to 1D AI Declaration A little bit of AI was used to automate repetitive tasks to save time in the search and info function, where filter rules had to be created for each datatype separately and code was mostly same as I written by hand. AI was used to just change variable names and fit it for other datatypes. AI was also used for debugging and checking if everything works alright. Wherever AI was used, has an AI marker in the source code. The attached video show the first working function which is filtering servers based on user inputs.
Devlog 11 Progress Done Im in the 14th Hour of the project, and I have worked on the readme. I have written installation process, and scopes of this project. Also, I have added credits as required. All content is human written, no AI used. Features Added/Worked on Added Readme AI Declaration No AI Used for this devlog period The attached video show the preview pics of the readme.
Devlog 12 Progress Done I am now making the Server Info function, which provides all the server information in one very well managed panel. Thanks to my fellow developer @stef [U0823APHVK7], I got to know that most of the pterodactyl API docs out there are AI generated and are mostly inaccurate. The accurate one is: https://pterodactyl-api.redbanana.dev I have also experienced issues with Pterodactyl itself, not working right with parameter based data fetching, Il work more on it as most likely its some my side issue. I am also working on adding some kind of live table display right into the terminal to beautifully display the data from the Server Info function. Features Added/Worked on Finished with Server Search Worked on CSV Export Started work on Server Info Function AI Declaration No AI Used for this devlog period The attached video show the preview pics of the new Server Info function.
Devlog 13 Progress Done I did not do much today as the schedule was really busy, I have done a little bit of debugging and bughunting by testing with different kinds of server eggs and parameters on pterodactyl. I have not found any major issue yet, there were some little issues with server search function where some parameters would not show up, that is fixed. Rest, I also am working on the server info function and the readme. Features Added/Worked on Finished with Server Search Worked on CSV Export Started work on Server Info Function AI Declaration No AI Used for this devlog period The attached photos show the new updates to the readme and docs.
Devlog 14 Progress Done I know this is a very delayed devlog, I had my exams mid way. I’m into the 20th hour of the project, most of the stuff is made. API System is ready, most of the code which would be shared across multiple functions is ready. First function, of Bulk Search and server lookup is also complete. Server lookup function has a really cool UI. Alongside with that, I have also added export option to the Bulk Server Search, you can use the exported file on other functions which take actions on server. Features Added/Worked on Completed Bulk Search and Server Lookup Added server list export Added Shipwrights Docs (Readme for shipwrights) Worked on fixing bugs and README What new I learnt I learnt to work with CSV files I learnt to spoof responses to provide hardcoded outputs (For shipwrights testing) I learnt how to read and save data into json and env I learnt to add images into my Readme AI Declaration A little bit AI was used in CSV saving mechanics, so its saved in a way so could be read back easily for processing later. Server Lookup’s UI was heavily created with help of AI, as I was not able to achieve that high information density without use of AI. Rest, updates in README and SHIPWRIGHTS.md were all done by hand with 0% AI. The attached image shows the new Server Lookup UI, new readme with banner and terminal header, shipwrights file, csv file output.
Changelog Repo Created on Git, Code Uploaded. V1: Added: Server & Info Fn. Welcome to wingspan folks! <3
Devlog 16 Progress Done The project is still on its reviewing stage, in the meantime, I have worked on releasing the executable release for both windows and linux. The executables are internally dynamic, so it updates to the latest wingspan version on every boot. Alongside, I have also worked on a lot of bugfixes, added more detailed logging, Autoboot after Setup and more. I have also worked on the purge function, specifically on the server purge feature. I have completed the export function and import function for the server lists. So server lists could be imported to action functions. I have also worked on reducing the boot time for linux, and on a fresh install, its as little as 5 seconds for the complete install and setup. I’ll be releasing more things after the ship gets approved! Features Added/Worked on Enhanced Logging System Added Release Executables/Binaries Added Auto Updater Added Importer Function for exported server-lists Fixed bugs and slight performance enhancement for windows Massive performance enhancement for linux What new I learnt I learnt to make a formal logging system I learnt to create binaries of python I learnt how to export and import and edit csv I learnt to optimize code on linux I learnt to make Auto Updaters and Version Checkers What I would be working on Completing server purge function Improving performance for windows systems Adding verification of exports while importing them Warnings before destructive action AI Declaration No AI was used in code in the duration of this devlog. AI was used in helping me with creating the executables from the code. All places where AI was used in code, is mentioned properly in the source code. The attached image shows the Release Page of the project, Purge Window Screenshots and Export File Content Screenshots.
Devlog 17 Show and Tell #1 WINNER Project! 🏆 Progress Done Ship Approved! Yay! Also, Show and Tell Winner! So, during the span of this devlog, I have worked on creating release files for this project, in a way that they do not have to be updated everr! Also, I have worked on the Purge Function, and have completed the server list import, and have made major changes in server list export function, which now exports minimally required data only for security reasons. Also, I have made quite a lot of confirmations that the person has to fill in order for the servers to actually get deleted, which is a good practice so a person doesnt anciently delete their entire pterodactyl. Also, I have worked on advanced logging in the import system and a very smart directory checker. Also, exporting now adds the panel’s URL on top of the export file, so a wingspan session linked to another panel does not perform critical actions on wrong servers. It properly verifies the import file and gives a clear warning if needed. Features Added/Worked on Export Function Major Changes New Import Function Improved logging Purge Function Increased security and confirmations before taking critical actions. What new I learnt I learnt to export files I learnt to import files I learnt security and integrity tactics to prevent unwanted destruction I learnt to do better logging What I would be working on Completing server purge function Starting work on user purge function AI Declaration No AI was used in code in the duration of this devlog. All places where AI was used in code, is mentioned properly in the source code. The attached file shows and older video I recorded of me using the project.
Devlog 18 Progress Done Purge feature is now functional. Server purges are working as expected. I have added 4 purge methods. Parameters are Forced/Unforced, and Verified and Unverified.So, FV,FU,UV,UU. When you choose unforced method, it would ensure a clean deletion, and ensure the entire data is wiped. On a forced delete, it would delete it from frontend, and only attempt to clean it entirely. Force method is useful to delete servers whose nodes have been discontinued, or conditions where unforced wouldnt work. Verified feature ensures that the purge process goes as close to the expected outcome as possible, and if anything is detected which shouldnt be so, wingspan would prompt you there, so you can take manual action right there on the spot while it purges. Unverified means that wingspan would try its best to delete all the servers given in the importlist and would not prompt the user in case of discrepancies. Features Added/Worked on Import Verification Server Name Live Verification Completed Beta Purge Function Updated Menu to allow Purge Function Wingspan now needs an Admin API key with Full Perms (Readonly no longer works) What I would be working on Bugchecking all the features I made Attempting to delete some servers in massive quantities. Starting work on User Purge Function Do changes in README.md for the new purge function documentation. Find a good reliable Pterodactyl API Docs Website. AI Declaration No AI was used in code in the duration of this devlog. All places where AI was used in code, is mentioned properly in the source code. The attached image shows the Graphical UI of the Purge Function along with the questions it asks.
Devlog 19 Show and Tell #1 WINNER Project! 🏆 Progress Done Purge function has been completely created. I have worked on API Request Error Catching in duration of this devlog. I have integrated all the standard practices and error catching which is required, and now the program displays the error and a solution to fix it. Also, it tracks if there are any errors due to wingspan itself, and provides resolution! Great Stuff! I also started work on User Purge Function, which i’ll release in the ship after shipping Server Purge. There was a bug in the release file, which prevented auto update in windows. Fixed that. Features Added/Worked on Better API Requests to Pterodactyl Rate Limit detector and queue Error Catching and Resolution Server Purge Function Completed Started work on User Purge What new I learnt I learnt to work with industry standard error catching I learnt to make better API systems I learnt to work with queues and rate limiters I learnt to use DELETE Protocol What I would be working on Completing Documentation till here Shipping till Server Purge AI Declaration Claude was used to find out bug in release file only. No AI was used in code during the span of this devlog. All places where AI was used in code, is mentioned properly in the source code. The attached image shows the Release Page of the project, project homepage and some lovely previous votes screenshots.
ps: not an official devlog, just an update Show and Tell + Super Star This was another great show and tell, and OMG SUPER STAR! Thanks @Lazyllama ❤️ Ty guys, rly grateful!! Image shows me submitting to Show and Tell and 2nd Image showing my Super Star!
Ships:
Welcome to WingSpan, A project to bulk manage your self hosted hardware on pterodactyl. Easily search through servers, get detailed information, export lists based on precise filtering and more! It is made for people like me, who manage hundreds of servers daily, and need to perform bulk actions on them. Its posted on frictionless mission because it would make my life really easy as it automates a lot of my work and would save me a LOT of clicks! cant wait for you to try it out! <3
Hello! If you are new here, welcome! This is my flagship project called Wingspan, It’s used by system administrators and infrastructure managers to manage their virtual servers in bulk rather than one by one. This project works in the terminal with AMAZING Terminal UI! This is my second ship. I have worked on making the Server Purge Function, to easily delete servers in large quantities. In my previous ships, I worked on making the basics of the code and functions to index and search the database. I have received extremely positive comments for this project, and i’m really proud of making it! Do star it on github if you like this one!...
|
1793152192.2668588
|
1793238592.2668588
|
|
69823
|
Workbot by @Kinza | Stardance
|
Kinza
|
0
|
3.24
|
0
|
[]
|
[{"post_id": 80765, "ts": "202 [{"post_id": 80765, "ts": "2026-10-18T18:45:07Z", "hours": 0.6789, "text": "Finallyyy its workinggg!!! I was using the wrong model and there were some errors in the code that were causing failure so 40 mins of more detailing fixed it. I guess its ready to submit now. It can do a lot of things now like summarize your text, generate meeting minutes, break projects into tasks, extract action items and owners, create project status report and more…"}, {"post_id": 80467, "ts": "2026-10-17T18:48:53Z", "hours": 1.8689, "text": "Facing errors :( My Workbot aint working. Its been 2 hours but I am still stuck I hope I figure it out quickly."}, {"post_id": 79820, "ts": "2026-10-15T15:15:28Z", "hours": 0.6903, "text": "Just made my first slackbot. The workbot. Right now I myself dont know whats the progress but I have the end result in my mind. I want to make a summarizer and I will try to use groq api and integrate it. I am not a very active slack user so I dont know how all this pinging system works but its still in progress… let me know if anyone has any ideas for it."}]...
|
Title: Workbot by @Kinza | Stardance
Devlogs:
Jus Title: Workbot by @Kinza | Stardance
Devlogs:
Just made my first slackbot. The workbot. Right now I myself dont know whats the progress but I have the end result in my mind. I want to make a summarizer and I will try to use groq api and integrate it. I am not a very active slack user so I dont know how all this pinging system works but its still in progress… let me know if anyone has any ideas for it.
Facing errors :( My Workbot aint working. Its been 2 hours but I am still stuck I hope I figure it out quickly.
Finallyyy its workinggg!!! I was using the wrong model and there were some errors in the code that were causing failure so 40 mins of more detailing fixed it. I guess its ready to submit now. It can do a lot of things now like summarize your text, generate meeting minutes, break projects into tasks, extract action items and owners, create project status report and more…...
|
1792860493.1801746
|
1793465293.1801746
|
|
69903
|
Angrybirds in Geogebra by @sqnder_ | Stardance
|
sqnder_
|
0
|
9.14
|
0
|
[]
|
[{"post_id": 80764, "ts": "202 [{"post_id": 80764, "ts": "2026-10-18T18:35:05Z", "hours": 2.0922, "text": "Ok I refactored the whole game (only js) to use node so I can have multiple js files. Node then bundles them and automatically builds the .ggb file for me. Lof you node <3. Then for the physics I added some stuff like: Blocks Blocks can fall If you hit a falling block it flies further and you bounce back You can bounce on blocks This stuff is hella cool I won’t go in the technical details cause I would write a whole darn book about them. But I’ll go deeper into it on my readme."}, {"post_id": 80647, "ts": "2026-10-18T11:57:18Z", "hours": 7.0472, "text": "I’ve done a lot like a lot lot. First I had to figure out how I would even set the game up. After a lot of just playing around with geogebra. I got set up with a circle with inside a point, if I move that point inside, it makes a parabolic move around. That’s like the core mechanic of the game so it was nice to have that. I was doing that stuff with lapse and then I noticed I can unzip the .ggb files that geogebra provides you with when you press download, so I of course unzipped it to see for myself what’s in there. At it core it comes down to 2 files. geogebra.xml and geogebra_javascript.js the xml file just stores all your variables and stuff an the javascript file is used to run some javascript. I started coding in js and noticed that it’s running a sandboxed js which means I didn’t hat access to timer.setinterval and stuff. At a certain point the mechanic of making the image move over the curve was working, but I didn’t feel satisfied enough, so I moved everything over to js. All items are first seeded by js. Then I started to create classes for everything ’cause I have multiple entities etc for this. I had to use a slider that updates at ticks geogebra provides me but god nows how long such a tick takes so I need to calculate time between ticks with dates to get some sort of consistency in my physics engine. Currently when you launch the bird, it just sets it speed upwards and gives it a forward speed, then it always calculates the current position based on the previous position and the time elapsed during 2 ticks. So I can work with some kind of vectors. Next up is building a tower to hit and adding physics to destroy that tower. Oh btw I also added a timer when the bird is on the ground for 3s it just resets ‘cause otherwise the bird just lies down and you’d have to reopen the file to shoot again. Also keep in mind that this is a calculator and not even a complete html/css/js setup."}]...
|
Title: Angrybirds in Geogebra by @sqnder_ | Starda Title: Angrybirds in Geogebra by @sqnder_ | Stardance
Devlogs:
I’ve done a lot like a lot lot. First I had to figure out how I would even set the game up. After a lot of just playing around with geogebra. I got set up with a circle with inside a point, if I move that point inside, it makes a parabolic move around. That’s like the core mechanic of the game so it was nice to have that. I was doing that stuff with lapse and then I noticed I can unzip the .ggb files that geogebra provides you with when you press download, so I of course unzipped it to see for myself what’s in there. At it core it comes down to 2 files. geogebra.xml and geogebra_javascript.js the xml file just stores all your variables and stuff an the javascript file is used to run some javascript. I started coding in js and noticed that it’s running a sandboxed js which means I didn’t hat access to timer.setinterval and stuff. At a certain point the mechanic of making the image move over the curve was working, but I didn’t feel satisfied enough, so I moved everything over to js. All items are first seeded by js. Then I started to create classes for everything ’cause I have multiple entities etc for this. I had to use a slider that updates at ticks geogebra provides me but god nows how long such a tick takes so I need to calculate time between ticks with dates to get some sort of consistency in my physics engine. Currently when you launch the bird, it just sets it speed upwards and gives it a forward speed, then it always calculates the current position based on the previous position and the time elapsed during 2 ticks. So I can work with some kind of vectors. Next up is building a tower to hit and adding physics to destroy that tower. Oh btw I also added a timer when the bird is on the ground for 3s it just resets ‘cause otherwise the bird just lies down and you’d have to reopen the file to shoot again. Also keep in mind that this is a calculator and not even a complete html/css/js setup.
Ok I refactored the whole game (only js) to use node so I can have multiple js files. Node then bundles them and automatically builds the .ggb file for me. Lof you node <3. Then for the physics I added some stuff like: Blocks Blocks can fall If you hit a falling block it flies further and you bounce back You can bounce on blocks This stuff is hella cool I won’t go in the technical details cause I would write a whole darn book about them. But I’ll go deeper into it on my readme....
|
1792918160.7354968
|
1793522960.7354968
|
|
45836
|
NRF24L01+PA+LNA by @DhruvJ | Stardance
|
DhruvJ
|
0
|
7.24
|
0
|
[]
|
[{"post_id": 80761, "ts": "202 [{"post_id": 80761, "ts": "2026-10-18T18:27:12Z", "hours": 7.2444, "text": "Tasks accomplished: Made a schematic. Made an enclosure for the Radio. The radio is supposed to powered by the phone and use the phones microphone and speaker as the interface, the goal is to practically compare ESP-NOW communication protocol and the 2.4ghz transceiver module and adaptively transition or switch to either protocol but there is a caveat, they communicate at the same frequency band and can interfere but we can only test it to know more"}]...
|
Title: NRF24L01+PA+LNA by @DhruvJ | Stardance
Dev Title: NRF24L01+PA+LNA by @DhruvJ | Stardance
Devlogs:
Tasks accomplished: Made a schematic. Made an enclosure for the Radio. The radio is supposed to powered by the phone and use the phones microphone and speaker as the interface, the goal is to practically compare ESP-NOW communication protocol and the 2.4ghz transceiver module and adaptively transition or switch to either protocol but there is a caveat, they communicate at the same frequency band and can interfere but we can only test it to know more...
|
1792637726.0985286
|
1793242526.0985286
|
|
13382
|
Rova by @kittendevv | Stardance
|
kittendevv
|
0
|
1.65
|
0
|
[]
|
[{"post_id": 8075, "ts": "2026 [{"post_id": 8075, "ts": "2026-06-13T14:11:13Z", "hours": 1.6489, "text": "Created most of the basic endpoints, for the backend I chose to use Bun + ElysiaJS and I am using Drizzle ORM to interface with my db."}]...
|
Title: Rova by @kittendevv | Stardance
Devlogs:
C Title: Rova by @kittendevv | Stardance
Devlogs:
Created most of the basic endpoints, for the backend I chose to use Bun + ElysiaJS and I am using Drizzle ORM to interface with my db....
|
1792756286.1184804
|
1793361086.1184804
|
|
66318
|
maxx by @wnxvra011 | Stardance
|
wnxvra011
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-18T18:20:58Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "yea i got with the live web very hard one to make it online ,after many errors in the code and made a high UI,I am feeling great for this work,every one can use this so they can get very fast answers", "repo": "https://github.com/spyx011/maxx", "demo": "https://maxx-l17d.onrender.com/"}]...
|
[{"post_id": 80749, "ts": "202 [{"post_id": 80749, "ts": "2026-10-18T18:16:19Z", "hours": 2.1669, "text": "guy’s the last one but not the endddddd see you in another project"}, {"post_id": 75277, "ts": "2026-09-29T16:57:25Z", "hours": 1.8589, "text": "GUY’S this is my updated version and guy’s try this AI, this version has much more bright colour’s and i have add ML/AI to this so it can cook."}, {"post_id": 74910, "ts": "2026-09-28T16:12:39Z", "hours": 1.1817, "text": "i see around ans see that ai is taking every thing we can make and every one think how an ai works so guy’s not muuch but i also want to know so i just build this “ THE MAXX”"}, {"post_id": 74532, "ts": "2026-09-27T16:02:53Z", "hours": 0.5017, "text": "MAXX — hloo there this is the start"}]...
|
Title: maxx by @wnxvra011 | Stardance
Devlogs:
MA Title: maxx by @wnxvra011 | Stardance
Devlogs:
MAXX — hloo there this is the start
i see around ans see that ai is taking every thing we can make and every one think how an ai works so guy’s not muuch but i also want to know so i just build this “ THE MAXX”
GUY’S this is my updated version and guy’s try this AI, this version has much more bright colour’s and i have add ML/AI to this so it can cook.
guy’s the last one but not the endddddd see you in another project
Ships:
yea i got with the live web very hard one to make it online ,after many errors in the code and made a high UI,I am feeling great for this work,every one can use this so they can get very fast answers...
|
1793155807.4569018
|
1793242207.4569018
|
|
55049
|
SmartBin by @Vedant_Daga | Stardance
|
Vedant_Daga
|
0
|
11.41
|
0
|
[]
|
[{"post_id": 80748, "ts": "202 [{"post_id": 80748, "ts": "2026-10-18T18:14:17Z", "hours": 1.5514, "text": "Devlog 4 - Smart Bin i used a ton of AI to help me find the right parts for the cheapest dollar amount possible and then ordered them using the grant approval and they finally all shipped going to start lapsing me soldering the things (starting with pi headers etc)"}, {"post_id": 68931, "ts": "2026-09-16T02:05:39Z", "hours": 0.9875, "text": "Devlog 3 - Smart Bin got some feedback from the hardware reviewer said that my costs were too high and that I should switch to AliExpress and other sources for cheaper things looked into AliExpress and digikey for cheaper sources delivery fees are really high, so I swapped only the things that were free delievery cut down around 80 dollars from the BOM"}, {"post_id": 58591, "ts": "2026-08-31T02:00:40Z", "hours": 2.22, "text": "Devlog 2 - Smart Bin ml pipeline 6 modules, tensorflow only, three dependencies. cut it from 629 lines to 308, and the old one trained in pytorch then converted to tflite for the pi, so it needed both frameworks the split is by session, not by frame. frames from one session are near-duplicates, so a random split puts near-copies of your training data in the test set and the accuracy number means nothing evaluate.py prints both numbers and the gap. the frame-split one is there as the number not to believe firmware 11 files. trigger, weigh, light, capture, classify, decide, tilt, log, serve the safety rule is enforced twice: a confidence gate at runtime, and a config check that refuses to start if the rules file would ever send an unidentified item to recycling weight adjusts the result too. paper over 40 g is probably wet, so it goes to trash bom priced everything out, then checked the parts against my own schematic. found five problems: the mcp3208 had nothing to measure. its only connected input is the battery divider, and there’s no 12 V source in the build, so i dropped it the load cell “kit” ships an hx711 module. my hat already has an hx711 on it, and those modules run at 5 V where mine is deliberately at 3.3 V. bought the bare IC instead camera module 3 at $36 to module 2 at $9.49. autofocus is pointless when the camera and the pan never move relative to each other before: $283.52 now: $195.19"}, {"post_id": 57719, "ts": "2026-08-29T23:40:35Z", "hours": 6.6492, "text": "Devlog 1 - Smart Bin why: recycling bins get contaminated easily, and one bad load can get the whole bin rejected and landfilled. every recycling project i’ve seen is an app telling you which bin to use. i wanted the bin to just do it. schematic 34 components, 26 nets: pi header, load cell (hx711), battery sense (mcp3208), servo rail, led driver, break-beam hx711 runs at 3.3 v so both signals are pi-safe, which deletes 4 level-shifting parts servo has its own ground meeting pi ground at one 0r link. a shared return browns out the pi and corrupts the sd card caught a real bug: led on gpio18 and servo on gpio12 are both pwm0 board 65 × 45 mm, 2 layers, pi zero hat footprint. fully routed, ground plane poured. gerbers exported. cad 7 parts on a base plate: pan, hub, idler, servo mount, bearing block, pi mount, plate. it couldn’t move. pivot sat 16 mm above the plate, but the pan is 180 mm wide, so at 45° the edges swing 65 mm down and cut through it. raised the pivot to 70 mm also measured my actual mg996r instead of trusting the spec (it was actually 39.9 not 40.7 mm, shaft 10.95 off centre not 10.35) FYI i accidently cadded on fusion and forgot to lapse (there goes like 4 hours of my life) and i imported to onshape so u can see it"}]...
|
Title: SmartBin by @Vedant_Daga | Stardance
Devlo Title: SmartBin by @Vedant_Daga | Stardance
Devlogs:
Devlog 1 - Smart Bin why: recycling bins get contaminated easily, and one bad load can get the whole bin rejected and landfilled. every recycling project i’ve seen is an app telling you which bin to use. i wanted the bin to just do it. schematic 34 components, 26 nets: pi header, load cell (hx711), battery sense (mcp3208), servo rail, led driver, break-beam hx711 runs at 3.3 v so both signals are pi-safe, which deletes 4 level-shifting parts servo has its own ground meeting pi ground at one 0r link. a shared return browns out the pi and corrupts the sd card caught a real bug: led on gpio18 and servo on gpio12 are both pwm0 board 65 × 45 mm, 2 layers, pi zero hat footprint. fully routed, ground plane poured. gerbers exported. cad 7 parts on a base plate: pan, hub, idler, servo mount, bearing block, pi mount, plate. it couldn’t move. pivot sat 16 mm above the plate, but the pan is 180 mm wide, so at 45° the edges swing 65 mm down and cut through it. raised the pivot to 70 mm also measured my actual mg996r instead of trusting the spec (it was actually 39.9 not 40.7 mm, shaft 10.95 off centre not 10.35) FYI i accidently cadded on fusion and forgot to lapse (there goes like 4 hours of my life) and i imported to onshape so u can see it
Devlog 2 - Smart Bin ml pipeline 6 modules, tensorflow only, three dependencies. cut it from 629 lines to 308, and the old one trained in pytorch then converted to tflite for the pi, so it needed both frameworks the split is by session, not by frame. frames from one session are near-duplicates, so a random split puts near-copies of your training data in the test set and the accuracy number means nothing evaluate.py prints both numbers and the gap. the frame-split one is there as the number not to believe firmware 11 files. trigger, weigh, light, capture, classify, decide, tilt, log, serve the safety rule is enforced twice: a confidence gate at runtime, and a config check that refuses to start if the rules file would ever send an unidentified item to recycling weight adjusts the result too. paper over 40 g is probably wet, so it goes to trash bom priced everything out, then checked the parts against my own schematic. found five problems: the mcp3208 had nothing to measure. its only connected input is the battery divider, and there’s no 12 V source in the build, so i dropped it the load cell “kit” ships an hx711 module. my hat already has an hx711 on it, and those modules run at 5 V where mine is deliberately at 3.3 V. bought the bare IC instead camera module 3 at $36 to module 2 at $9.49. autofocus is pointless when the camera and the pan never move relative to each other before: $283.52 now: $195.19
Devlog 3 - Smart Bin got some feedback from the hardware reviewer said that my costs were too high and that I should switch to AliExpress and other sources for cheaper things looked into AliExpress and digikey for cheaper sources delivery fees are really high, so I swapped only the things that were free delievery cut down around 80 dollars from the BOM
Devlog 4 - Smart Bin i used a ton of AI to help me find the right parts for the cheapest dollar amount possible and then ordered them using the grant approval and they finally all shipped going to start lapsing me soldering the things (starting with pi headers etc)...
|
1793137736.1972406
|
1793742536.1972406
|
|
11169
|
SupplyChains by @Thijmen | Stardance
|
Thijmen
|
1
|
313.73
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-03T19:48:03Z", "hours": 307.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Supply Chains Supply Chains is a game inspired by Transport Fever and Mindustry, centered around building road networks and logistics chains for construction and mining operations. Features Vehicles, trailers and a garage Route system: pick a source, a destination and a resource, then assign it to a vehicle Multi-step production chains Construction sites, trading, generated terrain, and A* pathfinding with road weights Controls: WASD camera, 1-5 build, right click remove, space pause. Everything else is in HELP.md . Known limitations I’m a solo dev, so some things aren’t finished. The full list is in the README. Hope you enjoy it!", "repo": "https://github.com/thijmenb1/roadbalencer", "demo": "https://github.com/thijmenb1/SupplyChains/releases/tag/v0.1.3"}]...
|
[{"post_id": 80746, "ts": "202 [{"post_id": 80746, "ts": "2026-10-18T18:11:49Z", "hours": 6.7261, "text": "Devlog 27: Tutorial: After feadback I have dicided to make a tutorial and made a couple quality of live updates that made the game easier to understand."}, {"post_id": 76500, "ts": "2026-10-03T19:24:02Z", "hours": 16.3356, "text": "Devlog 26: Last devlog I’ve officially finished the game. It’s been an incredible journey, and I’m pretty happy with the end result. excavator The excavator is now fully functional. You can use it to create mines, which automatically convert into factories once placed. a lot of small things I have done a lot of small things to optimse the game and fix things i coudend test till now Release This is the last devlog I’ll be writing for this project. I want to thank you all for the support. I hope you enjoy playing the game."}, {"post_id": 75365, "ts": "2026-09-29T21:04:49Z", "hours": 9.8742, "text": "Devlog 25: Planes and saving! I’ve locked in over the last 2 days and finished the final 2 of the 3 major systems. I’ve completed the planes (which now spawn when you accept an order) and finished the saving system. Planes/order system I’ve finished the order system, when you accept an order, a plane now spawns a couple thousand pixels out. It flies to the airstrip, loads up at the end of the runway, turns around, and flies away. It doesn’t taxi all the way to the terminal because I just don’t have time for that, but it looks good enough for now. Saving You can now save 3 worlds in the game. Everything gets encrypted and saves all the world values. It was pretty difficult converting some of the arrays filled with instances into dictionaries and back again, but it works on both PC and on the web. whats left: The only things left are the excavator and some smaller things. I’m finishing that all tomorrow, and that will be the last devlog for my ship. The main gameplay loop should be finished by end of day tomorrow. If I can’t finish everything, so be it, I dont have time to work on it anymore if I also want to continu in third space, but I’m happy with how it works now and what I have learned along the way."}, {"post_id": 74558, "ts": "2026-09-27T17:07:31Z", "hours": 10.1058, "text": "Devlog 24: Construction finished and start secunce made I’ve finished the construction system and made the start sequence actually playable by adding a resource box containing 10 iron bars needed to build a terminal. It’s been 2 weeks since my last devlog school and commitments to Third Space have kept me busier, so I’m not 100% certain I’ve captured everything that’s changed. Construction system The construction system now generates building routes that you can assign vehicles to. Resources must be delivered to a building site before construction begins, making the resource system meaningful in actual gameplay. Starting secunce The starting secunce now has a couple of steps: Place the resource box Place a runway Place a terminal Conect the runway with the terminal with a taxiway Place 4 base tiles for the vehicle to spawn on What has to be done: Mine/excavator system ~3h Finish trade system ~3h Save system ~2h Documentation ~2h"}, {"post_id": 67659, "ts": "2026-09-13T20:19:08Z", "hours": 10.0428, "text": "Devlog 23: Vehicle pathfinding and construction I have fixed the vehicle pathfinding (mostly) and I have made the construction system. Vehicle pathfinding I have fixed the vehicle pathfinding and it works now mostly. I say mostly because it breaks when a trailer is equipped, but that is a way smaller thing to fix. Construction system It’s almost done. The system makes it so the resources actually have a function and you now need to deliver resources to a building site before the factory can get built. Still not done I know I said it would be done this weekend and it still isn’t, but it’s almost there. What I still have to do: The mine/excavator ~5h Finishing a couple of systems (like the construction and trade system) ~5h Make a savegame system ~5h Small things ~2h Documentation ~2h So 2 devlogs left, and otherwise I will just ship incomplete because I don’t have time anymore."}, {"post_id": 66739, "ts": "2026-09-12T17:07:44Z", "hours": 10.2911, "text": "Devlog 22: Factory UI and Finished base building I’ve finished base building and am now working on the factory UI. Factory UI I’m working on the factory UI, where you can see the factory’s storage and change its recipe. It’s almost finished. Base building Base building is finished you can now make taxiways and build a warehouse. I’ve also put these into a UI like the factory’s, so it only takes one button. Vehicle physics/pathfinding I’ve spent yet another hour on vehicle physics/pathfinding, and I’ve narrowed it down to a bug in the handoff to the prebaked paths of the factories. Timeline I’m pretty sure I am gooing tho finish it this weekend. What’s left: Vehicle physics ~3h Mines/excavators ~5h Building construction (will reuse most of the factory logic) ~2h Random bugs and small things ~5h"}, {"post_id": 65022, "ts": "2026-09-09T20:33:42Z", "hours": 9.9275, "text": "Devlog 21: Trading Finished, but I’m Stuck I’ve finished the trading system! Trading System The trading system is done. Orders are generated, you can accept them, and accepted trades show up in the UI. The only thing left is adding the planes, but that depends on finishing the base-building system first. Base Building I’ve started working on base building. It’s pretty simple and mostly uses systems that already exist, so it should only take around an hour to fully implement. Stuck Development has been going way slower than I hoped because my codebase is currently a bunch of bandaids stacked on top of each other. I also need to ship this week since Thirdspace starts next week, which means I probably won’t have time to add much polish.So I need your opinion: is it worth delaying the game for another week? 😭 Or should I just ship it? Do you think I’ll still be able to afford the Framework 13 if I release it now? My current plan is to focus on getting the core systems working, fix any major bugs, and leave extra polish and construction vehicles for a post-launch update."}, {"post_id": 62429, "ts": "2026-09-05T19:31:29Z", "hours": 9.9097, "text": "Devlog 20: UI and Trading Got the backend for the trading system done and overhauled the UI to go with it. Trading System I made a trading system. It generates contracts with the recipient’s name, the resource being traded, and the price. Basically the foundation for the aircraft system. UI Redesigned the time and date display because it looked kinda rough. Also switched the economy back to money instead of the resource, makes way more sense for trading. Oh, and vehicles now actually speed up when you speed up time, which is pretty cool. What’s Shipping vs Later I’m not including construction vehicles in the initial release because that’s like 40+ more hours of work and I want to actually finish this before Thirdspace starts (I’m gonna compete too). So yeah, that’s going to a post-launch update. Still gotta do: Get the excavators working (mines) ~5h Finish the trading system ~3h Fix vehicle physics again 😭~5h Random bugs and polish ~5h Hope I can get that done this week. Tryna hit at least 14sd/h so I can hopfuly buy that Framework 13 lol"}, {"post_id": 55609, "ts": "2026-08-27T16:01:00Z", "hours": 4.3333, "text": "Devlog 19: Busy School has started again and I have been geting busy and my motivation is also not that high right now because things take alot longer and dont work like i want to. I think I will delay release to septembere 12th."}, {"post_id": 50634, "ts": "2026-08-19T21:45:22Z", "hours": 9.9061, "text": "Devlog 18: Pre-baked docking paths I’ve implemented pre-baked docking paths for factory entrances to solve some pathfinding issues with vehicle physics. Pre-baked paths The A* pathfinding system was struggling to navigate the sharp corners around factory entrances. When the trailer tried to find its own path through these tight spaces, it would instantly jackknife, not ideal. Rather than spend 50+ hours refining the vehicle physics, I decided to pre-bake specific docking paths to each factory. It’s not a perfect solution visually, but it’s functional and gets the job done. I can always refine this for a post-launch update if needed. I’m still wrapping up the final details of the docking path system before moving on. Mines My next major task is implementing mine logic, which includes the excavator logic and ore detection and depletion. Aircraft After the mining logic I will add the last vital gameplay system the aircraft system which will be responsible trade and contracts with other villages. Release I’m currently deciding whether to push construction vehicle implementation to a post-beta update or delay the release by a week to include them. Construction vehicles aren’t vital to core gameplay, but they would add a lot of polish. I’m still on the fence about this one, it depends on how the mine logic implementation goes."}, {"post_id": 49170, "ts": "2026-08-17T20:13:08Z", "hours": 9.9731, "text": "Devlog 17: Factory placement I’ve built a system for placing factories in the world. Factory placement Turns out it’s an absolute pain in the ass to place objects that are multiple tiles big while also having them connect to multiple Godot terrains. So I had to write a whole system that places every tile separately and keeps track of which tiles are occupied. Roads I also had to rework how roads are placed. Originally, every road type was its own terrain, but that doesn’t work if you want them all to connect to factories and to each other. So now they’re all just one terrain, and a script gives each tile the correct color for its road type. This only works because all the road types are identical in shape just different colors. Aircraft sprites I’ve added several new aircraft sprites: the Bo 105, the Twin Otter, the PC-6, and the H225. I’m planning to add the Chinook and the A400M next, which will round out the aircraft lineup for the beta launch. Release It’s going to be close. I’m not sure I’ll hit my self-imposed deadline, since some things took a lot longer than expected but I might still make it. Either way, I’m not going to rush it. I’d rather ship a week late than release something that gets 5 SD/h because it isn’t polished."}, {"post_id": 47570, "ts": "2026-08-15T15:24:06Z", "hours": 9.8719, "text": "Devlog 16: Factorys and aircraft I’ve reworked the factory sprites and added aircraft. Factory sprites I have made new sprites for every factory execpt the concrete mixing plant. the sprites are now 2x2 or larger so vehicles can realisticly unload there. Aircraft I’ve decided to add aircraft, which will serve as a trading terminal so you can trade with other villages, get contracts, and earn money. Aircraft fit well for this since no other villages spawn in the world. they let you trade with other vilages without them needing to exist in the world. I still need to add alot to make this work but currently I have a working runway building mecanic Next: Factories Next, I still need to build out the factory logic. I plan to make them with custom resources, just like vehicles. I made the new sprites first because I needed to know where (un)loading would need to happen before I could design the logic around it."}, {"post_id": 46516, "ts": "2026-08-13T19:56:21Z", "hours": 10.2989, "text": "Devlog #15: Vehicle rework I’ve completely restructured how vehicles work under the hood. The main goal was to break down the code into readable, reusable pieces. Vehicle componentization The vehicle script had become too large to work with, so I split it into five scripts: vehicleBody.gd , drivetrainComponent.gd , path_movement_component.gd , CargoComponent.gd and attachment_component.gd . This makes the code easier to maintain and reduces the chance of bugs when adding new vehicle types. Vehicle data I have converted the nested Dictionaries into custom resources which makes it easier to add vehicles and less error prone. Pathfinding improvements I tweaked how the pathfinding works by chamfering the corners so vehicles navigate them more smoothly. It doesn’t look quite as I want yet, but combined with animations, it should look acceptable for now. This is something I’ll have to find a more permanent solution for later. Release I’m targeting version 1.0.0 for Saturday, August 22nd. There’s still quite a bit to do, but I think I can make it. I set this deadline because I’ll have less time once school starts."}, {"post_id": 45126, "ts": "2026-08-11T12:41:38Z", "hours": 9.745, "text": "Devlog #14.2: Route system The route system is now done Route sytem The route system turned out to be more complicated than initially expected. I restructured it so the route is calculated centrally in the Global script, and every instance using it reads from there. This keeps things synchronized and maintainable. For now, the system has one mode implemented: a ping-pong mode where vehicles travel back and forth between two set points. Vehicle physics There’s a persistent issue with vehicle physics where they cut corners and miss checkpoints, requiring them to turn around. I’ve set this aside for now to focus on other features, but it’s something I’ll need to fix down the line. I realy have no idea how though I cant seem to find the issue. Whats next The last major things before release are: Linking factories to vehicles so they can load and unload cargo Animating the excavators at the mine Building out the construction system"}, {"post_id": 43506, "ts": "2026-08-08T20:31:23Z", "hours": 10.0922, "text": "Devlog #14: Route UI and system I am currently working on the route ui and the route system. Route UI The route UI is almost done I only need to link it to the route system. Route system I am almost finished with the route system I only have to connect it to the vehicle and rewrite the factory system a bit so it works with the route system. there will be multiple modes distribution of one factory based on demand or a ping pong mode where it drives back and forward between 2 set points. You also will be able to assign vehicles to construction projects but this will come later. Trailer UI The trailer UI is finised you can connect trailers to vehicles via it."}, {"post_id": 41554, "ts": "2026-08-05T20:48:09Z", "hours": 9.8542, "text": "Devlog #13: Vehicles in the world I’ve connected the vehicle systems to the world and to the UI. Vehicle manager I’ve made a vehilce manager script. This manager stores and retrieves vehicle data efficiently by ID, making it easy for the UI and other systems to access vehicle information. Vehicle UI I’ve made a UI where you can see the fuel, total weigth, health and engine load of the vehicle by clicking on it. There are also 2 buttons 1 for selecting a route and the other for coupling a trailer. Spauwing When you buy a vehicle it gets assigned a base tile you now need a base tile per vehicle. Last things Next, I need to implement the route selection and trailer coupling buttons to complete the vehicle system integration as far as I can right now."}, {"post_id": 40212, "ts": "2026-08-03T16:52:56Z", "hours": 10.0389, "text": "Devlog #12: Planing I’ve put together a roadmap for the rest of development. Roadmap I’m planning to release the game in 3 weeks and have laid out a plan accordingly. Vehicle physics I’ve spent about half my time since the last devlog tweaking vehicle physics, and I’ve decided to compromise on a few things — for example, when the trailer jackknifes and gets stuck, it’ll just clip through the vehicle. Shop rework I am almost finished with reworking the shop it now displays all the stats that the vehicle uses"}, {"post_id": 38143, "ts": "2026-07-31T11:37:38Z", "hours": 9.9372, "text": "Devlog #11.2: Trailer Logic and Pathfinding I’ve almost finished all the vehicle logic. Pathfinding A working pathfinding system is now in place using AStarGrid2D . This system works with vehicles both with and without trailers, and handles both on-road and off-road navigation. Trailers Trailers can now couple to vehicles with the correct hitch and follow them around in a realistic manner. The coupling mechanics work as they would in real life. Finishing Touches The vehicle logic still needs some fine-tuning, and I haven’t tested it yet with every vehicle type. I still need to implement the articulation system for the articulated dump truck."}, {"post_id": 37056, "ts": "2026-07-29T15:06:21Z", "hours": 9.8997, "text": "Devlog #11: Vehicle logic I am currently working on the vehcile logic Vehicle logic There are alot of variables now that determain the behavier off the vehicles like engine and weight Sprite scaling I have fixed the scaling of the sprites. Last things for the vehicle logic I still need to implement the trailer logic and pathfinding."}, {"post_id": 35794, "ts": "2026-07-27T13:37:20Z", "hours": 8.4642, "text": "Devlog #10: Factory logic Just returnt from vacation, and i forgot to make a devlog before i went so i dont fully know anymore what i changed. Factory logic I have implemented the core factory system. Factories can now receive resources, process them and output the procesed resource. I haven’t fully tested the logic yet since the UI and vehicle systems ( needed for input/output) aren’t complete. More I have probebly done more but i dont know anymore because i have been a way for a week. What is next My next priority is implementing vehicle logic, but first i need to fix vehicle sprite scaling. Currently all vehicles are 11px wide, which makes a dump truck as wide as a car. I want to make everything a consistent scale (probably 5px = 1m) and update all sprites accordingly for a more realistic appearance."}, {"post_id": 29417, "ts": "2026-07-16T11:03:02Z", "hours": 10.1492, "text": "Devlog #9: Supplychain Been working on the supplychain structere last 2 days, including new sprites Factorys I have made new factory sprites. All sprites are new i am not realy happy with how the steel and wire mill look but the rest look prety good i think. Resources I have also added a couple new resources their are 4 resource types now: copper, coal, gold, iron. The resources spauwn in mixed vains on the map determent by a NoiseTexture2D . What next I am now gooing to work on the logic for the factorys and i want to take a nother look at shadows because the didnt work last time but i have found a otherway to do it i want to try."}, {"post_id": 28327, "ts": "2026-07-14T14:40:52Z", "hours": 9.6725, "text": "Devlog #8.1: UI and lighting Today i have been focesing on the inviorment UI I have now linked up the hole UI. In the last devlog I had already shown the ui but now it also linked up properly with the game. Day Night cycle I am currently implementation a dynamic day/night cycle. Right now, the timing and transitions aren’t lining up the way I want them to, so i still need to do some fine tuning . Shaders / shadows This is where I’ve been strugeling. I’ve been trying to figure out how to implement proper 2D shadows. The issue is that the built in directional shadows in Godot aren’t really designed for top-down games. They make the sun’s shadows look infinitely long and completely distort the perspective. Every custom solution I’ve tried so far looks terrible. I’ve easily spent about 5 hours making custom shaders making a static shadow, but I’m still stuck. If you have any experience with top down 2D lighting or custom shadow shaders in Godot, please let me know in the comments! I could really use some help right now. The biggest problem is that the fastNoiseLite texture doesnt calculate the same in the shader as via the cpu which is also the thing that is hindering me in the ovelays."}, {"post_id": 27357, "ts": "2026-07-12T21:00:50Z", "hours": 9.8522, "text": "Devlog #8: Made UI Been working on the UI this weekend. its nothing special yet but it is good enough for now. Garage menu I have made a menu where you can see all your vehicles. It is pretty simple but i need it for programming the vehicles. Shop UI I have made a shop ui where you can buy the actual vehicles. The are sorted by type. You can see the stats and capabilities and you can decide if you want to buy the vehicles or if you want to finance it. Exstended selected tile UI I have also made some improvments and additions to the selected tile ui, you can now choose a variant if the selceted tiles has them like the factory. You can also see what number is connected to what if you hover over the ui. Overlay I am also working on a overlay so you can see the height, temperature and humidity I am doing this with a shader but it is not working how i expected at the moment because the shader doesn’t line up with my terrain."}, {"post_id": 26555, "ts": "2026-07-11T13:18:41Z", "hours": 5.2389, "text": "Devlog #7: Fresh foundation As i mentioned in devlog #6, i am rebuilding the game in godot. I am almost done with the essentials and development has already almost doubled in speed. World generation I have build a biome system using three noise textures to determine temperature, altitude, and humidity. Each tile uses these values to determine which biome gets drawn. This means the world has natural variation and will hopefully look less boring. It also sets up the foundation for biome specific resources and mechanics down the line forcing players to make a bigger network. Road placement System You can now place roads this works with terrainSets which makes it easyer to draw roads. Roads are the only thing you can place for now. Vehicle Pathfinding I’ve also made a simple pathfinding script using the built-in NavigationAgent2D. The destinations are hardcoded for now. I’ve heard AStarGrid2D might be better suited for grid-based pathfinding in my case, so I’ll be researching how to implement that. What i still have to add Before I’m back where I was with the Greenfoot version, I still need to add: The factorys and their system The trailers physics The garage menu A couple small things"}, {"post_id": 25816, "ts": "2026-07-10T08:51:36Z", "hours": 9.5967, "text": "devlog #6.1 Terrain I am almost finnished with the prosidural generation of the map which is gooing to make for way more variation in the game and beter planing were to place youre base."}, {"post_id": 24611, "ts": "2026-07-08T10:10:39Z", "hours": 31.0889, "text": "Develog #6: switching engines Spent the last week trying to fix the UI and physics in Greenfoot, and honestly? It’s just not happening. Greenfoot wasn’t really built for games like this the UI support is basically non-existent, and getting clickable buttons to work properly is way more of a pain than it should be. And i decided it was no longer wordt fighting for. So I’m switching to Godot. I’ve made some prototypes in it before, so at least I know the basics, and it’s way better suited for what I’m trying to build. The downside is development is gonna be paused for about a week while I set everything back up and rewrite some stuff. But after that? Should be able to move way faster, which will hopefully make up for the lost time."}, {"post_id": 20941, "ts": "2026-07-02T17:53:03Z", "hours": 21.3453, "text": "Devlog #5: Major System Overhaul—Resource Economy & Vehicle Expansion it has been a bit since my last devlog i have some major changes this version. It is nowhere near done yet but it is almost playable. here is what changed: Added two new resources I have added sand and gravel that are used in multiple new recipes Changed the economy: from currency to resources I got rid of the money system because it gave the ability of players just focusing on one resource. Now players need to use all the resources like iron ore, copper ore, sulfer ore, sand, gravel and many more. You have to mine all resources and process them This forces the player to actually spent time making a supplychain with diffrent mines and factories. This way it feels less as a idle and more like a managing game. Added new factories I have added new factories using the factory system i made last time these factories all require two or more inputs. Some factories make concrete from gravel and sand, others make PCBs and other compilicated stuff. I plan to add more in the future but for now it is way beter than before. Added a bunch of vehicles I have added multiple new vehicles: Bulk carriers - Can move ore and loose materials Flatbed trucks - Move finished products (pallets ore IBCs) Trailers - These can attach to diffrent vehicles and extend capacity Concrete truck - Transports concrete Construction Vehicles Dozer - Removes the building Excavator - Now needed for quarries Asphalt Paver - Changes roads from gravel to asphalt I am planing to add more construction vehicles so that every building needs a construction vehicle to build instead of the building just appearing out of nowere. Rebuilt the UI The old ui didnt fit anymore there where to many tiles and the route tab did not support construction equipment, so i made a new tile ui that groupes the tiles in road, factory and mines. I have also made a new vehicle ui which i call the garage this shows The vehicles you own The vehicle shop The abilities of the vehicle: It can hook a trailer It can carry bulk cargo It can carry flatbed cargo It can go offroad It can destroy building It can pave roads It can mine it’s way better than before but you currently cant buy the vehicles yet Roads have levels now Roads can be upgraded: gravel -> cement -> asphalt. Gravel roads are cheap but slow, asphalt is fast but expensive. Upgrading is expensive but can speed up your production or reduce the number of vehicles required to keep the factory full. The road level doesnt effect offroad vehicles and some vehicles may get a max speed in the futer What i still need to do It is the same as last time because i had to many new ideas and no motivation to implent mutch backend stuff Levels / progresion - It is just a sand box now Beter end goal - There is not realy a endgoal A tutorial - The game becomes increasingly complicated so hard without any guidance"}, {"post_id": 13898, "ts": "2026-06-22T19:41:09Z", "hours": 3.8419, "text": "Devlog #4 Finised the factory system Finised the factory ui / recipie ui that now tracks input output and procesing time Added new sprites for the vehicles now have 2 types a dumptruck form the drill and a flatbed to the sellpoint Stil need to add Change detection system Levels / progresion Beter end goal A tutorial Known bugs When you edit the route it deletes it self When you delete a route it doesnt delete the vehicles"}, {"post_id": 12159, "ts": "2026-06-19T21:21:22Z", "hours": 3.4008, "text": "Devlog #3 Added a factory system it is not fully done but there is a basic factory system now so you cant just infinatly take recources from the factroy to the sell point"}, {"post_id": 7675, "ts": "2026-06-12T20:25:33Z", "hours": 12.4575, "text": "Devlog #2 Finshed the game I have finnished the main gameplay loop I still want to add: A tutorial Levels / Progresion More recources and factorys / recipes Better end goal there is nothing to save for right now failsave for when you delete the path with vehicle on it"}, {"post_id": 4420, "ts": "2026-06-07T18:55:50Z", "hours": 1.8458, "text": "Devlog #1 I have made some improvements on the game i am curently making in greenfoot (java engine) i am using this engine because i have used it before for school"}]...
|
Title: SupplyChains by @Thijmen | Stardance
Devlo Title: SupplyChains by @Thijmen | Stardance
Devlogs:
Devlog #1 I have made some improvements on the game i am curently making in greenfoot (java engine) i am using this engine because i have used it before for school
Devlog #2 Finshed the game I have finnished the main gameplay loop I still want to add: A tutorial Levels / Progresion More recources and factorys / recipes Better end goal there is nothing to save for right now failsave for when you delete the path with vehicle on it
Devlog #3 Added a factory system it is not fully done but there is a basic factory system now so you cant just infinatly take recources from the factroy to the sell point
Devlog #4 Finised the factory system Finised the factory ui / recipie ui that now tracks input output and procesing time Added new sprites for the vehicles now have 2 types a dumptruck form the drill and a flatbed to the sellpoint Stil need to add Change detection system Levels / progresion Beter end goal A tutorial Known bugs When you edit the route it deletes it self When you delete a route it doesnt delete the vehicles
Devlog #5: Major System Overhaul—Resource Economy & Vehicle Expansion it has been a bit since my last devlog i have some major changes this version. It is nowhere near done yet but it is almost playable. here is what changed: Added two new resources I have added sand and gravel that are used in multiple new recipes Changed the economy: from currency to resources I got rid of the money system because it gave the ability of players just focusing on one resource. Now players need to use all the resources like iron ore, copper ore, sulfer ore, sand, gravel and many more. You have to mine all resources and process them This forces the player to actually spent time making a supplychain with diffrent mines and factories. This way it feels less as a idle and more like a managing game. Added new factories I have added new factories using the factory system i made last time these factories all require two or more inputs. Some factories make concrete from gravel and sand, others make PCBs and other compilicated stuff. I plan to add more in the future but for now it is way beter than before. Added a bunch of vehicles I have added multiple new vehicles: Bulk carriers - Can move ore and loose materials Flatbed trucks - Move finished products (pallets ore IBCs) Trailers - These can attach to diffrent vehicles and extend capacity Concrete truck - Transports concrete Construction Vehicles Dozer - Removes the building Excavator - Now needed for quarries Asphalt Paver - Changes roads from gravel to asphalt I am planing to add more construction vehicles so that every building needs a construction vehicle to build instead of the building just appearing out of nowere. Rebuilt the UI The old ui didnt fit anymore there where to many tiles and the route tab did not support construction equipment, so i made a new tile ui that groupes the tiles in road, factory and mines. I have also made a new vehicle ui which i call the garage this shows The vehicles you own The vehicle shop The abilities of the vehicle: It can hook a trailer It can carry bulk cargo It can carry flatbed cargo It can go offroad It can destroy building It can pave roads It can mine it’s way better than before but you currently cant buy the vehicles yet Roads have levels now Roads can be upgraded: gravel -> cement -> asphalt. Gravel roads are cheap but slow, asphalt is fast but expensive. Upgrading is expensive but can speed up your production or reduce the number of vehicles required to keep the factory full. The road level doesnt effect offroad vehicles and some vehicles may get a max speed in the futer What i still need to do It is the same as last time because i had to many new ideas and no motivation to implent mutch backend stuff Levels / progresion - It is just a sand box now Beter end goal - There is not realy a endgoal A tutorial - The game becomes increasingly complicated so hard without any guidance
Develog #6: switching engines Spent the last week trying to fix the UI and physics in Greenfoot, and honestly? It’s just not happening. Greenfoot wasn’t really built for games like this the UI support is basically non-existent, and getting clickable buttons to work properly is way more of a pain than it should be. And i decided it was no longer wordt fighting for. So I’m switching to Godot. I’ve made some prototypes in it before, so at least I know the basics, and it’s way better suited for what I’m trying to build. The downside is development is gonna be paused for about a week while I set everything back up and rewrite some stuff. But after that? Should be able to move way faster, which will hopefully make up for the lost time.
devlog #6.1 Terrain I am almost finnished with the prosidural generation of the map which is gooing to make for way more variation in the game and beter planing were to place youre base.
Devlog #7: Fresh foundation As i mentioned in devlog #6, i am rebuilding the game in godot. I am almost done with the essentials and development has already almost doubled in speed. World generation I have build a biome system using three noise textures to determine temperature, altitude, and humidity. Each tile uses these values to determine which biome gets drawn. This means the world has natural variation and will hopefully look less boring. It also sets up the foundation for biome specific resources and mechanics down the line forcing players to make a bigger network. Road placement System You can now place roads this works with terrainSets which makes it easyer to draw roads. Roads are the only thing you can place for now. Vehicle Pathfinding I’ve also made a simple pathfinding script using the built-in NavigationAgent2D. The destinations are hardcoded for now. I’ve heard AStarGrid2D might be better suited for grid-based pathfinding in my case, so I’ll be researching how to implement that. What i still have to add Before I’m back where I was with the Greenfoot version, I still need to add: The factorys and their system The trailers physics The garage menu A couple small things
Devlog #8: Made UI Been working on the UI this weekend. its nothing special yet but it is good enough for now. Garage menu I have made a menu where you can see all your vehicles. It is pretty simple but i need it for programming the vehicles. Shop UI I have made a shop ui where you can buy the actual vehicles. The are sorted by type. You can see the stats and capabilities and you can decide if you want to buy the vehicles or if you want to finance it. Exstended selected tile UI I have also made some improvments and additions to the selected tile ui, you can now choose a variant if the selceted tiles has them like the factory. You can also see what number is connected to what if you hover over the ui. Overlay I am also working on a overlay so you can see the height, temperature and humidity I am doing this with a shader but it is not working how i expected at the moment because the shader doesn’t line up with my terrain.
Devlog #8.1: UI and lighting Today i have been focesing on the inviorment UI I have now linked up the hole UI. In the last devlog I had already shown the ui but now it also linked up properly with the game. Day Night cycle I am currently implementation a dynamic day/night cycle. Right now, the timing and transitions aren’t lining up the way I want them to, so i still need to do some fine tuning . Shaders / shadows This is where I’ve been strugeling. I’ve been trying to figure out how to implement proper 2D shadows. The issue is that the built in directional shadows in Godot aren’t really designed for top-down games. They make the sun’s shadows look infinitely long and completely distort the perspective. Every custom solution I’ve tried so far looks terrible. I’ve easily spent about 5 hours making custom shaders making a static shadow, but I’m still stuck. If you have any experience with top down 2D lighting or custom shadow shaders in Godot, please let me know in the comments! I could really use some help right now. The biggest problem is that the fastNoiseLite texture doesnt calculate the same in the shader as via the cpu which is also the thing that is hindering me in the ovelays.
Devlog #9: Supplychain Been working on the supplychain structere last 2 days, including new sprites Factorys I have made new factory sprites. All sprites are new i am not realy happy with how the steel and wire mill look but the rest look prety good i think. Resources I have also added a couple new resources their are 4 resource types now: copper, coal, gold, iron. The resources spauwn in mixed vains on the map determent by a NoiseTexture2D . What next I am now gooing to work on the logic for the factorys and i want to take a nother look at shadows because the didnt work last time but i have found a otherway to do it i want to try.
Devlog #10: Factory logic Just returnt from vacation, and i forgot to make a devlog before i went so i dont fully know anymore what i changed. Factory logic I have implemented the core factory system. Factories can now receive resources, process them and output the procesed resource. I haven’t fully tested the logic yet since the UI and vehicle systems ( needed for input/output) aren’t complete. More I have probebly done more but i dont know anymore because i have been a way for a week. What is next My next priority is implementing vehicle logic, but first i need to fix vehicle sprite scaling. Currently all vehicles are 11px wide, which makes a dump truck as wide as a car. I want to make everything a consistent scale (probably 5px = 1m) and update all sprites accordingly for a more realistic appearance.
Devlog #11: Vehicle logic I am currently working on the vehcile logic Vehicle logic There are alot of variables now that determain the behavier off the vehicles like engine and weight Sprite scaling I have fixed the scaling of the sprites. Last things for the vehicle logic I still need to implement the trailer logic and pathfinding.
Devlog #11.2: Trailer Logic and Pathfinding I’ve almost finished all the vehicle logic. Pathfinding A working pathfinding system is now in place using AStarGrid2D . This system works with vehicles both with and without trailers, and handles both on-road and off-road navigation. Trailers Trailers can now couple to vehicles with the correct hitch and follow them around in a realistic manner. The coupling mechanics work as they would in real life. Finishing Touches The vehicle logic still needs some fine-tuning, and I haven’t tested it yet with every vehicle type. I still need to implement the articulation system for the articulated dump truck.
Devlog #12: Planing I’ve put together a roadmap for the rest of development. Roadmap I’m planning to release the game in 3 weeks and have laid out a plan accordingly. Vehicle physics I’ve spent about half my time since the last devlog tweaking vehicle physics, and I’ve decided to compromise on a few things — for example, when the trailer jackknifes and gets stuck, it’ll just clip through the vehicle. Shop rework I am almost finished with reworking the shop it now displays all the stats that the vehicle uses
Devlog #13: Vehicles in the world I’ve connected the vehicle systems to the world and to the UI. Vehicle manager I’ve made a vehilce manager script. This manager stores and retrieves vehicle data efficiently by ID, making it easy for the UI and other systems to access vehicle information. Vehicle UI I’ve made a UI where you can see the fuel, total weigth, health and engine load of the vehicle by clicking on it. There are also 2 buttons 1 for selecting a route and the other for coupling a trailer. Spauwing When you buy a vehicle it gets assigned a base tile you now need a base tile per vehicle. Last things Next, I need to implement the route selection and trailer coupling buttons to complete the vehicle system integration as far as I can right now.
Devlog #14: Route UI and system I am currently working on the route ui and the route system. Route UI The route UI is almost done I only need to link it to the route system. Route system I am almost finished with the route system I only have to connect it to the vehicle and rewrite the factory system a bit so it works with the route system. there will be multiple modes distribution of one factory based on demand or a ping pong mode where it drives back and forward between 2 set points. You also will be able to assign vehicles to construction projects but this will come later. Trailer UI The trailer UI is finised you can connect trailers to vehicles via it.
Devlog #14.2: Route system The route system is now done Route sytem The route system turned out to be more complicated than initially expected. I restructured it so the route is calculated centrally in the Global script, and every instance using it reads from there. This keeps things synchronized and maintainable. For now, the system has one mode implemented: a ping-pong mode where vehicles travel back and forth between two set points. Vehicle physics There’s a persistent issue with vehicle physics where they cut corners and miss checkpoints, requiring them to turn around. I’ve set this aside for now to focus on other features, but it’s something I’ll need to fix down the line. I realy have no idea how though I cant seem to find the issue. Whats next The last major things before release are: Linking factories to vehicles so they can load and unload cargo Animating the excavators at the mine Building out the construction system
Devlog #15: Vehicle rework I’ve completely restructured how vehicles work under the hood. The main goal was to break down the code into readable, reusable pieces. Vehicle componentization The vehicle script had become too large to work with, so I split it into five scripts: vehicleBody.gd , drivetrainComponent.gd , path_movement_component.gd , CargoComponent.gd and attachment_component.gd . This makes the code easier to maintain and reduces the chance of bugs when adding new vehicle types. Vehicle data I have converted the nested Dictionaries into custom resources which makes it easier to add vehicles and less error prone. Pathfinding improvements I tweaked how the pathfinding works by chamfering the corners so vehicles navigate them more smoothly. It doesn’t look quite as I want yet, but combined with animations, it should look acceptable for now. This is something I’ll have to find a more permanent solution for later. Release I’m targeting version 1.0.0 for Saturday, August 22nd. There’s still quite a bit to do, but I think I can make it. I set this deadline because I’ll have less time once school starts.
Devlog 16: Factorys and aircraft I’ve reworked the factory sprites and added aircraft. Factory sprites I have made new sprites for every factory execpt the concrete mixing plant. the sprites are now 2x2 or larger so vehicles can realisticly unload there. Aircraft I’ve decided to add aircraft, which will serve as a trading terminal so you can trade with other villages, get contracts, and earn money. Aircraft fit well for this since no other villages spawn in the world. they let you trade with other vilages without them needing to exist in the world. I still need to add alot to make this work but currently I have a working runway building mecanic Next: Factories Next, I still need to build out the factory logic. I plan to make them with custom resources, just like vehicles. I made the new sprites first because I needed to know where (un)loading would need to happen before I could design the logic around it.
Devlog 17: Factory placement I’ve built a system for placing factories in the world. Factory placement Turns out it’s an absolute pain in the ass to place objects that are multiple tiles big while also having them connect to multiple Godot terrains. So I had to write a whole system that places every tile separately and keeps track of which tiles are occupied. Roads I also had to rework how roads are placed. Originally, every road type was its own terrain, but that doesn’t work if you want them all to connect to factories and to each other. So now they’re all just one terrain, and a script gives each tile the correct color for its road type. This only works because all the road types are identical in shape just different colors. Aircraft sprites I’ve added several new aircraft sprites: the Bo 105, the Twin Otter, the PC-6, and the H225. I’m planning to add the Chinook and the A400M next, which will round out the aircraft lineup for the beta launch. Release It’s going to be close. I’m not sure I’ll hit my self-imposed deadline, since some things took a lot longer than expected but I might still make it. Either way, I’m not going to rush it. I’d rather ship a week late than release something that gets 5 SD/h because it isn’t polished.
Devlog 18: Pre-baked docking paths I’ve implemented pre-baked docking paths for factory entrances to solve some pathfinding issues with vehicle physics. Pre-baked paths The A* pathfinding system was struggling to navigate the sharp corners around factory entrances. When the trailer tried to find its own path through these tight spaces, it would instantly jackknife, not ideal. Rather than spend 50+ hours refining the vehicle physics, I decided to pre-bake specific docking paths to each factory. It’s not a perfect solution visually, but it’s functional and gets the job done. I can always refine this for a post-launch update if needed. I’m still wrapping up the final details of the docking path system before moving on. Mines My next major task is implementing mine logic, which includes the excavator logic and ore detection and depletion. Aircraft After the mining logic I will add the last vital gameplay system the aircraft system which will be responsible trade and contracts with other villages. Release I’m currently deciding whether to push construction vehicle implementation to a post-beta update or delay the release by a week to include them. Construction vehicles aren’t vital to core gameplay, but they would add a lot of polish. I’m still on the fence about this one, it depends on how the mine logic implementation goes.
Devlog 19: Busy School has started again and I have been geting busy and my motivation is also not that high right now because things take alot longer and dont work like i want to. I think I will delay release to septembere 12th.
Devlog 20: UI and Trading Got the backend for the trading system done and overhauled the UI to go with it. Trading System I made a trading system. It generates contracts with the recipient’s name, the resource being traded, and the price. Basically the foundation for the aircraft system. UI Redesigned the time and date display because it looked kinda rough. Also switched the economy back to money instead of the resource, makes way more sense for trading. Oh, and vehicles now actually speed up when you speed up time, which is pretty cool. What’s Shipping vs Later I’m not including construction vehicles in the initial release because that’s like 40+ more hours of work and I want to actually finish this before Thirdspace starts (I’m gonna compete too). So yeah, that’s going to a post-launch update. Still gotta do: Get the excavators working (mines) ~5h Finish the trading system ~3h Fix vehicle physics again 😭~5h Random bugs and polish ~5h Hope I can get that done this week. Tryna hit at least 14sd/h so I can hopfuly buy that Framework 13 lol
Devlog 21: Trading Finished, but I’m Stuck I’ve finished the trading system! Trading System The trading system is done. Orders are generated, you can accept them, and accepted trades show up in the UI. The only thing left is adding the planes, but that depends on finishing the base-building system first. Base Building I’ve started working on base building. It’s pretty simple and mostly uses systems that already exist, so it should only take around an hour to fully implement. Stuck Development has been going way slower than I hoped because my codebase is currently a bunch of bandaids stacked on top of each other. I also need to ship this week since Thirdspace starts next week, which means I probably won’t have time to add much polish.So I need your opinion: is it worth delaying the game for another week? 😭 Or should I just ship it? Do you think I’ll still be able to afford the Framework 13 if I release it now? My current plan is to focus on getting the core systems working, fix any major bugs, and leave extra polish and construction vehicles for a post-launch update.
Devlog 22: Factory UI and Finished base building I’ve finished base building and am now working on the factory UI. Factory UI I’m working on the factory UI, where you can see the factory’s storage and change its recipe. It’s almost finished. Base building Base building is finished you can now make taxiways and build a warehouse. I’ve also put these into a UI like the factory’s, so it only takes one button. Vehicle physics/pathfinding I’ve spent yet another hour on vehicle physics/pathfinding, and I’ve narrowed it down to a bug in the handoff to the prebaked paths of the factories. Timeline I’m pretty sure I am gooing tho finish it this weekend. What’s left: Vehicle physics ~3h Mines/excavators ~5h Building construction (will reuse most of the factory logic) ~2h Random bugs and small things ~5h
Devlog 23: Vehicle pathfinding and construction I have fixed the vehicle pathfinding (mostly) and I have made the construction system. Vehicle pathfinding I have fixed the vehicle pathfinding and it works now mostly. I say mostly because it breaks when a trailer is equipped, but that is a way smaller thing to fix. Construction system It’s almost done. The system makes it so the resources actually have a function and you now need to deliver resources to a building site before the factory can get built. Still not done I know I said it would be done this weekend and it still isn’t, but it’s almost there. What I still have to do: The mine/excavator ~5h Finishing a couple of systems (like the construction and trade system) ~5h Make a savegame system ~5h Small things ~2h Documentation ~2h So 2 devlogs left, and otherwise I will just ship incomplete because I don’t have time anymore.
Devlog 24: Construction finished and start secunce made I’ve finished the construction system and made the start sequence actually playable by adding a resource box containing 10 iron bars needed to build a terminal. It’s been 2 weeks since my last devlog school and commitments to Third Space have kept me busier, so I’m not 100% certain I’ve captured everything that’s changed. Construction system The construction system now generates building routes that you can assign vehicles to. Resources must be delivered to a building site before construction begins, making the resource system meaningful in actual gameplay. Starting secunce The starting secunce now has a couple of steps: Place the resource box Place a runway Place a terminal Conect the runway with the terminal with a taxiway Place 4 base tiles for the vehicle to spawn on What has to be done: Mine/excavator system ~3h Finish trade system ~3h Save system ~2h Documentation ~2h
Devlog 25: Planes and saving! I’ve locked in over the last 2 days and finished the final 2 of the 3 major systems. I’ve completed the planes (which now spawn when you accept an order) and finished the saving system. Planes/order system I’ve finished the order system, when you accept an order, a plane now spawns a couple thousand pixels out. It flies to the airstrip, loads up at the end of the runway, turns around, and flies away. It doesn’t taxi all the way to the terminal because I just don’t have time for that, but it looks good enough for now. Saving You can now save 3 worlds in the game. Everything gets encrypted and saves all the world values. It was pretty difficult converting some of the arrays filled with instances into dictionaries and back again, but it works on both PC and on the web. whats left: The only things left are the excavator and some smaller things. I’m finishing that all tomorrow, and that will be the last devlog for my ship. The main gameplay loop should be finished by end of day tomorrow. If I can’t finish everything, so be it, I dont have time to work on it anymore if I also want to continu in third space, but I’m happy with how it works now and what I have learned along the way.
Devlog 26: Last devlog I’ve officially finished the game. It’s been an incredible journey, and I’m pretty happy with the end result. excavator The excavator is now fully functional. You can use it to create mines, which automatically convert into factories once placed. a lot of small things I have done a lot of small things to optimse the game and fix things i coudend test till now Release This is the last devlog I’ll be writing for this project. I want to thank you all for the support. I hope you enjoy playing the game.
Devlog 27: Tutorial: After feadback I have dicided to make a tutorial and made a couple quality of live updates that made the game easier to understand.
Ships:
Supply Chains Supply Chains is a game inspired by Transport Fever and Mindustry, centered around building road networks and logistics chains for construction and mining operations. Features Vehicles, trailers and a garage Route system: pick a source, a destination and a resource, then assign it to a vehicle Multi-step production chains Construction sites, trading, generated terrain, and A* pathfinding with road weights Controls: WASD camera, 1-5 build, right click remove, space pause. Everything else is in HELP.md . Known limitations I’m a solo dev, so some things aren’t finished. The full list is in the README. Hope you enjoy it!...
|
1793152284.614037
|
1793238684.614037
|
|
52554
|
Mini Humanoid Robot by @elliottn | Stardance
|
elliottn
|
0
|
30.33
|
0
|
[]
|
[{"post_id": 80739, "ts": "202 [{"post_id": 80739, "ts": "2026-10-18T17:37:22Z", "hours": 8.8961, "text": "Log #7 Worked more on robot movements to convert optimized RL sim movements to pre-programmed actions. Quickly built a vibe-coded website for the product."}, {"post_id": 76987, "ts": "2026-10-05T08:14:46Z", "hours": 3.7881, "text": "Log #6 I got my robot up and running in the simulator with a reinforcement learning algorithm from Claude. Hopefully I can have all functions be simulated and copied to the real world."}, {"post_id": 74585, "ts": "2026-09-27T17:55:45Z", "hours": 1.8083, "text": "Log #5 Got my URDF working in sim somewhat."}, {"post_id": 74255, "ts": "2026-09-27T02:35:34Z", "hours": 1.9289, "text": "Log #4 Finally got a URDF with the pieces in the right place, but its just really big when put into a web URDF viewer."}, {"post_id": 74227, "ts": "2026-09-27T00:09:17Z", "hours": 7.6606, "text": "Log #3 Even though the robot is completely built, I am still yet to figure out creating a URDF so I can simulate a physical environment on my computer. So, here’s a pic of the robot saying hi!"}, {"post_id": 59262, "ts": "2026-08-31T23:08:20Z", "hours": 5.2, "text": "Log #2 - Tried to make a URDF but failed. Only have a jointed model for now."}, {"post_id": 56902, "ts": "2026-08-28T22:20:22Z", "hours": 1.05, "text": "Log #1"}]...
|
Title: Mini Humanoid Robot by @elliottn | Stardanc Title: Mini Humanoid Robot by @elliottn | Stardance
Devlogs:
Log #1
Log #2 - Tried to make a URDF but failed. Only have a jointed model for now.
Log #3 Even though the robot is completely built, I am still yet to figure out creating a URDF so I can simulate a physical environment on my computer. So, here’s a pic of the robot saying hi!
Log #4 Finally got a URDF with the pieces in the right place, but its just really big when put into a web URDF viewer.
Log #5 Got my URDF working in sim somewhat.
Log #6 I got my robot up and running in the simulator with a reinforcement learning algorithm from Claude. Hopefully I can have all functions be simulated and copied to the real world.
Log #7 Worked more on robot movements to convert optimized RL sim movements to pre-programmed actions. Quickly built a vibe-coded website for the product....
|
1792713104.4769902
|
1793317904.4769902
|
|
43469
|
Iron Mario by @Lalith | Stardance
|
Lalith
|
2
|
57.0
|
740
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-18T17:21:14Z", "hours": 46.0, "multiplier": 16.47, "payout": 740, "blessing": "neutral", "text": "What a journey. I genuinely didn’t expect this project to get this big. Iron-Mario started as a small game inspired by the old games I used to enjoy. At some point, I got carried away with the idea of building an entire arcade instead of just one game. And that’s how it ended up with 105 playable games . There are quick reaction games, puzzles, old-school classics, some completely chaotic ones, and a few bigger arcade games. I also added tournaments with five hearts, a daily 10-game challenge, scores, XP, coins, achievements, and saved progress. One of the biggest parts of this update was working on the game’s identity. I made a shared pixel-art library with environments, character sprites, UI elements, and effects. I also added six characters to Pixel Town: Milo, Jun, Bea, Nia, Ash, and Pip. They’re mostly cosmetic characters right now, but I wanted the arcade to feel like an actual little world instead of just a menu with 105 buttons. The technical side was probably the most complicated part. I had to deal with different input types, game states, restarting, saving, mobile layouts, and making sure one game wouldn’t break another. I built automated checks for the game systems and went through the individual games to find problems with their mechanics. And I definitely found problems. Some games still need more variety, some mechanics are simpler than I originally wanted, and there are things I would improve with more time. Getting a game to pass a test doesn’t automatically mean it’s fun to play. That’s something this project taught me. I also used AI-assisted development tools during this project, alongside my own planning, testing, and design decisions. I don’t want to pretend otherwise. Looking back, the project changed direction quite a few times. I experimented with different ideas, made some decisions that didn’t work out, and ended up rethinking what I actually wanted Iron-Mario to be. I’m still not completely satisfied with everything. But seeing this turn from a little experiment into a playable arcade has been pretty rewarding. The game is playable now, and I’m calling this the end of this development chapter. Not necessarily the end of Iron-Mario. If you try it, I’d genuinely love to know which games you enjoyed and which ones felt boring or frustrating. That feedback is way more useful than someone just telling me the project looks good. 🎮 Play: https://hustlenix.github.io/Iron-Mario/ 💻 Source: https://github.com/Hustlenix/Iron-Mario Thanks to everyone who followed the devlogs, tried the game, or gave feedback along the way. That’s it for this ship. ❤️", "repo": "https://github.com/Hustlenix/Iron-Mario", "demo": "https://hustlenix.github.io/Iron-Mario/"}, {"ship_num": 2, "ts": "2026-09-22T01:51:21Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What i have made is a simple hand made mario game, in my fav theme(Iron man), and the biggest challenege wasn’t coding the gamee, it was the asssests, as i had to hand draw all of them. I am proud that i could finish my rolemodel(iron man) themed project Try it out at: https://hustlenix.github.io/Iron-Mario/", "repo": "https://github.com/Hustlenix/Iron-Mario", "demo": "https://hustlenix.github.io/Iron-Mario/"}]...
|
[{"post_id": 80734, "ts": "202 [{"post_id": 80734, "ts": "2026-10-18T17:20:14Z", "hours": 5.2547, "text": "Final Devlog: Iron-Mario. What a journey. I genuinely didn’t expect this project to get this big. Iron-Mario started as a small game inspired by the old games I used to enjoy. At some point, I got carried away with the idea of building an entire arcade instead of just one game. And that’s how it ended up with 105 playable games . There are quick reaction games, puzzles, old-school classics, some completely chaotic ones, and a few bigger arcade games. I also added tournaments with five hearts, a daily 10-game challenge, scores, XP, coins, achievements, and saved progress. One of the biggest parts of this update was working on the game’s identity. I made a shared pixel-art library with environments, character sprites, UI elements, and effects. I also added six characters to Pixel Town: Milo, Jun, Bea, Nia, Ash, and Pip. They’re mostly cosmetic characters right now, but I wanted the arcade to feel like an actual little world instead of just a menu with 105 buttons. The technical side was probably the most complicated part. I had to deal with different input types, game states, restarting, saving, mobile layouts, and making sure one game wouldn’t break another. I built automated checks for the game systems and went through the individual games to find problems with their mechanics. And I definitely found problems. Some games still need more variety, some mechanics are simpler than I originally wanted, and there are things I would improve with more time. Getting a game to pass a test doesn’t automatically mean it’s fun to play. That’s something this project taught me. I also used AI-assisted development tools during this project, alongside my own planning, testing, and design decisions. I don’t want to pretend otherwise. Looking back, the project changed direction quite a few times. I experimented with different ideas, made some decisions that didn’t work out, and ended up rethinking what I actually wanted Iron-Mario to be. I’m still not completely satisfied with everything. But seeing this turn from a little experiment into a playable arcade has been pretty rewarding. The game is playable now, and I’m calling this the end of this development chapter. Not necessarily the end of Iron-Mario. If you try it, I’d genuinely love to know which games you enjoyed and which ones felt boring or frustrating. That feedback is way more useful than someone just telling me the project looks good. 🎮 Play: https://hustlenix.github.io/Iron-Mario/ 💻 Source: https://github.com/Hustlenix/Iron-Mario Thanks to everyone who followed the devlogs, tried the game, or gave feedback along the way. That’s it for this ship. ❤️"}, {"post_id": 80318, "ts": "2026-10-17T08:47:56Z", "hours": 10.0194, "text": "The starting of the change:"}, {"post_id": 79851, "ts": "2026-10-15T16:48:50Z", "hours": 1.2397, "text": "Nah man, idk why but my ideas are many but my executions are none, because of that i change my ideas once in a while and lose my mind over it, now my idea is to recreate those old digital games like pong, tetris and stuff but with my pixl animation and a lil help from Chat JiBi-BiGi-GPT and make some money by running ads on it. first is to get my idea on to play, get audience and make money thats it! wish me luck"}, {"post_id": 79818, "ts": "2026-10-15T15:09:00Z", "hours": 1.4878, "text": "I really started working on what i said on my past devlog, which was changing the directory and after working on it for few hours, it is only showing 1.5 hr💔🥀 its okay man. anyways i have made only few assets, many more to go!!!!!!!!!!! here are the few which i made using aspertite and character genrator:"}, {"post_id": 79786, "ts": "2026-10-15T12:21:24Z", "hours": 3.0142, "text": "Hi guys, this is the turning point of my idea, where i change the whole ddirectory of my game. Iron mario isnt looking suitable for my amaizing pixl game so i am gonna name it: OnlyEducation, to bypass school desktop restrictions and you guys play my game! And my idea is to add as many nostalgic games as i could and make it a good gaming platform!"}, {"post_id": 78684, "ts": "2026-10-11T09:15:07Z", "hours": 2.99, "text": "As you can see, till now i was only using my MS paint and my time for asset genrations and stuff, which is painstackinginglt time taking and boring, but thanks to stardance, on my last ship they game me 10$ to spend in itch.io, i didnt use it much, but after buying few assets in it is is soooo easy to genrate assets. SHOUTOUT TO STARDANCE"}, {"post_id": 78045, "ts": "2026-10-09T10:45:03Z", "hours": 10.6569, "text": "Well, even thought i made soo many games, they lacked, clarity, focus, dopomine, and fun. if any one knows human game physology or smtg, please contact me. Like i dont know what i am doing, just adding 100 games in 10 hours isnt good, i gotta achive more than quantity. so i am tryna recreate old nostaliga games like subwaysurfers, temple run, agnry birds, and etc. If you have any game idea comment!!!!!!!!"}, {"post_id": 74434, "ts": "2026-09-27T11:33:45Z", "hours": 1.1883, "text": "Created my own version on dino-game based on mario and dinogame and iron man, les goooooo!"}, {"post_id": 74381, "ts": "2026-09-27T08:52:32Z", "hours": 6.3475, "text": "To make this a big, functional, production ready game i gotta scale it broder and bigger such that i get 1mil users and for that i am thinging of making my normal 7 game game into a 100 short mini games in one and make money through this!!!!!!"}, {"post_id": 73998, "ts": "2026-09-26T14:30:37Z", "hours": 3.4033, "text": "I am trying to make this website like a full on authentic game app and make money with this"}, {"post_id": 43836, "ts": "2026-08-09T08:24:02Z", "hours": 2.0347, "text": "I have this idea of replacing irom man instad of flappy bird and stuff and all of that"}, {"post_id": 43671, "ts": "2026-08-09T02:04:07Z", "hours": 6.4192, "text": "I’ve spent more than 6 hours coding, learning, building, and trial testing is it useually this hardbuilding a game? they said it will be easy😭✌🏻 please help me gand there are too many errors and stuff. and my creativity exeeded when they ased for 5 mini games, so i asked claude and it brainstromed and gave me few ideas now i am trying to add a flappy bird game in this, a classic mario game, a snake game, a simple plane shooting game, a tetris game, and that worlds first ping pong game."}, {"post_id": 41917, "ts": "2026-08-06T13:08:15Z", "hours": 0.3697, "text": "Ijust added a ending page, more like coding"}, {"post_id": 41902, "ts": "2026-08-06T12:24:45Z", "hours": 1.5389, "text": "I love you 3000"}, {"post_id": 41397, "ts": "2026-08-05T16:19:29Z", "hours": 0.9978, "text": "Starting of my very own Iron-Man themed game. Stay tuned gng"}]...
|
Title: Iron Mario by @Lalith | Stardance
Devlogs: Title: Iron Mario by @Lalith | Stardance
Devlogs:
Starting of my very own Iron-Man themed game. Stay tuned gng
I love you 3000
Ijust added a ending page, more like coding
I’ve spent more than 6 hours coding, learning, building, and trial testing is it useually this hardbuilding a game? they said it will be easy😭✌🏻 please help me gand there are too many errors and stuff. and my creativity exeeded when they ased for 5 mini games, so i asked claude and it brainstromed and gave me few ideas now i am trying to add a flappy bird game in this, a classic mario game, a snake game, a simple plane shooting game, a tetris game, and that worlds first ping pong game.
I have this idea of replacing irom man instad of flappy bird and stuff and all of that
I am trying to make this website like a full on authentic game app and make money with this
To make this a big, functional, production ready game i gotta scale it broder and bigger such that i get 1mil users and for that i am thinging of making my normal 7 game game into a 100 short mini games in one and make money through this!!!!!!
Created my own version on dino-game based on mario and dinogame and iron man, les goooooo!
Well, even thought i made soo many games, they lacked, clarity, focus, dopomine, and fun. if any one knows human game physology or smtg, please contact me. Like i dont know what i am doing, just adding 100 games in 10 hours isnt good, i gotta achive more than quantity. so i am tryna recreate old nostaliga games like subwaysurfers, temple run, agnry birds, and etc. If you have any game idea comment!!!!!!!!
As you can see, till now i was only using my MS paint and my time for asset genrations and stuff, which is painstackinginglt time taking and boring, but thanks to stardance, on my last ship they game me 10$ to spend in itch.io, i didnt use it much, but after buying few assets in it is is soooo easy to genrate assets. SHOUTOUT TO STARDANCE
Hi guys, this is the turning point of my idea, where i change the whole ddirectory of my game. Iron mario isnt looking suitable for my amaizing pixl game so i am gonna name it: OnlyEducation, to bypass school desktop restrictions and you guys play my game! And my idea is to add as many nostalgic games as i could and make it a good gaming platform!
I really started working on what i said on my past devlog, which was changing the directory and after working on it for few hours, it is only showing 1.5 hr💔🥀 its okay man. anyways i have made only few assets, many more to go!!!!!!!!!!! here are the few which i made using aspertite and character genrator:
Nah man, idk why but my ideas are many but my executions are none, because of that i change my ideas once in a while and lose my mind over it, now my idea is to recreate those old digital games like pong, tetris and stuff but with my pixl animation and a lil help from Chat JiBi-BiGi-GPT and make some money by running ads on it. first is to get my idea on to play, get audience and make money thats it! wish me luck
The starting of the change:
Final Devlog: Iron-Mario. What a journey. I genuinely didn’t expect this project to get this big. Iron-Mario started as a small game inspired by the old games I used to enjoy. At some point, I got carried away with the idea of building an entire arcade instead of just one game. And that’s how it ended up with 105 playable games . There are quick reaction games, puzzles, old-school classics, some completely chaotic ones, and a few bigger arcade games. I also added tournaments with five hearts, a daily 10-game challenge, scores, XP, coins, achievements, and saved progress. One of the biggest parts of this update was working on the game’s identity. I made a shared pixel-art library with environments, character sprites, UI elements, and effects. I also added six characters to Pixel Town: Milo, Jun, Bea, Nia, Ash, and Pip. They’re mostly cosmetic characters right now, but I wanted the arcade to feel like an actual little world instead of just a menu with 105 buttons. The technical side was probably the most complicated part. I had to deal with different input types, game states, restarting, saving, mobile layouts, and making sure one game wouldn’t break another. I built automated checks for the game systems and went through the individual games to find problems with their mechanics. And I definitely found problems. Some games still need more variety, some mechanics are simpler than I originally wanted, and there are things I would improve with more time. Getting a game to pass a test doesn’t automatically mean it’s fun to play. That’s something this project taught me. I also used AI-assisted development tools during this project, alongside my own planning, testing, and design decisions. I don’t want to pretend otherwise. Looking back, the project changed direction quite a few times. I experimented with different ideas, made some decisions that didn’t work out, and ended up rethinking what I actually wanted Iron-Mario to be. I’m still not completely satisfied with everything. But seeing this turn from a little experiment into a playable arcade has been pretty rewarding. The game is playable now, and I’m calling this the end of this development chapter. Not necessarily the end of Iron-Mario. If you try it, I’d genuinely love to know which games you enjoyed and which ones felt boring or frustrating. That feedback is way more useful than someone just telling me the project looks good. 🎮 Play: https://hustlenix.github.io/Iron-Mario/ 💻 Source: https://github.com/Hustlenix/Iron-Mario Thanks to everyone who followed the devlogs, tried the game, or gave feedback along the way. That’s it for this ship. ❤️
Ships:
What i have made is a simple hand made mario game, in my fav theme(Iron man), and the biggest challenege wasn’t coding the gamee, it was the asssests, as i had to hand draw all of them. I am proud that i could finish my rolemodel(iron man) themed project Try it out at: https://hustlenix.github.io/Iron-Mario/
What a journey. I genuinely didn’t expect this project to get this big. Iron-Mario started as a small game inspired by the old games I used to enjoy. At some point, I got carried away with the idea of building an entire arcade instead of just one game. And that’s how it ended up with 105 playable games . There are quick reaction games, puzzles, old-school classics, some completely chaotic ones, and a few bigger arcade games. I also added tournaments with five hearts, a daily 10-game challenge, scores, XP, coins, achievements, and saved progress. One of the biggest parts of this update was working on the game’s identity. I made a shared pixel-art library with environments, character sprites, UI elements, and effects. I also added six characters to Pixel Town: Milo, Jun, Bea, Nia, Ash, and Pip. They’re mostly cosmetic characters right now, but I wanted the arcade to feel like an actual little world instead of just a menu with 105 buttons. The technical side was probably the most complicated part. I had to deal with different input types, game states, restarting, saving, mobile layouts, and making sure one game wouldn’t break another. I built automated checks for the game systems and went through the individual games to find problems with their mechanics. And I definitely found problems. Some games still need more variety, some mechanics are simpler than I originally wanted, and there are things I would improve with more time. Getting a game to pass a test doesn’t automatically mean it’s fun to play. That’s something this project taught me. I also used AI-assisted development tools during this project, alongside my own planning, testing, and design decisions. I don’t want to pretend otherwise. Looking back, the project changed direction quite a few times. I experimented with different ideas, made some decisions that didn’t work out, and ended up rethinking what I actually wanted Iron-Mario to be. I’m still not completely satisfied with everything. But seeing this turn from a little experiment into a playable arcade has been pretty rewarding. The game is playable now, and I’m calling this the end of this development chapter. Not necessarily the end of Iron-Mario. If you try it, I’d genuinely love to know which games you enjoyed and which ones felt boring or frustrating. That feedback is way more useful than someone just telling me the project looks good. 🎮 Play: https://hustlenix.github.io/Iron-Mario/ 💻 Source: https://github.com/Hustlenix/Iron-Mario Thanks to everyone who followed the devlogs, tried the game, or gave feedback along the way. That’s it for this ship. ❤️...
|
1793148506.0054252
|
1793234906.0054252
|
|
8190
|
Invio by @kittendevv | Stardance
|
kittendevv
|
0
|
2.51
|
0
|
[]
|
[{"post_id": 8073, "ts": "2026 [{"post_id": 8073, "ts": "2026-06-13T14:09:43Z", "hours": 2.5081, "text": "I started re-writing my entire backend in Bun + ElysiaJS. My old backend was vibecoded, used raw SQL and uses a different JS runtime then my frontend. Safe to say I have a lot of work ahead of me, but it should also be a big win in removing most of the AI written code from my project"}]...
|
Title: Invio by @kittendevv | Stardance
Devlogs:
Title: Invio by @kittendevv | Stardance
Devlogs:
I started re-writing my entire backend in Bun + ElysiaJS. My old backend was vibecoded, used raw SQL and uses a different JS runtime then my frontend. Safe to say I have a lot of work ahead of me, but it should also be a big win in removing most of the AI written code from my project...
|
1792565668.8130612
|
1793170468.8130612
|
|
46371
|
Let down your hair by @airinazaria_h_putri | Stard Let down your hair by @airinazaria_h_putri | Stardance...
|
airinazaria_h_putri
|
0
|
29.9
|
0
|
[]
|
[{"post_id": 80725, "ts": "202 [{"post_id": 80725, "ts": "2026-10-18T16:48:35Z", "hours": 2.8517, "text": "i’m still working on mini games, now i’ve done making games like, jumping game and fireplace game (for bedroom) next, i want to add library game where the player needs to be quiet."}, {"post_id": 80306, "ts": "2026-10-17T06:35:57Z", "hours": 1.8267, "text": "So now i’m making maze game, not related to the plot tho, and it’s just a simple maze game that player can randomized it each time they played"}, {"post_id": 80188, "ts": "2026-10-16T16:55:44Z", "hours": 2.4786, "text": "Because stardance getting extended, i intend to add more minigames for player to explore. So i change the code for unlocked places. I also cut the ending to be more short."}, {"post_id": 75157, "ts": "2026-09-29T09:54:50Z", "hours": 1.5003, "text": "Now i’m making more scene such as library scene, dress-up scene.. and connecting them with dialogic"}, {"post_id": 74327, "ts": "2026-09-27T05:35:53Z", "hours": 1.8814, "text": "My first idea was to make every object in some areas interactive, and add some minigames too. But since I’m running out of time, I’ll focus on the main story for now. Hopefully, I can keep adding more minigames later! For now, I’m just using a placeholder that says the object is locked. Lol"}, {"post_id": 74104, "ts": "2026-09-26T18:01:22Z", "hours": 1.6031, "text": "Almost done… I just need to add info, and fixing dialogic problem"}, {"post_id": 71292, "ts": "2026-09-20T16:11:06Z", "hours": 1.0611, "text": "Finally fixed the save & load system! I changed the flow so that the game pauses first, then the player can choose to go back, return to the home screen, or save the scene. The problem now is that it can’t display a screenshot of the current progress…"}, {"post_id": 68999, "ts": "2026-09-16T06:03:39Z", "hours": 1.3861, "text": "Trying to fix save & load scene"}, {"post_id": 44593, "ts": "2026-08-10T13:42:52Z", "hours": 15.3064, "text": "I edited this devlog. So, i just realized that 15hours of code and the desc just saying ; work on the mini game is such a crime. And to make it more worse, i wrote my first commit ; making UI and logic… So i’ll try make it more spesific of what i do.. ( i hope it’s not late to do this) I’m making scenes that i wanted such as ; home.tscn and main.tscn I also making the rough mini games (some of it already can be played, but the button and everything still bad) the minigames ; painting game = just drawing & sketching can game = the player aiming for can to be falling crane game = well, yeah.. like the usual crane game shooting game = shooting doll to winning I also try making save & load (but at that time, it doesn’t work like i wanted too) So yeah, that’s what i was doing in 15h, actually this project was made for another ysws, but i can’t done it sooner, so i add this to stardance, and i have like 10 devlogs there, but not push it to github.. (I JUST KNOW THAT IT WAS BAD A COUPLE DAYS AGO) so for now i’ll be more spesific at telling what i do, and commit push."}]...
|
Title: Let down your hair by @airinazaria_h_putri Title: Let down your hair by @airinazaria_h_putri | Stardance
Devlogs:
I edited this devlog. So, i just realized that 15hours of code and the desc just saying ; work on the mini game is such a crime. And to make it more worse, i wrote my first commit ; making UI and logic… So i’ll try make it more spesific of what i do.. ( i hope it’s not late to do this) I’m making scenes that i wanted such as ; home.tscn and main.tscn I also making the rough mini games (some of it already can be played, but the button and everything still bad) the minigames ; painting game = just drawing & sketching can game = the player aiming for can to be falling crane game = well, yeah.. like the usual crane game shooting game = shooting doll to winning I also try making save & load (but at that time, it doesn’t work like i wanted too) So yeah, that’s what i was doing in 15h, actually this project was made for another ysws, but i can’t done it sooner, so i add this to stardance, and i have like 10 devlogs there, but not push it to github.. (I JUST KNOW THAT IT WAS BAD A COUPLE DAYS AGO) so for now i’ll be more spesific at telling what i do, and commit push.
Trying to fix save & load scene
Finally fixed the save & load system! I changed the flow so that the game pauses first, then the player can choose to go back, return to the home screen, or save the scene. The problem now is that it can’t display a screenshot of the current progress…
Almost done… I just need to add info, and fixing dialogic problem
My first idea was to make every object in some areas interactive, and add some minigames too. But since I’m running out of time, I’ll focus on the main story for now. Hopefully, I can keep adding more minigames later! For now, I’m just using a placeholder that says the object is locked. Lol
Now i’m making more scene such as library scene, dress-up scene.. and connecting them with dialogic
Because stardance getting extended, i intend to add more minigames for player to explore. So i change the code for unlocked places. I also cut the ending to be more short.
So now i’m making maze game, not related to the plot tho, and it’s just a simple maze game that player can randomized it each time they played
i’m still working on mini games, now i’ve done making games like, jumping game and fireplace game (for bedroom) next, i want to add library game where the player needs to be quiet....
|
1792662638.4410386
|
1793267438.4410386
|
|
44724
|
My awesome macropad! by @warda_nyshea | Stardance
|
warda_nyshea
|
0
|
27.11
|
0
|
[]
|
[{"post_id": 80719, "ts": "202 [{"post_id": 80719, "ts": "2026-10-18T16:39:03Z", "hours": 5.3508, "text": "design for macropod"}, {"post_id": 75135, "ts": "2026-09-29T08:07:23Z", "hours": 6.3336, "text": "Finally made the the base"}, {"post_id": 74933, "ts": "2026-09-28T16:51:25Z", "hours": 3.0336, "text": "Trying to figure out case design"}, {"post_id": 74053, "ts": "2026-09-26T16:26:45Z", "hours": 4.1503, "text": "pbc done"}, {"post_id": 73770, "ts": "2026-09-25T22:10:38Z", "hours": 6.0953, "text": "Learning pcb design"}, {"post_id": 71813, "ts": "2026-09-21T16:20:25Z", "hours": 2.1486, "text": "Learning about how keyboards work and how to design pbc"}]...
|
Title: My awesome macropad! by @warda_nyshea | Sta Title: My awesome macropad! by @warda_nyshea | Stardance
Devlogs:
Learning about how keyboards work and how to design pbc
Learning pcb design
pbc done
Trying to figure out case design
Finally made the the base
design for macropod...
|
1792597822.6555586
|
1793202622.6555586
|
|
27590
|
arnav-hackpad by @arnavshah100 | Stardance
|
arnavshah100
|
0
|
17.26
|
0
|
[]
|
[{"post_id": 80714, "ts": "202 [{"post_id": 80714, "ts": "2026-10-18T16:22:14Z", "hours": 0.9506, "text": "I have built and finished my macropad! I made many changes to make the hackpad work, like adding pull up resistors, and reworking the code from the beginning. Now, I have a functional macropad, and have added 2 layers! My README was also drastically changed, as the file is a lot bigger. Some changes in the CAD files made the cable easier to fit, and the design of the plate was changed. I added a video of the hackpad working IRL. Now, I feel more comfortable with PCBs, coding, and 3-D printing. This was a great learning experience!"}, {"post_id": 41372, "ts": "2026-08-05T15:22:34Z", "hours": 3.7283, "text": "I finished creating my ReadMe! It has an intro, a not too long or short description of all the parts of the hackpad, a how to make it part, lots of links, and lots of pictures!"}, {"post_id": 36688, "ts": "2026-07-28T22:08:41Z", "hours": 2.5178, "text": "I finished making all my CAD files, and I put everything in Github! I added a USB-C cutout on the bottom part of the hackpad, and put a design on the plate. I also put everything together in an assembly file. I finally finished!"}, {"post_id": 32538, "ts": "2026-07-21T19:45:36Z", "hours": 1.0936, "text": "I finished the firmware for the hackpad! All the rotary encoders and key switches are coded in KMK because QMK doesn’t have direct integration with PCF8574 expanders. Finally, I have to double-check my work and put it all on Github. I put a screenshot of part of my code below."}, {"post_id": 27238, "ts": "2026-07-12T17:01:03Z", "hours": 3.7447, "text": "I finished the case of the macropad! To make it in a top mount layout, I included 3 parts: the plate, the bottom part, and the top part. Next, I will create the firmware."}, {"post_id": 23198, "ts": "2026-07-06T00:50:51Z", "hours": 2.6361, "text": "I finished my PCB design! After a lot of messy wiring, I have a board that has the main components laid put exactly as I planned. The DRC still throws “Silkscreen clipped by solder mask” errors, but I don’t think anything of the functionality of the board is still broken. I will now move on to making the case of the board."}, {"post_id": 21919, "ts": "2026-07-04T03:14:42Z", "hours": 1.2172, "text": "I finished my schematic. I used matrix wiring for 10 keys and added 2 rotary encoders with switches. I used a 8-bit I/O expander to fit all the global tags."}, {"post_id": 19552, "ts": "2026-06-30T21:34:44Z", "hours": 1.3725, "text": "I followed all the instructions for the HackPad. I forgot to log me making the PCB, so a lot of my time wasn’t logged. Also, it took me a long time to figure out how to navigate through KiCad and Fusion. In the end, I was able to make a PCB board and case that are almost identical to the one in the instructions. Now, I will make my own customizations to the PCB board and case."}]...
|
Title: arnav-hackpad by @arnavshah100 | Stardance
Title: arnav-hackpad by @arnavshah100 | Stardance
Devlogs:
I followed all the instructions for the HackPad. I forgot to log me making the PCB, so a lot of my time wasn’t logged. Also, it took me a long time to figure out how to navigate through KiCad and Fusion. In the end, I was able to make a PCB board and case that are almost identical to the one in the instructions. Now, I will make my own customizations to the PCB board and case.
I finished my schematic. I used matrix wiring for 10 keys and added 2 rotary encoders with switches. I used a 8-bit I/O expander to fit all the global tags.
I finished my PCB design! After a lot of messy wiring, I have a board that has the main components laid put exactly as I planned. The DRC still throws “Silkscreen clipped by solder mask” errors, but I don’t think anything of the functionality of the board is still broken. I will now move on to making the case of the board.
I finished the case of the macropad! To make it in a top mount layout, I included 3 parts: the plate, the bottom part, and the top part. Next, I will create the firmware.
I finished the firmware for the hackpad! All the rotary encoders and key switches are coded in KMK because QMK doesn’t have direct integration with PCF8574 expanders. Finally, I have to double-check my work and put it all on Github. I put a screenshot of part of my code below.
I finished making all my CAD files, and I put everything in Github! I added a USB-C cutout on the bottom part of the hackpad, and put a design on the plate. I also put everything together in an assembly file. I finally finished!
I finished creating my ReadMe! It has an intro, a not too long or short description of all the parts of the hackpad, a how to make it part, lots of links, and lots of pictures!
I have built and finished my macropad! I made many changes to make the hackpad work, like adding pull up resistors, and reworking the code from the beginning. Now, I have a functional macropad, and have added 2 layers! My README was also drastically changed, as the file is a lot bigger. Some changes in the CAD files made the cable easier to fit, and the design of the plate was changed. I added a video of the hackpad working IRL. Now, I feel more comfortable with PCBs, coding, and 3-D printing. This was a great learning experience!...
|
1792590634.0155666
|
1793195434.0155666
|
|
70363
|
Maru Blare by @deadbeef404 | Stardance
|
deadbeef404
|
0
|
0.73
|
0
|
[]
|
[{"post_id": 80713, "ts": "202 [{"post_id": 80713, "ts": "2026-10-18T16:19:16Z", "hours": 0.7267, "text": "I completed the schematic AND PCB!!!!"}]...
|
Title: Maru Blare by @deadbeef404 | Stardance
Dev Title: Maru Blare by @deadbeef404 | Stardance
Devlogs:
I completed the schematic AND PCB!!!!...
|
1793005043.1986527
|
1793609843.1986527
|
|
69586
|
Cosmic Grounds by @AuraMonster | Stardance
|
AuraMonster
|
0
|
5.36
|
0
|
[]
|
[{"post_id": 80712, "ts": "202 [{"post_id": 80712, "ts": "2026-10-18T16:15:45Z", "hours": 5.3603, "text": "First Devlog for Cosmic Grounds What is Cosmic Grounds? Cosmic grounds is a battlegrounds game on Roblox. Inspiration was taken from Jujutsu Shenanigans (JJS), The Strongest Battlegrounds (TSB), and Jump Showdown (JSD) IMPORTANT NOTE: I was able to finish most major mechanisms in a couple weeks because I brought in old code from a scrapped battlegrounds game Current Characters Planned on Release: Mash from Mashle Trafalgar D. Water Law from One Piece Planned future Characters (Subject to change and will come in a later update): Ichigo from Bleach Ken Kaneki from Tokyo Ghoul Sanji From One Piece Aizen From Bleach (most likely obtainable via boss fight) Luffy from One Piece New Features: Hitboxes Character Select Move cooldown Ultimate Drain/Gain M1 Character Module In Progress: Ragdoll System Future Features (Subject to change): Animations Cinematic Trailer Admin Features Moves"}]...
|
Title: Cosmic Grounds by @AuraMonster | Stardance
Title: Cosmic Grounds by @AuraMonster | Stardance
Devlogs:
First Devlog for Cosmic Grounds What is Cosmic Grounds? Cosmic grounds is a battlegrounds game on Roblox. Inspiration was taken from Jujutsu Shenanigans (JJS), The Strongest Battlegrounds (TSB), and Jump Showdown (JSD) IMPORTANT NOTE: I was able to finish most major mechanisms in a couple weeks because I brought in old code from a scrapped battlegrounds game Current Characters Planned on Release: Mash from Mashle Trafalgar D. Water Law from One Piece Planned future Characters (Subject to change and will come in a later update): Ichigo from Bleach Ken Kaneki from Tokyo Ghoul Sanji From One Piece Aizen From Bleach (most likely obtainable via boss fight) Luffy from One Piece New Features: Hitboxes Character Select Move cooldown Ultimate Drain/Gain M1 Character Module In Progress: Ragdoll System Future Features (Subject to change): Animations Cinematic Trailer Admin Features Moves...
|
1792857165.557198
|
1793461965.557198
|
|
19818
|
Circuitel by @Thepdi | Stardance
|
Thepdi
|
0
|
70.94
|
0
|
[]
|
[{"post_id": 80710, "ts": "202 [{"post_id": 80710, "ts": "2026-10-18T16:14:29Z", "hours": 10.1894, "text": "I made the mobile view, the website is responsive now! I started the live notifs part, added the reset password feature, and only need to add the angular part for the live notifs to work, and then design them! Next week most likely the project will be pushed to production!"}, {"post_id": 77932, "ts": "2026-10-08T20:39:07Z", "hours": 9.6656, "text": "I have worked on the overall design and added the circuit time form, you now can add record times to any circuit based on a car! Still need to add some things on the display part, and resolve live notifs and the admin dashboard. Getting there!"}, {"post_id": 75976, "ts": "2026-10-01T19:56:51Z", "hours": 10.9531, "text": "I started designing the front-end, added pagination and search on /circuits and on /cars, will stick a bit on the design part, then get to add circuit time, leaderbord of friends, live notifs, and the symfony admin dashboard"}, {"post_id": 72797, "ts": "2026-09-23T19:12:04Z", "hours": 9.9614, "text": "Created the add car feature, update car feature & everything that has a relation with the friend requests. I know get along way more with Angular, and get a little bit of happiness from it, still a lot to learn."}, {"post_id": 68858, "ts": "2026-09-15T21:46:44Z", "hours": 12.3469, "text": "Started developing the angular part, it’s cruel, I got so many errors, and also the learning path I think is at like 85 degrees, anyways I think at least the profile part is done(without symfony tests), nothing pretty still"}, {"post_id": 65049, "ts": "2026-09-09T21:39:15Z", "hours": 13.1917, "text": "I worked so much on the API side, I added the CarController, ProfileController, ResetPassword feature, and all type of things, but most important the login request-response works, the user is authenticated and the refresh-token works. Still a lot to do, like write tests, the overall design, and most of the angular part:))))"}, {"post_id": 58461, "ts": "2026-08-30T21:34:15Z", "hours": 4.6281, "text": "Hello, this is an time circuit tracker app, it is based on Symfony as the REST API and on Angular as the SPA, it will save a users track time. It will many cool features like JWT auth, private chats between friends, and many more. I will do my best, because I want this app to check all the points for a php junior job. Have a nice day! Will keep up with updates."}]...
|
Title: Circuitel by @Thepdi | Stardance
Devlogs:
Title: Circuitel by @Thepdi | Stardance
Devlogs:
Hello, this is an time circuit tracker app, it is based on Symfony as the REST API and on Angular as the SPA, it will save a users track time. It will many cool features like JWT auth, private chats between friends, and many more. I will do my best, because I want this app to check all the points for a php junior job. Have a nice day! Will keep up with updates.
I worked so much on the API side, I added the CarController, ProfileController, ResetPassword feature, and all type of things, but most important the login request-response works, the user is authenticated and the refresh-token works. Still a lot to do, like write tests, the overall design, and most of the angular part:))))
Started developing the angular part, it’s cruel, I got so many errors, and also the learning path I think is at like 85 degrees, anyways I think at least the profile part is done(without symfony tests), nothing pretty still
Created the add car feature, update car feature & everything that has a relation with the friend requests. I know get along way more with Angular, and get a little bit of happiness from it, still a lot to learn.
I started designing the front-end, added pagination and search on /circuits and on /cars, will stick a bit on the design part, then get to add circuit time, leaderbord of friends, live notifs, and the symfony admin dashboard
I have worked on the overall design and added the circuit time form, you now can add record times to any circuit based on a car! Still need to add some things on the display part, and resolve live notifs and the admin dashboard. Getting there!
I made the mobile view, the website is responsive now! I started the live notifs part, added the reset password feature, and only need to add the angular part for the live notifs to work, and then design them! Next week most likely the project will be pushed to production!...
|
1793184449.8912878
|
1793789249.8912878
|