|
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...
|
1792857157.587164
|
1792943557.587164
|
|
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
|
|
60253
|
T-MINUS -Your Everday Mission Control by @MIREYA | T-MINUS -Your Everday Mission Control by @MIREYA | Stardance...
|
MIREYA
|
0
|
6.54
|
0
|
[]
|
[{"post_id": 80755, "ts": "202 [{"post_id": 80755, "ts": "2026-10-18T18:22:40Z", "hours": 4.9431, "text": "IM WORKING ON T-MINUS , I TRIED TO COMPLETE THE CODES AND HTML BUT IT GOT CRASHED SO NOW IM HAVING SOME TROUBLE DEPLOING IT BUT I HOPE I CAN FIX THE ISSUE TOMORROW"}, {"post_id": 71685, "ts": "2026-09-21T09:47:16Z", "hours": 0.3358, "text": "I coded for 42 minutes, but HackaTime says 16. It got delayed - it only started tracking after I was already deep inside the build.In those 42 minutes, I killed my own app.My first T-MINUS was on Streamlit. It was a sleeping site. You’d open it after 15 minutes and it would just show “Waking up” - like an astronaut who fell asleep before launch.So I changed my entire deployment - from Streamlit to Flask and GitHub.That switch wasn’t clean. I had trouble adding the HTMLs - Flask wouldn’t read them, Jinja kept throwing got ‘:’ errors because it thought my JavaScript was its own code. I was stuck, I asked for help, fixed it by moving everything to pure JS.But I fixed all of it. Now it’s Flask, it’s on GitHub."}, {"post_id": 68175, "ts": "2026-09-14T17:26:57Z", "hours": 1.2597, "text": "I am working on T-MINUS . Everyone this site could make you guys accomplish your everday mission and duties(I hope so!).I was finally been able to revive my hackatime time tracker after a while and did not have much time left thats why i could only code for about 1hr .Anyway hope ill do more tomorrow!!!."}]...
|
Title: T-MINUS -Your Everday Mission Control by @M Title: T-MINUS -Your Everday Mission Control by @MIREYA | Stardance
Devlogs:
I am working on T-MINUS . Everyone this site could make you guys accomplish your everday mission and duties(I hope so!).I was finally been able to revive my hackatime time tracker after a while and did not have much time left thats why i could only code for about 1hr .Anyway hope ill do more tomorrow!!!.
I coded for 42 minutes, but HackaTime says 16. It got delayed - it only started tracking after I was already deep inside the build.In those 42 minutes, I killed my own app.My first T-MINUS was on Streamlit. It was a sleeping site. You’d open it after 15 minutes and it would just show “Waking up” - like an astronaut who fell asleep before launch.So I changed my entire deployment - from Streamlit to Flask and GitHub.That switch wasn’t clean. I had trouble adding the HTMLs - Flask wouldn’t read them, Jinja kept throwing got ‘:’ errors because it thought my JavaScript was its own code. I was stuck, I asked for help, fixed it by moving everything to pure JS.But I fixed all of it. Now it’s Flask, it’s on GitHub.
IM WORKING ON T-MINUS , I TRIED TO COMPLETE THE CODES AND HTML BUT IT GOT CRASHED SO NOW IM HAVING SOME TROUBLE DEPLOING IT BUT I HOPE I CAN FIX THE ISSUE TOMORROW...
|
1792424953.195393
|
1793029753.195393
|
|
70384
|
Converter by @brighina_tommaso | Stardance
|
brighina_tommaso
|
0
|
0.31
|
0
|
[]
|
[{"post_id": 80760, "ts": "202 [{"post_id": 80760, "ts": "2026-10-18T18:27:07Z", "hours": 0.3053, "text": "My goal now to add more supported files format"}]...
|
Title: Converter by @brighina_tommaso | Stardance
Title: Converter by @brighina_tommaso | Stardance
Devlogs:
My goal now to add more supported files format...
|
1792349227.49723
|
1792954027.49723
|
|
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
|
|
68511
|
MDEZ++ by @tyleruploads | Stardance
|
tyleruploads
|
0
|
17.13
|
0
|
[]
|
[{"post_id": 80762, "ts": "202 [{"post_id": 80762, "ts": "2026-10-18T18:30:01Z", "hours": 6.3258, "text": "I can not believe how many features I have added in these six hours! These have been the six most productive hours in my entire life! First of all, MDEZ++ got an icon! I made it in Inkscape! It features “M+” with a little down arrow to the right of the plus sign as a nod to the original Markdown logo. WebAssembly (WASM) support has been added! Now, you can try out MDEZ++ at https://tyleruploads.github.io/mdez/ ! Now, the actions workflow definitely takes longer to run. But it is definitely worth it! This has to be the biggest change here! MDEZ++ now supports every single text-based file format!! This means you could edit normal text files, edit code, write JSON, etc in MDEZ++! It also supports HTML now, which is rendered just like Markdown. This took a lot of code to achieve, because I wouldn’t want to try to render something that can’t be rendered! And the edge cases for this are infinite. I changed the version of Ubuntu used to compile the AppImage from the latest version to version 22.04. You might ask why that is so important. That one change made my project elgible to be at on the appimage.github.io repository ! It is a crowd-sourced directory of available, tested AppImages with data that 3rd-party app stores and software centers can use. Given a URL to an AppImage, it inspects the AppImage and puts it into a community-maintained catalog. I made certain status messages be shown in the status bar at the bottom, including confirmations that the current document has been saved. This makes it so the user doesn’t need to be worried when they click the save button, because they see it was actually savedsaved! I also made it show more errors to the user, so they know what actually goes wrong! For example, instead of just silently returning the open file function whenever they upload a file in an incorrect format, it shows them why the file can’t be uploaded! The split-pane layout now is resizable! I have tried to do this in the past, but faced ridiculous styling issues that made me not pursue it earlier! It made there be a bunch of completely ridiculous padding around the entire application! Fun facts have also been added to MDEZ++! They are shown whenever you open the app. You can also manually trigger the fun facts by clicking their associated action in the help menu."}, {"post_id": 80003, "ts": "2026-10-15T21:28:15Z", "hours": 1.5539, "text": "I just added some nice features to MDEZ++! These are very important features for a Markdown editor. The first feature, which is very obvious to any user, is the added ability to print the current document. If you are wondering, this is obviously to a physical printer. Not a 3D Printer. (I just had to make sure that distinction was made). The second feature, which is also obvious to any user, is the ability to export the current document to an HTML file, instead of just a Markdown file. I really don’t need to explain this much. The third feature is easier said than done. Previously, blockquotes had no special coloring. This is just because of the way Qt rendered the Markdown to HTML. I in no means have any experience in any sort of regexing. Here is the code I had to add to make this work. QString mdText = editor -> toPlainText (); QTextDocument tempDoc ; tempDoc . setMarkdown ( mdText ); QString rawHtml = tempDoc . toHtml (); QRegularExpression qtBlockquoteRegex ( \"<p style= \\\" margin-top:[^;]+; margin-bottom:[^;]+; margin-left:40px; margin-right:40px; [^ \\\" ]* \\\" >(.*?)</p>\" ); QString tableReplacement = \"<table width= \\\" 100% \\\" cellpadding= \\\" 8 \\\" style= \\\" margin: 6px 0px; \\\" >\" \"<tr><td bgcolor= \\\" #f0f0f0 \\\" style= \\\" border-left: 4px solid #007acc; \\\" >\" \"<span style= \\\" color: #555555; \\\" > \\\\ 1</span>\" \"</td></tr>\" \"</table>\" ; rawHtml . replace ( qtBlockquoteRegex , tableReplacement );"}, {"post_id": 79183, "ts": "2026-10-12T22:53:20Z", "hours": 1.1792, "text": "I just made some important changes to MDEZ++! The first of these changes is the most obvious for the user. I created a new status bar at the bottom of the screen! In the bar, it shows the version number, word count, and file path! The next change is that I updated the README file for better SEO. I thought to make this change after I tested searching for my project, and saw it dominates its name in Brave, but loses to a football player named María Méndez Fernández on Google. The final, smallest change, is that I put the README for MDEZ++ on its own GitHub pages site with Jekyll. I I just felt like it. It could also improve search indexing."}, {"post_id": 78841, "ts": "2026-10-11T18:59:51Z", "hours": 1.4686, "text": "I just added an all-new Help bar to MDEZ++, a lightweight Markdown editor written in C++ with the Qt framework. In the Help bar, the following sections are present: About MDEZ++: Shows an about page for MDEZ++ MDEZ++ License: Shows the full MDEZ++ MIT license Markdown Cheat Sheet: Shows the user a Markdown guide I made Keyboard Combinations: Shows the user keyboard combinations they can use in the app Report Issue: Opens a link for the user to open a GitHub Issue Check for Updates: Brings the user to the most recent GitHub Release"}, {"post_id": 78412, "ts": "2026-10-10T18:22:06Z", "hours": 2.36, "text": "I just added complete file opening and saving capabilities to MDEZ++! This actually wasn’t that hard of an addition, but it now turns MDEZ++ into a true Markdown editor (if you forget it doesn’t have a logo other than the automatically generated W logo by Qt)."}, {"post_id": 78355, "ts": "2026-10-10T15:23:01Z", "hours": 3.1242, "text": "I just made the GitHub Actions workflow for MDEZ++! The workflow does 3 things that seem very simple. Here they are: Make the Linux binary Make the Windows binary Publish to GitHub releases It seems easy, right? While it really is NOT! I encountered so many numerous errors doing this! That is because what I am doing sits right at the intersection of many different extremely hard things to do, whether it be caused by the extremely large size of the Qt system, dynamic-linking that is unacceptable for users without Qt, and so many more things. The complexity of debugging this was further exacerbated by one mistake I kept making. I was amending to commits instead of making new ones during the most intense phase of debugging, and I was unaware that amending to commits does NOT update the code for GitHub Actions! My actions workflow is literally 105 lines long! 105 is not a mistype and is truly the length of the workflow. You can check it out here . I have like 50 tabs open of the Qt Documentation and am planning some exciting additions to the project!"}, {"post_id": 77706, "ts": "2026-10-08T00:24:52Z", "hours": 1.1153, "text": "This is my first devlog for MDEZ++! MDEZ++ is a lightweight Markdown editor written in C++, while using the Qt Graphical Framework. This project has already thrown me right back into C++ again, like I was some time ago. Some features I plan to add in the future include saving to and opening files, GitHub GFM Markdown support (right now it is slightly more basic in terms of styling), and much more."}]...
|
Title: MDEZ++ by @tyleruploads | Stardance
Devlog Title: MDEZ++ by @tyleruploads | Stardance
Devlogs:
This is my first devlog for MDEZ++! MDEZ++ is a lightweight Markdown editor written in C++, while using the Qt Graphical Framework. This project has already thrown me right back into C++ again, like I was some time ago. Some features I plan to add in the future include saving to and opening files, GitHub GFM Markdown support (right now it is slightly more basic in terms of styling), and much more.
I just made the GitHub Actions workflow for MDEZ++! The workflow does 3 things that seem very simple. Here they are: Make the Linux binary Make the Windows binary Publish to GitHub releases It seems easy, right? While it really is NOT! I encountered so many numerous errors doing this! That is because what I am doing sits right at the intersection of many different extremely hard things to do, whether it be caused by the extremely large size of the Qt system, dynamic-linking that is unacceptable for users without Qt, and so many more things. The complexity of debugging this was further exacerbated by one mistake I kept making. I was amending to commits instead of making new ones during the most intense phase of debugging, and I was unaware that amending to commits does NOT update the code for GitHub Actions! My actions workflow is literally 105 lines long! 105 is not a mistype and is truly the length of the workflow. You can check it out here . I have like 50 tabs open of the Qt Documentation and am planning some exciting additions to the project!
I just added complete file opening and saving capabilities to MDEZ++! This actually wasn’t that hard of an addition, but it now turns MDEZ++ into a true Markdown editor (if you forget it doesn’t have a logo other than the automatically generated W logo by Qt).
I just added an all-new Help bar to MDEZ++, a lightweight Markdown editor written in C++ with the Qt framework. In the Help bar, the following sections are present: About MDEZ++: Shows an about page for MDEZ++ MDEZ++ License: Shows the full MDEZ++ MIT license Markdown Cheat Sheet: Shows the user a Markdown guide I made Keyboard Combinations: Shows the user keyboard combinations they can use in the app Report Issue: Opens a link for the user to open a GitHub Issue Check for Updates: Brings the user to the most recent GitHub Release
I just made some important changes to MDEZ++! The first of these changes is the most obvious for the user. I created a new status bar at the bottom of the screen! In the bar, it shows the version number, word count, and file path! The next change is that I updated the README file for better SEO. I thought to make this change after I tested searching for my project, and saw it dominates its name in Brave, but loses to a football player named María Méndez Fernández on Google. The final, smallest change, is that I put the README for MDEZ++ on its own GitHub pages site with Jekyll. I I just felt like it. It could also improve search indexing.
I just added some nice features to MDEZ++! These are very important features for a Markdown editor. The first feature, which is very obvious to any user, is the added ability to print the current document. If you are wondering, this is obviously to a physical printer. Not a 3D Printer. (I just had to make sure that distinction was made). The second feature, which is also obvious to any user, is the ability to export the current document to an HTML file, instead of just a Markdown file. I really don’t need to explain this much. The third feature is easier said than done. Previously, blockquotes had no special coloring. This is just because of the way Qt rendered the Markdown to HTML. I in no means have any experience in any sort of regexing. Here is the code I had to add to make this work. QString mdText = editor -> toPlainText (); QTextDocument tempDoc ; tempDoc . setMarkdown ( mdText ); QString rawHtml = tempDoc . toHtml (); QRegularExpression qtBlockquoteRegex ( "<p style= \" margin-top:[^;]+; margin-bottom:[^;]+; margin-left:40px; margin-right:40px; [^ \" ]* \" >(.*?)</p>" ); QString tableReplacement = "<table width= \" 100% \" cellpadding= \" 8 \" style= \" margin: 6px 0px; \" >" "<tr><td bgcolor= \" #f0f0f0 \" style= \" border-left: 4px solid #007acc; \" >" "<span style= \" color: #555555; \" > \\ 1</span>" "</td></tr>" "</table>" ; rawHtml . replace ( qtBlockquoteRegex , tableReplacement );
I can not believe how many features I have added in these six hours! These have been the six most productive hours in my entire life! First of all, MDEZ++ got an icon! I made it in Inkscape! It features “M+” with a little down arrow to the right of the plus sign as a nod to the original Markdown logo. WebAssembly (WASM) support has been added! Now, you can try out MDEZ++ at https://tyleruploads.github.io/mdez/ ! Now, the actions workflow definitely takes longer to run. But it is definitely worth it! This has to be the biggest change here! MDEZ++ now supports every single text-based file format!! This means you could edit normal text files, edit code, write JSON, etc in MDEZ++! It also supports HTML now, which is rendered just like Markdown. This took a lot of code to achieve, because I wouldn’t want to try to render something that can’t be rendered! And the edge cases for this are infinite. I changed the version of Ubuntu used to compile the AppImage from the latest version to version 22.04. You might ask why that is so important. That one change made my project elgible to be at on the appimage.github.io repository ! It is a crowd-sourced directory of available, tested AppImages with data that 3rd-party app stores and software centers can use. Given a URL to an AppImage, it inspects the AppImage and puts it into a community-maintained catalog. I made certain status messages be shown in the status bar at the bottom, including confirmations that the current document has been saved. This makes it so the user doesn’t need to be worried when they click the save button, because they see it was actually savedsaved! I also made it show more errors to the user, so they know what actually goes wrong! For example, instead of just silently returning the open file function whenever they upload a file in an incorrect format, it shows them why the file can’t be uploaded! The split-pane layout now is resizable! I have tried to do this in the past, but faced ridiculous styling issues that made me not pursue it earlier! It made there be a bunch of completely ridiculous padding around the entire application! Fun facts have also been added to MDEZ++! They are shown whenever you open the app. You can also manually trigger the fun facts by clicking their associated action in the help menu....
|
1792471943.7927668
|
1793076743.7927668
|
|
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
|
|
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
|
|
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!...
|
1792853761.907101
|
1792940161.907101
|
|
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....
|
1792857108.3872824
|
1792943508.3872824
|
|
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
|
|
47350
|
ReadBear by @Tulis | Stardance
|
Tulis
|
0
|
98.26
|
0
|
[]
|
[{"post_id": 80776, "ts": "202 [{"post_id": 80776, "ts": "2026-10-18T19:07:09Z", "hours": 5.1525, "text": "Devlog 17 I am so sorry for no devlogs! What did I do? i am still working on folders! they require a whole ui rewrite unfortunately! i got in contact with an artist, we are preparing some new logos and backgrounds! check samples in the pictures a lot of files changed (and I mean a lot - see in pictures) got everyting i18n-ated (all changelogs etc) file migrations (and custom screen!) What I will do next? folders. I will hopefully finish them to the next devlog! work on the custom logos and backgrounds! F-Droid: v0.8.1 Github: v0.8.1 Logo author: Castellon Artz"}, {"post_id": 79481, "ts": "2026-10-14T07:42:50Z", "hours": 6.3367, "text": "Devlog 16 What did I do in all this time? a lot of in-between things - for example githooks with tests (I pushed a bad build to f-droid, I need to learn on my mistakes ) a huge db migration - i am working on folders dates are in the ui (last read time, created at) you can now edit booktype-specific data working on folders! (a hugely big amount of work :<) What am I doing next? folders, snippet folders probably more tests update languages add some icons (a nice artist reached out to me!) See you in the next one! Get it on GitHub or F-Droid"}, {"post_id": 76833, "ts": "2026-10-04T19:20:07Z", "hours": 5.5144, "text": "Devlog 15 What have I been cooking in this much time? snippets! they are so pretty, you can zoom, see them pinterest-style, edit (with validation) and the cherry on top - you can now edit the selection! a lot of code updates and refactors added dates to DB (will add to UI in a sec!) file rename (almost all files had to be changed ) fixed a lot of random bugs fixed fdroid logo What will I do next? some suggestions from my friends :> fix bugs notes! local rating! local saving! a lot of customization! Github: v0.7.4 F-Droid: v0.7.4"}, {"post_id": 75623, "ts": "2026-09-30T16:08:55Z", "hours": 5.4036, "text": "Devlog 14 What have I done? (I am so happy ) I FIXED A BUG THAT WAS THERE FOR OVER A MONTH. It turns out I really had to thing outside-the-box (gosh I am so funny - cause yk - jetpack compose has boxes). The bug was caused when you press the back button quickly as it fades (as on video) a huge code refactor removed a bunch of bugs added viewing snippets, and saving them again i would want to empathize how happy I am and how much work the first one took XD got my website verificated with my signature I added an abstraction layer to menu - to help extend it further What I am working on? snippets (going back to the source) editing snippet details Thanks so much for reading this, I am so happy rn."}, {"post_id": 74893, "ts": "2026-09-28T15:18:42Z", "hours": 3.5053, "text": "Devlog 13 What changed? my code. really, most of the changes are to the quality of the code fixed covers not changing fixed editing (still working on it) added empty pages info (a pretty card) split pdf reading into 3 files (much more readable and maintainable code) moved navigation bar hiding/showing into separate file fixed random bugs still debuging the random empty page bug! What I am working on next? debuging random bugs! my todolist (currently bookmarks/editing) I also released the next version on F-Droid, with the updated logo! Github: v0.7.4 F-Droid: v0.7.4"}, {"post_id": 71896, "ts": "2026-09-21T18:34:38Z", "hours": 4.1192, "text": "Devlog 12 What changed? I moved out of vibecoded pdf library (sorry to say that, but it was terrible) snippets work now! there won’t be quotes as selecting in cbz’s and pdf is hard/non existable on mobile, but you can have cool snippets! attributions in snippets database migrations debuging, debuging and a lot of additional debuging fixed some bugs On what I will focus next? modifing snippets/deleting viewing a lot of code optimisations! On F-Droid: v0.7.2"}, {"post_id": 71095, "ts": "2026-09-20T09:05:52Z", "hours": 3.7536, "text": "Devlog 11 What changed? my app is now on F-Droid and the logo is clear (not blurry from my skill issue) new navigation menu zooming CBZs! working on quotes! fixed a library that i use for pdfs (hopefully they will accept the change XD) thinking how to do quotes for image-pdfs What I will focus on next? quotes bookmarks Release: v0.7.2 On F-Droid: v0.7.2 Please spread the beary news! See you in the next one"}, {"post_id": 67888, "ts": "2026-09-14T05:56:04Z", "hours": 3.195, "text": "Devlog 10 What changed? my app is now on F-Droid! we have tasty themes automatic translation credits fixed repo authors my icon on F-Droid is blurry What am I doing next: bookmarks quotes support for more formats? Thanks for sticking with me :) If you have any thoughts on themes (adding more!), create an issue! Release v0.7.0 F-Droid: https://f-droid.org/pl/packages/dev.tulis.readbear/"}, {"post_id": 66461, "ts": "2026-09-12T09:35:56Z", "hours": 3.2914, "text": "Devlog 9 MY APP GOT MERGED TO F-DROID! Yes, as you can see, I am a bit happy :) What changed: a lot of small changes to get my submition accepted you can select theme mode (dark, light, system) translation credits are now automatically added with GitHub actions added shrink options, my apk is now only ~25mb instead of 50mb! working on custom themes - catppuccin! relases are now stable! data migrations will be now in the repo What I am working on next: bookmarks and quotes collections/folders movable order of books (this is gonna be hard) adding the app to Google Play (at the end) Thanks for sticking with me! I am so happy that I got into F-Droid, after the merge in around 1-2 days you can go search ReadBear! (I will add the badge too) Relase: v0.6.3"}, {"post_id": 64869, "ts": "2026-09-09T15:44:35Z", "hours": 11.4844, "text": "Devlog 8 (a huge two i am so funny hahahahaha) What changed? epubs! (oh the horrors, this was so hard) three languages now: Polish, English and Russian i am in the process of adding my app to F-Droid (like it to help me!) Merge Request a lot of improvements to GitHub actions (caching, 4m build time reduced to ~30s!) reproducible builds and signing tasteful theme selection we don’t talk about the red cover. What is going on next? improving epubs we talk about the red cover. adding it to F-Droid adding the app to google play store :)"}, {"post_id": 62158, "ts": "2026-09-05T12:39:19Z", "hours": 7.8414, "text": "Devlog 7 (a huge one ) What changed? a beautiful new vector logo! app info page and proper versioning tests on github actions on translation fix translation to properly use plurals working on polish translation Gradle build now bundles translation credits from Weblate settings on pdf reader and an abstraction layer before it (easier future coding) fix a lot of bugs and memory leaks (who said that?) added a bunch of customization options added a split page function for funky pdfs What I will be working on next? Epubs Fixing visual bugs Release v0.3.0 See you in the next one!"}, {"post_id": 60437, "ts": "2026-09-02T19:27:39Z", "hours": 3.1744, "text": "Devlog 6 What I changed? added a configurable reading layout option for PDFs added a new book info page (so pretty!) fixed bugs and i18n issues there will be English, Russian, Polish translations! fixed code quality (a lot!) What am I doing next? Epubs More configurable options for PDFs and Epubs! Thanks for reading! Release v0.2.0"}, {"post_id": 60287, "ts": "2026-09-02T15:45:34Z", "hours": 7.0028, "text": "Devlog 5 (sorry for so little devlogs, hackatime was down ) What changed? Releases! Now the actions build and sign the app for releases (prereleases for now but yes) Pdf support! Full db rewrite More configurable options (and even more coming) A lot of bug fixes Got weblate set up for translating Bookmarks for PDFs A lot of metadata and info page! What am I doing next? Epubs - it is confirmed and doable :) More custom features and themes Make the info page human? Release: v0.1.0 See you in then next one!"}, {"post_id": 53837, "ts": "2026-08-24T15:09:45Z", "hours": 3.7392, "text": "Devlog 4 What have I changed? I created a Github actions builder that publishes the latest version to artifacts (releases later, as they are not ready XD) created lovely art and letterpaper (banner) also this tasty background changing depending on the theme) I am in the middle of completely changing the db structure to accommodate PDFs and EPUBs many code optimisations I will focus on? PDFs for now more themes See you in the next one!"}, {"post_id": 52541, "ts": "2026-08-22T18:20:20Z", "hours": 2.9881, "text": "Devlog 3 What have I done? full i18n-ation (every text is in strings file, so it can be translated), english as of now (russian and polish are coming) you can zoom the panels so you can adore all the details settings now has tabs so more options can be added settings popout extends all the way instead of a akward middleway settings are actually saved when pressing the “Save” button (yes they were discarded when saving, and saved when pressing somewhere else 🤭) What I will be working on? hopefully epubs removing all the bugs 🐛 making it even more customizable (custom backgrounds and themes are coming!) See you in the next one!"}, {"post_id": 50473, "ts": "2026-08-19T17:14:15Z", "hours": 10.8378, "text": "Devlog 2 (omg I am writing this third time, I need to copy it this time) What I changed? added bookmarks (auto remembering where you last read) added beautiful coffee theme added customization options added rereading (am I the only one to reread books/mangas all the time?) fixed bugs and memory leaks (memory leaks in an android app, I know) On what I will focus now? writing more frequent devlogs I18N - aside from polish, english and probably russian maybe EPUBS 💀 fix some annoying bugs (such as the cover sometimes not changing) I created a Github repo! See you in the next one!"}, {"post_id": 46229, "ts": "2026-08-13T10:11:01Z", "hours": 10.9167, "text": "Devlog 1, what it is? ReadBear is a cute app for reading Comics (.cbz) and hopefully EPUB books! It is written in Jetpack Compose and will be Android only. What have I done? I made importing the comics/mangas through file, adding it to database and indexing for reading. You can click on the comic/manga and start to read it! There is some customising options but not that many as I would like in the finished product This is my first Android app! I really love the Material Design and UI so I am happy to use Compose! This is my first time in Kotlin (coming from Java) so it is a bit confusing, but I like it! Ooopsies! I forgot to create a project and post devlogs on this app!"}]...
|
Title: ReadBear by @Tulis | Stardance
Devlogs:
De Title: ReadBear by @Tulis | Stardance
Devlogs:
Devlog 1, what it is? ReadBear is a cute app for reading Comics (.cbz) and hopefully EPUB books! It is written in Jetpack Compose and will be Android only. What have I done? I made importing the comics/mangas through file, adding it to database and indexing for reading. You can click on the comic/manga and start to read it! There is some customising options but not that many as I would like in the finished product This is my first Android app! I really love the Material Design and UI so I am happy to use Compose! This is my first time in Kotlin (coming from Java) so it is a bit confusing, but I like it! Ooopsies! I forgot to create a project and post devlogs on this app!
Devlog 2 (omg I am writing this third time, I need to copy it this time) What I changed? added bookmarks (auto remembering where you last read) added beautiful coffee theme added customization options added rereading (am I the only one to reread books/mangas all the time?) fixed bugs and memory leaks (memory leaks in an android app, I know) On what I will focus now? writing more frequent devlogs I18N - aside from polish, english and probably russian maybe EPUBS 💀 fix some annoying bugs (such as the cover sometimes not changing) I created a Github repo! See you in the next one!
Devlog 3 What have I done? full i18n-ation (every text is in strings file, so it can be translated), english as of now (russian and polish are coming) you can zoom the panels so you can adore all the details settings now has tabs so more options can be added settings popout extends all the way instead of a akward middleway settings are actually saved when pressing the “Save” button (yes they were discarded when saving, and saved when pressing somewhere else 🤭) What I will be working on? hopefully epubs removing all the bugs 🐛 making it even more customizable (custom backgrounds and themes are coming!) See you in the next one!
Devlog 4 What have I changed? I created a Github actions builder that publishes the latest version to artifacts (releases later, as they are not ready XD) created lovely art and letterpaper (banner) also this tasty background changing depending on the theme) I am in the middle of completely changing the db structure to accommodate PDFs and EPUBs many code optimisations I will focus on? PDFs for now more themes See you in the next one!
Devlog 5 (sorry for so little devlogs, hackatime was down ) What changed? Releases! Now the actions build and sign the app for releases (prereleases for now but yes) Pdf support! Full db rewrite More configurable options (and even more coming) A lot of bug fixes Got weblate set up for translating Bookmarks for PDFs A lot of metadata and info page! What am I doing next? Epubs - it is confirmed and doable :) More custom features and themes Make the info page human? Release: v0.1.0 See you in then next one!
Devlog 6 What I changed? added a configurable reading layout option for PDFs added a new book info page (so pretty!) fixed bugs and i18n issues there will be English, Russian, Polish translations! fixed code quality (a lot!) What am I doing next? Epubs More configurable options for PDFs and Epubs! Thanks for reading! Release v0.2.0
Devlog 7 (a huge one ) What changed? a beautiful new vector logo! app info page and proper versioning tests on github actions on translation fix translation to properly use plurals working on polish translation Gradle build now bundles translation credits from Weblate settings on pdf reader and an abstraction layer before it (easier future coding) fix a lot of bugs and memory leaks (who said that?) added a bunch of customization options added a split page function for funky pdfs What I will be working on next? Epubs Fixing visual bugs Release v0.3.0 See you in the next one!
Devlog 8 (a huge two i am so funny hahahahaha) What changed? epubs! (oh the horrors, this was so hard) three languages now: Polish, English and Russian i am in the process of adding my app to F-Droid (like it to help me!) Merge Request a lot of improvements to GitHub actions (caching, 4m build time reduced to ~30s!) reproducible builds and signing tasteful theme selection we don’t talk about the red cover. What is going on next? improving epubs we talk about the red cover. adding it to F-Droid adding the app to google play store :)
Devlog 9 MY APP GOT MERGED TO F-DROID! Yes, as you can see, I am a bit happy :) What changed: a lot of small changes to get my submition accepted you can select theme mode (dark, light, system) translation credits are now automatically added with GitHub actions added shrink options, my apk is now only ~25mb instead of 50mb! working on custom themes - catppuccin! relases are now stable! data migrations will be now in the repo What I am working on next: bookmarks and quotes collections/folders movable order of books (this is gonna be hard) adding the app to Google Play (at the end) Thanks for sticking with me! I am so happy that I got into F-Droid, after the merge in around 1-2 days you can go search ReadBear! (I will add the badge too) Relase: v0.6.3
Devlog 10 What changed? my app is now on F-Droid! we have tasty themes automatic translation credits fixed repo authors my icon on F-Droid is blurry What am I doing next: bookmarks quotes support for more formats? Thanks for sticking with me :) If you have any thoughts on themes (adding more!), create an issue! Release v0.7.0 F-Droid: https://f-droid.org/pl/packages/dev.tulis.readbear/
Devlog 11 What changed? my app is now on F-Droid and the logo is clear (not blurry from my skill issue) new navigation menu zooming CBZs! working on quotes! fixed a library that i use for pdfs (hopefully they will accept the change XD) thinking how to do quotes for image-pdfs What I will focus on next? quotes bookmarks Release: v0.7.2 On F-Droid: v0.7.2 Please spread the beary news! See you in the next one
Devlog 12 What changed? I moved out of vibecoded pdf library (sorry to say that, but it was terrible) snippets work now! there won’t be quotes as selecting in cbz’s and pdf is hard/non existable on mobile, but you can have cool snippets! attributions in snippets database migrations debuging, debuging and a lot of additional debuging fixed some bugs On what I will focus next? modifing snippets/deleting viewing a lot of code optimisations! On F-Droid: v0.7.2
Devlog 13 What changed? my code. really, most of the changes are to the quality of the code fixed covers not changing fixed editing (still working on it) added empty pages info (a pretty card) split pdf reading into 3 files (much more readable and maintainable code) moved navigation bar hiding/showing into separate file fixed random bugs still debuging the random empty page bug! What I am working on next? debuging random bugs! my todolist (currently bookmarks/editing) I also released the next version on F-Droid, with the updated logo! Github: v0.7.4 F-Droid: v0.7.4
Devlog 14 What have I done? (I am so happy ) I FIXED A BUG THAT WAS THERE FOR OVER A MONTH. It turns out I really had to thing outside-the-box (gosh I am so funny - cause yk - jetpack compose has boxes). The bug was caused when you press the back button quickly as it fades (as on video) a huge code refactor removed a bunch of bugs added viewing snippets, and saving them again i would want to empathize how happy I am and how much work the first one took XD got my website verificated with my signature I added an abstraction layer to menu - to help extend it further What I am working on? snippets (going back to the source) editing snippet details Thanks so much for reading this, I am so happy rn.
Devlog 15 What have I been cooking in this much time? snippets! they are so pretty, you can zoom, see them pinterest-style, edit (with validation) and the cherry on top - you can now edit the selection! a lot of code updates and refactors added dates to DB (will add to UI in a sec!) file rename (almost all files had to be changed ) fixed a lot of random bugs fixed fdroid logo What will I do next? some suggestions from my friends :> fix bugs notes! local rating! local saving! a lot of customization! Github: v0.7.4 F-Droid: v0.7.4
Devlog 16 What did I do in all this time? a lot of in-between things - for example githooks with tests (I pushed a bad build to f-droid, I need to learn on my mistakes ) a huge db migration - i am working on folders dates are in the ui (last read time, created at) you can now edit booktype-specific data working on folders! (a hugely big amount of work :<) What am I doing next? folders, snippet folders probably more tests update languages add some icons (a nice artist reached out to me!) See you in the next one! Get it on GitHub or F-Droid
Devlog 17 I am so sorry for no devlogs! What did I do? i am still working on folders! they require a whole ui rewrite unfortunately! i got in contact with an artist, we are preparing some new logos and backgrounds! check samples in the pictures a lot of files changed (and I mean a lot - see in pictures) got everyting i18n-ated (all changelogs etc) file migrations (and custom screen!) What I will do next? folders. I will hopefully finish them to the next devlog! work on the custom logos and backgrounds! F-Droid: v0.8.1 Github: v0.8.1 Logo author: Castellon Artz...
|
1792511584.1076407
|
1793116384.1076407
|
|
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
|
|
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....
|
1792432221.6143613
|
1793037021.6143613
|
|
53831
|
contrast by @a-fun-gi | Stardance
|
a-fun-gi
|
1
|
26.54
|
291
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "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!!!...
|
1792856908.5644233
|
1792943308.5644233
|
|
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...
|
1792471755.155479
|
1793076555.155479
|
|
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)...
|
1792655516.5473204
|
1792741916.5473204
|
|
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!!...
|
1792745380.504389
|
1792831780.504389
|
|
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....
|
1792860504.347959
|
1792946904.347959
|
|
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
|
|
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....
|
1792460982.2353065
|
1793065782.2353065
|
|
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....
|
1792857246.544089
|
1792943646.544089
|
|
7806
|
Crooked Rails by @AllInTw0 | Stardance
|
AllInTw0
|
0
|
119.84
|
0
|
[]
|
[{"post_id": 80798, "ts": "202 [{"post_id": 80798, "ts": "2026-10-18T20:21:48Z", "hours": 9.9678, "text": "Thirteenth devlog of the game! I added/changed various stuff so here is a list of changes: -Added a new weapon - Flamethrower! -Added a debuff system! Currently only has the fire debuff from the flamethrower addition. -Added Xray vision to enemies that are dealing damage. (This mostly so that the player can quickly locate the cause of damage to the train) -Changed how code handles structure spawning. (doesn’t change anything gameplay wise) -Other small improvements/fixes I was also experimenting with better movement around the train, but dont have anything to show for it currently. Here are two videos showcasing the Flamethrower and the Xray!"}, {"post_id": 76847, "ts": "2026-10-04T20:10:21Z", "hours": 9.9686, "text": "Twelfth devlog of the game! As I am getting closer and closer to the first ship I decided to make a lobby system so that multiple sessions can be going at once rather than the forced one session for playtesting. Before that I also made a new crane railcar model that also visually lifts the payload to be loaded on to the train for the payload minigame. Here are two videos for each major change plus a image of how the crane car looks on the job preview."}, {"post_id": 72727, "ts": "2026-09-23T16:29:21Z", "hours": 9.4689, "text": "Eleventh devlog of the game! I continued work on the payload escort minigame. List of changes: -Added basic structures to the generation. (The goal is a western mining town) -Added the ability for props to spawn on terrain. -Added enemy wave spawning specific to the payload. (enemies use the structures as spawn points) -Added a crane rail car that picks up the payload to be delivered to the station. (Probably a new model for it next devlog) -Added a new station section where you will be able to pick special additional jobs with a starting fee but if successful a returning pay. -Improved how the uppercutter enemy calculates the trajectory. -Improved movement for both player and enemies -Other tiny changes Still have some issues with the terrain where the track sinks into the ground and the surrounding terrain around structures looking odd. Dont know if ill ever fully fix it. Here is a video showcasing the current state of the payload escort and the prototype special job monitor. I didnt fully play through the escort before recording the video and I was pretty surprised how fun it actually felt and its not even finished. Hope others will think its fun to."}, {"post_id": 70635, "ts": "2026-09-19T14:22:16Z", "hours": 9.2675, "text": "Tenth devlog of the game! I decided to start making an idea I had from the beginning of the project. The idea is that you have to escort a minecart payload through a randomly generated town in return for bonus money. Its basically the main game but around a smaller train which allows for a higher number enemies all going for one target and more interesting generation. So far I made the very basics. The track gen (took the most of time) where it can also go over the main train tracks and the payload prototype that moves if a player is nearby. If an enemy attacks it, it gets stunned not being able to move for a second or so. I also improved the new enemy AI around how it handles enemy-enemy targeting so two uppercutters dont go to the same enemy. I also fixed a spline mesh bug that was in the game since the beginning of the project. Here is a video showcasing the payload plus some pictures of interesting bugs."}, {"post_id": 69814, "ts": "2026-09-17T20:36:15Z", "hours": 11.4131, "text": "Ninth devlog of the game! This devlog is mostly three things. Firstly, I finally added new enemies! Their descriptions: Healer: heals nearby enemies by tethering itself to the target. I plan on adding a passive effect that reduces the targets incoming damage. The Uppercuter: punches melee enemies forward to their target. To accommodate this I lowered the melee enemy walk speed. Secondly, I improved the inventory UI to highlight the selected item more by adding a scaling animation and a cyan tint. Finally, I added a display boards on all railcars that show the health of the railcar and the cargo. Other changes: -Fixed some multiplayer bugs Here is a video showcasing the inventory and enemies as well as a picture of the display board."}, {"post_id": 50556, "ts": "2026-08-19T19:22:54Z", "hours": 9.5303, "text": "Eighth devlog of the game! I finally finished syncing all of the games features/mechanics! Of course with the help of my friend we held the first multiplayer playtest of the game! It went about as expected - quite a few bugs… But it was still playable and I had fun. List Of Changes: -Added a starting shop -Fixed the blur that sometimes appeared on papers + improved paper visuals -Implemented Spectating -Synced Game Over -Synced Bucket Item -Synced Teleporter Item -Synced Sentry -Synced Railcar Derailing -Improved enemy health sync. (Had an issue in the playtest where the client thought the enemy was dead, but it was still alive for the host) -Synced explosive tankcar -Other tiny stuff GIF of a funny moment from the playtest. Plus the new starting shop and some bugs from the playtest."}, {"post_id": 42041, "ts": "2026-08-06T16:31:33Z", "hours": 10.925, "text": "Seventh devlog of the game! Continuing heavy work on multiplayer - now touching up the few last things left to sync between host & client. I believe next devlog or two the game will be fully converted to work in multiplayer! List of changes: -Synced health script (Used in various areas beyond player & enemy health. For example: tender’s fuel and water level) -Synced water tower -Synced train upgrades -Synced foliage spawning -Synced items - health kit & backpack expander -Implemented a basic enemy sync Here is a video showcasing the water tower and the train upgrades. Left is client, right is host. Did not notice i went over the 10h mark… how fun."}, {"post_id": 40643, "ts": "2026-08-04T10:08:05Z", "hours": 9.8547, "text": "Sixth devlog of the game! Continued work on multiplayer - this time syncing everything in the station. Showcased changes: -Synced hauling job monitors (the 3 at the entrance) -Synced railcar spawning and despawning -Synced shops -Synced sell station -Synced unlock station Possibly unnoticeable changes: -Improved player movement sync -Improved locomotive control syncing Here is a video showcasing the changes. Right is client, left is host. Next up i plan on syncing enemies."}, {"post_id": 32858, "ts": "2026-07-22T09:06:29Z", "hours": 10.0806, "text": "Fifth devlog of the game! This time i went all over the place working on stuff that doesn’t contain a lot of multiplayer. Why? Because I was waiting for my order of 16GB of RAM to arrive so my laptop doesn’t crash with two games running at once. Now its running smoothly and I can continue working on multiplayer! Here are the showcased changes: -Started work on a new starting location -Added a train ride intro -Added train sounds Not showcased changes: -Started work on syncing the station, hauling jobs and rail-car spawning/despawning for multiplayer"}, {"post_id": 20816, "ts": "2026-07-02T14:59:07Z", "hours": 10.1861, "text": "Fourth devlog of the game! Continuing to work on multiplayer. This time focusing on the world and train by syncing train movement and controls and by syncing the world seed and generated structures. Here is a video showcasing being able to control the train from a client and some screenshots showcasing the host view (top) and the client view (bottom). There are still some things that are not synced fully. Maybe you can spot some differences"}, {"post_id": 7387, "ts": "2026-06-12T09:54:39Z", "hours": 8.6583, "text": "Third devlog of the game! I am finally adding MULTIPLAYER!!! :D I added the ability to host and join sessions across the world. Currently only movement, inventory, item physics and interactions with guns is synced. Still a lot of work needs to be done to convert he whole game. Here is a video showcasing it running locally from the client’s perspective in a testing scene."}, {"post_id": 5647, "ts": "2026-06-09T14:56:26Z", "hours": 10.2222, "text": "Second devlog of the game! Worked on quite different stuff. Showcased changes: -Added a camera shake -Modeled a swamp-like tree -Added tank car explosion + visually damaged model. -Improved scene lighting a bit. (Still need to mess around more) Not showcased: -Improved code behind shops and added support for rerolls."}, {"post_id": 2667, "ts": "2026-06-05T10:41:42Z", "hours": 0.3011, "text": "First (eighteenth) devlog of the game! Since this is a continuation of a project from Flavortown and before hand here are the things I changed since Flavortown: -Added a companion robot. Follows the player and attacks enemies -Added a teleporter. The player can carry it and use it for easier travel between important locations -Experimented with different types of foliage -The rails finally are crooked and not perfect curves! To fit the name -Added a groundwork texture around the rails Changes not showcased: -Improved player and enemy movement -Track that transitions from the station and playable space will avoid going into mountains -Improved navigation mesh generation If you wish to see the gameplay of the game: https://youtu.be/yDcuscI8zDo Flavortown project: https://flavortown.hackclub.com//projects/10071"}]...
|
Title: Crooked Rails by @AllInTw0 | Stardance
Dev Title: Crooked Rails by @AllInTw0 | Stardance
Devlogs:
First (eighteenth) devlog of the game! Since this is a continuation of a project from Flavortown and before hand here are the things I changed since Flavortown: -Added a companion robot. Follows the player and attacks enemies -Added a teleporter. The player can carry it and use it for easier travel between important locations -Experimented with different types of foliage -The rails finally are crooked and not perfect curves! To fit the name -Added a groundwork texture around the rails Changes not showcased: -Improved player and enemy movement -Track that transitions from the station and playable space will avoid going into mountains -Improved navigation mesh generation If you wish to see the gameplay of the game: https://youtu.be/yDcuscI8zDo Flavortown project: https://flavortown.hackclub.com//projects/10071
Second devlog of the game! Worked on quite different stuff. Showcased changes: -Added a camera shake -Modeled a swamp-like tree -Added tank car explosion + visually damaged model. -Improved scene lighting a bit. (Still need to mess around more) Not showcased: -Improved code behind shops and added support for rerolls.
Third devlog of the game! I am finally adding MULTIPLAYER!!! :D I added the ability to host and join sessions across the world. Currently only movement, inventory, item physics and interactions with guns is synced. Still a lot of work needs to be done to convert he whole game. Here is a video showcasing it running locally from the client’s perspective in a testing scene.
Fourth devlog of the game! Continuing to work on multiplayer. This time focusing on the world and train by syncing train movement and controls and by syncing the world seed and generated structures. Here is a video showcasing being able to control the train from a client and some screenshots showcasing the host view (top) and the client view (bottom). There are still some things that are not synced fully. Maybe you can spot some differences
Fifth devlog of the game! This time i went all over the place working on stuff that doesn’t contain a lot of multiplayer. Why? Because I was waiting for my order of 16GB of RAM to arrive so my laptop doesn’t crash with two games running at once. Now its running smoothly and I can continue working on multiplayer! Here are the showcased changes: -Started work on a new starting location -Added a train ride intro -Added train sounds Not showcased changes: -Started work on syncing the station, hauling jobs and rail-car spawning/despawning for multiplayer
Sixth devlog of the game! Continued work on multiplayer - this time syncing everything in the station. Showcased changes: -Synced hauling job monitors (the 3 at the entrance) -Synced railcar spawning and despawning -Synced shops -Synced sell station -Synced unlock station Possibly unnoticeable changes: -Improved player movement sync -Improved locomotive control syncing Here is a video showcasing the changes. Right is client, left is host. Next up i plan on syncing enemies.
Seventh devlog of the game! Continuing heavy work on multiplayer - now touching up the few last things left to sync between host & client. I believe next devlog or two the game will be fully converted to work in multiplayer! List of changes: -Synced health script (Used in various areas beyond player & enemy health. For example: tender’s fuel and water level) -Synced water tower -Synced train upgrades -Synced foliage spawning -Synced items - health kit & backpack expander -Implemented a basic enemy sync Here is a video showcasing the water tower and the train upgrades. Left is client, right is host. Did not notice i went over the 10h mark… how fun.
Eighth devlog of the game! I finally finished syncing all of the games features/mechanics! Of course with the help of my friend we held the first multiplayer playtest of the game! It went about as expected - quite a few bugs… But it was still playable and I had fun. List Of Changes: -Added a starting shop -Fixed the blur that sometimes appeared on papers + improved paper visuals -Implemented Spectating -Synced Game Over -Synced Bucket Item -Synced Teleporter Item -Synced Sentry -Synced Railcar Derailing -Improved enemy health sync. (Had an issue in the playtest where the client thought the enemy was dead, but it was still alive for the host) -Synced explosive tankcar -Other tiny stuff GIF of a funny moment from the playtest. Plus the new starting shop and some bugs from the playtest.
Ninth devlog of the game! This devlog is mostly three things. Firstly, I finally added new enemies! Their descriptions: Healer: heals nearby enemies by tethering itself to the target. I plan on adding a passive effect that reduces the targets incoming damage. The Uppercuter: punches melee enemies forward to their target. To accommodate this I lowered the melee enemy walk speed. Secondly, I improved the inventory UI to highlight the selected item more by adding a scaling animation and a cyan tint. Finally, I added a display boards on all railcars that show the health of the railcar and the cargo. Other changes: -Fixed some multiplayer bugs Here is a video showcasing the inventory and enemies as well as a picture of the display board.
Tenth devlog of the game! I decided to start making an idea I had from the beginning of the project. The idea is that you have to escort a minecart payload through a randomly generated town in return for bonus money. Its basically the main game but around a smaller train which allows for a higher number enemies all going for one target and more interesting generation. So far I made the very basics. The track gen (took the most of time) where it can also go over the main train tracks and the payload prototype that moves if a player is nearby. If an enemy attacks it, it gets stunned not being able to move for a second or so. I also improved the new enemy AI around how it handles enemy-enemy targeting so two uppercutters dont go to the same enemy. I also fixed a spline mesh bug that was in the game since the beginning of the project. Here is a video showcasing the payload plus some pictures of interesting bugs.
Eleventh devlog of the game! I continued work on the payload escort minigame. List of changes: -Added basic structures to the generation. (The goal is a western mining town) -Added the ability for props to spawn on terrain. -Added enemy wave spawning specific to the payload. (enemies use the structures as spawn points) -Added a crane rail car that picks up the payload to be delivered to the station. (Probably a new model for it next devlog) -Added a new station section where you will be able to pick special additional jobs with a starting fee but if successful a returning pay. -Improved how the uppercutter enemy calculates the trajectory. -Improved movement for both player and enemies -Other tiny changes Still have some issues with the terrain where the track sinks into the ground and the surrounding terrain around structures looking odd. Dont know if ill ever fully fix it. Here is a video showcasing the current state of the payload escort and the prototype special job monitor. I didnt fully play through the escort before recording the video and I was pretty surprised how fun it actually felt and its not even finished. Hope others will think its fun to.
Twelfth devlog of the game! As I am getting closer and closer to the first ship I decided to make a lobby system so that multiple sessions can be going at once rather than the forced one session for playtesting. Before that I also made a new crane railcar model that also visually lifts the payload to be loaded on to the train for the payload minigame. Here are two videos for each major change plus a image of how the crane car looks on the job preview.
Thirteenth devlog of the game! I added/changed various stuff so here is a list of changes: -Added a new weapon - Flamethrower! -Added a debuff system! Currently only has the fire debuff from the flamethrower addition. -Added Xray vision to enemies that are dealing damage. (This mostly so that the player can quickly locate the cause of damage to the train) -Changed how code handles structure spawning. (doesn’t change anything gameplay wise) -Other small improvements/fixes I was also experimenting with better movement around the train, but dont have anything to show for it currently. Here are two videos showcasing the Flamethrower and the Xray!...
|
1792504468.309998
|
1793109268.309998
|
|
67309
|
PyFi InstroPad(1) by @Choc0latesauce | Stardance
|
Choc0latesauce
|
0
|
11.61
|
0
|
[]
|
[{"post_id": 80799, "ts": "202 [{"post_id": 80799, "ts": "2026-10-18T20:24:26Z", "hours": 1.16, "text": "Finished the final version of the PCB, moved the diodes so they don’t interfere with the keycaps as well as changing the PCB colour and learning how to make silkscreen art (A picture of Robyn, a link to my github and the Hack Club logo). Time to finish the case and do the final renders next!"}, {"post_id": 80192, "ts": "2026-10-16T17:15:50Z", "hours": 2.8672, "text": "After finishing the basic design for the PCB I have moved onto designing the case, this is my first time going solo when using CAD software, so I had to teach myself a lot of the tools. So far, the features of the case are: dual part design allowing for easy disassembly but easy manufacturing, a floating PCB mount that holds the pcb above the base of the case in order to give a springy feel as well as, easy assembly and adjustability for manufacturing tolerances as well as, providing the facilities to under mount components. Finally, I have introduced cutouts for the switches, display, rotary encoder and USB port, allowing the user to actually use InstroPad(1). Moving onto final case and pcb refinements next, looking forward to making this for real!"}, {"post_id": 78768, "ts": "2026-10-11T15:28:17Z", "hours": 5.4086, "text": "Finished the PCB design for InstroPad(1), as I’m working with hardware limitations due to the approved parts I had to learn interesting techniques in order to maximize InstroPad(1)’s capabilities, including learning switch matrixing. I’ve made the PCB deliberately too wide as this will assist with mounting using the M3 screw holes in such a way that the position of the PCB can be adjusted to accommodate for manufacturing tolerances. I’ve already started on the case design and can’t wait to share that next! P.S. The seeduino isn’t set that back now, this is an old screenshot lol."}, {"post_id": 76430, "ts": "2026-10-03T14:31:50Z", "hours": 2.175, "text": "Been following the hackpad tutorial and I think it’s given me a basic understanding of how to use the tools at my disposal, moving onto the proper design stage now!"}]...
|
Title: PyFi InstroPad(1) by @Choc0latesauce | Star Title: PyFi InstroPad(1) by @Choc0latesauce | Stardance
Devlogs:
Been following the hackpad tutorial and I think it’s given me a basic understanding of how to use the tools at my disposal, moving onto the proper design stage now!
Finished the PCB design for InstroPad(1), as I’m working with hardware limitations due to the approved parts I had to learn interesting techniques in order to maximize InstroPad(1)’s capabilities, including learning switch matrixing. I’ve made the PCB deliberately too wide as this will assist with mounting using the M3 screw holes in such a way that the position of the PCB can be adjusted to accommodate for manufacturing tolerances. I’ve already started on the case design and can’t wait to share that next! P.S. The seeduino isn’t set that back now, this is an old screenshot lol.
After finishing the basic design for the PCB I have moved onto designing the case, this is my first time going solo when using CAD software, so I had to teach myself a lot of the tools. So far, the features of the case are: dual part design allowing for easy disassembly but easy manufacturing, a floating PCB mount that holds the pcb above the base of the case in order to give a springy feel as well as, easy assembly and adjustability for manufacturing tolerances as well as, providing the facilities to under mount components. Finally, I have introduced cutouts for the switches, display, rotary encoder and USB port, allowing the user to actually use InstroPad(1). Moving onto final case and pcb refinements next, looking forward to making this for real!
Finished the final version of the PCB, moved the diodes so they don’t interfere with the keycaps as well as changing the PCB colour and learning how to make silkscreen art (A picture of Robyn, a link to my github and the Hack Club logo). Time to finish the case and do the final renders next!...
|
1792464785.0923226
|
1793069585.0923226
|
|
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!!...
|
1792846081.7022202
|
1792932481.7022202
|
|
23703
|
Corranzo by @joedesmos | Stardance
|
joedesmos
|
2
|
337.47
|
326
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-01T18:08:59Z", "hours": 19.0, "multiplier": 16.55, "payout": 217, "blessing": "neutral", "text": "NEW FEATURES ADDED - Added OMR so that you can just upload a pdf and it will automatically made the midi and mxl/xml file for you! This saves lots of time and allows you to just upload any sheet music you want without the worries of extra steps. Also added a tutorial of how to use the app as well as simplified some the the UI. Lastly, overall just improved the user experience and made things easier to use as well as fixed some bugs. This is Ship #2 as the first ship was more of an MVP while this is a working product now. Website: Corranzo.com", "repo": "https://github.com/joedesmos-co/Corranzo", "demo": "https://corranzo.com"}, {"ship_num": 2, "ts": "2026-06-24T16:42:18Z", "hours": 7.0, "multiplier": 15.92, "payout": 109, "blessing": "neutral", "text": "I made a music app called Corranzo. You can import YOUR OWN sheet music which you can annotate on. This all saves locally to the browser so you can comeback anytime. But, what makes Corranzo be different and stand out is its wait for you mode. You can plug in a midi keyboard or just use the mic on your laptop, phone, etc. and it will help you to learn the piece you want to learn by waiting for you to play the next note(s) in the piece. To activate this you need to upload the sheet music, the mxl/xml, and a midi file of the piece. Along with this, there is also playback mode where you can hear and see your piece in action. Thank you for testing my project!!", "repo": "https://github.com/joedesmos-co/Corranzo", "demo": "https://corranzo.com"}]...
|
[{"post_id": 80805, "ts": "202 [{"post_id": 80805, "ts": "2026-10-18T20:43:23Z", "hours": 48.3214, "text": "working on fixing bugs"}, {"post_id": 78523, "ts": "2026-10-11T02:44:14Z", "hours": 12.3525, "text": "continued to work on a NEW FEATURE super super cool i will talk all about it in the next log. the pictures are kinda boring my bad. idk what else to put"}, {"post_id": 78154, "ts": "2026-10-09T20:12:04Z", "hours": 22.7408, "text": "more behind the scenes stuff. wait for you mode was kinda messed up so fixing that"}, {"post_id": 77556, "ts": "2026-10-07T12:58:16Z", "hours": 23.2825, "text": "new ui fixes and other behind the scenes stuff"}, {"post_id": 75015, "ts": "2026-09-28T21:16:51Z", "hours": 9.2719, "text": "New ui finally done after forever"}, {"post_id": 72161, "ts": "2026-09-22T10:50:41Z", "hours": 20.0517, "text": "More UI stuff and just waiting for the ai to finish training it takes a while"}, {"post_id": 69374, "ts": "2026-09-16T22:31:30Z", "hours": 49.67, "text": "I have been training the ai for 50 hours. it is still not done. I think I need to optimize this thing more lol also working on ui updates and making it look nice while the ai is cooking :)"}, {"post_id": 63373, "ts": "2026-09-07T04:59:38Z", "hours": 9.6072, "text": "Training the AI on 50 ish thousand different scores. Currently making a database of all the scores and turning them into training data then when it is done (soon as you can see in the pic) I will use the dataset to train the AI"}, {"post_id": 61041, "ts": "2026-09-03T19:04:35Z", "hours": 74.1122, "text": "It has been a while but I have been working a long time. So basically I have continued to work on omr and have also worked on some ui things. Omr has now gotta a full ai that looks at scores to generate the practice scene. Also, the visual practice area is now transformed to match the score exactly instead of guessing where the notes are."}, {"post_id": 36674, "ts": "2026-07-28T21:44:52Z", "hours": 10.7281, "text": "MAJOR OMR UPGRADES and a lot of bug fixes and also some ui / ux improvements and just made the app look a lil nicer. Also I realized that I never said what OMR was so basically OMR is short for optical music recognition. So in Corranzo you need to upload a pdf, midi file, and mxl / xml file. The mxl / xml file and midi allow the song to be heard and also the scorefollow and the wait for you mode to work. What OMR does is it allows you to just have a pdf and the OMR will recognize symbols, notation, measures, beats, etc. and make the mxl / xml and midi file for you so all you need is a pdf. It is very challenging to get right and a lot of times it is plain wrong so right now what ive just been doing for around 20 - 30 ish hours of this time is just improving the OMR because its kind of what makes this product real."}, {"post_id": 30319, "ts": "2026-07-17T19:33:59Z", "hours": 10.2422, "text": "I am working on improving OMR and Mic quality I have successfully improved mic quality for checking if you play the correct notes but OMR is proving to be very difficult."}, {"post_id": 24457, "ts": "2026-07-08T01:08:29Z", "hours": 3.2911, "text": "Improved Chord recognition and issues with playing more than 1 note at a time using mic detection."}, {"post_id": 23135, "ts": "2026-07-05T22:15:29Z", "hours": 0.8031, "text": "Added a practice library that includes some songs you can play."}, {"post_id": 23099, "ts": "2026-07-05T20:53:43Z", "hours": 16.9911, "text": "Added guitar to the app. So you can now practice guitar and also practice piano. Also added a visual practice mode now so you can see the notes closer up and it just makes it a lot easier to practice. Also improved the omr and the mic detection for wait for you mode."}, {"post_id": 20143, "ts": "2026-07-01T18:05:59Z", "hours": 15.6933, "text": "NEW FEATURES - Added OMR so that you can just upload a pdf and it will automatically made the midi and mxl/xml file for you! This saves lots of time and allows you to just upload any sheet music you want without the worries of extra steps. Also added a tutorial of how to use the app as well as simplified some the the UI. Lastly, overall just improved the user experience and made things easier to use as well as fixed some bugs. Website: Corranzo.com"}, {"post_id": 16346, "ts": "2026-06-26T16:23:32Z", "hours": 3.0986, "text": "Majorly updated the ui and also improved some of the engines and added a debug feature. Along with this your music if it is rotated or weridly shaped / moved it will auto rotate and fix itself."}, {"post_id": 15138, "ts": "2026-06-24T16:25:08Z", "hours": 6.8275, "text": "I released Corranzo v0.1 as it is now ready for public beta. I have been working on polishing the app and making sure that the score follow works well as before it was a little inaccurate. I would really appreciate people testing it and giving me feedback thank you! Website: https://corranzo.com"}]...
|
Title: Corranzo by @joedesmos | Stardance
Devlogs Title: Corranzo by @joedesmos | Stardance
Devlogs:
I released Corranzo v0.1 as it is now ready for public beta. I have been working on polishing the app and making sure that the score follow works well as before it was a little inaccurate. I would really appreciate people testing it and giving me feedback thank you! Website: https://corranzo.com
Majorly updated the ui and also improved some of the engines and added a debug feature. Along with this your music if it is rotated or weridly shaped / moved it will auto rotate and fix itself.
NEW FEATURES - Added OMR so that you can just upload a pdf and it will automatically made the midi and mxl/xml file for you! This saves lots of time and allows you to just upload any sheet music you want without the worries of extra steps. Also added a tutorial of how to use the app as well as simplified some the the UI. Lastly, overall just improved the user experience and made things easier to use as well as fixed some bugs. Website: Corranzo.com
Added guitar to the app. So you can now practice guitar and also practice piano. Also added a visual practice mode now so you can see the notes closer up and it just makes it a lot easier to practice. Also improved the omr and the mic detection for wait for you mode.
Added a practice library that includes some songs you can play.
Improved Chord recognition and issues with playing more than 1 note at a time using mic detection.
I am working on improving OMR and Mic quality I have successfully improved mic quality for checking if you play the correct notes but OMR is proving to be very difficult.
MAJOR OMR UPGRADES and a lot of bug fixes and also some ui / ux improvements and just made the app look a lil nicer. Also I realized that I never said what OMR was so basically OMR is short for optical music recognition. So in Corranzo you need to upload a pdf, midi file, and mxl / xml file. The mxl / xml file and midi allow the song to be heard and also the scorefollow and the wait for you mode to work. What OMR does is it allows you to just have a pdf and the OMR will recognize symbols, notation, measures, beats, etc. and make the mxl / xml and midi file for you so all you need is a pdf. It is very challenging to get right and a lot of times it is plain wrong so right now what ive just been doing for around 20 - 30 ish hours of this time is just improving the OMR because its kind of what makes this product real.
It has been a while but I have been working a long time. So basically I have continued to work on omr and have also worked on some ui things. Omr has now gotta a full ai that looks at scores to generate the practice scene. Also, the visual practice area is now transformed to match the score exactly instead of guessing where the notes are.
Training the AI on 50 ish thousand different scores. Currently making a database of all the scores and turning them into training data then when it is done (soon as you can see in the pic) I will use the dataset to train the AI
I have been training the ai for 50 hours. it is still not done. I think I need to optimize this thing more lol also working on ui updates and making it look nice while the ai is cooking :)
More UI stuff and just waiting for the ai to finish training it takes a while
New ui finally done after forever
new ui fixes and other behind the scenes stuff
more behind the scenes stuff. wait for you mode was kinda messed up so fixing that
continued to work on a NEW FEATURE super super cool i will talk all about it in the next log. the pictures are kinda boring my bad. idk what else to put
working on fixing bugs
Ships:
I made a music app called Corranzo. You can import YOUR OWN sheet music which you can annotate on. This all saves locally to the browser so you can comeback anytime. But, what makes Corranzo be different and stand out is its wait for you mode. You can plug in a midi keyboard or just use the mic on your laptop, phone, etc. and it will help you to learn the piece you want to learn by waiting for you to play the next note(s) in the piece. To activate this you need to upload the sheet music, the mxl/xml, and a midi file of the piece. Along with this, there is also playback mode where you can hear and see your piece in action. Thank you for testing my project!!
NEW FEATURES ADDED - Added OMR so that you can just upload a pdf and it will automatically made the midi and mxl/xml file for you! This saves lots of time and allows you to just upload any sheet music you want without the worries of extra steps. Also added a tutorial of how to use the app as well as simplified some the the UI. Lastly, overall just improved the user experience and made things easier to use as well as fixed some bugs. This is Ship #2 as the first ship was more of an MVP while this is a working product now. Website: Corranzo.com...
|
1792810390.4009109
|
1792896790.4009109
|
|
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....
|
1792648449.6441333
|
1792734849.6441333
|
|
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
|
|
54394
|
Dynamic New Tab Page by @Harpaavan108 | Stardance
|
Harpaavan108
|
1
|
10.35
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-13T04:07:00Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Dynamic New Tab Page In this project, I am making a dynamic new tab page, which will change based on the time of the day. Currently, I have made a new tab page with a title text and 4 shortcuts that I frequently use. I have also added an animated gradient background. Depending on the time of day, the background and text color will change color. View the project here: https://harpaavan-s.github.io/new-tab/ Tech Stack Built with: HTML, CSS, JS HTML was used to build the basic structure of the page, such as writing the title text and shortcuts. CSS was used to style the page, such as positioning the text and shortcuts, as well as animating the gradient background to loop. I also created the classes for the different times of the day. JS was used to detect the time of day and add the appropriate class to the body of the document. Features In the morning from 6 - 10 AM, the gradient will be a sunset color and the text will be light red. In the afternoon from 11 AM - 4 PM, the gradient will be a sky blue color and the text will be dark blue. In the evening from 5 - 9 PM, the gradient will be a dark purple color and the text will be light purple. During the night from 10 PM - 5 AM, the gradient will be navy and the text will be light gray. I will be adding more features to this later in the future, however this what I have for the initial ship. Acknowledgements There is no AI usage in this project. Enjoy!!!", "repo": "https://github.com/Harpaavan-S/new-tab", "demo": "https://harpaavan-s.github.io/new-tab/"}]...
|
[{"post_id": 80811, "ts": "202 [{"post_id": 80811, "ts": "2026-10-18T21:02:35Z", "hours": 3.1964, "text": "Devlog #5 It has been a while since I posted my last devlog, but I have come back with a fresh vision of what I want to make. So I wanted to incorporate Three.js into my project, but I do not now a lot of Three.js. However, I discovered that I could make the models in Blender and import them from there into Three.js, which is a lot easier. So I have started with modeling in Blender, and I also figured out how to use Lapse. Current Progress I wanted to go with a fantasy theme for my new tab page, but I also wanted it to be isometric, because I really like how isometric models look, so I found a timelapse video of someone making one, and I am trying to follow that, but it IS HARD, like I am watching the video and half speed just to go along with the video. But I really like the model, so I will push through and try to make. It is based off of the Hogwarts castle, so I am trying to make that. Next Steps The next couple of devlogs will just be me making the castle model. I will first start with the outline, and then move onto shading. I am super excited about how this will turn out, but I hope I can finish it before the deadline. Below is an image of the starting outline"}, {"post_id": 69974, "ts": "2026-09-18T04:51:38Z", "hours": 1.1506, "text": "Devlog #4 So I tried to ship my project, but I kept getting rejected on the basis that it is AI generated, when I have used 0 AI. I have no idea where they are finding AI use, but I decided to disconnect it from the mission because I was not going to waste my time just for 60 stardust. So a lot of time was just spent tinkering around with code seeing if they would accept it, but no luck, so I’m just going to continue on, add some new features, and hope that that gets accepted. Current Progress There was not much progress during this block, it was mainly just adjusting code or typing small lines. I got feedback saying that the CSS looked AI generated, so I should change that. But as I started to, I just felt so sad to see the progress I made go away, so I decided to just keep working on this and continue from there. I added one more link as a shortcut and that is for gmail. Next Steps Now its time to really take this project to the max. One thing that I really want to tinker around with is Three.js, and adding interactive 3D models into my webpage. It doesn’t even have to be interactive, it just has to have a 3D effect. I am thinking a space scene. So that is the next goal. I am still thinking of some ideas. But I am done with the mission, and I didn’t use any AI, so I am just going to continue with this."}, {"post_id": 67076, "ts": "2026-09-13T03:53:18Z", "hours": 2.7406, "text": "Devlog #3 I am ready to ship my first version of this project. I have added an animated gradient background to the webpage. I have also added the dynamic features. So the gradient color and the text color will change color based on the time of day. I had to use just a bit of JS for this, but it was easy to figure out as JS has the ability to pull the time by itself. Current Progress I first worked on making the looping gradient. I wanted it to be at -31 degrees, but the looping was not working. I tried a lot of things, like increasing the size of the background, the keyframes of the animation, the width of the keyframes, and reversing the gradient colors. But nothing worked, so I decided to keep it just going horizontally as I had done that before and was able to quickly make. I then moved to JS, in which I made a const for the hour. I discovered that JS can automatically pull the time of day from your device, so that was super convenient. I am actually learning JS in school, so I was able to add classes to the body depending on the time of day using if and else if statements. So it wasn’t too hard, and I got a really nice result out of it. Next Steps I am planning to ship next just so I can complete this mission. I already took way too many hours (only for 60 stardust). But I will for sure keep adding to this project. I want to connect it to my school schedule so that I can track my classes. I also want to include some productivity widgets, so I can remember things and get some stuff done in my life. But I will ship for now and continue working on it later. Below you can see pictures of all the gradient backgrounds. Challenge: try to guess what time of day they are each for."}, {"post_id": 66746, "ts": "2026-09-12T17:15:12Z", "hours": 1.8125, "text": "Devlog #2 During this block, I spent some time styling the website in CSS. I wanted it to start looking a bit more like a new tab page before I started in JS. I positioned my text in the middle, and made my shortcuts look nicer. Basically, it was a major styling block. Current Progress For now, I decided to keep only a title and some shortcuts just to keep the design simple. I want to then move onto JS to implement a dynamic feature into my website which will change with the time. So the goal is a minimalist style for now. The styling overall was not too hard. I had already arranged by classes nicely in HTML, so I had to move them around. I finally learned the secrets of the display: flex; rule, and how to use it to center things properly in CSS. So I got that working and then styled my icons. I applied some neat hover effects to them. At first I was planning to have a label text to label the shortcuts, but I already knew what they all were, so I decided to keep the text out, and if I wanted to I could add it again later. Next Steps The next thing that I want to do is make the background a moving gradient, but not too fast or bright, because that will be distracting. The main thing I want to add is a dynamic aspect. So I want to make it so that the background color will change with the time of day. Pretty basic, but that’s all I want to do before the inital ship. Below you can see a image of the page after styling."}, {"post_id": 65998, "ts": "2026-09-11T14:45:16Z", "hours": 1.1072, "text": "Devlog #1 I am officially starting my next project! In this project, I am planning to make a dynamic page that will show up when I open a new tab, replacing the regular GOOGLE one. For the first iteration, I am planning on making a simple page that has a large greeting text on it, but it’s background color will change depending on the time of day. I will probably change some stuff after that, but that’s the plan right now for my first ship so I can complete the mission. Current Progress So I started with the bare minimum. Because the site for now will not have much content on it, the HTML was pretty simple. I added a h1 tag with my title in it, and I decided that I will add buttons as shortcuts for some links that I use everyday. So I just added some icons that are linked to the sites. I also started with some super basic CSS, like just reseting margins, and starting to change the background color. It looks kinda bad right now, but I will make it look better. Next Steps My next steps are just to style it so it actually looks like a new tab page. I am not planning to add a search bar in there, because I don’t use the middle search bar, I only use the one on top, so I don’t want to take up unneccessary space. I want to finish styling in CSS before moving onto JS to set the dynamic changes. Below is a image of the very rough draft with the icons, labels, and title. (It looks bad right now, but it will look better in the next devlog.)"}]...
|
Title: Dynamic New Tab Page by @Harpaavan108 | Sta Title: Dynamic New Tab Page by @Harpaavan108 | Stardance
Devlogs:
Devlog #1 I am officially starting my next project! In this project, I am planning to make a dynamic page that will show up when I open a new tab, replacing the regular GOOGLE one. For the first iteration, I am planning on making a simple page that has a large greeting text on it, but it’s background color will change depending on the time of day. I will probably change some stuff after that, but that’s the plan right now for my first ship so I can complete the mission. Current Progress So I started with the bare minimum. Because the site for now will not have much content on it, the HTML was pretty simple. I added a h1 tag with my title in it, and I decided that I will add buttons as shortcuts for some links that I use everyday. So I just added some icons that are linked to the sites. I also started with some super basic CSS, like just reseting margins, and starting to change the background color. It looks kinda bad right now, but I will make it look better. Next Steps My next steps are just to style it so it actually looks like a new tab page. I am not planning to add a search bar in there, because I don’t use the middle search bar, I only use the one on top, so I don’t want to take up unneccessary space. I want to finish styling in CSS before moving onto JS to set the dynamic changes. Below is a image of the very rough draft with the icons, labels, and title. (It looks bad right now, but it will look better in the next devlog.)
Devlog #2 During this block, I spent some time styling the website in CSS. I wanted it to start looking a bit more like a new tab page before I started in JS. I positioned my text in the middle, and made my shortcuts look nicer. Basically, it was a major styling block. Current Progress For now, I decided to keep only a title and some shortcuts just to keep the design simple. I want to then move onto JS to implement a dynamic feature into my website which will change with the time. So the goal is a minimalist style for now. The styling overall was not too hard. I had already arranged by classes nicely in HTML, so I had to move them around. I finally learned the secrets of the display: flex; rule, and how to use it to center things properly in CSS. So I got that working and then styled my icons. I applied some neat hover effects to them. At first I was planning to have a label text to label the shortcuts, but I already knew what they all were, so I decided to keep the text out, and if I wanted to I could add it again later. Next Steps The next thing that I want to do is make the background a moving gradient, but not too fast or bright, because that will be distracting. The main thing I want to add is a dynamic aspect. So I want to make it so that the background color will change with the time of day. Pretty basic, but that’s all I want to do before the inital ship. Below you can see a image of the page after styling.
Devlog #3 I am ready to ship my first version of this project. I have added an animated gradient background to the webpage. I have also added the dynamic features. So the gradient color and the text color will change color based on the time of day. I had to use just a bit of JS for this, but it was easy to figure out as JS has the ability to pull the time by itself. Current Progress I first worked on making the looping gradient. I wanted it to be at -31 degrees, but the looping was not working. I tried a lot of things, like increasing the size of the background, the keyframes of the animation, the width of the keyframes, and reversing the gradient colors. But nothing worked, so I decided to keep it just going horizontally as I had done that before and was able to quickly make. I then moved to JS, in which I made a const for the hour. I discovered that JS can automatically pull the time of day from your device, so that was super convenient. I am actually learning JS in school, so I was able to add classes to the body depending on the time of day using if and else if statements. So it wasn’t too hard, and I got a really nice result out of it. Next Steps I am planning to ship next just so I can complete this mission. I already took way too many hours (only for 60 stardust). But I will for sure keep adding to this project. I want to connect it to my school schedule so that I can track my classes. I also want to include some productivity widgets, so I can remember things and get some stuff done in my life. But I will ship for now and continue working on it later. Below you can see pictures of all the gradient backgrounds. Challenge: try to guess what time of day they are each for.
Devlog #4 So I tried to ship my project, but I kept getting rejected on the basis that it is AI generated, when I have used 0 AI. I have no idea where they are finding AI use, but I decided to disconnect it from the mission because I was not going to waste my time just for 60 stardust. So a lot of time was just spent tinkering around with code seeing if they would accept it, but no luck, so I’m just going to continue on, add some new features, and hope that that gets accepted. Current Progress There was not much progress during this block, it was mainly just adjusting code or typing small lines. I got feedback saying that the CSS looked AI generated, so I should change that. But as I started to, I just felt so sad to see the progress I made go away, so I decided to just keep working on this and continue from there. I added one more link as a shortcut and that is for gmail. Next Steps Now its time to really take this project to the max. One thing that I really want to tinker around with is Three.js, and adding interactive 3D models into my webpage. It doesn’t even have to be interactive, it just has to have a 3D effect. I am thinking a space scene. So that is the next goal. I am still thinking of some ideas. But I am done with the mission, and I didn’t use any AI, so I am just going to continue with this.
Devlog #5 It has been a while since I posted my last devlog, but I have come back with a fresh vision of what I want to make. So I wanted to incorporate Three.js into my project, but I do not now a lot of Three.js. However, I discovered that I could make the models in Blender and import them from there into Three.js, which is a lot easier. So I have started with modeling in Blender, and I also figured out how to use Lapse. Current Progress I wanted to go with a fantasy theme for my new tab page, but I also wanted it to be isometric, because I really like how isometric models look, so I found a timelapse video of someone making one, and I am trying to follow that, but it IS HARD, like I am watching the video and half speed just to go along with the video. But I really like the model, so I will push through and try to make. It is based off of the Hogwarts castle, so I am trying to make that. Next Steps The next couple of devlogs will just be me making the castle model. I will first start with the outline, and then move onto shading. I am super excited about how this will turn out, but I hope I can finish it before the deadline. Below is an image of the starting outline
Ships:
Dynamic New Tab Page In this project, I am making a dynamic new tab page, which will change based on the time of the day. Currently, I have made a new tab page with a title text and 4 shortcuts that I frequently use. I have also added an animated gradient background. Depending on the time of day, the background and text color will change color. View the project here: https://harpaavan-s.github.io/new-tab/ Tech Stack Built with: HTML, CSS, JS HTML was used to build the basic structure of the page, such as writing the title text and shortcuts. CSS was used to style the page, such as positioning the text and shortcuts, as well as animating the gradient background to loop. I also created the classes for the different times of the day. JS was used to detect the time of day and add the appropriate class to the body of the document. Features In the morning from 6 - 10 AM, the gradient will be a sunset color and the text will be light red. In the afternoon from 11 AM - 4 PM, the gradient will be a sky blue color and the text will be dark blue. In the evening from 5 - 9 PM, the gradient will be a dark purple color and the text will be light purple. During the night from 10 PM - 5 AM, the gradient will be navy and the text will be light gray. I will be adding more features to this later in the future, however this what I have for the initial ship. Acknowledgements There is no AI usage in this project. Enjoy!!!...
|
1792856981.2255147
|
1792943381.2255147
|
|
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
|
|
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
|
|
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
|
|
70408
|
haunteds-site by @nic | Stardance
|
nic
|
0
|
1.65
|
0
|
[]
|
[{"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)...
|
1792360023.9663951
|
1792964823.9663951
|
|
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....
|
1792471923.2996798
|
1793076723.2996798
|
|
38881
|
Novel FMG Band for Prosthetics by @eshaanm | Stard Novel FMG Band for Prosthetics by @eshaanm | Stardance...
|
eshaanm
|
0
|
58.88
|
0
|
[]
|
[{"post_id": 80825, "ts": "202 [{"post_id": 80825, "ts": "2026-10-18T22:16:58Z", "hours": 2.3167, "text": "It has been a long time. i reached out to an FMG engineer and he reccomended that i have a quick release mechanism for the band. the issue is that everything was already on my band and since there was superglue it would not come off. that kindof sucker but i had to take everything off of that including the dowels and pcbs. I luckily had extra screws i could resuse. then i spent time cading a new version of the band that would allow the entire top half to hinge out. next we are going to reassemble the band again, build the rig, collect some data, train, and finally ship."}, {"post_id": 76465, "ts": "2026-10-03T16:39:16Z", "hours": 1.2167, "text": "Today was super nice because all the individual parts came together. i attached all the sensor PCBs onto the rigid band + carriages and then screwed on the main board. then i plugged in all the connectors and glued down the FSRs with some adhesive. looking great. next i do want to manage the wires a little better and make a bettery cover. after that we make the rig and the code and it should be ready to ship."}, {"post_id": 74725, "ts": "2026-09-28T02:22:09Z", "hours": 1.55, "text": "Today I worked on the rigid band V1. I printed out new carriages and assembled everything with the screws, nuts, carriages, and covers. I used super glue. Next I am going to attach all the PCBs and complete the wiring before moving on to code"}, {"post_id": 72884, "ts": "2026-09-23T22:43:09Z", "hours": 1.3314, "text": "Today was a productive day. I got the 5 smaller PCBs soldered and then I was able to add n the force sensitive resistors to all 9 PCBS (I had 10 and then lost one idk) and also added the JST connectors to all 9 PCBs."}, {"post_id": 72423, "ts": "2026-09-22T22:11:16Z", "hours": 0.6503, "text": "today i took one of my small PCBs, soldered on a forse sensitive resistor and a JST connector and tested the sensor and board. it worked perfectly even when being powered by the main control board. The sensor was fairly accurate and sensitive and pressing it fully it never went over 3.3v which was from the op amp i put in which means everything works great. next i have to assemble all 10 of the sensor boards and then integrate everything into the final band/rig."}, {"post_id": 70334, "ts": "2026-09-18T23:48:12Z", "hours": 1.5667, "text": "Today was a productive day. I was working on the PCB hardware. First I soldered on the battery connector and switch and tested the buck-boost converter. it was working which was awesome! mThen i soldered on some headers and hot-aired the FSR connectors. I also soldered on the teensy headers and some other stuff. All that is left on the board is to sodler on the screen which i forgot to do. In the future i will probably just be working on some paperwork so this may be last devlog in some time."}, {"post_id": 69420, "ts": "2026-09-17T00:46:54Z", "hours": 3.0503, "text": "Today was definetaly the biggest day this project has had so far. The PCBs arrived and I hand soldered them using a hot air gun for the first time I had ever done this. First i did the smaller boards. I did not have a stencil for those ones so I just put blobs of sodler paste and then placed the components and used the hot air gun. the hot air gun worked VERY well. Then i moved to the big board which was the scary part. for this one i had a good idea to organize the components though. I took one of my extra boards, put some double-sided tape on it and then placed the components ON there in the right places. then i just moved it to the final board which i applied solder apste on using a stencil. i then reflowed and everything clicking into place was vbery satisfying. I had one bridge on the buck boost but fixed that after and then i just cleaned up. Next i want to finish the rest of the small boards (5 left) and also test the boards to see if they even work."}, {"post_id": 65104, "ts": "2026-09-10T00:30:33Z", "hours": 0.4183, "text": "Today I started working on the code. not the one on the PCB (I finished that already) but the actual model that will predict the gestures. I spent most of the time setting up halftime with Arduino IDE which was annoying since I can’t use lapse for code. I mainly just worked on the tool stack I will need. I am thinking python + usb cable/sd card for data + raw values in a LDA classifier + back to the sd card + teensy runs the trained model ON THE DEVICE. I could also run the model on the computer and then send the predicted value back to the teensy with usb but idk if that is good. anyways next I think I will start on the building of everything while I wait and then move to code while I wait for my PCBs (they are in Hong Kong airport rn) then in October after star dance I will do the experiment and methodology."}, {"post_id": 63868, "ts": "2026-09-07T21:09:36Z", "hours": 1.9169, "text": "Today was pretty good because i worked on the CAD for the sliding adjustable rig. I spent most of the time on the stand for the main FMG band, and then put it in an assembly and tweaked a few alignment issues with the heights and sizes of the rests. Then i printed a portion of the rail and the rest so I can test the tolerances of the dovetail slide. those are printing right now but next I will probably print everything out and assemble the rig and also assembl;e the carriages on the fmg band. After all of this mechanical stuff all i have to do is polish the methodology and the code while i wait for the PCBs to arrive (they will take two weeks minimum so its going to be tight around the end)."}, {"post_id": 62477, "ts": "2026-09-05T20:44:08Z", "hours": 2.0672, "text": "it has been some time since my last devlog since school just started and all my PCBs and components are still shipping from china. I thought i would try to finish some of the other work while I wait in order to make it easy and quick once the baords get here. Today i wanted to work on the RIG that will hold the band aw sell as two adjustable rests for the arm. Ofcourse you can use the band without any of this but since this is a research experiment I want to remove as many variables as possible and keeping it in this way locked in one position does that and also makes it easier to test on peple and put it on. Most likelyfinal version will use IMU to correct for limb position and wont need this bulky rig but we will see. Im thinking of keeping the rig on a piece of wood and usinug a dovetail to slide around the FMg rest and arm rests. i modelled two versions. I still need to work on the FMG rest which has to be adjustable up and down but yeah i will try to get that built soon and also finish programming everything and the methodology so i am ready"}, {"post_id": 58470, "ts": "2026-08-30T21:46:01Z", "hours": 0.7328, "text": "I added the heat set inserts to the 3d print, soldered the headers on the teensy, ordered both the PCB and it’s components (will take 1 - 2 weeks), and 3d printed the carriage section of the captive leadscrew assembly"}, {"post_id": 57671, "ts": "2026-08-29T21:53:09Z", "hours": 1.1489, "text": "today I finished tweaking the PCB then I tried ordering the PCB and LCSC components. I was trying to do this thing where you combine orders to save on shipping, so I had to set the JLC PCB order address to the LCSC warehouse, and then I emailed LCSC and asked to combine my orders since I did not see the option on the LCSC checkout. I will hear back from them soon hopefully so then everything will come so I can star building. also I printed out the 3d printed parts and also got all my other supplied from amazon. I am a bit worried though because one jlcpcb order I cancelled and I do not see the refund on my HCB account"}, {"post_id": 57031, "ts": "2026-08-29T03:19:47Z", "hours": 1.1667, "text": "What i worked on today was I mainly was just uploading my reciepts for HCB then I had to go through the schematic and check all the circuits to make sure it was good for printing. I am glad I did because i found multiple mistakes with the SD card, IMU, and buck/boost. I then had to add some more resistors so i had to figure out how to reroute everything. i finished i think but it is still a mess so i can definately work on it for one more day before ordering."}, {"post_id": 56335, "ts": "2026-08-28T02:01:21Z", "hours": 1.6, "text": "today I got my grant approved which was awesome. I also updated my BOM to buy everything from amazon because it was easier than micro center for me. then I ordered the amazon and adafruit parts which is like 90% of everything. I was going to order PCB until I decided to check out my buck-boost circuit and realized it was completely wrong. so I fixed that. I think I will order the PCBs in a few days after double checking EVERYTHING."}, {"post_id": 55327, "ts": "2026-08-27T02:14:40Z", "hours": 1.9667, "text": "so basicly what I have been doing for now is that I already sent out the project for funding review, but I thought while I wait I might make some small upgrades to the PCB. first I swapped out the through-hole pads for actual connectors (JST-SH?) which will make it much easier to connect the sensor boards. then I spent the rest of the time working on the PCB tracing I think I optimized it a lot more. next I have to double check all the PCB components and routing and then I have to prepare myself for my next steps when I get funding"}, {"post_id": 54178, "ts": "2026-08-25T01:34:42Z", "hours": 2.3167, "text": "Today I got some good feedback before submitting that I should polish my CAD and my README in order to get into the highest tier. SO first I worked on fully polishing the CAD with fillets, assembly, mounting holes, made it wider so its easier to slip on, fixed the carriages. and then I went to fixing the readme and GitHub where I added some pretty sick black and white images of the band. lastly I updated my BOM to reflect my budget. now everything fits pretty well under 250 dollars which is perfect. I am also now using JST-GH 1.25mm 3 pin connectors from the sensor PCB to the main PCB. I am retread to submit! I will keep working on small cad and PCB changes while waiting :D"}, {"post_id": 54089, "ts": "2026-08-24T21:30:05Z", "hours": 2.3167, "text": "ok today was just a good recap day and I think I can submit my project for funding now. what I did was first import all the CAD, PCB, BOM, PNG files into the GitHub and organize them. then I went through a whole thing with my BOM because I forgot to add a lot of stuff like wire and a battery. the total is now like 215 but I think it should be fine because I will just pay the extra myself. I also wrote a pretty long README.md which I am pretty proud of. I am going to submit this now so fingers crossed for the review. I hope it takes less than a week since I dont have time :("}, {"post_id": 53514, "ts": "2026-08-24T02:59:59Z", "hours": 2.9333, "text": "Today was an ultimate lock in day. It says 3 hours, but I totally forgot about lapse for two hours before so in total I worked around 5 hours. My goals of course was to completely finish and submit project. I did not do that but I am definitely pretty close. Here is everything I did today. I switched back to the BMI270, I asked for help on my PCB from reddit, hack club slack, and on of my dad’s colleagues (meeting is tommorow), I moved to CAD where I made my walls thinner, fixed the holes for the PCB, added both PCB, the main frame, the screw, the dowels, the sensor PCB, and the nut carriage in an assembly view, I created a small carriage for the end of the screw so that the screw actually moves the PCB back and forth, then I moved to firmware and wrote a complete firmware that checks all the components (FSR, IMU, OLED, SD card) and has a loop which does the simple function for the board. Tommorow I just need to collect this all into a GitHub, do some last minute PCB/BOM checks and I can submit!"}, {"post_id": 53289, "ts": "2026-08-23T19:01:22Z", "hours": 2.8725, "text": "ok these lapses was from yesterday and the day before I forgot to log them but I got a lot done and also made one major change to the project. mainly I was finishing up the BOM again. I put if almost everything and it was fitting inside 200 dollars so I was excited. then I actually decided to check how much shipping and tariffs would cost and the total was over 150 just for the control pcbs. I realized in this budget automated assembly would not work so I decided I will assembly these by hand. most of the 603 components are super easy just the main issue Is that the IMU I am using has the pins under the chip which will be difficult for me to solder. anyways on LCSC I was able to get all the parts + lots of extra in case I mess up for under 30 dollars. Also I dont know if I covered this but Thursday I changed the IMU from he BMI270 to the LSM6DSVQTR which was very similar package, size, and pinout but also was economic for JLC PCBA. now that im thinking about it I can still use the BMI270 since I am assembling by hand. I might have to switch to BMI270 actually since it is a few dollars cheaper. so anyways for assembling by hand I have a hot air rework station already, so I have gotten a stencil from JLCPCB and also included solder paste, flux, and IPA on the BOM. I still need to kinda finish the BOM but for now it is good so I have to lock in and get everything ready to submit"}, {"post_id": 51387, "ts": "2026-08-21T01:52:13Z", "hours": 2.6194, "text": "ok today was a bit of a slowerish day ig. I started off with trying to fit all the pcbs into one board so It could be manufactured at once. but that didn’t work so well so I decided im going to print each separately. first I did the main control board. I am using JLC PCBA for this since I honestly can’t assemble this by hand… I mean, I COULD but it would be a risk and maybe same like 30 bucks. anyways next the 10 smaller PCBs were very simple so I am going to assemble by hand. I ordered the bare pcbs and am going to order the components separately on LCSC. supposedly once I order the stuff from JLC it will show up on my LCSC page and I will be able to combine the orders together so I dont have to pay extra shipping. we will see though.. anyways for the main control board it took forever because first the IMU couldn’t be made on an economic PCB so I had to completely replace that with some STM based one (which is actually more powerful and cheaper and economic). then I couldn’t figure out how to change my PCBA quantity from 5 to 2, after debugging for 30 minutes, I realized the issue was because of the COLOR OF THE BOARD. I had to change it to green and then everything worked ok. I attached the pictures of the cart and dang its not cheap. hopefully it fits under 200, I might try and get this on the highest tier though, idk if its fully that polished but we will see. next I have to lock in on firmware and also finish up a BOM with full cost + screws and 3d printing material. note that for LCSC cart im not paying for shipping so its more like 12 bucks. 12 (LCSC components) + 5 (10 PCBS) + 80 (JLC PCBA) + 2 (5 pcbs) + 20 (shipping + tariffs) + 25 (teensy) + 35 (FSRs) + 20 (screws + dowels?) = 199. prob more like 250 to be realistic so I might have to chip in myself.."}, {"post_id": 50553, "ts": "2026-08-19T19:12:53Z", "hours": 1.7, "text": "What I did was finish the PCB from yesterday with all the routing. I was right and the last 30% of the routing was the hardest so I had to shuffle things around and also disrupt some of the ground plane on the back. I think in general this pub looks pretty neat. I definitely could have optimized it more but it should work perfectly fine I think. I think next I should start getting the project ready for funding. I need a BOM for that and a GitHub. I also should recheck the schematic and some of the layout or something because I can’t afford any mistakes on the board."}, {"post_id": 50096, "ts": "2026-08-19T04:58:09Z", "hours": 1.4, "text": "idk why I worked on this at midnight but I just wanted to finish up the layout. then I got carried away fixing the silkscreen. then I got carried on routing. my layout was on point because the routing was so easy and quick. id say im around 70% done routing but the remaining 30% are the toughest ones so we will see tommorow. im going to sleep."}, {"post_id": 50016, "ts": "2026-08-19T01:21:12Z", "hours": 3.9667, "text": "today was a productive day, but I may have underestimated my previous goals. I basicly started as usual with a simple layout. I am def not that great at PCB layouts but I thought it looked OK, then I realized itwasnt very good for routing and once I started routing it was a mess. So then what I did was optimize the entire layout to make it super easy to route. at the end it was looking so fire and I thought this was the one so I started adding all the silkscreen stuff and logos and names. then I remembered that FSR signals are going to be analog and they need to be super precise. Turns out buck boost converters have crazy switching field which can mess with the FSR signals. My RC filters were also pretty away from the teensy pins. so I decided to fix that with V3. I first switched around the SD card and power management circuits so that the buck boost was as far away from mt FSRs as possible. then I moved up my RC filters (low pass). I think im pretty much finished the layout, there could be some minor neatness tweaks. there is also some dead space I need to fill. I do have to redo the silk screen though and route everything tommorow. so tommorow that’s the goal as well as maybe starting the BOM? (the pic in 3D is V4)"}, {"post_id": 49305, "ts": "2026-08-18T01:29:37Z", "hours": 3.3, "text": "Today what I did was completed the schematic for the sensor board. the FSR uses an op-amp which linearizes the single as well as a VD and other caps to filter out the noise. I still want to learn more about op-amps since rn I copied the basic schematic from a paper I read. After that I finished routing the traces and creating the PCB for the sensor board which was pretty easy since it was so small. I also started the board size/layout for the main control board. Again, the goal is finishing the pcbs tommorow (I will have full day tommorow so it should be possible). Another day with good progress!"}, {"post_id": 48603, "ts": "2026-08-17T02:02:10Z", "hours": 3.25, "text": "OK so basicly what I did today was finish the main sensor board. this is everything I added: a buck boost converter, RC (low-pass) circuits for FSR, decoupling capacitors, buttons and LEDs, debugging headers (I2C, Power, SPI, GPIO, UART), a voltage divider for battery, etc. So the next stuff to do is the sensor PCB that holds the FSR as well as a full BOM and GitHub. Good progress today!"}, {"post_id": 47861, "ts": "2026-08-16T03:00:30Z", "hours": 3.15, "text": "SO what I have been working on so far right now is that I started the CAD and kind of finished the basic V2 for the rigid frame. I also started working on the PCB. SO far I have added the Teensy 4.0 microcontroller, IMU, micro-sd card, and the OLED. I still need the power circuitry, FSR boards, and prob other stuff I am probably forgetting. Goal is to finish the PCB in the next few days so I can start with a full BOM (I want to submit for review in a week)"}, {"post_id": 47165, "ts": "2026-08-14T21:05:17Z", "hours": 5.8531, "text": "Basicly what I have worked on so far is just making a CAD design for the band. I printed the first one off with PLA and it was looking good but pretty bulky. after that I designed a new band which was looking a lot more slimmer and lighter and stylish. the issue with that I am thinking though is that a rigid band is going to introduce so much issues for our study which is why im thinking of second guessing my design. also I started a littler bit with the pcb."}, {"post_id": 34610, "ts": "2026-07-25T14:07:35Z", "hours": 0.5039, "text": "Today I worked on sketching out a few designs for the project and also the rough CAD and component selection so that I can start designing soon!"}]...
|
Title: Novel FMG Band for Prosthetics by @eshaanm Title: Novel FMG Band for Prosthetics by @eshaanm | Stardance
Devlogs:
Today I worked on sketching out a few designs for the project and also the rough CAD and component selection so that I can start designing soon!
Basicly what I have worked on so far is just making a CAD design for the band. I printed the first one off with PLA and it was looking good but pretty bulky. after that I designed a new band which was looking a lot more slimmer and lighter and stylish. the issue with that I am thinking though is that a rigid band is going to introduce so much issues for our study which is why im thinking of second guessing my design. also I started a littler bit with the pcb.
SO what I have been working on so far right now is that I started the CAD and kind of finished the basic V2 for the rigid frame. I also started working on the PCB. SO far I have added the Teensy 4.0 microcontroller, IMU, micro-sd card, and the OLED. I still need the power circuitry, FSR boards, and prob other stuff I am probably forgetting. Goal is to finish the PCB in the next few days so I can start with a full BOM (I want to submit for review in a week)
OK so basicly what I did today was finish the main sensor board. this is everything I added: a buck boost converter, RC (low-pass) circuits for FSR, decoupling capacitors, buttons and LEDs, debugging headers (I2C, Power, SPI, GPIO, UART), a voltage divider for battery, etc. So the next stuff to do is the sensor PCB that holds the FSR as well as a full BOM and GitHub. Good progress today!
Today what I did was completed the schematic for the sensor board. the FSR uses an op-amp which linearizes the single as well as a VD and other caps to filter out the noise. I still want to learn more about op-amps since rn I copied the basic schematic from a paper I read. After that I finished routing the traces and creating the PCB for the sensor board which was pretty easy since it was so small. I also started the board size/layout for the main control board. Again, the goal is finishing the pcbs tommorow (I will have full day tommorow so it should be possible). Another day with good progress!
today was a productive day, but I may have underestimated my previous goals. I basicly started as usual with a simple layout. I am def not that great at PCB layouts but I thought it looked OK, then I realized itwasnt very good for routing and once I started routing it was a mess. So then what I did was optimize the entire layout to make it super easy to route. at the end it was looking so fire and I thought this was the one so I started adding all the silkscreen stuff and logos and names. then I remembered that FSR signals are going to be analog and they need to be super precise. Turns out buck boost converters have crazy switching field which can mess with the FSR signals. My RC filters were also pretty away from the teensy pins. so I decided to fix that with V3. I first switched around the SD card and power management circuits so that the buck boost was as far away from mt FSRs as possible. then I moved up my RC filters (low pass). I think im pretty much finished the layout, there could be some minor neatness tweaks. there is also some dead space I need to fill. I do have to redo the silk screen though and route everything tommorow. so tommorow that’s the goal as well as maybe starting the BOM? (the pic in 3D is V4)
idk why I worked on this at midnight but I just wanted to finish up the layout. then I got carried away fixing the silkscreen. then I got carried on routing. my layout was on point because the routing was so easy and quick. id say im around 70% done routing but the remaining 30% are the toughest ones so we will see tommorow. im going to sleep.
What I did was finish the PCB from yesterday with all the routing. I was right and the last 30% of the routing was the hardest so I had to shuffle things around and also disrupt some of the ground plane on the back. I think in general this pub looks pretty neat. I definitely could have optimized it more but it should work perfectly fine I think. I think next I should start getting the project ready for funding. I need a BOM for that and a GitHub. I also should recheck the schematic and some of the layout or something because I can’t afford any mistakes on the board.
ok today was a bit of a slowerish day ig. I started off with trying to fit all the pcbs into one board so It could be manufactured at once. but that didn’t work so well so I decided im going to print each separately. first I did the main control board. I am using JLC PCBA for this since I honestly can’t assemble this by hand… I mean, I COULD but it would be a risk and maybe same like 30 bucks. anyways next the 10 smaller PCBs were very simple so I am going to assemble by hand. I ordered the bare pcbs and am going to order the components separately on LCSC. supposedly once I order the stuff from JLC it will show up on my LCSC page and I will be able to combine the orders together so I dont have to pay extra shipping. we will see though.. anyways for the main control board it took forever because first the IMU couldn’t be made on an economic PCB so I had to completely replace that with some STM based one (which is actually more powerful and cheaper and economic). then I couldn’t figure out how to change my PCBA quantity from 5 to 2, after debugging for 30 minutes, I realized the issue was because of the COLOR OF THE BOARD. I had to change it to green and then everything worked ok. I attached the pictures of the cart and dang its not cheap. hopefully it fits under 200, I might try and get this on the highest tier though, idk if its fully that polished but we will see. next I have to lock in on firmware and also finish up a BOM with full cost + screws and 3d printing material. note that for LCSC cart im not paying for shipping so its more like 12 bucks. 12 (LCSC components) + 5 (10 PCBS) + 80 (JLC PCBA) + 2 (5 pcbs) + 20 (shipping + tariffs) + 25 (teensy) + 35 (FSRs) + 20 (screws + dowels?) = 199. prob more like 250 to be realistic so I might have to chip in myself..
ok these lapses was from yesterday and the day before I forgot to log them but I got a lot done and also made one major change to the project. mainly I was finishing up the BOM again. I put if almost everything and it was fitting inside 200 dollars so I was excited. then I actually decided to check how much shipping and tariffs would cost and the total was over 150 just for the control pcbs. I realized in this budget automated assembly would not work so I decided I will assembly these by hand. most of the 603 components are super easy just the main issue Is that the IMU I am using has the pins under the chip which will be difficult for me to solder. anyways on LCSC I was able to get all the parts + lots of extra in case I mess up for under 30 dollars. Also I dont know if I covered this but Thursday I changed the IMU from he BMI270 to the LSM6DSVQTR which was very similar package, size, and pinout but also was economic for JLC PCBA. now that im thinking about it I can still use the BMI270 since I am assembling by hand. I might have to switch to BMI270 actually since it is a few dollars cheaper. so anyways for assembling by hand I have a hot air rework station already, so I have gotten a stencil from JLCPCB and also included solder paste, flux, and IPA on the BOM. I still need to kinda finish the BOM but for now it is good so I have to lock in and get everything ready to submit
Today was an ultimate lock in day. It says 3 hours, but I totally forgot about lapse for two hours before so in total I worked around 5 hours. My goals of course was to completely finish and submit project. I did not do that but I am definitely pretty close. Here is everything I did today. I switched back to the BMI270, I asked for help on my PCB from reddit, hack club slack, and on of my dad’s colleagues (meeting is tommorow), I moved to CAD where I made my walls thinner, fixed the holes for the PCB, added both PCB, the main frame, the screw, the dowels, the sensor PCB, and the nut carriage in an assembly view, I created a small carriage for the end of the screw so that the screw actually moves the PCB back and forth, then I moved to firmware and wrote a complete firmware that checks all the components (FSR, IMU, OLED, SD card) and has a loop which does the simple function for the board. Tommorow I just need to collect this all into a GitHub, do some last minute PCB/BOM checks and I can submit!
ok today was just a good recap day and I think I can submit my project for funding now. what I did was first import all the CAD, PCB, BOM, PNG files into the GitHub and organize them. then I went through a whole thing with my BOM because I forgot to add a lot of stuff like wire and a battery. the total is now like 215 but I think it should be fine because I will just pay the extra myself. I also wrote a pretty long README.md which I am pretty proud of. I am going to submit this now so fingers crossed for the review. I hope it takes less than a week since I dont have time :(
Today I got some good feedback before submitting that I should polish my CAD and my README in order to get into the highest tier. SO first I worked on fully polishing the CAD with fillets, assembly, mounting holes, made it wider so its easier to slip on, fixed the carriages. and then I went to fixing the readme and GitHub where I added some pretty sick black and white images of the band. lastly I updated my BOM to reflect my budget. now everything fits pretty well under 250 dollars which is perfect. I am also now using JST-GH 1.25mm 3 pin connectors from the sensor PCB to the main PCB. I am retread to submit! I will keep working on small cad and PCB changes while waiting :D
so basicly what I have been doing for now is that I already sent out the project for funding review, but I thought while I wait I might make some small upgrades to the PCB. first I swapped out the through-hole pads for actual connectors (JST-SH?) which will make it much easier to connect the sensor boards. then I spent the rest of the time working on the PCB tracing I think I optimized it a lot more. next I have to double check all the PCB components and routing and then I have to prepare myself for my next steps when I get funding
today I got my grant approved which was awesome. I also updated my BOM to buy everything from amazon because it was easier than micro center for me. then I ordered the amazon and adafruit parts which is like 90% of everything. I was going to order PCB until I decided to check out my buck-boost circuit and realized it was completely wrong. so I fixed that. I think I will order the PCBs in a few days after double checking EVERYTHING.
What i worked on today was I mainly was just uploading my reciepts for HCB then I had to go through the schematic and check all the circuits to make sure it was good for printing. I am glad I did because i found multiple mistakes with the SD card, IMU, and buck/boost. I then had to add some more resistors so i had to figure out how to reroute everything. i finished i think but it is still a mess so i can definately work on it for one more day before ordering.
today I finished tweaking the PCB then I tried ordering the PCB and LCSC components. I was trying to do this thing where you combine orders to save on shipping, so I had to set the JLC PCB order address to the LCSC warehouse, and then I emailed LCSC and asked to combine my orders since I did not see the option on the LCSC checkout. I will hear back from them soon hopefully so then everything will come so I can star building. also I printed out the 3d printed parts and also got all my other supplied from amazon. I am a bit worried though because one jlcpcb order I cancelled and I do not see the refund on my HCB account
I added the heat set inserts to the 3d print, soldered the headers on the teensy, ordered both the PCB and it’s components (will take 1 - 2 weeks), and 3d printed the carriage section of the captive leadscrew assembly
it has been some time since my last devlog since school just started and all my PCBs and components are still shipping from china. I thought i would try to finish some of the other work while I wait in order to make it easy and quick once the baords get here. Today i wanted to work on the RIG that will hold the band aw sell as two adjustable rests for the arm. Ofcourse you can use the band without any of this but since this is a research experiment I want to remove as many variables as possible and keeping it in this way locked in one position does that and also makes it easier to test on peple and put it on. Most likelyfinal version will use IMU to correct for limb position and wont need this bulky rig but we will see. Im thinking of keeping the rig on a piece of wood and usinug a dovetail to slide around the FMg rest and arm rests. i modelled two versions. I still need to work on the FMG rest which has to be adjustable up and down but yeah i will try to get that built soon and also finish programming everything and the methodology so i am ready
Today was pretty good because i worked on the CAD for the sliding adjustable rig. I spent most of the time on the stand for the main FMG band, and then put it in an assembly and tweaked a few alignment issues with the heights and sizes of the rests. Then i printed a portion of the rail and the rest so I can test the tolerances of the dovetail slide. those are printing right now but next I will probably print everything out and assemble the rig and also assembl;e the carriages on the fmg band. After all of this mechanical stuff all i have to do is polish the methodology and the code while i wait for the PCBs to arrive (they will take two weeks minimum so its going to be tight around the end).
Today I started working on the code. not the one on the PCB (I finished that already) but the actual model that will predict the gestures. I spent most of the time setting up halftime with Arduino IDE which was annoying since I can’t use lapse for code. I mainly just worked on the tool stack I will need. I am thinking python + usb cable/sd card for data + raw values in a LDA classifier + back to the sd card + teensy runs the trained model ON THE DEVICE. I could also run the model on the computer and then send the predicted value back to the teensy with usb but idk if that is good. anyways next I think I will start on the building of everything while I wait and then move to code while I wait for my PCBs (they are in Hong Kong airport rn) then in October after star dance I will do the experiment and methodology.
Today was definetaly the biggest day this project has had so far. The PCBs arrived and I hand soldered them using a hot air gun for the first time I had ever done this. First i did the smaller boards. I did not have a stencil for those ones so I just put blobs of sodler paste and then placed the components and used the hot air gun. the hot air gun worked VERY well. Then i moved to the big board which was the scary part. for this one i had a good idea to organize the components though. I took one of my extra boards, put some double-sided tape on it and then placed the components ON there in the right places. then i just moved it to the final board which i applied solder apste on using a stencil. i then reflowed and everything clicking into place was vbery satisfying. I had one bridge on the buck boost but fixed that after and then i just cleaned up. Next i want to finish the rest of the small boards (5 left) and also test the boards to see if they even work.
Today was a productive day. I was working on the PCB hardware. First I soldered on the battery connector and switch and tested the buck-boost converter. it was working which was awesome! mThen i soldered on some headers and hot-aired the FSR connectors. I also soldered on the teensy headers and some other stuff. All that is left on the board is to sodler on the screen which i forgot to do. In the future i will probably just be working on some paperwork so this may be last devlog in some time.
today i took one of my small PCBs, soldered on a forse sensitive resistor and a JST connector and tested the sensor and board. it worked perfectly even when being powered by the main control board. The sensor was fairly accurate and sensitive and pressing it fully it never went over 3.3v which was from the op amp i put in which means everything works great. next i have to assemble all 10 of the sensor boards and then integrate everything into the final band/rig.
Today was a productive day. I got the 5 smaller PCBs soldered and then I was able to add n the force sensitive resistors to all 9 PCBS (I had 10 and then lost one idk) and also added the JST connectors to all 9 PCBs.
Today I worked on the rigid band V1. I printed out new carriages and assembled everything with the screws, nuts, carriages, and covers. I used super glue. Next I am going to attach all the PCBs and complete the wiring before moving on to code
Today was super nice because all the individual parts came together. i attached all the sensor PCBs onto the rigid band + carriages and then screwed on the main board. then i plugged in all the connectors and glued down the FSRs with some adhesive. looking great. next i do want to manage the wires a little better and make a bettery cover. after that we make the rig and the code and it should be ready to ship.
It has been a long time. i reached out to an FMG engineer and he reccomended that i have a quick release mechanism for the band. the issue is that everything was already on my band and since there was superglue it would not come off. that kindof sucker but i had to take everything off of that including the dowels and pcbs. I luckily had extra screws i could resuse. then i spent time cading a new version of the band that would allow the entire top half to hinge out. next we are going to reassemble the band again, build the rig, collect some data, train, and finally ship....
|
1792497090.3394616
|
1793101890.3394616
|
|
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....
|
1792857161.8517263
|
1792943561.8517263
|
|
65891
|
STARDUST PLZ by @inoty | Stardance
|
inoty
|
0
|
66.8
|
0
|
[]
|
[{"post_id": 80836, "ts": "202 [{"post_id": 80836, "ts": "2026-10-18T23:24:55Z", "hours": 7.4903, "text": "DON’T DROP IT! Hello again! This is gonna be a short Devlog, since I’ve been mostly working on story areas or writing, so heres a really nice looking area I designed, it’ll be used for both campaigns, because I didn’t spend all that time drawing and coding for nothing!"}, {"post_id": 80278, "ts": "2026-10-17T02:40:30Z", "hours": 8.8114, "text": "HOW DO YOU WANNA PLAY?! Yes indeed, another devlog, you are NOT dreaming! Packed with content aswell, I am so excited to get into everything I’ve been working on, so let’s get cracking and dive in. Before anything, scroll to the right for a cool video! What have I been up to? Well I’ve got a working version of the dialogue system, along with some other goodies! These being, a lot of character designs! I took the time to design some more NPCs in order to make the game feel less dead, aswell as the main story being written. I only need to complete the basic cutscene system, both the campaigns, and the game will finally be completed! Will you get any spoilers? NO What’s with the 3D Model? Don’t worry about it. (Spoiler Reasons) On a serious note After this point, I won’t be going into much detail of what I’ve been doing, since I’m wrapping up production on the more technical aspects of the game, and starting to get into the main story. So Devlogs will be short and concise from now one. Conclusion Actually making progress YAY"}, {"post_id": 78871, "ts": "2026-10-11T20:44:44Z", "hours": 2.3522, "text": "Aye Mate, whatcha doin’? It’s time for a new Devlog! (Yes so soon!) This time I will be touching on the characters I have made, and why the dialogue portraits look like that. WHY ARE THEY MADE UP OF STOCK IMAGES LMAO I thought it would be really funny if the characters dialogue portraits were all just sock images stuck together and pixelated, this will certainly lead to some funny stuff going down. New Props?! I have added lots of new props, I didn’t include all of them in order to not spoil everything, but I think the ones I am showing turned out pretty cool if you ask me! Who’s “The Butcher” And why is he Russian with an Australian Accent? Augh! You know I feel about Stereotypes, I might just send you to the lab again if you pull that one again mate."}, {"post_id": 78522, "ts": "2026-10-11T02:41:30Z", "hours": 4.8483, "text": "They made us. Hello! I have decided to make devlogs more frequently, of course, at the cost of lower content amounts, no video this time sadly, but I do have something more… interesting… New Tiles 2 New Tiles have been added, I added a brick variant for the “Buku Rocks”, aswell as very shiny stone. This will be the tileset for the deeper parts of the Buku Areas. Props! I have added 2 prop examples, one normal prop, and another background prop. A pile of junk and a painting to, “Look at the world through they’re eyes”, whatever that means. Conclusion Yeah that’s really it, I’ll now sprinkle in smaller Devlogs with the big boys."}, {"post_id": 77999, "ts": "2026-10-09T04:22:29Z", "hours": 10.5611, "text": "YOU DID Whₐₜ… Ouh im so sleepy today… https://youtu.be/zQO8u43ADBw Devlog 4! This one jam packed actually, this is actually starting to look like a game, which is VERY amazing!!! I have implemented a half-done version of the lighting system! Which you can check out in the video above! What’s new?! Well, a lot is new actually, first of, this is the first preview from the Buku Side of the game, I thought it was long overdue, so here it is! I hope you really like the vibe I’ve made for their areas! I have also added a VERY early versions of NPCs, as you can see from the sleepy little Buku you can find! Along with Particles! all of this makes the game feel REALLY nice and polished, though there’s still much to do. What’s next for lighting? I want to add Terraria-Like lighting to the tiles, as I think I said before, because I simply think it would look better, and it can hide hidden paths… You may have noticed the shadows are now pixelated!!! It helps keep the style consistent. I tried to make the lighting pixelated too, but it looked pretty bad… So it was ultimately scrapped! [I did have AI do a bunch of the debugging because I suck at writing shaders] (Yeah I suffered a lot with lighting, by default it looked pale and honestly really bad, so I vibe coded a shader… yeah I know boo hoo, I still modified the script to fit my needs, but at its core it was vibe coded sadly.) NPCS?! LOOK AT THE LITTLE GUY! I haven’t really implemented the dialogue yet, but I have figured out animations! This is great for bringing life into the game, and I think it’ll add a lot of character to all the different starlings you’ll encounter through the game. Particles The particles in the preview are pretty minimal, ironically, Geometry Dash was the greatest help, I love messing around in the editor, so I had already learned the particle system from that game, which was surprisingly similar to Godot’s, so I didn’t really need any tutorials! Conclusion The project is actually starting to look like a game, and I’m starting to love working on this even more actually, I love seeing the progress from the first preview, all the way to now, I’ve learned so much in such a short amount of time."}, {"post_id": 76949, "ts": "2026-10-05T05:11:12Z", "hours": 11.3319, "text": "Please… I need it… :( Hey! Didn’t expect to see you so soon, but I have come with updates! It’s not much, but this game is slowly starting to come to life! I’ve put a lot more effort into the video this time, so make sure to watch it! https://youtu.be/TutXHCyREEI What are the new features? You know how I added an actual Camera last devlog? Yeah that’s all gone, it has been completely rewritten, to make way for CAMERA CONTROLS!!!, this will allow me to add so much more character to the levels, and lays the groundwork for cutscenes! I have also implemented a very early version of lighting! It’s still super early, but you can slowly start to see the vision of this games art direction, which I find very exciting! Camera Controls Yes this is gonna be it’s own section, I didn’t recode everything immediately after coding it for nothing. So the camera controls work by having a CollisionObject2D act as a hitbox to detect when your inside it, which will activate certain options the camera controls have. Which I will get into, right now..? So, as you can see from the video, I can control both zoom, and the focus point of the camera, for the zoom it’s super simple, just change one value, but the static camera is a little bit more interesting… I added a Marker2D attached to a script, which I can just place anywhere in the level, which has an assigned ID, so if the collision box has an ID of 3, and the static camera is enabled, it’ll look for the Markdown2D with the same ID, to anchor the camera to it (I know it’s super simple, but I’m still a beginner and I’m proud of it, also sorry if I suck at explaining) What’s next for the lighting system? I want to add shadows inside of the tiles, kind of like Terraria mainly to hide my horrible tiling skills, and to hide stuff like secret tunnels, I also want to make the shadows pixelated, and be able to add pretty bright lights all around (yeah that dosen’t work yet…) NPCs?! I have designed a few NPCs in advance, I have no idea how I’ll use the police officer, so feel free to leave ideas in the comments, BUT I do know how I’ll just the 2 other guys, they are scientist, who both created the cursor characters to steal stardust from the opposite team! How amazing Cutscenes?! This will be the last thing I need to implement (Not really I’m lying) before I start working on the actual levels and main story of the game, I just realised while writing this I still need to make the Stardust Stealing work, add bombs, and add levers and backgrounds, so maybe we aren’t fully there yet. Conclusion I still have SO MUCH left to do, in such a short amount of time, this week I will have more time, so I hope to have the lighting system done by tomorrow! Yippee!"}, {"post_id": 76245, "ts": "2026-10-02T20:52:53Z", "hours": 14.2336, "text": "GIVE IT TO ME, NOW!!!! | Devlog 2 Hello, it’s me again, I don’t have much to post this time, I’ve been very busy (and tired), so I haven’t actually implemented much into this game, on top of multiple issues I will talk about during this devlog. https://youtu.be/S8Qy3RnZ0OE Cusual Game Music 07 by Ivan Fomin Insane Mess I Made I have a mess in my Hackatime Dashboard, this project is split into like 3, and it detected a long Opencode Debugging Session (I turned of Wackatime (I think) for it to not track this, but it still did, 2 separate times, so now it says my code is 30% AI generated, when like all it touched was Hyprland Config Files, and other stuff relating to my system, so that’s fun I guess. I have been struggling to keep this up, mainly because I don’t always have time to code, but since I joined so late I’ve gotta put in the time and effort, which is fair I guess. (I honestly have no idea how to fix this please help me) Progress Report Not much has been done, I implemented new tile types, (they connect now!) and implemented a new category of interactable objects within the game Items!, seems basic, but for a beginner like me it was pretty hard to implement, keep in mind this is like my 2nd Godot Game, so I am NOT skilled at all, the plan is to eventually get dialogue and fully working levels ready, but its gonna be a huge crunch, especially with one month left (I would have never made it with the original time we had) Plans for the future I hope I can actually finish both this project and Riftbook in time, so I can finally rest and go to sleep or something I don’t know. Though I must admit, I am more excited for this project since I enjoy the level making process, making sprites, writing the dialogue etc. The only real hard part for me is actually coding (Because I don’t know the syntax very well) Conclusion I need to finish this project incredibly fast, promote it, make a 3rd project for that certificate, finish Riftbook, write all the dialogue, make all the levels, and figure out all the syntax in 30 days (While being super busy) It’s gonna be on hell of a ride, so I hope I don’t lose my mind while working on this. I am very tired, and things are not going my way, but I’ll keep pushing on, please feel free to help if you can PLEASE. Additional Video Notes Oh my god, I tried to act Text to Kdenlive, I have been “using it” for a while now (I haven’t been doing much other than dragging and dropping clips) I come from DaVinci Resolve, so I’m used to that workflow but holy hell is it different, I decided not to do much because the video is better off without my terrible Kdenlive skills OH YEAH, and I lost my Stardance Streak >:( (Only reason I uploaded a devlog today, I wanted to do more)"}, {"post_id": 74292, "ts": "2026-09-27T04:11:53Z", "hours": 7.1697, "text": "GIVE ME STARTDUST PLEASE | Devlog 1 https://youtu.be/C4Bo1hGNqnY Hello! It’s me, your personal helper friend! Today I want to talk about my new GAME! In this game, you play as a cursor who wants to steal stardust, the games story will change depending on if your a Bean, or a Buku, but the mean premise is the same. Today I coded the movement, added some physics objects, and made some debug tiles! Asset Drawing Asset drawing was pretty fun, I loved making the little star beans, I havent done much art for the Bukus, but I will do some stuff some Thing that made me consider castration I was trying to make a simple system where if you ran into a tile too fast, you would bounce, turns out, this made me rewrite the ENTIRE movement code, so now instead of tracking your mouse like a normal person would do, it creates a virtual mouse for you, why? Because I thought the issue was that the player was trying to head for the mouse while it was bouncing, so it wouldn’t work, turns out, this wasn’t really the issue, and I wasted my time. HAHHAHAHAHHA Conclusion I want to die (No but really this was a really fun prototype to make, and I look foward to completing this game! Check out the video too!)"}]...
|
Title: STARDUST PLZ by @inoty | Stardance
Devlogs Title: STARDUST PLZ by @inoty | Stardance
Devlogs:
GIVE ME STARTDUST PLEASE | Devlog 1 https://youtu.be/C4Bo1hGNqnY Hello! It’s me, your personal helper friend! Today I want to talk about my new GAME! In this game, you play as a cursor who wants to steal stardust, the games story will change depending on if your a Bean, or a Buku, but the mean premise is the same. Today I coded the movement, added some physics objects, and made some debug tiles! Asset Drawing Asset drawing was pretty fun, I loved making the little star beans, I havent done much art for the Bukus, but I will do some stuff some Thing that made me consider castration I was trying to make a simple system where if you ran into a tile too fast, you would bounce, turns out, this made me rewrite the ENTIRE movement code, so now instead of tracking your mouse like a normal person would do, it creates a virtual mouse for you, why? Because I thought the issue was that the player was trying to head for the mouse while it was bouncing, so it wouldn’t work, turns out, this wasn’t really the issue, and I wasted my time. HAHHAHAHAHHA Conclusion I want to die (No but really this was a really fun prototype to make, and I look foward to completing this game! Check out the video too!)
GIVE IT TO ME, NOW!!!! | Devlog 2 Hello, it’s me again, I don’t have much to post this time, I’ve been very busy (and tired), so I haven’t actually implemented much into this game, on top of multiple issues I will talk about during this devlog. https://youtu.be/S8Qy3RnZ0OE Cusual Game Music 07 by Ivan Fomin Insane Mess I Made I have a mess in my Hackatime Dashboard, this project is split into like 3, and it detected a long Opencode Debugging Session (I turned of Wackatime (I think) for it to not track this, but it still did, 2 separate times, so now it says my code is 30% AI generated, when like all it touched was Hyprland Config Files, and other stuff relating to my system, so that’s fun I guess. I have been struggling to keep this up, mainly because I don’t always have time to code, but since I joined so late I’ve gotta put in the time and effort, which is fair I guess. (I honestly have no idea how to fix this please help me) Progress Report Not much has been done, I implemented new tile types, (they connect now!) and implemented a new category of interactable objects within the game Items!, seems basic, but for a beginner like me it was pretty hard to implement, keep in mind this is like my 2nd Godot Game, so I am NOT skilled at all, the plan is to eventually get dialogue and fully working levels ready, but its gonna be a huge crunch, especially with one month left (I would have never made it with the original time we had) Plans for the future I hope I can actually finish both this project and Riftbook in time, so I can finally rest and go to sleep or something I don’t know. Though I must admit, I am more excited for this project since I enjoy the level making process, making sprites, writing the dialogue etc. The only real hard part for me is actually coding (Because I don’t know the syntax very well) Conclusion I need to finish this project incredibly fast, promote it, make a 3rd project for that certificate, finish Riftbook, write all the dialogue, make all the levels, and figure out all the syntax in 30 days (While being super busy) It’s gonna be on hell of a ride, so I hope I don’t lose my mind while working on this. I am very tired, and things are not going my way, but I’ll keep pushing on, please feel free to help if you can PLEASE. Additional Video Notes Oh my god, I tried to act Text to Kdenlive, I have been “using it” for a while now (I haven’t been doing much other than dragging and dropping clips) I come from DaVinci Resolve, so I’m used to that workflow but holy hell is it different, I decided not to do much because the video is better off without my terrible Kdenlive skills OH YEAH, and I lost my Stardance Streak >:( (Only reason I uploaded a devlog today, I wanted to do more)
Please… I need it… :( Hey! Didn’t expect to see you so soon, but I have come with updates! It’s not much, but this game is slowly starting to come to life! I’ve put a lot more effort into the video this time, so make sure to watch it! https://youtu.be/TutXHCyREEI What are the new features? You know how I added an actual Camera last devlog? Yeah that’s all gone, it has been completely rewritten, to make way for CAMERA CONTROLS!!!, this will allow me to add so much more character to the levels, and lays the groundwork for cutscenes! I have also implemented a very early version of lighting! It’s still super early, but you can slowly start to see the vision of this games art direction, which I find very exciting! Camera Controls Yes this is gonna be it’s own section, I didn’t recode everything immediately after coding it for nothing. So the camera controls work by having a CollisionObject2D act as a hitbox to detect when your inside it, which will activate certain options the camera controls have. Which I will get into, right now..? So, as you can see from the video, I can control both zoom, and the focus point of the camera, for the zoom it’s super simple, just change one value, but the static camera is a little bit more interesting… I added a Marker2D attached to a script, which I can just place anywhere in the level, which has an assigned ID, so if the collision box has an ID of 3, and the static camera is enabled, it’ll look for the Markdown2D with the same ID, to anchor the camera to it (I know it’s super simple, but I’m still a beginner and I’m proud of it, also sorry if I suck at explaining) What’s next for the lighting system? I want to add shadows inside of the tiles, kind of like Terraria mainly to hide my horrible tiling skills, and to hide stuff like secret tunnels, I also want to make the shadows pixelated, and be able to add pretty bright lights all around (yeah that dosen’t work yet…) NPCs?! I have designed a few NPCs in advance, I have no idea how I’ll use the police officer, so feel free to leave ideas in the comments, BUT I do know how I’ll just the 2 other guys, they are scientist, who both created the cursor characters to steal stardust from the opposite team! How amazing Cutscenes?! This will be the last thing I need to implement (Not really I’m lying) before I start working on the actual levels and main story of the game, I just realised while writing this I still need to make the Stardust Stealing work, add bombs, and add levers and backgrounds, so maybe we aren’t fully there yet. Conclusion I still have SO MUCH left to do, in such a short amount of time, this week I will have more time, so I hope to have the lighting system done by tomorrow! Yippee!
YOU DID Whₐₜ… Ouh im so sleepy today… https://youtu.be/zQO8u43ADBw Devlog 4! This one jam packed actually, this is actually starting to look like a game, which is VERY amazing!!! I have implemented a half-done version of the lighting system! Which you can check out in the video above! What’s new?! Well, a lot is new actually, first of, this is the first preview from the Buku Side of the game, I thought it was long overdue, so here it is! I hope you really like the vibe I’ve made for their areas! I have also added a VERY early versions of NPCs, as you can see from the sleepy little Buku you can find! Along with Particles! all of this makes the game feel REALLY nice and polished, though there’s still much to do. What’s next for lighting? I want to add Terraria-Like lighting to the tiles, as I think I said before, because I simply think it would look better, and it can hide hidden paths… You may have noticed the shadows are now pixelated!!! It helps keep the style consistent. I tried to make the lighting pixelated too, but it looked pretty bad… So it was ultimately scrapped! [I did have AI do a bunch of the debugging because I suck at writing shaders] (Yeah I suffered a lot with lighting, by default it looked pale and honestly really bad, so I vibe coded a shader… yeah I know boo hoo, I still modified the script to fit my needs, but at its core it was vibe coded sadly.) NPCS?! LOOK AT THE LITTLE GUY! I haven’t really implemented the dialogue yet, but I have figured out animations! This is great for bringing life into the game, and I think it’ll add a lot of character to all the different starlings you’ll encounter through the game. Particles The particles in the preview are pretty minimal, ironically, Geometry Dash was the greatest help, I love messing around in the editor, so I had already learned the particle system from that game, which was surprisingly similar to Godot’s, so I didn’t really need any tutorials! Conclusion The project is actually starting to look like a game, and I’m starting to love working on this even more actually, I love seeing the progress from the first preview, all the way to now, I’ve learned so much in such a short amount of time.
They made us. Hello! I have decided to make devlogs more frequently, of course, at the cost of lower content amounts, no video this time sadly, but I do have something more… interesting… New Tiles 2 New Tiles have been added, I added a brick variant for the “Buku Rocks”, aswell as very shiny stone. This will be the tileset for the deeper parts of the Buku Areas. Props! I have added 2 prop examples, one normal prop, and another background prop. A pile of junk and a painting to, “Look at the world through they’re eyes”, whatever that means. Conclusion Yeah that’s really it, I’ll now sprinkle in smaller Devlogs with the big boys.
Aye Mate, whatcha doin’? It’s time for a new Devlog! (Yes so soon!) This time I will be touching on the characters I have made, and why the dialogue portraits look like that. WHY ARE THEY MADE UP OF STOCK IMAGES LMAO I thought it would be really funny if the characters dialogue portraits were all just sock images stuck together and pixelated, this will certainly lead to some funny stuff going down. New Props?! I have added lots of new props, I didn’t include all of them in order to not spoil everything, but I think the ones I am showing turned out pretty cool if you ask me! Who’s “The Butcher” And why is he Russian with an Australian Accent? Augh! You know I feel about Stereotypes, I might just send you to the lab again if you pull that one again mate.
HOW DO YOU WANNA PLAY?! Yes indeed, another devlog, you are NOT dreaming! Packed with content aswell, I am so excited to get into everything I’ve been working on, so let’s get cracking and dive in. Before anything, scroll to the right for a cool video! What have I been up to? Well I’ve got a working version of the dialogue system, along with some other goodies! These being, a lot of character designs! I took the time to design some more NPCs in order to make the game feel less dead, aswell as the main story being written. I only need to complete the basic cutscene system, both the campaigns, and the game will finally be completed! Will you get any spoilers? NO What’s with the 3D Model? Don’t worry about it. (Spoiler Reasons) On a serious note After this point, I won’t be going into much detail of what I’ve been doing, since I’m wrapping up production on the more technical aspects of the game, and starting to get into the main story. So Devlogs will be short and concise from now one. Conclusion Actually making progress YAY
DON’T DROP IT! Hello again! This is gonna be a short Devlog, since I’ve been mostly working on story areas or writing, so heres a really nice looking area I designed, it’ll be used for both campaigns, because I didn’t spend all that time drawing and coding for nothing!...
|
1792457452.9654982
|
1793062252.9654982
|
|
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....
|
1792453705.9582846
|
1793058505.9582846
|
|
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...
|
1792817410.2917254
|
1792903810.2917254
|
|
22678
|
Cosmic habitable planet classifier by @Rikimii | S Cosmic habitable planet classifier by @Rikimii | Stardance...
|
Rikimii
|
2
|
39.16
|
231
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-30T04:33:53Z", "hours": 31.0, "multiplier": 11.03, "payout": 169, "blessing": "neutral", "text": "The Cosmic habitable planet classifier V1.1 is an interactive simulation designed to analyze planetary habitability using real-time astrophysical calculations and machine learning predictions. Used Three.js for the 3D visual elements. Basically, this can be used by teachers, students and researchers who want to test their theories by making their your custom planet and see their research hypothesis was true or not.", "repo": "https://github.com/shipdrop/Cosmic-habitable-planet-classifier", "demo": "https://shipdrop.github.io/Cosmic-habitable-planet-classifier/"}, {"ship_num": 2, "ts": "2026-08-16T01:01:43Z", "hours": 5.0, "multiplier": 12.31, "payout": 62, "blessing": "neutral", "text": "A basically made a website where you can make your own planet and compare it to our earth to see if your planet is a bum where no creature can survive or we can go to it to inhabit it one day.", "repo": "https://github.com/shipdrop/Cosmic-habitable-planet-classifier", "demo": "https://shipdrop.github.io/Cosmic-habitable-planet-classifier/"}]...
|
[{"post_id": 80844, "ts": "202 [{"post_id": 80844, "ts": "2026-10-19T00:15:36Z", "hours": 0.935, "text": "Update (v1.2) added ASCII scrambling to make the info block not look bland. planned to add a option to change host star type as a suggestion from reviews. more coming this week!"}, {"post_id": 76029, "ts": "2026-10-02T03:35:05Z", "hours": 2.2269, "text": "Update: working on v1.2 changed the info section to a little more sci-fi to match the theme. more features coming up (hint: ASCII scrambling)."}, {"post_id": 75453, "ts": "2026-09-30T04:29:17Z", "hours": 3.5103, "text": "UPDATE (v1.1) I read the review and here is what I have referenced from those reviews from the ship: Habitability UI breakdown UI. 3d Goldilocks overlay that automatically resizes based on stellar temp. added astrophysical ML safety guardrails to not miscalculate result. Real-time Physics & updateSimulation pipline. Fixed Planet profile matching."}, {"post_id": 75072, "ts": "2026-09-29T02:08:23Z", "hours": 1.7892, "text": "Last Update for V1.0: Implemented Mobile Touch Controls Optimized Rendering Performance -Configured Open-Source Repository if you guys want to add more features and shii. PLS check out my github Repo."}, {"post_id": 74767, "ts": "2026-09-28T06:17:41Z", "hours": 5.5292, "text": "HUGE UPDATE: Try it out now (probly my second-last devolog) Finally added the refined the whole graph. added a summary box (not complete yet). Fixed all the bugs with controls."}, {"post_id": 74246, "ts": "2026-09-27T01:49:06Z", "hours": 2.4108, "text": "Update: go test it right now! Finally solved the graph overlapping with the simulation. the simulation starfield contines as the the background for graph and analytics section ( which will be added trmw!)."}, {"post_id": 73438, "ts": "2026-09-25T02:53:49Z", "hours": 2.2033, "text": "Huge Update: added scatter plot to show where your customized sits besides other exoplanets using NASA’s exoplanet archive data. it is a little buggy right now, I will fix it trmw (since I have to sleep now)."}, {"post_id": 72945, "ts": "2026-09-24T02:53:24Z", "hours": 1.5056, "text": "Update: removed Changing Planet Texture because its not right to theorize of how it would like. added camera movement when computing model data."}, {"post_id": 72025, "ts": "2026-09-22T00:53:19Z", "hours": 1.0839, "text": "Update: added different planet texture depending on the result (theory on what would it look like) try it out now!."}, {"post_id": 71516, "ts": "2026-09-20T23:48:06Z", "hours": 1.2964, "text": "Update: added SFX to results and buttons on the site."}, {"post_id": 70913, "ts": "2026-09-20T00:57:19Z", "hours": 2.9081, "text": "Hello yall, today are some bug fixes and updates: Fixed Javascript Reference & Scope errors. Fixed Focus Planet camera preset (you can try it out now!). Fixed starfield rotation and alignment. Upgraded Stars Graphics and Shape. More features coming soon!"}, {"post_id": 69473, "ts": "2026-09-17T04:02:57Z", "hours": 2.1344, "text": "GOT A LOT DONE TODAY but… A bug came on the focus camera preset (which i will fix trmw) Changed the default positioning and added cool animations before showing the result in bottom left. P.S- if you are trying out, PLEASE do not click on the focus planet camera preset."}, {"post_id": 67789, "ts": "2026-09-14T01:14:56Z", "hours": 1.9178, "text": "I finally fixed the UI crash error (it was a api error) and refined it later on, You guys can try it right now!! here is the before and after refinements and more coming throughout this week!!."}, {"post_id": 66982, "ts": "2026-09-12T23:57:56Z", "hours": 0.6708, "text": "Done with setting up the models and Drag controls next devlog will be posted when i fix the UI CDN crash :) see yall soon!"}, {"post_id": 62574, "ts": "2026-09-06T01:04:30Z", "hours": 0.7236, "text": "doing the interface again so I can remove the error and fix the 3D UI crashing :) (planning to add to it more)"}, {"post_id": 61271, "ts": "2026-09-04T03:50:13Z", "hours": 0.8394, "text": "so i started the website, but the 3D models due to Three.js errors through CDN. I will fix it this weekend because of multiple tests lined up in school, wish me luck."}, {"post_id": 53470, "ts": "2026-08-24T01:15:18Z", "hours": 2.0592, "text": "I decided to Redo the UI and here is the list of what I will add: (not done yet) 3d Planets and lighting Real-time Orbit animation Interactive camera controls Orbital Path Ring will complete all this points by trmw and Update here!"}, {"post_id": 29230, "ts": "2026-07-16T00:34:07Z", "hours": 0.5619, "text": "Added comparison to earth subtle background changes if you can see them (its halftones)."}, {"post_id": 29185, "ts": "2026-07-15T22:23:34Z", "hours": 4.4792, "text": "tryna fix this page error right for the past 10 mins. I found the problem right now and fix it. btw how does the UI look? Iam going to add more things like comparing it to the real planets in its category. This is it for the first devlog for the spider-man coded planet classifier!"}]...
|
Title: Cosmic habitable planet classifier by @Riki Title: Cosmic habitable planet classifier by @Rikimii | Stardance
Devlogs:
tryna fix this page error right for the past 10 mins. I found the problem right now and fix it. btw how does the UI look? Iam going to add more things like comparing it to the real planets in its category. This is it for the first devlog for the spider-man coded planet classifier!
Added comparison to earth subtle background changes if you can see them (its halftones).
I decided to Redo the UI and here is the list of what I will add: (not done yet) 3d Planets and lighting Real-time Orbit animation Interactive camera controls Orbital Path Ring will complete all this points by trmw and Update here!
so i started the website, but the 3D models due to Three.js errors through CDN. I will fix it this weekend because of multiple tests lined up in school, wish me luck.
doing the interface again so I can remove the error and fix the 3D UI crashing :) (planning to add to it more)
Done with setting up the models and Drag controls next devlog will be posted when i fix the UI CDN crash :) see yall soon!
I finally fixed the UI crash error (it was a api error) and refined it later on, You guys can try it right now!! here is the before and after refinements and more coming throughout this week!!.
GOT A LOT DONE TODAY but… A bug came on the focus camera preset (which i will fix trmw) Changed the default positioning and added cool animations before showing the result in bottom left. P.S- if you are trying out, PLEASE do not click on the focus planet camera preset.
Hello yall, today are some bug fixes and updates: Fixed Javascript Reference & Scope errors. Fixed Focus Planet camera preset (you can try it out now!). Fixed starfield rotation and alignment. Upgraded Stars Graphics and Shape. More features coming soon!
Update: added SFX to results and buttons on the site.
Update: added different planet texture depending on the result (theory on what would it look like) try it out now!.
Update: removed Changing Planet Texture because its not right to theorize of how it would like. added camera movement when computing model data.
Huge Update: added scatter plot to show where your customized sits besides other exoplanets using NASA’s exoplanet archive data. it is a little buggy right now, I will fix it trmw (since I have to sleep now).
Update: go test it right now! Finally solved the graph overlapping with the simulation. the simulation starfield contines as the the background for graph and analytics section ( which will be added trmw!).
HUGE UPDATE: Try it out now (probly my second-last devolog) Finally added the refined the whole graph. added a summary box (not complete yet). Fixed all the bugs with controls.
Last Update for V1.0: Implemented Mobile Touch Controls Optimized Rendering Performance -Configured Open-Source Repository if you guys want to add more features and shii. PLS check out my github Repo.
UPDATE (v1.1) I read the review and here is what I have referenced from those reviews from the ship: Habitability UI breakdown UI. 3d Goldilocks overlay that automatically resizes based on stellar temp. added astrophysical ML safety guardrails to not miscalculate result. Real-time Physics & updateSimulation pipline. Fixed Planet profile matching.
Update: working on v1.2 changed the info section to a little more sci-fi to match the theme. more features coming up (hint: ASCII scrambling).
Update (v1.2) added ASCII scrambling to make the info block not look bland. planned to add a option to change host star type as a suggestion from reviews. more coming this week!
Ships:
A basically made a website where you can make your own planet and compare it to our earth to see if your planet is a bum where no creature can survive or we can go to it to inhabit it one day.
The Cosmic habitable planet classifier V1.1 is an interactive simulation designed to analyze planetary habitability using real-time astrophysical calculations and machine learning predictions. Used Three.js for the 3D visual elements. Basically, this can be used by teachers, students and researchers who want to test their theories by making their your custom planet and see their research hypothesis was true or not....
|
1792839208.9927728
|
1792925608.9927728
|
|
67698
|
Mini Dance-Dance-Revolution by @Evanthecat | Stard Mini Dance-Dance-Revolution by @Evanthecat | Stardance...
|
Evanthecat
|
0
|
18.46
|
0
|
[]
|
[{"post_id": 80847, "ts": "202 [{"post_id": 80847, "ts": "2026-10-19T00:27:01Z", "hours": 4.1744, "text": "Made animation for OLED and finished firmware. After creating a simple sprite animation in Krita and writing the QMK firmware (it took me hours to realize that the pin labels were GPIO numbers and match everything), my keymap.c file somehow deleted itself, skipping past the recycling bin, so I had to code it twice. I also stayed up until 11:30pm and used the next morning to debug the various causes of compiler errors. Many of them were just typos like missing a comma or forgetting a semicolon after an enum, but I had to just test which function actually worked for layer switching because all the others gave the error “this statement is not necessary” somewhere in the QMK code. As I was working on the GitHub repository, I realized that the screws were too short to go through my entire case, so I’ll have to redesign it next time."}, {"post_id": 79455, "ts": "2026-10-14T03:06:22Z", "hours": 1.2028, "text": "Rewired part of PCB and worked on firmware. While looking at XIAO RP2040 diagrams, I realized that the SDA and SCL pins were not connected to the right spot. I swapped the connections for those pins and row 0 and row 1. I swapped out the switches in my CAD for the .STEP files in the official resources and spent some time defining the pins in the firmware."}, {"post_id": 79391, "ts": "2026-10-13T19:45:52Z", "hours": 3.3419, "text": "Realigned components on the PCB and finished most of the CAD. While trying to align the switches on the PCB to the grid, I realized that the footprints were snapping to weird increments. Eventually, I decided to use the position values in the sidebar to manually set the x and y coordinates of the switches. I also moved the XIAO RP2040 to the right and the diodes further down for more room in the CAD. After finishing the cover plate, I modeled a simple knob for the rotary encoder."}, {"post_id": 78911, "ts": "2026-10-12T00:45:25Z", "hours": 2.4681, "text": "Fixed small measurement errors, realigned the components, and worked on the cover piece. While I was working on the cover piece, I noticed a small piece sticking out, a sign of a slightly mismatched measurement. It turns out that most of my plates had small measurement errors (from slightly unconstrainted rectangles made while shortening one of the sides). While realigning my components, I learned that my PCB model had misplaced holes, which meant that I couldn’t trust it for measurements. I also lowered my rotary encoder so it wouldn’t clip into the top panel."}, {"post_id": 78501, "ts": "2026-10-11T00:19:59Z", "hours": 2.1903, "text": "Aligned keycaps/OLED and edited case to better fit components. After working on the top plate for a while, I realized that a lot of my parts were clipping (e.g. diodes and microcontroller), so I cut away parts of the plate to make things fit. I improved my method for aligning components after having the align the keycaps on the switches (I spent a long time trying to align the original keycap to the origin before just calculating the displacement to where I needed it to be). After putting on the top plate, I raised part of the bottom plate to make a cutout for the USB-A port and raised the OLED screen. I also started working on the decorative top plate that’ll go onto top of everything."}, {"post_id": 78210, "ts": "2026-10-09T23:38:37Z", "hours": 5.0825, "text": "Created PCB and started work on assembling in CAD. I had to scale down the amount of keys and remove the LEDs because there weren’t enough pins. I spent way too long searching for OLED and Rotary Encoder symbols while making the schematic before I realized that they just need the footprints paired with generic symbols from the default library. While routing the PCB, I learned that the red and blue wires are for different layers and assigned footprints to the diodes so they would show up (I forgot to do that while working on the schematic). After aligning most of the parts in Fusion, I realized that one of the switches and the rotary encoder were overlapping and that I could just export the PCB as a .step file from KiCad."}]...
|
Title: Mini Dance-Dance-Revolution by @Evanthecat Title: Mini Dance-Dance-Revolution by @Evanthecat | Stardance
Devlogs:
Created PCB and started work on assembling in CAD. I had to scale down the amount of keys and remove the LEDs because there weren’t enough pins. I spent way too long searching for OLED and Rotary Encoder symbols while making the schematic before I realized that they just need the footprints paired with generic symbols from the default library. While routing the PCB, I learned that the red and blue wires are for different layers and assigned footprints to the diodes so they would show up (I forgot to do that while working on the schematic). After aligning most of the parts in Fusion, I realized that one of the switches and the rotary encoder were overlapping and that I could just export the PCB as a .step file from KiCad.
Aligned keycaps/OLED and edited case to better fit components. After working on the top plate for a while, I realized that a lot of my parts were clipping (e.g. diodes and microcontroller), so I cut away parts of the plate to make things fit. I improved my method for aligning components after having the align the keycaps on the switches (I spent a long time trying to align the original keycap to the origin before just calculating the displacement to where I needed it to be). After putting on the top plate, I raised part of the bottom plate to make a cutout for the USB-A port and raised the OLED screen. I also started working on the decorative top plate that’ll go onto top of everything.
Fixed small measurement errors, realigned the components, and worked on the cover piece. While I was working on the cover piece, I noticed a small piece sticking out, a sign of a slightly mismatched measurement. It turns out that most of my plates had small measurement errors (from slightly unconstrainted rectangles made while shortening one of the sides). While realigning my components, I learned that my PCB model had misplaced holes, which meant that I couldn’t trust it for measurements. I also lowered my rotary encoder so it wouldn’t clip into the top panel.
Realigned components on the PCB and finished most of the CAD. While trying to align the switches on the PCB to the grid, I realized that the footprints were snapping to weird increments. Eventually, I decided to use the position values in the sidebar to manually set the x and y coordinates of the switches. I also moved the XIAO RP2040 to the right and the diodes further down for more room in the CAD. After finishing the cover plate, I modeled a simple knob for the rotary encoder.
Rewired part of PCB and worked on firmware. While looking at XIAO RP2040 diagrams, I realized that the SDA and SCL pins were not connected to the right spot. I swapped the connections for those pins and row 0 and row 1. I swapped out the switches in my CAD for the .STEP files in the official resources and spent some time defining the pins in the firmware.
Made animation for OLED and finished firmware. After creating a simple sprite animation in Krita and writing the QMK firmware (it took me hours to realize that the pin labels were GPIO numbers and match everything), my keymap.c file somehow deleted itself, skipping past the recycling bin, so I had to code it twice. I also stayed up until 11:30pm and used the next morning to debug the various causes of compiler errors. Many of them were just typos like missing a comma or forgetting a semicolon after an enum, but I had to just test which function actually worked for layer switching because all the others gave the error “this statement is not necessary” somewhere in the QMK code. As I was working on the GitHub repository, I realized that the screws were too short to go through my entire case, so I’ll have to redesign it next time....
|
1792468211.3777337
|
1793073011.3777337
|
|
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!!!...
|
1792860753.994029
|
1792947153.994029
|
|
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....
|
1792857128.5718055
|
1792943528.5718055
|
|
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 :)...
|
1792464614.279142
|
1793069414.279142
|
|
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....
|
1792828225.8447354
|
1792914625.8447354
|
|
14699
|
Hollow - Game Dev by @magomango | Stardance
|
magomango
|
0
|
114.14
|
0
|
[]
|
[{"post_id": 80859, "ts": "202 [{"post_id": 80859, "ts": "2026-10-19T01:43:18Z", "hours": 12.4375, "text": "FAV ROOM + glow in the dark pumpkins?? ~ whats up so i got the enemy to work. thank god. PLUS I GOT MY FAVORITE-ST ROOM EVER MADE!! Implementation/fix for enemy Looping btw 2 rooms: wander code picked farthest random point, so movement was lwk sporadic and weird. So we switched to getting the first valid point randomly generated instead. Walked off into the void: bc the navigationmesh or where it can roam WAS PARTIALLY OUTSIDE. bruh. so just resized the NM Never saw me or chased: LMAO this was so funny. So apparently my body was like 115 WHOLE-STINKING units away from where the code thought I was.. so easy fix, but bruh. Lost me at corners when i sharp turned: chase_memory now is for keeping track of position even after losing sight. Also added the hit screen, which is like a little bit of blood, for funsies THE ROOM OMGGOGMG - this was so heavily inspired (not copied… cuz yk i got crates here) by that one bunker room in Stay Out of the House by PUPPETCOMBO (omg peakkk). it’s a maze in there. check out the 2nd image! Future PUZZLES. OMG (still) I have so many ideas and so little timeeee. PS: wanted to fit all images in one frame. (yea okay syre bvro)"}, {"post_id": 79448, "ts": "2026-10-14T01:05:09Z", "hours": 10.0569, "text": "GUMBALLS ~ whats up FINALLY finished decorating?? Okay, so I got the enemy to work - FOR LIKE 5 SECONDS - before i broke it again T-T. IDEK what I did bruh. Implementation So I baked a navigationmesh which is all the places the enemy can go (eg mostly where the player can go mostly) and then successfully (for a while at least) made it move randomly and chase the player when it crossed its line of view. It would even hit the player and make a bloody screen show up. BUT NOW IT DOESN’T WORK. HUhhh?? It doesn’t even move at all. So comes debugging: I integrated each step one by one instead of working on the code for like 5 hours and then testing it. Hopefully I can get this thing to work ugh. (My desc are lwk bad here but its because Im raging) Future PUZZLES. OMG I have so many ideas and so little timeeee. anyway, here’s this gumball machine which might be my favorite thing ever. toodles"}, {"post_id": 77150, "ts": "2026-10-05T19:44:07Z", "hours": 10.9308, "text": "WE GOT CABINETS ~ Happy Spooky-Season!! HORROR SEASON + whats up Player can finally open doors- nope not doors, those are harder to implement than cabinets. But then isn’t a door literally just a big cabinet? #showerthoughts Implementation Basically, interact ‘E’ asks whether the raycast, or the “imaginary line” shot out the player though the red dot in the center, hits the object. If the player is standing close enough and they press E, it turns the door 90 degrees about the side aixs. It took a bit to implement bc I kept MESSING UP what the raycast would collid with. Plus this cabinet is like A MILLION different pieces. it legit takes 10 seconds to scroll through everything. I mean ig bro. Future Do this to like all the other cabinets (T-T), fix enemy (idk why its glitching), implement puzzles. AND ADD HALLOWEEN EASTER EGGS! (or are they called Halloween Eggs bc its not rlly easter… #showerthoughtsagain… haha)"}, {"post_id": 72476, "ts": "2026-09-23T01:17:52Z", "hours": 10.0992, "text": "PLAYGROUND - and pick up I added this cool playground into the game, where you can actually go inside and even slide down the slide. Peak childhood nostalgia :) You can also now pick up items and drop them realistically, affected by gravity. I’m holding a hammer in this image! I think the game is coming along well. Slowly… AHhhh gotta pick up the pace."}, {"post_id": 71017, "ts": "2026-09-20T06:44:20Z", "hours": 8.9114, "text": "Still decorating… Sometimes the things you look the hardest for… Is just in plain sight… I also added in the enemy. Dw it won’t be a cubicle forever."}, {"post_id": 68393, "ts": "2026-09-15T01:40:40Z", "hours": 12.5781, "text": "** PARKOUR ** Still decorating. but im so proud of myself for making this little parkour. the ladder was so hard to get the player to actually get on T-T"}, {"post_id": 62367, "ts": "2026-09-05T18:10:53Z", "hours": 9.9689, "text": "Hallow Continued - MECHANICS ~ What’s been going on Still working on decorating. Aesthetics are important oookkk? Been working on mechanics, such as interacting. Since these models are from online, I have to resize everything and also make a function so they can be interacted with. How it works: basically you just have to be close enough to some object, then press ‘E’ to interact with the object, which then causes some change. For example, this cabinet opens, but I’m planning on adding different puzzles which isn’t as simple as opening a drawer. Issues: Since the hitbox (or CollisionShape3D in Godot) is over the whole cabinet, it opens all the drawers. I guess that makes it easier for the player lmao. But if I wanted to make it over each drawer, then I would’ve had to make smaller hitboxes and arranged them properly. I accidentally made this cabinet TOO TALL T-T. So I wonder how the player will get up there… (totally on purpose haha) It limits which models I could take from online. A lot of models are not separated into parts (eg drawer1 is attached permanently to drawer2), meaning they can’t actually open. I realized this half way thru scavenging. :( Also started on the enemy AI stuff, but it’s not that done yet. ~ Plan Continue decorating, making them interactable. I have also made a whole map of the layout and the fun puzzles I’m planning to put in. I would share it but spoilers… :) Credit for cabinet below: Bedside table: “Bedside table old” ( https://skfb.ly/owuAQ ) by Nollien is licensed under Creative Commons Attribution ( http://creativecommons.org/licenses/by/4.0/ ). SKETCHFAB is a peakkk website! pretty realistic looking things on here!"}, {"post_id": 54118, "ts": "2026-08-24T22:49:47Z", "hours": 6.8272, "text": "Hallow Continued - COUCHES ~ What’s been going on Really right now is one of the fun-ner parts: just adding in open-license 3D models from online and decorating the whole place (in- and ex-terior). And obviously crediting everything on this massive google doc. 👍 I was hoping it would be sorta fast, but tell me how it’s been a few hours already lol T-T ~ After this Make everything interact-able and bring in the props and tools you need to find to escape with. Some of these models don’t have an interior, so I’ll need to figure how to sideball that issue. And a gamedev’s worst nightmare: doors… 👀 Ohhh and also rearrange my whole filesystem and Scene panel. Uhhh which door is which again…. absolute monstrosity right now… Credit for sofa below: “trashy backyard sofa” ( https://skfb.ly/pHVBH ) by Schmoldt5000 is licensed under Creative Commons Attribution ( http://creativecommons.org/licenses/by/4.0/). SKETCHFAB is a peakkk website! pretty realistic looking things on here!"}, {"post_id": 47898, "ts": "2026-08-16T05:24:37Z", "hours": 19.6883, "text": "Devlog 2 - Layout Done It’s been a while since my last post, but I’ve finished the pretty giant layout. I think I want a couple of floors, but that might be ambitious. We’ll see. Right now it has over 10 rooms and an outside! The doors are a big large right now, but this is an orphanage and the player is a kid so maybe its ok. 😓 I also started brainstorming some puzzles. Next step: decorating the interior and exterior and adding in items."}, {"post_id": 27028, "ts": "2026-07-12T05:56:11Z", "hours": 12.6417, "text": "Devlog #1 - Hollow GAME Dev Hey everyone! This is my first time posting and first time ever doing anything Hack Club related. I’ve seen so many cool projects already, and it really inspired me to create something and ship it out. Lmao, skip all this rant and go to the bottom for the actual project to save time! I’m developing a GAME ! – A little about me and why I’m here : I LOVE horror! Especially horror games. However I’m more of a person who likes watching people play games and am too scared sometimes to play them myself. Things like the Resident Evil series, indie games (like by Puppet Combo), or even mobile games like Granny. So I thought why not make one myself since it’s summer and all. I’m familiar with programming but totally new to game dev, so this will be an interesting adventure. – What I’ve learned so far about the game dev process : There’s a LOT to learn and decide. Eg What gaming platform you wanna use (so many differences lmao) like unreal, unity, and godot Plot of your game (so MUCH stuff to consider here) General gameplay style (open exploration? cutscene hand holding gameplay?) How long you want your game to be (uhhh…) and so much more… 😓 I’ve tried making a GDD (game dev doc), and rn its still being refined as the vision comes together. —– MY GAME PREMISE —– Game name: Hollow Gist: The player is stuck in an Orphanage and strives for a way out + An investigator attempts to voyage to the Orphanage, but seeks shelter in somewhere unknown… (trying to go for the multiple enemy/story happening but its all connected…) **Inspo: **HEAVILY from Resident Evil 7 (the Baker’s House), the mobile game The Evil Nun, puppet combo games (like Stay Out of the House or Nun Massacre), random dreams I’ve had (lol) Platform: GODOT (highkey underrated) – Whats done so far a dark environment and a few bare rooms stamina bar that can be recharged flashlight movement controls 1/2 of door mechanics (so many memes about how game devs hate door physics hahaha.. yea me too) Js the first week, so player basic mechanics are in. – Future plans for posts Polish the environment and figuring out the enemy Finishing the GDD and posting clips of it Posting a short demo game on Itch.io Thanks for reading this post!"}]...
|
Title: Hollow - Game Dev by @magomango | Stardance Title: Hollow - Game Dev by @magomango | Stardance
Devlogs:
Devlog #1 - Hollow GAME Dev Hey everyone! This is my first time posting and first time ever doing anything Hack Club related. I’ve seen so many cool projects already, and it really inspired me to create something and ship it out. Lmao, skip all this rant and go to the bottom for the actual project to save time! I’m developing a GAME ! – A little about me and why I’m here : I LOVE horror! Especially horror games. However I’m more of a person who likes watching people play games and am too scared sometimes to play them myself. Things like the Resident Evil series, indie games (like by Puppet Combo), or even mobile games like Granny. So I thought why not make one myself since it’s summer and all. I’m familiar with programming but totally new to game dev, so this will be an interesting adventure. – What I’ve learned so far about the game dev process : There’s a LOT to learn and decide. Eg What gaming platform you wanna use (so many differences lmao) like unreal, unity, and godot Plot of your game (so MUCH stuff to consider here) General gameplay style (open exploration? cutscene hand holding gameplay?) How long you want your game to be (uhhh…) and so much more… 😓 I’ve tried making a GDD (game dev doc), and rn its still being refined as the vision comes together. —– MY GAME PREMISE —– Game name: Hollow Gist: The player is stuck in an Orphanage and strives for a way out + An investigator attempts to voyage to the Orphanage, but seeks shelter in somewhere unknown… (trying to go for the multiple enemy/story happening but its all connected…) **Inspo: **HEAVILY from Resident Evil 7 (the Baker’s House), the mobile game The Evil Nun, puppet combo games (like Stay Out of the House or Nun Massacre), random dreams I’ve had (lol) Platform: GODOT (highkey underrated) – Whats done so far a dark environment and a few bare rooms stamina bar that can be recharged flashlight movement controls 1/2 of door mechanics (so many memes about how game devs hate door physics hahaha.. yea me too) Js the first week, so player basic mechanics are in. – Future plans for posts Polish the environment and figuring out the enemy Finishing the GDD and posting clips of it Posting a short demo game on Itch.io Thanks for reading this post!
Devlog 2 - Layout Done It’s been a while since my last post, but I’ve finished the pretty giant layout. I think I want a couple of floors, but that might be ambitious. We’ll see. Right now it has over 10 rooms and an outside! The doors are a big large right now, but this is an orphanage and the player is a kid so maybe its ok. 😓 I also started brainstorming some puzzles. Next step: decorating the interior and exterior and adding in items.
Hallow Continued - COUCHES ~ What’s been going on Really right now is one of the fun-ner parts: just adding in open-license 3D models from online and decorating the whole place (in- and ex-terior). And obviously crediting everything on this massive google doc. 👍 I was hoping it would be sorta fast, but tell me how it’s been a few hours already lol T-T ~ After this Make everything interact-able and bring in the props and tools you need to find to escape with. Some of these models don’t have an interior, so I’ll need to figure how to sideball that issue. And a gamedev’s worst nightmare: doors… 👀 Ohhh and also rearrange my whole filesystem and Scene panel. Uhhh which door is which again…. absolute monstrosity right now… Credit for sofa below: “trashy backyard sofa” ( https://skfb.ly/pHVBH ) by Schmoldt5000 is licensed under Creative Commons Attribution ( http://creativecommons.org/licenses/by/4.0/). SKETCHFAB is a peakkk website! pretty realistic looking things on here!
Hallow Continued - MECHANICS ~ What’s been going on Still working on decorating. Aesthetics are important oookkk? Been working on mechanics, such as interacting. Since these models are from online, I have to resize everything and also make a function so they can be interacted with. How it works: basically you just have to be close enough to some object, then press ‘E’ to interact with the object, which then causes some change. For example, this cabinet opens, but I’m planning on adding different puzzles which isn’t as simple as opening a drawer. Issues: Since the hitbox (or CollisionShape3D in Godot) is over the whole cabinet, it opens all the drawers. I guess that makes it easier for the player lmao. But if I wanted to make it over each drawer, then I would’ve had to make smaller hitboxes and arranged them properly. I accidentally made this cabinet TOO TALL T-T. So I wonder how the player will get up there… (totally on purpose haha) It limits which models I could take from online. A lot of models are not separated into parts (eg drawer1 is attached permanently to drawer2), meaning they can’t actually open. I realized this half way thru scavenging. :( Also started on the enemy AI stuff, but it’s not that done yet. ~ Plan Continue decorating, making them interactable. I have also made a whole map of the layout and the fun puzzles I’m planning to put in. I would share it but spoilers… :) Credit for cabinet below: Bedside table: “Bedside table old” ( https://skfb.ly/owuAQ ) by Nollien is licensed under Creative Commons Attribution ( http://creativecommons.org/licenses/by/4.0/ ). SKETCHFAB is a peakkk website! pretty realistic looking things on here!
** PARKOUR ** Still decorating. but im so proud of myself for making this little parkour. the ladder was so hard to get the player to actually get on T-T
Still decorating… Sometimes the things you look the hardest for… Is just in plain sight… I also added in the enemy. Dw it won’t be a cubicle forever.
PLAYGROUND - and pick up I added this cool playground into the game, where you can actually go inside and even slide down the slide. Peak childhood nostalgia :) You can also now pick up items and drop them realistically, affected by gravity. I’m holding a hammer in this image! I think the game is coming along well. Slowly… AHhhh gotta pick up the pace.
WE GOT CABINETS ~ Happy Spooky-Season!! HORROR SEASON + whats up Player can finally open doors- nope not doors, those are harder to implement than cabinets. But then isn’t a door literally just a big cabinet? #showerthoughts Implementation Basically, interact ‘E’ asks whether the raycast, or the “imaginary line” shot out the player though the red dot in the center, hits the object. If the player is standing close enough and they press E, it turns the door 90 degrees about the side aixs. It took a bit to implement bc I kept MESSING UP what the raycast would collid with. Plus this cabinet is like A MILLION different pieces. it legit takes 10 seconds to scroll through everything. I mean ig bro. Future Do this to like all the other cabinets (T-T), fix enemy (idk why its glitching), implement puzzles. AND ADD HALLOWEEN EASTER EGGS! (or are they called Halloween Eggs bc its not rlly easter… #showerthoughtsagain… haha)
GUMBALLS ~ whats up FINALLY finished decorating?? Okay, so I got the enemy to work - FOR LIKE 5 SECONDS - before i broke it again T-T. IDEK what I did bruh. Implementation So I baked a navigationmesh which is all the places the enemy can go (eg mostly where the player can go mostly) and then successfully (for a while at least) made it move randomly and chase the player when it crossed its line of view. It would even hit the player and make a bloody screen show up. BUT NOW IT DOESN’T WORK. HUhhh?? It doesn’t even move at all. So comes debugging: I integrated each step one by one instead of working on the code for like 5 hours and then testing it. Hopefully I can get this thing to work ugh. (My desc are lwk bad here but its because Im raging) Future PUZZLES. OMG I have so many ideas and so little timeeee. anyway, here’s this gumball machine which might be my favorite thing ever. toodles
FAV ROOM + glow in the dark pumpkins?? ~ whats up so i got the enemy to work. thank god. PLUS I GOT MY FAVORITE-ST ROOM EVER MADE!! Implementation/fix for enemy Looping btw 2 rooms: wander code picked farthest random point, so movement was lwk sporadic and weird. So we switched to getting the first valid point randomly generated instead. Walked off into the void: bc the navigationmesh or where it can roam WAS PARTIALLY OUTSIDE. bruh. so just resized the NM Never saw me or chased: LMAO this was so funny. So apparently my body was like 115 WHOLE-STINKING units away from where the code thought I was.. so easy fix, but bruh. Lost me at corners when i sharp turned: chase_memory now is for keeping track of position even after losing sight. Also added the hit screen, which is like a little bit of blood, for funsies THE ROOM OMGGOGMG - this was so heavily inspired (not copied… cuz yk i got crates here) by that one bunker room in Stay Out of the House by PUPPETCOMBO (omg peakkk). it’s a maze in there. check out the 2nd image! Future PUZZLES. OMG (still) I have so many ideas and so little timeeee. PS: wanted to fit all images in one frame. (yea okay syre bvro)...
|
1792489985.5475626
|
1793094785.5475626
|
|
50906
|
IronMan_OS by @Tanjiro | Stardance
|
Tanjiro
|
2
|
20.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-20T03:23:51Z", "hours": 8.0, "multiplier": 9.68, "payout": 0, "blessing": "neutral", "text": "#Ship 2 (For WEB_OS #2) ##This is Iron OS , for all my fellow marvel and iron lovers! This is for you, if you: like techie stuff Want to be Iron Man/Tony Stark, but don’t have any money Want to know how Tony build his Iron Man Suits Are just a human being, are you? ## Features Welcome Screen (Just wanted to brag about it ) Iron Pad(Tony’s alternative for Notepad ) ###New Additions (For Web Os #2) Jarvis_Terminal (Tony has a history with arch, so he needs this ) Iron Bar/Top Bar system info of Tony’s Iron PC Iron Player (Everybody loves music ) Changed the entire color scheme so it matches overall ##How did I made this? Most of the help I got was from the jam that stardance provided with mission :jame: ##What did I learn from this? ✨A bit of Html (a pinch of salt)✨ How to style using pseudo elements! A lot of JS!!!!!!!!!!!!!!!!!!!!!!!!!!!! Also how to design in Canva NOTE: Every Icon of Every app in the OS is made in Canva by me. No part of readme is made using AI", "repo": "https://github.com/YOBO-DANCE/IRONMAN-THEMED_WEBOS", "demo": "https://ironman-themed-webos.vercel.app/"}, {"ship_num": 2, "ts": "2026-09-23T17:24:35Z", "hours": 12.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "IRON OS A OS with the power of Stark tech and the suit of IRON What is this? This is OS where only you matter. You can understand this OS only if ever watched Iron Man in action. What did I learn from this Project? a bit more html. some css But in JS… learned how to address a element using getelementbyID() how to make something appear or disappear. how to store inputs from the user inside the website itself. how to make calculation so you know that 2 + 2 = 5!!!(I don’t know why I am homeschooling nowadays) how to make a advance scientific calculator", "repo": "https://github.com/YOBO-DANCE/IRONMAN-THEMED_WEBOS", "demo": "https://ironman-themed-webos.vercel.app/"}]...
|
[{"post_id": 80861, "ts": "202 [{"post_id": 80861, "ts": "2026-10-19T02:23:59Z", "hours": 2.0508, "text": "Devlog 14: So I added some changes, also I wrote more code by myself, so this project could be shipped. And that’s it! Note for shipwrights: I didn’t use any ai in the readme at all."}, {"post_id": 80271, "ts": "2026-10-17T02:06:44Z", "hours": 0.5153, "text": "Devlog 13: Okay so all the changes are completed, and now I have only one color scheme. Note for shipwrights: my code may look like written by AI, but I wrote it by myself. It maybe because I name all my class really generically LOL"}, {"post_id": 79778, "ts": "2026-10-15T11:10:15Z", "hours": 0.9897, "text": "Devlog 12: The Project is ready to be shipped!!! Changes done: Readme is now updated! Final clearing of the code base so only what is needed is in it. Convert all the images to .webp format so my website stays efficient. Changed the Iron Bar the a more Iron Man style Added a cool favicon which I designed in Canva. NOTE FOR SHIP WRIGHTS: Most of my assets are designed by me in Canva or I used other people’s art and also I gave them credit. Okay now lemme just ship it!"}, {"post_id": 79680, "ts": "2026-10-15T01:31:03Z", "hours": 2.6144, "text": "Devlog 11: Okay so the WebOs went under major revamp. Changes Done: Added a Music PLAYER!!!!!!!! Top Bar has a new feature i.e. you can see your IRON-PC system metrics!!!!!!!!!!!! Thats all! Also I think the project is ready to be shipped now, just the readme is left."}, {"post_id": 79616, "ts": "2026-10-14T18:45:08Z", "hours": 1.0039, "text": "Devlog 10 - Okay so after so many reviews from ShipWrights, I fixed those bugs, also the code might look AI written(thats because I don’t usually add comments)(I know, I know it is a bad habits, but…) but it is really not AI written and took genuine effort to complete. Also Guys what do y’all think about this terminal and its Icon, I need some feedback. BTW, I think this was the most difficult part of the WebOS hehe 2 more apps/features to go! Also srry the app icon looks like someone puked on it hehe"}, {"post_id": 73494, "ts": "2026-09-25T07:29:51Z", "hours": 0.7514, "text": "Devlog 9 - Update the README for better understanding and clarity, also my README was actually incomplete 😅😅"}, {"post_id": 72748, "ts": "2026-09-23T17:17:08Z", "hours": 0.6692, "text": "Devlog 8 - Project ready to be shipped! Readme is now completed!"}, {"post_id": 72333, "ts": "2026-09-22T17:58:32Z", "hours": 2.7247, "text": "Devlog 7 - Added a Calculator App, Changed the theme to match that Iron Man Vibe"}, {"post_id": 68721, "ts": "2026-09-15T16:47:48Z", "hours": 0.3, "text": "Devlog 6 - Today I added a little color change to the OS!"}, {"post_id": 63543, "ts": "2026-09-07T13:47:59Z", "hours": 0.5492, "text": "Devlog 5 - Gotta keep up the streak!"}, {"post_id": 62885, "ts": "2026-09-06T12:37:35Z", "hours": 3.5, "text": "Devlog 4 - So Today I found out about the missions and going according to them, so it feels a little stupid ,but now I am more clear about the concepts of a WebOS"}, {"post_id": 54511, "ts": "2026-08-25T15:19:32Z", "hours": 2.3689, "text": "Devlog 3 - I am so tired today, that I can’t even write a proper devlog. Today I worked on the Task-Station and tried to add a inner shadow"}, {"post_id": 49722, "ts": "2026-08-18T17:07:50Z", "hours": 0.9347, "text": "Devlog 2 - Added a nice grid pattern for a futuristic look and added a little text on top stark OS"}, {"post_id": 49607, "ts": "2026-08-18T14:27:55Z", "hours": 0.6456, "text": "Devlog 1: So I added a nice deep metallic background color with a radial gradient"}]...
|
Title: IronMan_OS by @Tanjiro | Stardance
Devlogs Title: IronMan_OS by @Tanjiro | Stardance
Devlogs:
Devlog 1: So I added a nice deep metallic background color with a radial gradient
Devlog 2 - Added a nice grid pattern for a futuristic look and added a little text on top stark OS
Devlog 3 - I am so tired today, that I can’t even write a proper devlog. Today I worked on the Task-Station and tried to add a inner shadow
Devlog 4 - So Today I found out about the missions and going according to them, so it feels a little stupid ,but now I am more clear about the concepts of a WebOS
Devlog 5 - Gotta keep up the streak!
Devlog 6 - Today I added a little color change to the OS!
Devlog 7 - Added a Calculator App, Changed the theme to match that Iron Man Vibe
Devlog 8 - Project ready to be shipped! Readme is now completed!
Devlog 9 - Update the README for better understanding and clarity, also my README was actually incomplete 😅😅
Devlog 10 - Okay so after so many reviews from ShipWrights, I fixed those bugs, also the code might look AI written(thats because I don’t usually add comments)(I know, I know it is a bad habits, but…) but it is really not AI written and took genuine effort to complete. Also Guys what do y’all think about this terminal and its Icon, I need some feedback. BTW, I think this was the most difficult part of the WebOS hehe 2 more apps/features to go! Also srry the app icon looks like someone puked on it hehe
Devlog 11: Okay so the WebOs went under major revamp. Changes Done: Added a Music PLAYER!!!!!!!! Top Bar has a new feature i.e. you can see your IRON-PC system metrics!!!!!!!!!!!! Thats all! Also I think the project is ready to be shipped now, just the readme is left.
Devlog 12: The Project is ready to be shipped!!! Changes done: Readme is now updated! Final clearing of the code base so only what is needed is in it. Convert all the images to .webp format so my website stays efficient. Changed the Iron Bar the a more Iron Man style Added a cool favicon which I designed in Canva. NOTE FOR SHIP WRIGHTS: Most of my assets are designed by me in Canva or I used other people’s art and also I gave them credit. Okay now lemme just ship it!
Devlog 13: Okay so all the changes are completed, and now I have only one color scheme. Note for shipwrights: my code may look like written by AI, but I wrote it by myself. It maybe because I name all my class really generically LOL
Devlog 14: So I added some changes, also I wrote more code by myself, so this project could be shipped. And that’s it! Note for shipwrights: I didn’t use any ai in the readme at all.
Ships:
IRON OS A OS with the power of Stark tech and the suit of IRON What is this? This is OS where only you matter. You can understand this OS only if ever watched Iron Man in action. What did I learn from this Project? a bit more html. some css But in JS… learned how to address a element using getelementbyID() how to make something appear or disappear. how to store inputs from the user inside the website itself. how to make calculation so you know that 2 + 2 = 5!!!(I don’t know why I am homeschooling nowadays) how to make a advance scientific calculator
#Ship 2 (For WEB_OS #2) ##This is Iron OS , for all my fellow marvel and iron lovers! This is for you, if you: like techie stuff Want to be Iron Man/Tony Stark, but don’t have any money Want to know how Tony build his Iron Man Suits Are just a human being, are you? ## Features Welcome Screen (Just wanted to brag about it ) Iron Pad(Tony’s alternative for Notepad ) ###New Additions (For Web Os #2) Jarvis_Terminal (Tony has a history with arch, so he needs this ) Iron Bar/Top Bar system info of Tony’s Iron PC Iron Player (Everybody loves music ) Changed the entire color scheme so it matches overall ##How did I made this? Most of the help I got was from the jam that stardance provided with mission :jame: ##What did I learn from this? ✨A bit of Html (a pinch of salt)✨ How to style using pseudo elements! A lot of JS!!!!!!!!!!!!!!!!!!!!!!!!!!!! Also how to design in Canva NOTE: Every Icon of Every app in the OS is made in Canva by me. No part of readme is made using AI...
|
1792853666.7810152
|
1792940066.7810152
|
|
68343
|
sorry, my phone's dead / hiatus by @Eucatastro sorry, my phone's dead / hiatus by @Eucatastrophe | Stardance...
|
Eucatastrophe
|
0
|
10.44
|
0
|
[]
|
[{"post_id": 80863, "ts": "202 [{"post_id": 80863, "ts": "2026-10-19T02:44:46Z", "hours": 0.2589, "text": "Possible V4? OK SO friction is a huge problem, bearings staying in place is a problem, gluing stuff together with gel cyanoacrylate is a huge problem. This is going to take longer than I thought lol. Namely, I have to rethink the design,, along with backdriving a DC motor anyway. But it worked a couple times, temporarily."}, {"post_id": 80069, "ts": "2026-10-16T04:38:58Z", "hours": 0.9492, "text": "hopefully that works, had to hunt down the datasheet from this obscure aliexpress product"}, {"post_id": 79676, "ts": "2026-10-15T01:13:16Z", "hours": 3.0164, "text": "there’s nothing wrong with v2 theoretically, but I made a v3 that would make it more compact and fit better with small bearings. so here’s v3!"}, {"post_id": 79216, "ts": "2026-10-13T02:03:46Z", "hours": 0.3344, "text": "nicer looking gears!"}, {"post_id": 78647, "ts": "2026-10-11T05:07:07Z", "hours": 1.7058, "text": "watch me haul ass to a gear system instead of using pulleys new gear system is 20/9 * (52/9) * (52/9) * (20/9) = 165:1"}, {"post_id": 77754, "ts": "2026-10-08T05:15:59Z", "hours": 0.3069, "text": "It generates 3 volts yay At a pretty slow spin it generates 3 volts! I’ll probably add an attachment to spin it with. Also here’s my collection of parts so far, the top wheels snap-fit into the bottom ones!"}, {"post_id": 77553, "ts": "2026-10-07T12:47:38Z", "hours": 0.3069, "text": "Made a schematic and worked on the README Good 5AM everybody :> Here’s a schematic! . Since DC motors are gonna output anywhere from -9V to 9V depending on how fast/how we crank the dynamo, we’ll need something to turn it into a stable 5V in a USB-C. . This uses a full bridge rectifier (schottky diodes) to make the voltage positive. The amperage of this generated voltage is super low, so the UPS module will use it to power a battery, which then trickles high amp voltage into the phone."}, {"post_id": 77542, "ts": "2026-10-07T12:11:43Z", "hours": 3.565, "text": "Worked on a CAD! This is a dynamo, for backdriving a DC motor to produce a voltage across both ends. The purpose, ultimately, is to be able to convert it into a stable 5V at enough amps to charge a phone. First we’d have to get the motor spinning though, at about 8300 RPM / 60 = 138 RPS. I thought about using a gear train to backdrive it but there seems to be too much friction, so I’m using a wheel and rubber band system. The ratio is about 6:1 *8:1, for a total of 48:1. So hopefully brisk spins would work? Otherwise, we would just need one really big sprocket."}]...
|
Title: sorry, my phone's dead / hiatus by @Euc Title: sorry, my phone's dead / hiatus by @Eucatastrophe | Stardance
Devlogs:
Worked on a CAD! This is a dynamo, for backdriving a DC motor to produce a voltage across both ends. The purpose, ultimately, is to be able to convert it into a stable 5V at enough amps to charge a phone. First we’d have to get the motor spinning though, at about 8300 RPM / 60 = 138 RPS. I thought about using a gear train to backdrive it but there seems to be too much friction, so I’m using a wheel and rubber band system. The ratio is about 6:1 *8:1, for a total of 48:1. So hopefully brisk spins would work? Otherwise, we would just need one really big sprocket.
Made a schematic and worked on the README Good 5AM everybody :> Here’s a schematic! . Since DC motors are gonna output anywhere from -9V to 9V depending on how fast/how we crank the dynamo, we’ll need something to turn it into a stable 5V in a USB-C. . This uses a full bridge rectifier (schottky diodes) to make the voltage positive. The amperage of this generated voltage is super low, so the UPS module will use it to power a battery, which then trickles high amp voltage into the phone.
It generates 3 volts yay At a pretty slow spin it generates 3 volts! I’ll probably add an attachment to spin it with. Also here’s my collection of parts so far, the top wheels snap-fit into the bottom ones!
watch me haul ass to a gear system instead of using pulleys new gear system is 20/9 * (52/9) * (52/9) * (20/9) = 165:1
nicer looking gears!
there’s nothing wrong with v2 theoretically, but I made a v3 that would make it more compact and fit better with small bearings. so here’s v3!
hopefully that works, had to hunt down the datasheet from this obscure aliexpress product
Possible V4? OK SO friction is a huge problem, bearings staying in place is a problem, gluing stuff together with gel cyanoacrylate is a huge problem. This is going to take longer than I thought lol. Namely, I have to rethink the design,, along with backdriving a DC motor anyway. But it worked a couple times, temporarily....
|
1792471818.5357952
|
1793076618.5357952
|
|
50720
|
AxionOS by @Akkorpy | Stardance
|
Akkorpy
|
0
|
14.41
|
0
|
[]
|
[{"post_id": 80865, "ts": "202 [{"post_id": 80865, "ts": "2026-10-19T02:54:50Z", "hours": 2.0039, "text": "Made a contact app. Now you can write an email and it will be addressed straight to me. It works through Formspree. I made it with Claude (I know, I use AI more than I should, but there is a lot of things I want to create but I don’t know how). I’ll add also About Me app, Music playerm Weather app and browser (maybe). For now, my OS is almost complete"}, {"post_id": 78934, "ts": "2026-10-12T02:47:02Z", "hours": 2.1689, "text": "Finally! Renamed simply Notes by Cosmic Journal, made navigation for it and added some text. Moving content to JS was the only challenge. Used Claude for troubleshooting and Gemini a little for designs and adapting the code from the instruction for my project (however, its visual needs some update), especially in the last part (navigation and JS content)."}, {"post_id": 77000, "ts": "2026-10-05T10:04:33Z", "hours": 1.2914, "text": "Finally! I fixed the main problem with dragging and closing the windows. I haven’t completed my notes app, so it looks really raw and… empty. However, now it will be easier for me. And honestly, I only used Claude for troubleshooting, debugging and making the code easier to read, especially for this issue, but nothing more than that!"}, {"post_id": 72488, "ts": "2026-09-23T02:14:32Z", "hours": 2.3156, "text": "Today, I was working on my first app for the OS. I guess I didn’t fully understand the instructions for Jam Part-4, as my code for window dragging and closing stopped working for both the Notes app window and the Welcome screen (it was working for the Welcome screen until I added the app code). I’m not sure what I should do to fix it yet, even after asking Gemini, but I’ll try to debug and fix it today. If you have any solutions, please leave them in the comments!"}, {"post_id": 69235, "ts": "2026-09-16T17:03:11Z", "hours": 1.1761, "text": "Made its visual slightly more interesting - added a gif wallpaper insted of png. Also added a handle for Welcome screen"}, {"post_id": 62388, "ts": "2026-09-05T18:42:26Z", "hours": 2.3306, "text": "Finally finished making window openable, closable and, of course, draggable. I spent most of the time fixing some text bugs and how the Welcome window appeared when opened. Next step is to create my first app"}, {"post_id": 62123, "ts": "2026-09-05T11:44:54Z", "hours": 2.0556, "text": "Just finished making top bar and desktop, time track and also defining my welcome window. It’s hard to read the code, so next time I will move styles to CSS file and scripts to JS file. Also, I will make windows movable, openable and closeable"}, {"post_id": 49805, "ts": "2026-08-18T19:05:00Z", "hours": 1.0633, "text": "Just finished making my Welcome Screen. It seems awkward at the moment, but I will be upgrading it every day till shipping. Tomorrow I will update its visual appearance"}]...
|
Title: AxionOS by @Akkorpy | Stardance
Devlogs:
J Title: AxionOS by @Akkorpy | Stardance
Devlogs:
Just finished making my Welcome Screen. It seems awkward at the moment, but I will be upgrading it every day till shipping. Tomorrow I will update its visual appearance
Just finished making top bar and desktop, time track and also defining my welcome window. It’s hard to read the code, so next time I will move styles to CSS file and scripts to JS file. Also, I will make windows movable, openable and closeable
Finally finished making window openable, closable and, of course, draggable. I spent most of the time fixing some text bugs and how the Welcome window appeared when opened. Next step is to create my first app
Made its visual slightly more interesting - added a gif wallpaper insted of png. Also added a handle for Welcome screen
Today, I was working on my first app for the OS. I guess I didn’t fully understand the instructions for Jam Part-4, as my code for window dragging and closing stopped working for both the Notes app window and the Welcome screen (it was working for the Welcome screen until I added the app code). I’m not sure what I should do to fix it yet, even after asking Gemini, but I’ll try to debug and fix it today. If you have any solutions, please leave them in the comments!
Finally! I fixed the main problem with dragging and closing the windows. I haven’t completed my notes app, so it looks really raw and… empty. However, now it will be easier for me. And honestly, I only used Claude for troubleshooting, debugging and making the code easier to read, especially for this issue, but nothing more than that!
Finally! Renamed simply Notes by Cosmic Journal, made navigation for it and added some text. Moving content to JS was the only challenge. Used Claude for troubleshooting and Gemini a little for designs and adapting the code from the instruction for my project (however, its visual needs some update), especially in the last part (navigation and JS content).
Made a contact app. Now you can write an email and it will be addressed straight to me. It works through Formspree. I made it with Claude (I know, I use AI more than I should, but there is a lot of things I want to create but I don’t know how). I’ll add also About Me app, Music playerm Weather app and browser (maybe). For now, my OS is almost complete...
|
1792641157.8968778
|
1793245957.8968778
|
|
63324
|
Yahtzee by @BlueCheckmate | Stardance
|
BlueCheckmate
|
0
|
16.22
|
0
|
[]
|
[{"post_id": 80869, "ts": "202 [{"post_id": 80869, "ts": "2026-10-19T03:31:38Z", "hours": 0.9897, "text": "WOHOO WE DONEE!!! I made sure that if you switch between modes it resets everything. Had some issues because I stored the 2nd players scores in something that was also an html element, so it didnt work out originally, but a quick fix in adding variables to store score and changing scoring mechanisms was quick and efficient. Then a copius amount of testing to see for bugs. You’ll see one in the video below where it displays who won twice, but thats my fault cus in my code it waits three seconds before running, so if player 2 finishes within 3 seconds of player 1, itll run twice, so quick fix there. Then more testing and I havent encountered bugs in a while so I’m calling it a wrap! Tomorrow and Tuesday is ReadMe work, and Tuesday we shipping."}, {"post_id": 80507, "ts": "2026-10-17T22:00:11Z", "hours": 0.5361, "text": "NO BUGGSS!!! So I spent a grueling amount of time testing and fixing, but the bug fix was like I expected. I know that once a 0 is recorded, it resets the rollcounter to 0, so I made sure you can only add a 0 if rollcounter is greater than 0. That way, the event listerns can run multiple times, but only the first one can do something. After that, I spent a loooong time in testing And I just caught some 3 errors in my code that wasnt too bad. Then I spent some more time testing, the first time where Player 2 tests the upper section on how it handles 0s while Player 2 tests Lower section, and the second game was vice versa, Player 2 test upper section while Player 1 tests lower section. All in all, happy with my work. Tomorrow I make sure it resets everything when you switch between modes, and Monday/Tuesday can be ReadMe, so I can ship and finish Sticky Streak!!!"}, {"post_id": 80286, "ts": "2026-10-17T03:49:09Z", "hours": 1.9294, "text": "I am going to start bashing my head in the wall cus I have an UNBELIEVABLE AMOUNT OF BUGS So I finished the scoring for the lower section in multiplayer, which is fine, and compiled lower score but now the bugs start: Grand Total won’t show - I spent like 20 minutes figuring out why because variable names matched in both html and js, but then I look a little bit more closely and then instead of GrandTotalScore2 = document.querySelector(\"#GrandTotalScore2) its GrandTotalScore = document.querySelector(\"#GrandScore2) Im going to tweak. Sometimes if you record a zero for player 1, it also feels the need to give a 0 to player 2. This is because of too many event listeners nesting, and they never really go away (a previous issue that was fixed with a current checker) so a quick solution for that, or so I thought, it is not the case right now, because I added an if statement that actually means nothing, because If you decline a 0, and then score a 0 for the other players, both columns get a 0. because of… 🥁 I nested the event listeners too much!! and I am NOT rewriting all the code because thats too much and im in too deep. So I think I now the solution right now, because it resets the dice count each time, so I just need to make sure if the dice is reset you cant do it again, but I’m too tired for that. The video below shows the 2nd/3rd bugin effect, and Im not filming something new cus im too tired. The second video shows the 1st bug. Enjoy, sorry for the long devlog but I barely kept sticky streak past couple days so basically no time to devlog."}, {"post_id": 79223, "ts": "2026-10-13T02:48:21Z", "hours": 0.6819, "text": "So some more scoring for the 2s through 6s in multiplayer. Pretty straightforward I though, until during recording I encountered some bugs that I have no clue whats up with that, but Im not touching them today. dont have the energy for that."}, {"post_id": 78917, "ts": "2026-10-12T01:20:18Z", "hours": 0.3247, "text": "So I added started Scoring if there is a 2 player. I spent some time trying to find out the best way to tackle it while adding the least amount as possible, and I believe I did. while It will be a while before I bug test the whole thing, theres 2 situations in which you score the first column, so thats an if ((situation1)||(situation2)){scoring1} and then an else{scoring2} for the second column, so I think it works out nice. So i think it should become easier for the rest. Also a snippet of code if you’re interested"}, {"post_id": 78914, "ts": "2026-10-12T00:55:05Z", "hours": 0.7431, "text": "Ughhh, this is more complicated than I thought. So initially my codespace was buggin out cus stuff wouldnt load, took me some time to make the second chart for scoring, and positioning the circles and Multi/Single player circles to show modes. And now Ive though of how much of a headache this is gonna be to make. But we’ll persevere"}, {"post_id": 78513, "ts": "2026-10-11T01:44:14Z", "hours": 0.5286, "text": "Ok, so now I am done with the basic version, everything should work, touched up the intro stuff, and added one page for how to play and rules, and another for scoring. I also topped up an issue I just had with myself that you can open multiple tabs like how to play and New game that overlay each other, so I made sure that doesnt happen. Also when touching up the intro, I wanted Next page and Close next to each other, but then they didnt have any bottom margin, so I used bottom: 16px that applied only to the visible box and not the whole scrollable thing, so then I had to create a div with display: flex, and do it there, which worked out, but still annoying nonetheless when im just about done. I’ll add a version where you can do 2 player, and then I’ll ship!"}, {"post_id": 78483, "ts": "2026-10-10T22:33:35Z", "hours": 0.3814, "text": "Worked on the New Game button. Just a monolith of a hundred different verifiers getting reset to false, and a bunch of .innerhtml = \"\" Also, fun quirk in my code I figured when I tried to copy all the verifiers. My OneChecker variable was actually OneChekcer, so the ck was a kc, so when I try to copy paste and all of the other checkers arent recognized, I quickly figured it out."}, {"post_id": 78474, "ts": "2026-10-10T21:58:58Z", "hours": 0.8186, "text": "Getting there. So I added the grand total mechanism, then also decided to pop up a window with you’re score and how good of a score that is. And then theres some bugs I encountered, so some general fixes and making sure everything works smoothly. I’m gonna work on new game now, and then the intro"}, {"post_id": 78450, "ts": "2026-10-10T20:28:56Z", "hours": 0.6828, "text": "Almost Done (for the basic version) So I added the things for 3 of a kind, 4 of a kind, and Full house, which is all of them!!! I did a quick optimization because for chance, 3 of a kind, and 4 of a kind, the score is all the dice added. So I did a quick adding function, but then for some reason it wouldn’t work, even though the variable was global, but apparantly i needed to store it, even though I thought I did, so the fix was score = adding() But thats kinda it, everything can get scored now, so I need to make sure it can all get added up to the Lower score, then the grand total, make sure new game works, and I’ll touch up the intro, make it better."}, {"post_id": 78246, "ts": "2026-10-10T03:52:14Z", "hours": 0.7481, "text": "Some complicated work done and learnt some new stuff BY MYSELF!!! So basically, a long straight is all 5 in a row, like 1,2,3,4,5, or 2,3,4,5,6, and its going to be an if statement of doom and despair if I do it like that. SO, I put them in an array, and sort them from least to greatest, so my long straight code looks like this if (Dice[0] + 1 == Dice[1] && Dice[1] + 1 == Dice[2] && Dice[2] + 1 == Dice[3] && Dice[3] + 1 == Dice[4]) and I also remembed to make Dice a global value, so it doesnt exist only in that function, which is what I didnt realize a couple days ago, which is why it was better to start from simple to harder. and I figured this out ALL BY MYSELF, NO AI, JUST PURE LOGIC now for small straight, it was a bit more complicated, cus its only 4 in a row, so there can be duplicates, so theres 4 situtaions in which it can work. I got the first 2 light work, then I realized later I needed the other 2. Now here is where AI got involved, cus Im thinking if I do if (situation1) else if (situation 2) else if (situation 3 ) else if (situation 4) else and repeat the same instructions 4 times, if it can be condensed, and then Gemini told me about if ((situation 1) || (situation2) || (situation3) || (situation4)) and then only one set of instructions. Nice to know that. Happy with my progress here."}, {"post_id": 78240, "ts": "2026-10-10T02:45:56Z", "hours": 0.4528, "text": "So I fixed the previous bug, by making creating a variable that each section has a specific number, so the score 0 can only be applied when the section number matches the variables number at that time. I then also added scoring for chance and yahtzee (which dont require an array) That was pretty simple, just adding em all up for chance, and making sure they all equal each other for yahtzee, which took a long time becuase I limited myself to only 3 rolls Then I had the bright idea to just change the amount of rolls im allowed so I make sure it works. It does."}, {"post_id": 77977, "ts": "2026-10-09T02:52:34Z", "hours": 0.785, "text": "So maybe less visual progres today: I just made sure that if the score is 0, then you gotta confirm that you’re scoring a zero. I’m getting better at recognizing that when I have a lot of repeting code, to start using functions But sadly not for this, because I though that itll do the function, and then just record a zero without waiting for my input, so I added event listeners everywhere, and it worked so I’m not complaining. I caught a bug that if you hit no multiple times, then if you hit yes it logs multiple 0s, but the fix was ___Score.innerhtml = Score instead of ___Score.innerhtml += Score Then there was an issue where the confirmation window vertically stacked Yes and no, which is not what I wanted, but I forgot to add Position: absolute And lastly theres a bug where if you click multiple sections that can be 0, when you eventually click yes on one of them, it logs 0 to all I clicked. But I aint fixing that today, thats a tomorrow problem, so see you all tomorrow."}, {"post_id": 77727, "ts": "2026-10-08T03:10:38Z", "hours": 0.4811, "text": "Perhaps a day with more noticable progress. I finished up the scoring for the upper section, and added the function to check if you get the bonus or not, and making sure that you’ve scored everything before deserving it or not. So a bunch of copy pasting the same code for the 2s-6s, and then some writing for the Bonus function, tomorrow will probably be less work, just confirming that is you’re scoring a 0 you know you’re doing it."}, {"post_id": 77455, "ts": "2026-10-07T02:28:08Z", "hours": 0.6047, "text": "I am continously amazed at how much more work is actually showing itself up rn. I planned to start the 2s, 3s, 4s, 5s, 6s, but I just spent today with rules. I wanted to commit on pop-ups removing everything except the warning so it looks nice, but closing a bunch of windows each time is tedious. Lucky me.. I remembered functions exist!!!! so now I have a closebunch and openbunch functions that close or open a bunch of windows depending on what I want it to do. so nice. and then theres a bunch of things you can do, so instead of each being its own warning, I bunched that into one with just a list of things you cant do should you try, and I called that one function NoNo() I also reset the dice after you score yourself, can’t lock the dice when they’re reset and made sure you can only score yourself in proper conditions, and cant rescore So no bugs now, which is great. Heres some good progress (longer video, more to show off). But hey, I also figured out that this qualifies as making a game in a non-game engine, so if I have 10 hours from now till then I get it so got my work cut out for me."}, {"post_id": 77209, "ts": "2026-10-06T03:05:54Z", "hours": 0.6022, "text": "Man………………… I’ve got a LOT to learn. So I started out with a filter function, just to arrange the dice rolls from greatest to largest, then started an if statement were if any equal 1, then thats the score, and put it into the innerhtml. If only it were that easy right. I dont think a single line of code was right there . I didn’t put the filter function outside of it, so it wasnt even called upon, and basically nothing was right. So I decided to start with basics, if I click this button will it show a number. It does, So then if this die value is 1, add 1 to the tally, and then display the tally score. That doesnt work. It was because the die’s value is locked in a function, so it needs to exist in the main script. easy fix, and now it works . But the code is very simple, it’ll work for 1s-6s, which is nice, but I want a deeper code understanding. I’ll have to use an array, and index it for short/long straight. I’ll have to make sure you can only click it once, verify if your score will be 0, and reset dice rolls to make sure you can roll again. But thats a problem for another day. So adios"}, {"post_id": 76921, "ts": "2026-10-05T02:50:28Z", "hours": 0.4847, "text": "Gotta do something everyday, and today was busy so not much. Before I start the array of doom and despair, I first needed to assign variables to all sections of the table, and then put that over into the javascript. How Fun. So that means 34 variable names I gotta put in the HTML and in the JavaScript. So after all that, I go to make sure my website still runs. Ladies and Gentlemen… The close button on how to play no longer works. So now I gotta look through all variable names to see my error. And it was because SixeScore was supposed to be SixScore, and GrandScore was actually GrandTotalScore. So 2 fixes, not bad, but it still doesnt work. Then the big GPT tells me that I have id 3Kind and 4Kind, instead of ThreeKind and FourKind, which I did change for the scores but not for the original. I changed because javadoesnt like a number as the leading string for a variable so I changed it, but then forgot to change it on the other end of the line. So overall, very fun guys trust. Heres a video of what my UI does so far:"}, {"post_id": 76539, "ts": "2026-10-03T21:25:26Z", "hours": 0.2736, "text": "It’s slowly coming to fruition I added the rest of the tables for scoring and it’s looking good now, less janky when just the left side was there But now I get to the hard part I need to store the dice’s values in an array, and then call on specific values based on what scoring category. While that’s easy for 1s-6s, and chance, it gets harder for more specialized sections. Also I need to make sure you cant score for the same thing. and then add all the values up and make sure you can actually get a bonus…. All in all… its gonna be a learning experience (hopefully a fun one)"}, {"post_id": 76271, "ts": "2026-10-03T00:52:44Z", "hours": 0.4636, "text": "So I’m starting the table of the scoring, and I’m doing that through separate divs and css. Now you might wonder, why dont you use <table> <tr> <td></td></tr></table> ? and thats a completely valid question your answer: I dont want to I find it much easier to copy paste divs with the same border box class and a <p> and do that. I am not you Great, we got that out of the way. Overall light work, looks kinda weird right now but I think when I add the other stuff its gonna look good. also I fixed a thing from last time, in which when you get the roll warning or the how to play, it would keep the dice lock on, and I need that display off, but when you come back, you need it back on. That took some time as well"}, {"post_id": 76014, "ts": "2026-10-02T01:51:25Z", "hours": 0.385, "text": "So I comitted to a sticky streak so I gotta do stuff everyday, and today was lowkey tiring so I didnt do much. Just added some technicalities and made it look a little better cus when the rules open on top the dice it looks terrible so I just made the dice disappear when rules are open, and made sure you can’t roll more than 3 times."}, {"post_id": 75765, "ts": "2026-10-01T01:13:23Z", "hours": 0.6214, "text": "YES IT’S WORKING!!! You can now keep a dice value that you like, and it was surprisingly simple to make if im being honest. First, I added the toggle to show when the die is locked or not (took a bit of time to position properly). Next, I gave an id, and created a true false value to track, and when you click the die, it toggles it on/off. and then I went into the functions that handle the dice roll, and only allow it when the lock is off. Good job, me"}, {"post_id": 75760, "ts": "2026-10-01T00:10:08Z", "hours": 0.5294, "text": "Guys, I’m genuinely getting better at this I created the function that can roll the dice and create random values. Little bit help from W3 school on creating the random number, but I got the comparison right and making sure that the correct dice value is added. Very little debugging. That being said, its SUPER repetitive code and copy+paste gonna come in clutch, so theres definitely going to be a more optimized way, but the lion does not concern himself with optimizations while working on the cloud Anyway, gotta make sure you can keep dice rolls that you like."}, {"post_id": 74204, "ts": "2026-09-26T22:18:35Z", "hours": 1.1225, "text": "I genuinely believe that Fraud Squad gonna reduce my hours on this project 😭 Heres Why: I spend an hour creating dice . While I know how to create dice under NORMAL circumstance (create a box and put pips in them), these are not normal circumstances, because I will need to manipulate their values. The rightmost die might be a 3 this turn, but in a minute it could become a 5, and I need to adjust for that. Therefore, I need CSS, and if you’ve seen my ChessOS project, you know that CSS and me are no bueno for the most part. Dont understand it at all for the most part, and definitely not incorporating multiple CSS into one element. 1st Attempt I tried styling the base box, a dice pip and putting multiple pips in a dice, I got this far: .dice{stuff} .dicepip{stuff} .dice1{ .dice .dicepip} Shocker, CSS doesn’t work that way 2nd Attempt On the main div that’ll display dice, I need to just put multiple classes in, and create a second div that contains the dicepip div <div class=\"dice dice1 dice2> <div class=\"dicepip\"> That worked for die #1, so I thought, lets do it for the other 6, cus monkey see monkey do . That resulted in one pip per dice in one of the correct spots, because as Gemini told me, It can only include 1 pip. So theres some time over there 3rd Attempt So AI directed me over to multiple background images, with positioning, with code radial-gradiant... then background-positioning and I only got a singular centre pip for all dice no matter if the code had more than 1 (image to show this) The answer to this one is that radial-gradient naturally wants to take up all the space so only one can fit in. 4th Attempt radial-gradient(circle at 15% 15%, black 12px, transparent 13px), For all the pips in die, and now it works!!! works, and I can manipulate which dies get which value, which will be hopefully smooth sailing in that aspect"}, {"post_id": 74170, "ts": "2026-09-26T20:31:55Z", "hours": 0.5367, "text": "I’MMMM BAAACKKK!!! After some slight demoralization in the fact I had to do a lot of things in a little amount of time, hearing stardance get extended revived me, as I now have more time, and will do a lot more things. It starts with Yahtzee. I did the rules, and now Im going to start getting into the hard stuff"}, {"post_id": 69949, "ts": "2026-09-18T03:47:10Z", "hours": 0.5142, "text": "I can’t lie, Fraud Squad gonna have a field day with me A whole 30 minutes to create this I’m genuinely fried. But I have a reason behind that: I spent the first 15 or so minutes trying to get the correct background because even though I was doing background-size: cover It would show a blurry-ish image that was not the whole image, it was cut-off, and idk why. So I went with this. Then I spent some trouble with centring yahtzee, then the 2 boxes I needed to be perfect. So yeah, I deeply apologize fraud squad. Also here’s some pictures of the first wallpapers I tried to put."}]...
|
Title: Yahtzee by @BlueCheckmate | Stardance
Devl Title: Yahtzee by @BlueCheckmate | Stardance
Devlogs:
I can’t lie, Fraud Squad gonna have a field day with me A whole 30 minutes to create this I’m genuinely fried. But I have a reason behind that: I spent the first 15 or so minutes trying to get the correct background because even though I was doing background-size: cover It would show a blurry-ish image that was not the whole image, it was cut-off, and idk why. So I went with this. Then I spent some trouble with centring yahtzee, then the 2 boxes I needed to be perfect. So yeah, I deeply apologize fraud squad. Also here’s some pictures of the first wallpapers I tried to put.
I’MMMM BAAACKKK!!! After some slight demoralization in the fact I had to do a lot of things in a little amount of time, hearing stardance get extended revived me, as I now have more time, and will do a lot more things. It starts with Yahtzee. I did the rules, and now Im going to start getting into the hard stuff
I genuinely believe that Fraud Squad gonna reduce my hours on this project 😭 Heres Why: I spend an hour creating dice . While I know how to create dice under NORMAL circumstance (create a box and put pips in them), these are not normal circumstances, because I will need to manipulate their values. The rightmost die might be a 3 this turn, but in a minute it could become a 5, and I need to adjust for that. Therefore, I need CSS, and if you’ve seen my ChessOS project, you know that CSS and me are no bueno for the most part. Dont understand it at all for the most part, and definitely not incorporating multiple CSS into one element. 1st Attempt I tried styling the base box, a dice pip and putting multiple pips in a dice, I got this far: .dice{stuff} .dicepip{stuff} .dice1{ .dice .dicepip} Shocker, CSS doesn’t work that way 2nd Attempt On the main div that’ll display dice, I need to just put multiple classes in, and create a second div that contains the dicepip div <div class="dice dice1 dice2> <div class="dicepip"> That worked for die #1, so I thought, lets do it for the other 6, cus monkey see monkey do . That resulted in one pip per dice in one of the correct spots, because as Gemini told me, It can only include 1 pip. So theres some time over there 3rd Attempt So AI directed me over to multiple background images, with positioning, with code radial-gradiant... then background-positioning and I only got a singular centre pip for all dice no matter if the code had more than 1 (image to show this) The answer to this one is that radial-gradient naturally wants to take up all the space so only one can fit in. 4th Attempt radial-gradient(circle at 15% 15%, black 12px, transparent 13px), For all the pips in die, and now it works!!! works, and I can manipulate which dies get which value, which will be hopefully smooth sailing in that aspect
Guys, I’m genuinely getting better at this I created the function that can roll the dice and create random values. Little bit help from W3 school on creating the random number, but I got the comparison right and making sure that the correct dice value is added. Very little debugging. That being said, its SUPER repetitive code and copy+paste gonna come in clutch, so theres definitely going to be a more optimized way, but the lion does not concern himself with optimizations while working on the cloud Anyway, gotta make sure you can keep dice rolls that you like.
YES IT’S WORKING!!! You can now keep a dice value that you like, and it was surprisingly simple to make if im being honest. First, I added the toggle to show when the die is locked or not (took a bit of time to position properly). Next, I gave an id, and created a true false value to track, and when you click the die, it toggles it on/off. and then I went into the functions that handle the dice roll, and only allow it when the lock is off. Good job, me
So I comitted to a sticky streak so I gotta do stuff everyday, and today was lowkey tiring so I didnt do much. Just added some technicalities and made it look a little better cus when the rules open on top the dice it looks terrible so I just made the dice disappear when rules are open, and made sure you can’t roll more than 3 times.
So I’m starting the table of the scoring, and I’m doing that through separate divs and css. Now you might wonder, why dont you use <table> <tr> <td></td></tr></table> ? and thats a completely valid question your answer: I dont want to I find it much easier to copy paste divs with the same border box class and a <p> and do that. I am not you Great, we got that out of the way. Overall light work, looks kinda weird right now but I think when I add the other stuff its gonna look good. also I fixed a thing from last time, in which when you get the roll warning or the how to play, it would keep the dice lock on, and I need that display off, but when you come back, you need it back on. That took some time as well
It’s slowly coming to fruition I added the rest of the tables for scoring and it’s looking good now, less janky when just the left side was there But now I get to the hard part I need to store the dice’s values in an array, and then call on specific values based on what scoring category. While that’s easy for 1s-6s, and chance, it gets harder for more specialized sections. Also I need to make sure you cant score for the same thing. and then add all the values up and make sure you can actually get a bonus…. All in all… its gonna be a learning experience (hopefully a fun one)
Gotta do something everyday, and today was busy so not much. Before I start the array of doom and despair, I first needed to assign variables to all sections of the table, and then put that over into the javascript. How Fun. So that means 34 variable names I gotta put in the HTML and in the JavaScript. So after all that, I go to make sure my website still runs. Ladies and Gentlemen… The close button on how to play no longer works. So now I gotta look through all variable names to see my error. And it was because SixeScore was supposed to be SixScore, and GrandScore was actually GrandTotalScore. So 2 fixes, not bad, but it still doesnt work. Then the big GPT tells me that I have id 3Kind and 4Kind, instead of ThreeKind and FourKind, which I did change for the scores but not for the original. I changed because javadoesnt like a number as the leading string for a variable so I changed it, but then forgot to change it on the other end of the line. So overall, very fun guys trust. Heres a video of what my UI does so far:
Man………………… I’ve got a LOT to learn. So I started out with a filter function, just to arrange the dice rolls from greatest to largest, then started an if statement were if any equal 1, then thats the score, and put it into the innerhtml. If only it were that easy right. I dont think a single line of code was right there . I didn’t put the filter function outside of it, so it wasnt even called upon, and basically nothing was right. So I decided to start with basics, if I click this button will it show a number. It does, So then if this die value is 1, add 1 to the tally, and then display the tally score. That doesnt work. It was because the die’s value is locked in a function, so it needs to exist in the main script. easy fix, and now it works . But the code is very simple, it’ll work for 1s-6s, which is nice, but I want a deeper code understanding. I’ll have to use an array, and index it for short/long straight. I’ll have to make sure you can only click it once, verify if your score will be 0, and reset dice rolls to make sure you can roll again. But thats a problem for another day. So adios
I am continously amazed at how much more work is actually showing itself up rn. I planned to start the 2s, 3s, 4s, 5s, 6s, but I just spent today with rules. I wanted to commit on pop-ups removing everything except the warning so it looks nice, but closing a bunch of windows each time is tedious. Lucky me.. I remembered functions exist!!!! so now I have a closebunch and openbunch functions that close or open a bunch of windows depending on what I want it to do. so nice. and then theres a bunch of things you can do, so instead of each being its own warning, I bunched that into one with just a list of things you cant do should you try, and I called that one function NoNo() I also reset the dice after you score yourself, can’t lock the dice when they’re reset and made sure you can only score yourself in proper conditions, and cant rescore So no bugs now, which is great. Heres some good progress (longer video, more to show off). But hey, I also figured out that this qualifies as making a game in a non-game engine, so if I have 10 hours from now till then I get it so got my work cut out for me.
Perhaps a day with more noticable progress. I finished up the scoring for the upper section, and added the function to check if you get the bonus or not, and making sure that you’ve scored everything before deserving it or not. So a bunch of copy pasting the same code for the 2s-6s, and then some writing for the Bonus function, tomorrow will probably be less work, just confirming that is you’re scoring a 0 you know you’re doing it.
So maybe less visual progres today: I just made sure that if the score is 0, then you gotta confirm that you’re scoring a zero. I’m getting better at recognizing that when I have a lot of repeting code, to start using functions But sadly not for this, because I though that itll do the function, and then just record a zero without waiting for my input, so I added event listeners everywhere, and it worked so I’m not complaining. I caught a bug that if you hit no multiple times, then if you hit yes it logs multiple 0s, but the fix was ___Score.innerhtml = Score instead of ___Score.innerhtml += Score Then there was an issue where the confirmation window vertically stacked Yes and no, which is not what I wanted, but I forgot to add Position: absolute And lastly theres a bug where if you click multiple sections that can be 0, when you eventually click yes on one of them, it logs 0 to all I clicked. But I aint fixing that today, thats a tomorrow problem, so see you all tomorrow.
So I fixed the previous bug, by making creating a variable that each section has a specific number, so the score 0 can only be applied when the section number matches the variables number at that time. I then also added scoring for chance and yahtzee (which dont require an array) That was pretty simple, just adding em all up for chance, and making sure they all equal each other for yahtzee, which took a long time becuase I limited myself to only 3 rolls Then I had the bright idea to just change the amount of rolls im allowed so I make sure it works. It does.
Some complicated work done and learnt some new stuff BY MYSELF!!! So basically, a long straight is all 5 in a row, like 1,2,3,4,5, or 2,3,4,5,6, and its going to be an if statement of doom and despair if I do it like that. SO, I put them in an array, and sort them from least to greatest, so my long straight code looks like this if (Dice[0] + 1 == Dice[1] && Dice[1] + 1 == Dice[2] && Dice[2] + 1 == Dice[3] && Dice[3] + 1 == Dice[4]) and I also remembed to make Dice a global value, so it doesnt exist only in that function, which is what I didnt realize a couple days ago, which is why it was better to start from simple to harder. and I figured this out ALL BY MYSELF, NO AI, JUST PURE LOGIC now for small straight, it was a bit more complicated, cus its only 4 in a row, so there can be duplicates, so theres 4 situtaions in which it can work. I got the first 2 light work, then I realized later I needed the other 2. Now here is where AI got involved, cus Im thinking if I do if (situation1) else if (situation 2) else if (situation 3 ) else if (situation 4) else and repeat the same instructions 4 times, if it can be condensed, and then Gemini told me about if ((situation 1) || (situation2) || (situation3) || (situation4)) and then only one set of instructions. Nice to know that. Happy with my progress here.
Almost Done (for the basic version) So I added the things for 3 of a kind, 4 of a kind, and Full house, which is all of them!!! I did a quick optimization because for chance, 3 of a kind, and 4 of a kind, the score is all the dice added. So I did a quick adding function, but then for some reason it wouldn’t work, even though the variable was global, but apparantly i needed to store it, even though I thought I did, so the fix was score = adding() But thats kinda it, everything can get scored now, so I need to make sure it can all get added up to the Lower score, then the grand total, make sure new game works, and I’ll touch up the intro, make it better.
Getting there. So I added the grand total mechanism, then also decided to pop up a window with you’re score and how good of a score that is. And then theres some bugs I encountered, so some general fixes and making sure everything works smoothly. I’m gonna work on new game now, and then the intro
Worked on the New Game button. Just a monolith of a hundred different verifiers getting reset to false, and a bunch of .innerhtml = "" Also, fun quirk in my code I figured when I tried to copy all the verifiers. My OneChecker variable was actually OneChekcer, so the ck was a kc, so when I try to copy paste and all of the other checkers arent recognized, I quickly figured it out.
Ok, so now I am done with the basic version, everything should work, touched up the intro stuff, and added one page for how to play and rules, and another for scoring. I also topped up an issue I just had with myself that you can open multiple tabs like how to play and New game that overlay each other, so I made sure that doesnt happen. Also when touching up the intro, I wanted Next page and Close next to each other, but then they didnt have any bottom margin, so I used bottom: 16px that applied only to the visible box and not the whole scrollable thing, so then I had to create a div with display: flex, and do it there, which worked out, but still annoying nonetheless when im just about done. I’ll add a version where you can do 2 player, and then I’ll ship!
Ughhh, this is more complicated than I thought. So initially my codespace was buggin out cus stuff wouldnt load, took me some time to make the second chart for scoring, and positioning the circles and Multi/Single player circles to show modes. And now Ive though of how much of a headache this is gonna be to make. But we’ll persevere
So I added started Scoring if there is a 2 player. I spent some time trying to find out the best way to tackle it while adding the least amount as possible, and I believe I did. while It will be a while before I bug test the whole thing, theres 2 situations in which you score the first column, so thats an if ((situation1)||(situation2)){scoring1} and then an else{scoring2} for the second column, so I think it works out nice. So i think it should become easier for the rest. Also a snippet of code if you’re interested
So some more scoring for the 2s through 6s in multiplayer. Pretty straightforward I though, until during recording I encountered some bugs that I have no clue whats up with that, but Im not touching them today. dont have the energy for that.
I am going to start bashing my head in the wall cus I have an UNBELIEVABLE AMOUNT OF BUGS So I finished the scoring for the lower section in multiplayer, which is fine, and compiled lower score but now the bugs start: Grand Total won’t show - I spent like 20 minutes figuring out why because variable names matched in both html and js, but then I look a little bit more closely and then instead of GrandTotalScore2 = document.querySelector("#GrandTotalScore2) its GrandTotalScore = document.querySelector("#GrandScore2) Im going to tweak. Sometimes if you record a zero for player 1, it also feels the need to give a 0 to player 2. This is because of too many event listeners nesting, and they never really go away (a previous issue that was fixed with a current checker) so a quick solution for that, or so I thought, it is not the case right now, because I added an if statement that actually means nothing, because If you decline a 0, and then score a 0 for the other players, both columns get a 0. because of… 🥁 I nested the event listeners too much!! and I am NOT rewriting all the code because thats too much and im in too deep. So I think I now the solution right now, because it resets the dice count each time, so I just need to make sure if the dice is reset you cant do it again, but I’m too tired for that. The video below shows the 2nd/3rd bugin effect, and Im not filming something new cus im too tired. The second video shows the 1st bug. Enjoy, sorry for the long devlog but I barely kept sticky streak past couple days so basically no time to devlog.
NO BUGGSS!!! So I spent a grueling amount of time testing and fixing, but the bug fix was like I expected. I know that once a 0 is recorded, it resets the rollcounter to 0, so I made sure you can only add a 0 if rollcounter is greater than 0. That way, the event listerns can run multiple times, but only the first one can do something. After that, I spent a loooong time in testing And I just caught some 3 errors in my code that wasnt too bad. Then I spent some more time testing, the first time where Player 2 tests the upper section on how it handles 0s while Player 2 tests Lower section, and the second game was vice versa, Player 2 test upper section while Player 1 tests lower section. All in all, happy with my work. Tomorrow I make sure it resets everything when you switch between modes, and Monday/Tuesday can be ReadMe, so I can ship and finish Sticky Streak!!!
WOHOO WE DONEE!!! I made sure that if you switch between modes it resets everything. Had some issues because I stored the 2nd players scores in something that was also an html element, so it didnt work out originally, but a quick fix in adding variables to store score and changing scoring mechanisms was quick and efficient. Then a copius amount of testing to see for bugs. You’ll see one in the video below where it displays who won twice, but thats my fault cus in my code it waits three seconds before running, so if player 2 finishes within 3 seconds of player 1, itll run twice, so quick fix there. Then more testing and I havent encountered bugs in a while so I’m calling it a wrap! Tomorrow and Tuesday is ReadMe work, and Tuesday we shipping....
|
1792442831.1730192
|
1793047631.1730192
|