|
53836
|
FOU by @SHREX | Stardance
|
SHREX
|
3
|
71.0
|
1016
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T20:41:24Z", "hours": 50.0, "multiplier": 13.35, "payout": 664, "blessing": "neutral", "text": "FOU is my first serious programming project, and honestly, I never thought it would come this far. It started as a small Python CLI because I wanted an easy way to track crypto prices without opening an exchange every time. Slowly, I added live prices, coin validation, saving, and my own backend. And now, with v2.5, I’ve finally turned it into a proper desktop app! FOU now has three themes — FOU DEFAULT, THE FOOL, and VOID , each with its own companion and six different reactions. The hardest part was definitely building the GUI, especially getting the characters, decorative frames, and layouts to work properly when resizing the window. I spent way too much time fixing tiny details 😭 I also tried to work on almost every piece of feedback from my previous ships. A lot of people said my README and devlogs weren’t clear enough, so this time I’ve added better explanations, installation instructions, a full demo video, and more details about how I built everything. 💜 Please read this before testing! ⏳ First-time loading: Adding your first coin or loading saved prices might take around 60 seconds because my free hosted backend sometimes goes to sleep. Please give it a little time! 🛡️ Windows: I’ve tested the released app on two Windows laptops, and it worked fine. However, the executable is still unsigned, so Windows might show a security warning. I’ve already applied for code signing. Please don’t disable your security settings just to test it. 🐧 Linux and macOS: Both builds completed successfully, but I couldn’t test them on real Linux or Mac computers. So please treat them as experimental. If something doesn’t work, I’d really appreciate it if you could watch the demo video before rating, rather than judging FOU only by an untested build. 🐛 Bugs: Some recent tests found a few rare issues with saving and unexpected API responses. I’ve started fixing them, but those fixes aren’t in this release yet. If you find anything, please let me know! 🚀 How to try it Download the ZIP for your OS from the GitHub Release. On Windows, extract everything and open FOU.exe . Try adding BTC, ETH, or SOL, refreshing prices, saving your portfolio, and switching themes. FOU isn’t a wallet or trading app. It’s just a watchlist for coins you’re interested in. Release: https://github.com/FOU-SHREX/FOU/releases/tag/v2.5.0 README + Demo Video: https://github.com/FOU-SHREX/FOU I’m still learning Python, and this project taught me so much about coding, APIs, GUI development, and fixing things that randomly stop working. I also used ChatGPT, and AI image tools to help with coding, debugging, and artwork throughout development. I’m really happy with how far FOU has come, even though it’s still not perfect. Thanks to everyone who gave feedback on my earlier versions and helped me improve it. I hope you enjoy trying FOU! 💜 Please give feedback and good rating <(_ _)>", "repo": "https://github.com/FOU-SHREX/FOU", "demo": "https://github.com/FOU-SHREX/FOU/releases/tag/v2.5.0"}, {"ship_num": 2, "ts": "2026-09-22T14:25:57Z", "hours": 20.0, "multiplier": 17.33, "payout": 346, "blessing": "neutral", "text": "FOU is my first serious programming project and I made most of it while I was still learning Python. The idea actually came from a small problem I had myself. There were a lot of crypto coins I wanted to keep an eye on, but I didn’t want to open an exchange or search each coin again and again just to check the price. So I thought, why not make a small program where I can add the coins I care about once and then just open it whenever I want to check them. That’s how FOU started. V1.1 was very simple. It was just a CLI watchlist where you could add, remove, save and load coin symbols. While making V2 I learned a lot more and slowly upgraded it with live prices, valid coin checking, adding multiple coins, better save handling, error handling and builds for Windows, Linux and macOS. One of the hardest parts for me was learning how APIs and backend stuff work. I didn’t want to put the CoinGecko API key inside the app, so I built my own FastAPI backend and deployed it. I also learned caching, rate limiting, GitHub Actions, PyInstaller and a lot of testing while doing this. I also worked on the feedback from my V1.1 ship. A lot of people said the README and devlogs were not explaining the project enough, and some people didn’t even understand what a crypto watchlist was or thought it was related to wallets. So for V2 I added a beginner guide, clearer explanation of what FOU does, why I made it, better installation steps and I’m also adding better screenshots and more detailed devlogs. FOU does not connect to wallets, trade crypto or use real money. It is just a simple personal watchlist to track coins you are interested in. To test it, download the build for your OS from the V2 release, open FOU, add coins like BTC, ETH or SOL, type DONE, then open View Portfolio to see the live prices. Save it, close the app, reopen it and your watchlist should still be there. I’m still a beginner and this project is mainly how I’m learning by actually building something, so feedback really helps me improve it. If you try it and like what I made, I’d really appreciate a good rating and an honest review. And if something feels confusing or broken, please tell me that too so I can work on it in the next update.", "repo": "https://github.com/FOU-SHREX/FOU", "demo": "https://github.com/FOU-SHREX/FOU/releases/tag/v2.5.0"}, {"ship_num": 3, "ts": "2026-09-02T16:11:07Z", "hours": 1.0, "multiplier": 4.25, "payout": 6, "blessing": "neutral", "text": "I made FOU V1.1, a Python command-line cryptocurrency watchlist where users can add, view, remove, save, and reload coin symbols. The most challenging part was making the save system reliable both when running the Python file and when running the packaged Windows .exe . I also learned how to handle missing or corrupted save files and how to package the project with PyInstaller. I’m most proud that I took a simple Python project and turned it into a working standalone Windows release that other people can actually download and run. I also improved the code structure, added better error handling, and learned more about Git, GitHub releases, and project shipping. People should know that FOU V1.1 is still a watchlist-style project, not a full live crypto tracker yet. V2 is planned to add live prices and coin validation.", "repo": "https://github.com/FOU-SHREX/FOU", "demo": "https://github.com/FOU-SHREX/FOU/releases/tag/v2.5.0"}]...
|
[{"post_id": 79151, "ts": "202 [{"post_id": 79151, "ts": "2026-10-12T20:29:06Z", "hours": 4.8217, "text": "DEVLOG- 35: About to ship this here is important thing please read this if you encounter with and security issue please click run anyway as I applied for the authorized ownership but that will take weeks to fulfill so please co-operate and Linux and windows user if you want you can skip as i don’t have any system to test them, Thank you all for this journey will make more and be better if you rating me please rate me good. <(_ _)><(_ _)>"}, {"post_id": 78470, "ts": "2026-10-10T21:32:57Z", "hours": 2.5167, "text": "DEVLOG- 34: Here is the look of second theme the name is THE FOOL and the companion name is Mr. FOOL , the border around the portfolio takes so much time and effort of mine like in the end i need to use codex for calculation part as i learn MATH but the calculation is quiet complex so uses that, Appart from this I think i had done most of the work on feedback : 1st Feedback : Make a UI -> Now my project is shifted from cli to gui and have a proper UI 2nd Feedback : Timestap -> Added that in portfolio frame you can see the time its feacting the prices 3rd Feedback : Help -> Addded a help button at the bottom and that will open a youtube video that explain everything from how to use and what is for what! 4th Feedback : Nothing - > so everything is done so far ╰( °▽° )╯╰( °▽° )╯ BTW, working on the third theme too maybe ship tomorrow so don’t forget to try and Rate good my project ."}, {"post_id": 78181, "ts": "2026-10-09T21:53:47Z", "hours": 3.5731, "text": "DEVLOG- 33: Worked on so many things today, like adding the overall background in the second theme and living the frames that hiding that giving each frame its own border frame as per theme, created cards icon for change theme option using DRAW and also create local saving icon to use. i really think i cover most of the feedback as majorities of feedback were about UI which is done mostly and one feedback was about help option so I created a help button at the right bottom which will have a go through video of FOU explain everything if u needed help! will reveled the final look of second theme so stay tuned. - - () - -"}, {"post_id": 77929, "ts": "2026-10-08T20:20:52Z", "hours": 2.1711, "text": "DEVLOG- 32: After struggling and finding the result of the problem i learned math module and ceil and after learning this its so complicated for me that i need to take help from chat_gpt for the calculation part and then i got the desire result but still raise a another issue like the border of companion frame is not retracking its placement so I think i need to fix that next stay tuned ! ಥ_ಥ ┑( ̄Д  ̄)┍"}, {"post_id": 77643, "ts": "2026-10-07T18:38:28Z", "hours": 2.0833, "text": "DEVLOG - 31: Working on a same problem from yesterday but it didn’t fixed yet learned the new concepts and apply them but nothing happened will keep trying until crack that so stay tuned, if you can help please comment me the problem is i want a png border file to get perfectly fix around my portfolio and that file is not fitting perfectly so if anybody know i am using python only and making UI using coustomTkinter."}, {"post_id": 77375, "ts": "2026-10-06T18:17:46Z", "hours": 3.3803, "text": "DEVLOG - 30: Currently working on the second theme and just fixed done the companion frame and part like the emotion part and struggling in the frame of portfolio so i need to learn and understand some more concepts to fix that stay tuned! ( ̄┰ ̄*) ಥ_ಥ"}, {"post_id": 77134, "ts": "2026-10-05T19:03:05Z", "hours": 2.1525, "text": "DEVLOG- 29: Today I finally completed the FOU default theme UI and this is the locked result done some refinement today as remove button draw the prefect remove button icon and the companion sizing and placement the header of companion given a companion a 3D look ) and make companion fame fits to it as the upcoming theme will use that logic stay tuned may ship this this sunday or monday!)"}, {"post_id": 76822, "ts": "2026-10-04T18:27:03Z", "hours": 4.2847, "text": "DEVLOG- 28: So this is my default theme look today i fixed the style like the text fonts and placement and size worked on the activity section like the tick part take a lot just learned the image draw in python and use that to make the search icon clock and tick and loading so it take a while what do you think about this theme there will be more i give you a hint the second is from anime which is so mysterious! (⊙ (⊙ ⊙)_⊙) ( ̄┰ ̄ )( ̄┰ ̄ )"}, {"post_id": 76487, "ts": "2026-10-03T18:48:30Z", "hours": 4.4256, "text": "DEVLOG- 27: Today I fixed the major issue i am facing the image sizing part like when minimize and maximize done some calculation learn new concepts and do some compromise and apart from that added the logo section so the displayed coin will display there logo too and added the help button later when this finish will create a youtube video to guide it threw. The UI is taking the target set shape need some refinement and clarity the the default theme is done yes there will be more then one theme. ^0^ ^0^╰( °▽° )╯╰( °▽° )╯"}, {"post_id": 76239, "ts": "2026-10-02T20:22:19Z", "hours": 3.3644, "text": "DEVLOG- 26: Today I am working on the companion part of my GUI and from the morning working on the correct size fitting of the .png still didn’t get that like when minimize and maximize the size is getting larger and cropped or smaller then the frame and never fits if anybody know how to fix that issue do comment i am using CustomTkinter for this GUI. <(_ _)><(_ _)>o(TヘTo)o(TヘTo)"}, {"post_id": 75986, "ts": "2026-10-01T20:57:10Z", "hours": 2.2486, "text": "DEVLOG- 25: Today I worked on the enhancing the UI and making the default theme till now done the background part and color and border part screen size issue clear and ore UI fixed now working on the complete look and will update when the FOU Theme done."}, {"post_id": 75670, "ts": "2026-09-30T18:12:55Z", "hours": 3.1133, "text": "DEVLOG- 24: Today worked on the left side panels and activity tracer part and done both the part currently generating images as introducing the companion in the GUI with is image based for now but For V3 will change that too motion one. (❁´◡ ❁)(❁´◡ ❁)"}, {"post_id": 75298, "ts": "2026-09-29T17:46:30Z", "hours": 1.5606, "text": "DEVLOG- 23: ADDED some color and themes too, this V2.1 will have 6 theme to choose and currently working on the 2 of them then others right now leaning color change and multiple theme changer in CustomTkinter and apply them here. So far Done the border and background and button stuff will work on coin selection now see you soon."}, {"post_id": 74949, "ts": "2026-09-28T17:31:46Z", "hours": 1.7661, "text": "DEVLOG-22: Today i worked on adding functions to the buttons and handling the possible errors that could happened till now done the view_portfolio , remove_coin, add_coin part with there respective button now work on selection of coin and coin preview as a 3D image if possible. (〃 ̄︶ ̄)人( ̄︶ ̄〃)"}, {"post_id": 74476, "ts": "2026-09-27T13:48:46Z", "hours": 3.055, "text": "DEVLOG- 21: Currently working on the GUI structure and just done timeout error handling with this as a base structure the whole UI will be amazing and will take a while I am new to coustomTkinter so I need to learn first."}, {"post_id": 74143, "ts": "2026-09-26T19:20:12Z", "hours": 1.9086, "text": "DEVLOG-20: Done the refactor with the main.py and build some core functions so the same function will be used buy both CLI and GUI and now working on GUI skeleton stucture will update when finish do comment and like please."}, {"post_id": 73939, "ts": "2026-09-26T11:28:10Z", "hours": 1.1467, "text": "DEVLOG-19: Done with the test_GUI learned the major concepts and basics too no moving forward to work on actual FOU. (~ ̄▽ ̄)~(~ ̄▽ ̄)~"}, {"post_id": 73475, "ts": "2026-09-25T06:14:15Z", "hours": 1.5586, "text": "DEVLOG-18: Guys currently working on GUI and testing it while learning so this will take time i think. Do share some UI layouts ideas to put that."}, {"post_id": 73218, "ts": "2026-09-24T16:50:55Z", "hours": 0.5897, "text": "DEVLOG-17: Thanks everyone for reviews working on the reviews and fixed some issue too, currenty working on GUI as many suggest a good UI ,testing the GUI and learning it too will ship the V2.1 with GUI and fixed things as per feedback. THANKS EVERYONE! DO SUGGEST ME SOME GUI THEMES FOR UI."}, {"post_id": 71370, "ts": "2026-09-20T18:26:30Z", "hours": 1.005, "text": "DEVLOG-16: Guys, Finally the V2 is done and live check my github and try & test and do give the feedback and reviews its been a great journey I learned a lot while making this do like and follow. I can’t ship it right now my previous ship is still pending its been more then 2 week about 3 week still pending if anyone could help do reply please that’s it thanks for connecting. V3 will be delayed bcz of college stuff but will work on the feedback for sure. ☆ : .。. o(≧▽≦)o .。.: ☆☆ : .。. o(≧▽≦)o .。.: ☆ here is the whole story: FOU started as my first serious Python project and was originally just a simple CLI watchlist where you could add, remove, save and reload coin symbols. V1.1 made that version more stable and usable with better structure, save handling and a standalone Windows build. V2 is the biggest jump so far. I added live prices, coin validation, multiple-coin adding, better formatting, safer save-file handling, and a hosted FastAPI backend so the CoinGecko API key stays off the client. I also added caching, rate limiting, network error handling, and cross-platform builds for Windows, Linux and macOS using GitHub Actions. The V1.1 reviews also showed me that the project explanation was still too technical for beginners. Some people didn’t understand what a crypto watchlist was or thought it involved wallets. So I’m improving that too: clearer README beginner guide screenshots better devlogs simpler explanation of what FOU does and why I built it FOU is still a learning project and my first serious one, so a big part of this has been learning by building. Next I’m focusing on V2 feedback and polish before moving toward V3."}, {"post_id": 70741, "ts": "2026-09-19T17:59:07Z", "hours": 0.7525, "text": "DEVLOG-15: Don’t know why still pending if anyone seeing from the team please check my project the V2 is done and i want to ship that if the V1.1 will stay pending i will not able to ship it please team stardance help. BTW done the package part and multiple OS support too and testing there is still work needed but will finish tomorrow."}, {"post_id": 69844, "ts": "2026-09-17T21:52:56Z", "hours": 0.5375, "text": "DEVLOG-14: Done making the backend now some refactors and packages left to build and then V2 is done. if any shipwrights watching this please review my project so i can ship V2. BTW anyone wants to team up on the new programm by hack club “Third space” please comment on this devlog."}, {"post_id": 68760, "ts": "2026-09-15T18:12:26Z", "hours": 2.0439, "text": "DEVLOG-13: Currently working on Backend Error handling like time limit and request limits and after that will do the final cleanup and touch ups and then work on the package part will release the V2 for all os its currenty limited to window’s but V2 will be for linux and mac too. ^0^"}, {"post_id": 68214, "ts": "2026-09-14T18:21:46Z", "hours": 1.1408, "text": "DEVLOG- 12: Today Done some what robusting and will final this didn’t work much today cause of college but will wrap this V2 in 2 days hopely its going to be best thanks. For me learning backend then Appling it was a headache task but done it and learn about it more. try project and give ideas like what i can add in this next and reviews."}, {"post_id": 67588, "ts": "2026-09-13T18:52:15Z", "hours": 1.9956, "text": "DEVLOG-11: Guy Today worked on the Backend created the backend and test it its working and now the sunday feels worth drop the API robustness before but now work on that hope is that it will finished in 3-4 days. will update when API & Network Robustness done. ☆ : .。. o(≧▽≦)o .。.: ☆"}, {"post_id": 66486, "ts": "2026-09-12T10:16:00Z", "hours": 1.9486, "text": "DEVLOG- 10: Today I Done the view_portfolio part and now it shows the current_price of the coin and also a better UI is there to as I ass separator and anchor too add short part too where the coins with high market rank will appear at the top. Now work on the API handling will update soon. ( /ω\ )"}, {"post_id": 65507, "ts": "2026-09-10T18:18:00Z", "hours": 2.4475, "text": "DEVLOG-9: Today worked on the view_portfolio and add the almost every features, testing it now for a while and fixing the bugs and errors here GLM is useful as it test the code and returning the exact error that I am fixing hopply finish the view part tomorrow and move to something next. btw I take off from college for this still learning and then implementing it make it long (~ ̄▽ ̄)~ . will go college tomorrow hopply this will end. Please do follow me and like my log as i am working hard and who gonna like my log i will like there all log. (〃 ̄︶ ̄)人( ̄︶ ̄〃)"}, {"post_id": 64954, "ts": "2026-09-09T18:07:02Z", "hours": 1.3367, "text": "DEVLOG-8: Finally Fixed the add function part and API errors it take a lot of time and learnings to do so now starts working on view_portfolio function hopefully it get done quickly ( /ω\ )."}, {"post_id": 64386, "ts": "2026-09-08T18:26:31Z", "hours": 1.1236, "text": "DEVLOG-7: Work on the add function still handling API and debugging the problems as per my first project this is going to be crazy and lately getting busy as I had join a college for my BBA degree and classes are long ಥ_ಥಥ_ಥ"}, {"post_id": 63720, "ts": "2026-09-07T17:33:31Z", "hours": 1.8575, "text": "DEVLOG-6: Guys working the the API debugging part and it’s frustrating ಥ_ಥ since its keep failing and i had tried all the things asking AI for diagnosis, btw this hard work will be paid of once it’s made cause its gonna add the exciting components.(❁´◡`❁)"}, {"post_id": 62830, "ts": "2026-09-06T11:12:36Z", "hours": 1.7642, "text": "DEVLOG-5: Guys just completed the API function and working on the sorting , price reflecting , listing , and ranking so the V2 will be a considerable hit ╰( °▽° )╯"}, {"post_id": 62153, "ts": "2026-09-05T12:27:18Z", "hours": 0.9586, "text": "DEVLOG-4: Testing API and learning concepts its really time consuming guys please follow and share your reviews"}, {"post_id": 61750, "ts": "2026-09-04T20:10:07Z", "hours": 0.2939, "text": "DEVLOG-3: The Work on the V2 is going on write now the things are complicated for me cause as a learner and a beginner I have to learn before implementation so this will take the time I don’t know why my ship1 is not rated yet if anybody knows please comment. Do try my project and give feedbacks"}, {"post_id": 61487, "ts": "2026-09-04T13:03:38Z", "hours": 0.4081, "text": "DEVLOG-2: Complete the refactor part and now working on the V2 main comp. the API part will update soon"}, {"post_id": 61327, "ts": "2026-09-04T05:44:52Z", "hours": 0.3233, "text": "DEVLOG-1: Started Working on V2 before major updates just refactoring the code as per feedback adding loops in ADD and REMOVE feature and also making package for macos and linux"}, {"post_id": 60297, "ts": "2026-09-02T15:56:41Z", "hours": 0.6444, "text": "Just completed the packaging part now my project is in .exe and going to ship it now"}, {"post_id": 60097, "ts": "2026-09-02T07:41:35Z", "hours": 0.3394, "text": "Devlog 2 -_- Working on the packaging part making it a .exe for you guys so u could try and share reviews and soon shipping it too"}, {"post_id": 57119, "ts": "2026-08-29T06:50:58Z", "hours": 0.4653, "text": "Devlog:1 -_- Today I refactor my FOU-V1 add the separate function for all the functions and ready to move on the V2 of it.Please try and give reviews"}]...
|
Title: FOU by @SHREX | Stardance
Devlogs:
Devlog: Title: FOU by @SHREX | Stardance
Devlogs:
Devlog:1 -_- Today I refactor my FOU-V1 add the separate function for all the functions and ready to move on the V2 of it.Please try and give reviews
Devlog 2 -_- Working on the packaging part making it a .exe for you guys so u could try and share reviews and soon shipping it too
Just completed the packaging part now my project is in .exe and going to ship it now
DEVLOG-1: Started Working on V2 before major updates just refactoring the code as per feedback adding loops in ADD and REMOVE feature and also making package for macos and linux
DEVLOG-2: Complete the refactor part and now working on the V2 main comp. the API part will update soon
DEVLOG-3: The Work on the V2 is going on write now the things are complicated for me cause as a learner and a beginner I have to learn before implementation so this will take the time I don’t know why my ship1 is not rated yet if anybody knows please comment. Do try my project and give feedbacks
DEVLOG-4: Testing API and learning concepts its really time consuming guys please follow and share your reviews
DEVLOG-5: Guys just completed the API function and working on the sorting , price reflecting , listing , and ranking so the V2 will be a considerable hit ╰( °▽° )╯
DEVLOG-6: Guys working the the API debugging part and it’s frustrating ಥ_ಥ since its keep failing and i had tried all the things asking AI for diagnosis, btw this hard work will be paid of once it’s made cause its gonna add the exciting components.(❁´◡`❁)
DEVLOG-7: Work on the add function still handling API and debugging the problems as per my first project this is going to be crazy and lately getting busy as I had join a college for my BBA degree and classes are long ಥ_ಥಥ_ಥ
DEVLOG-8: Finally Fixed the add function part and API errors it take a lot of time and learnings to do so now starts working on view_portfolio function hopefully it get done quickly ( /ω\ ).
DEVLOG-9: Today worked on the view_portfolio and add the almost every features, testing it now for a while and fixing the bugs and errors here GLM is useful as it test the code and returning the exact error that I am fixing hopply finish the view part tomorrow and move to something next. btw I take off from college for this still learning and then implementing it make it long (~ ̄▽ ̄)~ . will go college tomorrow hopply this will end. Please do follow me and like my log as i am working hard and who gonna like my log i will like there all log. (〃 ̄︶ ̄)人( ̄︶ ̄〃)
DEVLOG- 10: Today I Done the view_portfolio part and now it shows the current_price of the coin and also a better UI is there to as I ass separator and anchor too add short part too where the coins with high market rank will appear at the top. Now work on the API handling will update soon. ( /ω\ )
DEVLOG-11: Guy Today worked on the Backend created the backend and test it its working and now the sunday feels worth drop the API robustness before but now work on that hope is that it will finished in 3-4 days. will update when API & Network Robustness done. ☆ : .。. o(≧▽≦)o .。.: ☆
DEVLOG- 12: Today Done some what robusting and will final this didn’t work much today cause of college but will wrap this V2 in 2 days hopely its going to be best thanks. For me learning backend then Appling it was a headache task but done it and learn about it more. try project and give ideas like what i can add in this next and reviews.
DEVLOG-13: Currently working on Backend Error handling like time limit and request limits and after that will do the final cleanup and touch ups and then work on the package part will release the V2 for all os its currenty limited to window’s but V2 will be for linux and mac too. ^0^
DEVLOG-14: Done making the backend now some refactors and packages left to build and then V2 is done. if any shipwrights watching this please review my project so i can ship V2. BTW anyone wants to team up on the new programm by hack club “Third space” please comment on this devlog.
DEVLOG-15: Don’t know why still pending if anyone seeing from the team please check my project the V2 is done and i want to ship that if the V1.1 will stay pending i will not able to ship it please team stardance help. BTW done the package part and multiple OS support too and testing there is still work needed but will finish tomorrow.
DEVLOG-16: Guys, Finally the V2 is done and live check my github and try & test and do give the feedback and reviews its been a great journey I learned a lot while making this do like and follow. I can’t ship it right now my previous ship is still pending its been more then 2 week about 3 week still pending if anyone could help do reply please that’s it thanks for connecting. V3 will be delayed bcz of college stuff but will work on the feedback for sure. ☆ : .。. o(≧▽≦)o .。.: ☆☆ : .。. o(≧▽≦)o .。.: ☆ here is the whole story: FOU started as my first serious Python project and was originally just a simple CLI watchlist where you could add, remove, save and reload coin symbols. V1.1 made that version more stable and usable with better structure, save handling and a standalone Windows build. V2 is the biggest jump so far. I added live prices, coin validation, multiple-coin adding, better formatting, safer save-file handling, and a hosted FastAPI backend so the CoinGecko API key stays off the client. I also added caching, rate limiting, network error handling, and cross-platform builds for Windows, Linux and macOS using GitHub Actions. The V1.1 reviews also showed me that the project explanation was still too technical for beginners. Some people didn’t understand what a crypto watchlist was or thought it involved wallets. So I’m improving that too: clearer README beginner guide screenshots better devlogs simpler explanation of what FOU does and why I built it FOU is still a learning project and my first serious one, so a big part of this has been learning by building. Next I’m focusing on V2 feedback and polish before moving toward V3.
DEVLOG-17: Thanks everyone for reviews working on the reviews and fixed some issue too, currenty working on GUI as many suggest a good UI ,testing the GUI and learning it too will ship the V2.1 with GUI and fixed things as per feedback. THANKS EVERYONE! DO SUGGEST ME SOME GUI THEMES FOR UI.
DEVLOG-18: Guys currently working on GUI and testing it while learning so this will take time i think. Do share some UI layouts ideas to put that.
DEVLOG-19: Done with the test_GUI learned the major concepts and basics too no moving forward to work on actual FOU. (~ ̄▽ ̄)~(~ ̄▽ ̄)~
DEVLOG-20: Done the refactor with the main.py and build some core functions so the same function will be used buy both CLI and GUI and now working on GUI skeleton stucture will update when finish do comment and like please.
DEVLOG- 21: Currently working on the GUI structure and just done timeout error handling with this as a base structure the whole UI will be amazing and will take a while I am new to coustomTkinter so I need to learn first.
DEVLOG-22: Today i worked on adding functions to the buttons and handling the possible errors that could happened till now done the view_portfolio , remove_coin, add_coin part with there respective button now work on selection of coin and coin preview as a 3D image if possible. (〃 ̄︶ ̄)人( ̄︶ ̄〃)
DEVLOG- 23: ADDED some color and themes too, this V2.1 will have 6 theme to choose and currently working on the 2 of them then others right now leaning color change and multiple theme changer in CustomTkinter and apply them here. So far Done the border and background and button stuff will work on coin selection now see you soon.
DEVLOG- 24: Today worked on the left side panels and activity tracer part and done both the part currently generating images as introducing the companion in the GUI with is image based for now but For V3 will change that too motion one. (❁´◡ ❁)(❁´◡ ❁)
DEVLOG- 25: Today I worked on the enhancing the UI and making the default theme till now done the background part and color and border part screen size issue clear and ore UI fixed now working on the complete look and will update when the FOU Theme done.
DEVLOG- 26: Today I am working on the companion part of my GUI and from the morning working on the correct size fitting of the .png still didn’t get that like when minimize and maximize the size is getting larger and cropped or smaller then the frame and never fits if anybody know how to fix that issue do comment i am using CustomTkinter for this GUI. <(_ _)><(_ _)>o(TヘTo)o(TヘTo)
DEVLOG- 27: Today I fixed the major issue i am facing the image sizing part like when minimize and maximize done some calculation learn new concepts and do some compromise and apart from that added the logo section so the displayed coin will display there logo too and added the help button later when this finish will create a youtube video to guide it threw. The UI is taking the target set shape need some refinement and clarity the the default theme is done yes there will be more then one theme. ^0^ ^0^╰( °▽° )╯╰( °▽° )╯
DEVLOG- 28: So this is my default theme look today i fixed the style like the text fonts and placement and size worked on the activity section like the tick part take a lot just learned the image draw in python and use that to make the search icon clock and tick and loading so it take a while what do you think about this theme there will be more i give you a hint the second is from anime which is so mysterious! (⊙ (⊙ ⊙)_⊙) ( ̄┰ ̄ )( ̄┰ ̄ )
DEVLOG- 29: Today I finally completed the FOU default theme UI and this is the locked result done some refinement today as remove button draw the prefect remove button icon and the companion sizing and placement the header of companion given a companion a 3D look ) and make companion fame fits to it as the upcoming theme will use that logic stay tuned may ship this this sunday or monday!)
DEVLOG - 30: Currently working on the second theme and just fixed done the companion frame and part like the emotion part and struggling in the frame of portfolio so i need to learn and understand some more concepts to fix that stay tuned! ( ̄┰ ̄*) ಥ_ಥ
DEVLOG - 31: Working on a same problem from yesterday but it didn’t fixed yet learned the new concepts and apply them but nothing happened will keep trying until crack that so stay tuned, if you can help please comment me the problem is i want a png border file to get perfectly fix around my portfolio and that file is not fitting perfectly so if anybody know i am using python only and making UI using coustomTkinter.
DEVLOG- 32: After struggling and finding the result of the problem i learned math module and ceil and after learning this its so complicated for me that i need to take help from chat_gpt for the calculation part and then i got the desire result but still raise a another issue like the border of companion frame is not retracking its placement so I think i need to fix that next stay tuned ! ಥ_ಥ ┑( ̄Д  ̄)┍
DEVLOG- 33: Worked on so many things today, like adding the overall background in the second theme and living the frames that hiding that giving each frame its own border frame as per theme, created cards icon for change theme option using DRAW and also create local saving icon to use. i really think i cover most of the feedback as majorities of feedback were about UI which is done mostly and one feedback was about help option so I created a help button at the right bottom which will have a go through video of FOU explain everything if u needed help! will reveled the final look of second theme so stay tuned. - - () - -
DEVLOG- 34: Here is the look of second theme the name is THE FOOL and the companion name is Mr. FOOL , the border around the portfolio takes so much time and effort of mine like in the end i need to use codex for calculation part as i learn MATH but the calculation is quiet complex so uses that, Appart from this I think i had done most of the work on feedback : 1st Feedback : Make a UI -> Now my project is shifted from cli to gui and have a proper UI 2nd Feedback : Timestap -> Added that in portfolio frame you can see the time its feacting the prices 3rd Feedback : Help -> Addded a help button at the bottom and that will open a youtube video that explain everything from how to use and what is for what! 4th Feedback : Nothing - > so everything is done so far ╰( °▽° )╯╰( °▽° )╯ BTW, working on the third theme too maybe ship tomorrow so don’t forget to try and Rate good my project .
DEVLOG- 35: About to ship this here is important thing please read this if you encounter with and security issue please click run anyway as I applied for the authorized ownership but that will take weeks to fulfill so please co-operate and Linux and windows user if you want you can skip as i don’t have any system to test them, Thank you all for this journey will make more and be better if you rating me please rate me good. <(_ _)><(_ _)>
Ships:
I made FOU V1.1, a Python command-line cryptocurrency watchlist where users can add, view, remove, save, and reload coin symbols. The most challenging part was making the save system reliable both when running the Python file and when running the packaged Windows .exe . I also learned how to handle missing or corrupted save files and how to package the project with PyInstaller. I’m most proud that I took a simple Python project and turned it into a working standalone Windows release that other people can actually download and run. I also improved the code structure, added better error handling, and learned more about Git, GitHub releases, and project shipping. People should know that FOU V1.1 is still a watchlist-style project, not a full live crypto tracker yet. V2 is planned to add live prices and coin validation.
FOU is my first serious programming project and I made most of it while I was still learning Python. The idea actually came from a small problem I had myself. There were a lot of crypto coins I wanted to keep an eye on, but I didn’t want to open an exchange or search each coin again and again just to check the price. So I thought, why not make a small program where I can add the coins I care about once and then just open it whenever I want to check them. That’s how FOU started. V1.1 was very simple. It was just a CLI watchlist where you could add, remove, save and load coin symbols. While making V2 I learned a lot more and slowly upgraded it with live prices, valid coin checking, adding multiple coins, better save handling, error handling and builds for Windows, Linux and macOS. One of the hardest parts for me was learning how APIs and backend stuff work. I didn’t want to put the CoinGecko API key inside the app, so I built my own FastAPI backend and deployed it. I also learned caching, rate limiting, GitHub Actions, PyInstaller and a lot of testing while doing this. I also worked on the feedback from my V1.1 ship. A lot of people said the README and devlogs were not explaining the project enough, and some people didn’t even understand what a crypto watchlist was or thought it was related to wallets. So for V2 I added a beginner guide, clearer explanation of what FOU does, why I made it, better installation steps and I’m also adding better screenshots and more detailed devlogs. FOU does not connect to wallets, trade crypto or use real money. It is just a simple personal watchlist to track coins you are interested in. To test it, download the build for your OS from the V2 release, open FOU, add coins like BTC, ETH or SOL, type DONE, then open View Portfolio to see the live prices. Save it, close the app, reopen it and your watchlist should still be there. I’m still a beginner and this project is mainly how I’m learning by actually building something, so feedback really helps me improve it. If you try it and like what I made, I’d really appreciate a good rating and an honest review. And if something feels confusing or broken, please tell me that too so I can work on it in the next update.
FOU is my first serious programming project, and honestly, I never thought it would come this far. It started as a small Python CLI because I wanted an easy way to track crypto prices without opening an exchange every time. Slowly, I added live prices, coin validation, saving, and my own backend. And now, with v2.5, I’ve finally turned it into a proper desktop app! FOU now has three themes — FOU DEFAULT, THE FOOL, and VOID , each with its own companion and six different reactions. The hardest part was definitely building the GUI, especially getting the characters, decorative frames, and layouts to work properly when resizing the window. I spent way too much time fixing tiny details 😭 I also tried to work on almost every piece of feedback from my previous ships. A lot of people said my README and devlogs weren’t clear enough, so this time I’ve added better explanations, installation instructions, a full demo video, and more details about how I built everything. 💜 Please read this before testing! ⏳ First-time loading: Adding your first coin or loading saved prices might take around 60 seconds because my free hosted backend sometimes goes to sleep. Please give it a little time! 🛡️ Windows: I’ve tested the released app on two Windows laptops, and it worked fine. However, the executable is still unsigned, so Windows might show a security warning. I’ve already applied for code signing. Please don’t disable your security settings just to test it. 🐧 Linux and macOS: Both builds completed successfully, but I couldn’t test them on real Linux or Mac computers. So please treat them as experimental. If something doesn’t work, I’d really appreciate it if you could watch the demo video before rating, rather than judging FOU only by an untested build. 🐛 Bugs: Some recent tests found a few rare issues with saving and unexpected API responses. I’ve started fixing them, but those fixes aren’t in this release yet. If you find anything, please let me know! 🚀 How to try it Download the ZIP for your OS from the GitHub Release. On Windows, extract everything and open FOU.exe . Try adding BTC, ETH, or SOL, refreshing prices, saving your portfolio, and switching themes. FOU isn’t a wallet or trading app. It’s just a watchlist for coins you’re interested in. Release: https://github.com/FOU-SHREX/FOU/releases/tag/v2.5.0 README + Demo Video: https://github.com/FOU-SHREX/FOU I’m still learning Python, and this project taught me so much about coding, APIs, GUI development, and fixing things that randomly stop working. I also used ChatGPT, and AI image tools to help with coding, debugging, and artwork throughout development. I’m really happy with how far FOU has come, even though it’s still not perfect. Thanks to everyone who gave feedback on my earlier versions and helped me improve it. I hope you enjoy trying FOU! 💜 Please give feedback and good rating <(_ _)>...
|
1793126993.3646302
|
1793213393.3646302
|
|
30756
|
Stardancer (formerly Unnamed Platformer) by @zahra Stardancer (formerly Unnamed Platformer) by @zahran | Stardance...
|
zahran
|
1
|
220.0
|
3505
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T20:37:52Z", "hours": 220.0, "multiplier": 13.35, "payout": 3505, "blessing": "neutral", "text": "For HackClub Stardance, I created Stardancer , a 30-level platformer featuring a unique mechanic: mid-level shapeshifting to unlock new abilities and powers! I used C++ and SFML (the Simple and Fast Multimedia Library) to code this game. During the development of this game, I ran into a couple of technical challenges. Collision was among the biggest; I had initially decided on AABB (Axis-Aligned Bounding Box) collision, but after implementing that I realized that it led to erroneous collision interactions, misalignments, and more issues. So, I switched to SAT (Separating Axis Theorem) collision instead. This, combined with general collision response logic, made coding collision one of the hardest endeavours of this project. There were many other challenges throughout development, however none are too disruptive to the experience of the final game. I’m still extremely proud of myself and this project for many reasons: This is the largest project I’ve ever made; Despite many challenges, bugs, and pieces of complex logic to work through, I made a fully functional and complete game; I managed to make this with no external engines; I was able to use my C++ and new SFML skills to create something I can proudly say I made! IMPORTANT NOTE FOR REVIEWERS!! PLEASE READ!!! A complete playthrough of the game takes a large amount of time due to how levels are structured: to play a level, you must beat the level before it, which poses an issue for one of the shapes which is only unlocked in the last set. I realize most reviewers do not have the time required to play through the full game and gain a complete understanding of its features. For this reason, I strongly urge reviewers to skim through/watch my full walkthrough video linked in my README, as well as check out the “Credits Easter Egg” section in that video. Playing through all 30 levels sequentially takes time, but you can unlock every level directly from the Credits screen so you can test all shape powers hands-on right away! This way, a reviewer will be able to understand the scope and gameplay of the game in a short amount of time. With that being said, I truly hope you enjoy my game.", "repo": "https://github.com/HughMann635/Stardancer", "demo": "https://zahran-635.itch.io/stardancer"}]...
|
[{"post_id": 79153, "ts": "202 [{"post_id": 79153, "ts": "2026-10-12T20:35:30Z", "hours": 8.0819, "text": "Unnamed Platformer - Devlog 27 WE’RE FINALLY HERE! What I did: I did a lot of final polish and testing before getting the game ready for release. Initially I was going to use Emscripten to port my game over to web assembly (inspired by this video: https://www.youtube.com/watch?v=1kiwpAIU454 ) but I soon realized that it was much more complex than it looked, and kind of took away from the spirit of being entirely made out of C++ and SFML. So, I decided to simply publish an executable rather than port the game over to web. I set up the release build and whatnot (which took a while because of cmake config issues and whatnot) but I finally got a release build working n it feels great! I ported to itch.io, now I just gotta finish up the itch page and readme, as well as record a walkthrough video for macOS and Linux users as I couldn’t figure out how to configure the game for either. Challenges: The whole odyssey of deciding how to port my game over was a slight hassle, but nothing too bad. Also, while recording my walkthrough vid, I ended up discovering A LOT of hidden bugs, so I managed to pick all those off and there shouldn’t be any left…hopefully. Plans for next time: Ship! This devlog will be my last for this project, and for this challenge. Aside from being done with everything, I accidentally created a completely new project according to Hackatime when I was renaming the file folder, executable, etc. from “WorldofBlockman” (my placeholder name) to Stardancer so everything would be more consistent with my final title. so any work I do on my project won’t count towards heartbeats and thus I can’t post another devlog (15 minutes minimum/devlog). Still, it’s been such an amazing journey, I learned so much and I made this game that I’m super proud of 🥹 even though this game gave me hell sometimes, I have virtually no regrets about any of it. This has been my biggest project ever, and many more to come in the future hopefully. K…bye guys."}, {"post_id": 74692, "ts": "2026-09-28T00:34:26Z", "hours": 9.5458, "text": "Unnamed Platformer - Devlog 26 Stardance extension + fatigue = holy procrastination 😂✌️ What I did: More random stuff: Level timer that stores each level’s personal best, displays a live timer in the level, and lets you access your PR for each level from level select menu Fixed issue where you couldn’t close game while in settings menu Death count (it just tracks deaths over every single level, accessed from level select menu, manual restarts count as death too) and coin count as well Adjusted some levels a bit Added a feature to handbook where items you haven’t come across yet are blacked out and have hidden descs, and add notification to handbook when you unlock these items Update README a little bit cause I was feeling lazy and didn’t want to do anything else Fix some bugs concerning rotation and tipping, as well as making it so you do not rotate when passing thru a 1 tile high gap (this is specially an issue with the square where it can feel a bit janky otherwise) I will note that some of these were multifaceted changes that took quite a bit of effort and iterations, but I couldn’t be bothered explaining everything I did here. And more playtesting too. Challenges: Probably the handbook feature…it was the longest one out of all of them. Plans for next time: I want to be done with pretty much everything related to the actual game by next devlog, so I can focus on the README and finally shipping! K bye guys"}, {"post_id": 70860, "ts": "2026-09-19T21:41:39Z", "hours": 9.0317, "text": "Unnamed Platformer - Devlog 25 I’m so tired omg What I did: Bunch of miscellaneous stuff: Added basic vfx: so far we only have a click sound, I’ll add more later but it took me a while to figure out how to get SFML’s audio system working since I also had to find out why my audio files weren’t loading in either. Added coins to every level: added new tile type for coin, added a coin into each level, added effects, etc. Fix bugs/gameplay issues such as the triangle being unable to teleport after a restart/new level, rearrange some levels to fit coin placements, find out some new bugs and try (and fail) to fix them, so decide to deal with them another day. Add simple death animation to the player. Make it so levels must be completed in progressive order (e.g. you start at level 1, cannot progress till you have completed), also add different colors to boxes on level select menu (check vid) Probably a few more things related to general playtesting but i can’t remember Challenges: Making level buttons in the levelmenu was kind of frustrating not only because of the selection aspect but also getting them to visually render in the proper colors. Honestly though, now the main challenge is dealing with my own fatigue, especially since I’ve been joining more clubs and getting more homework, so hopefully I can clutch up over the final few days cuz I highkey need that framework 13 🥺✌️ Plans for next time: I added a list of bugs I want to tackle/stuff I want to add: //BUGS!!!!! //cant close window while in settings menu //rotation bugs //levels 13, 17, 26, 4, 8, look into //as well as other levels but these ones I can remember //TO ADD!!!!! //speedrun timer //death count //updating handbook (notif icon, hidden objects) //more sfx (death especially) K bye guys"}, {"post_id": 68850, "ts": "2026-09-15T21:16:00Z", "hours": 7.4011, "text": "Unnamed Platformer - Devlog 24 The game is finally coming together… 🥹🔥 What I did: All the menus in the game are completed! Ngl, credits was really easy ofc, but I was deciding how I should go about doing it, still didnt take too long tho. Then settings was a lot harder 😭 volume adjustment was quite easy, but the real problem came with creating the keybind section, since I had already coded hard inputs all throughout my code. So I pretty much had to add a new system + helper func in vars.h, then replace every instance of isKeyPressed with that system+helper, then code the menu in the ui file (Which took forever cuz of bugs with msg updating + event handling + key updates + etc.). Well, it’s (mostly) done now, which is good. And ofc I was also testing the game for general bugs too. Challenges: The keybind menu took me a hella long time to get done…thats about it, aside from some other tiny bugs. Plans for next time: add vfx, polish up every single one of the menus…and then I’ll see where to go from there. Hopefully I can finish most of my stuff by the start of next week. K bye guys"}, {"post_id": 66830, "ts": "2026-09-12T19:00:20Z", "hours": 9.0458, "text": "Unnamed Platformer - Devlog 23 Hey guys. What I did: I did a lot of playtesting/bug hunting as usual, but I was mainly creating the entire handbook menu. Which took surprisingly long, cuz of designing the menu + figuring out how to include all the different tile icons + creating descriptions + making stuff functional + formatting + colors + bugs + you get the idea. Anyway I’m pretty happy with how it looks so far, I doubt I’ll make any major changes in the future. Also I did find a couple of bugs while testing, but i didn’t really do anything about them, I want to completely create all the core functions before tackling any small bugs/issues. Challenges: There were a few bugs and I went through a few designs for the menu, but overall everything was hella light so I wouldn’t say there were any real challenges. Plans for next time: Create credits menu, then work on adding vfx, add settings menu (thinking of adding volume + keybind toggles), polish up all the menus…and then I’ll see where to go from there. I’m pretty worried cuz now that school’s started (im in gr11 now) I’m probably gonna have a good amount of schoolwork, clubs, etc. that I’ll also have to make time for…so wish me luck ig. K bye guys"}, {"post_id": 63924, "ts": "2026-09-07T23:45:05Z", "hours": 6.8869, "text": "Unnamed Platformer - Devlog 22 School starts tomorrow ✌️so i decided to make a shorter devlog…also I’m so tired What I did: Honestly you can’t really tell that I did much at first glance. I was mainly playtesting a lot and polishing stuff up, and making sure all the background stuff was fine. For now I dont think I’ll return to background stuff for a while. Although I did manage to add a particle effect for the black holes (both the ones in the background as well as the actual obstacles). I was also experimenting with a horizon for a bit, but then I decided I don’t want it and scrapped a good chunk of time worth of changes. Challenges: Deciding how to add in particles was a bit challenging, specially the math part. But other than that it was a pretty chill 7 hours. Plans for next time: Hopefully finish menus, then: work on vfx, polish up all the menus, tackle any big issues with levels or physics, and finally work on bringing my game onto itch.io! not all in one go, though. K bye guys"}, {"post_id": 61060, "ts": "2026-09-03T19:34:17Z", "hours": 9.8472, "text": "Unnamed Platformer - Devlog 21 Background design is a bit easier now that I have a plan…also I did not lose track of time 👍 What I did: I added in every single sky element I want to have: comets, planets, black holes, stars, floating rocks, and a moon. I think I might tweak some elements later down the line (specifically the moon(adding craters) and black holes(I’ll think of some extra effects) ), but for now I’m fairly satisfied with how far I’ve come. Looking at the game now gives me a sense of pride at seeing everything finally come together after so long 🥹✌️ Challenges: Making comets was a bit of a hassle, because I had to decide how to do it (which took me some time for brainstorming + more time cuz of discarded changes + even more minutes of brainstorming), and implement it. It’s pretty complex cuz there’s a cooldown on each comet, then you have to set the spawn point and angle/speed, calculate the trail’s points, draw them, draw the head too etc etc…so it was pretty tedious, but comets are the most rewarding visually imo out of all the features. Other than that, I spent a bit of time per other feature figuring out how to implement each of them, but none of them were as complex as the comet. Plans for next time: Finish up any bugs or other issues in sky-related stuff, then I’ll try to make a visible horizon again and see if I’ve changed my mind since last time. Either that or I’ll start working more on smaller vfx, specially trying to find out how to make a particle effect. K bye guys"}, {"post_id": 59814, "ts": "2026-09-01T19:29:23Z", "hours": 11.1828, "text": "Unnamed Platformer - Devlog 20 Background design is a hell of a lot harder than I thought it would be…also I lost track of time 😭😭 What I did: I got started on background design, and partially implemented a background. I actually had a pretty different idea in mind compared to what I have now: the rest of the planet visible, stretching into the horizon, with mountains and volcanoes etc etc. scattered along its surface. After spending a while implementing that, I realized it a) didn’t look right, since everything was just following the player around at normal cam speed, and b) I didn’t like the idea anymore to begin with. So after scrapping all those changes, I started researching how to add a scrolling effect so it would look more natural. I found out how to implement a parallax scroll effect, which basicallymeans that objects in the background move along slower than objects closer to the front of the screen. I also restructured my scenes.h file which contains all background-related stuff, and made a couple of other small changes and fixes with certain levels. I know I don’t have much to show for it, but that’s mainly because I spent a lot of time tweaking certain elements and just undoing backgrounds I ended up not liking 😭🥀 Challenges: Deciding what to do visuals-wise cost me some time bcuz I kept going back on my old ideas, but restructuring scenes.h was the hardest part since after deciding what to do for visuals, I had to base the logic in scenes.h off that. Also it took me a while to decide how to add in a parallax scroll system. Plans for next time: Work on more background stuff. right now I’ve set up a lot of background elements’ structs and whatnot, but I’ve only redrawn the stars and added a rough brightening/dimming effect. Also Im gonna have to start thinking about what I’m going to add on each of the sub-menus accessible from the main menu (credits, handbook, and settings). K bye guys"}, {"post_id": 56961, "ts": "2026-08-29T00:22:59Z", "hours": 9.99, "text": "Unnamed Platformer - Devlog 19 The UI is coming along pretty nicely! Pt. 2 What I did: I believe I’ve fully created everything UI- and menu-wise, aside from 3 additional menus (credits, a ‘handbook’ that contains info about stuff, and a settings page) that are currently blank. I created a hovering effect for buttons that makes it so when you hover over a button, the button goes downward slightly and the shadow moves to match. Aside from that, I polished up/tweaked some minor details, and the only things I’ll add menu wise are probably those 3 sub-menus on the main menu and a universal backwards-nav button. The biggest thing (time-wise) was figuring out how to make the code more readable and actually making it more readable. I created two new functions for making text and button objects which made my life a lot easier, also the button-hover code took quite a few lines so I put that into a function too. Aside from that, I made a couple fixes here and there to make it more efficient memory wise. And even then, I ended up breaking stuff which took me a while to fix, such as the issue with unpausing ur game in the vid. Challenges: Probably efficiency stuff, since deciding how to do it + implementation took a while and had a couple of bugs due to me not accounting for stuff. For example: my hover function would change states on its own, but since sometimes you don’t need to directly change state or you need to do other things too, I made it into a boolean that each individual case takes and does its own thing with. Plans for next time: Start on background stuff probably, I don’t want to do anymore UI stuff for now. I have a fewideas in mind for my background visuals, but I hope they won’t be too hard/impossible to implement. K bye guys"}, {"post_id": 55174, "ts": "2026-08-26T17:32:12Z", "hours": 9.9275, "text": "Unnamed Platformer - Devlog 18 The UI is coming along pretty nicely! What I did: Designed a full level select menu (there are a couple more things left to add), add a heads up display for the current level, and add proper mouse input and extra details to buttons such as shadows (havent implemented shadows for everything, I’ll explain why) and changing color when hovering. Even though it doesn’t sound like much, it took me a surprisingly long time because my text wasn’t centering…What I didn’t realize is that sf::Text creates invisible offsets for some reason, so when I used getGlobalBounds() it would return that offset too and mess up the centering. I ended up doing some research and realized I had to use the local bounds (i.e. untransformed) when centering. Challenges: Ig the biggest ‘challenge’ was centering buttons with text, because at first I actually tried to manually fine tune coordinates and whatnot. But then I found out I had to use localbounds and blah blah. Another thing is, I spent a lot of time fine tuning sizes, colors, shadow darknesses and depths, etc. which took a lot of my time. Also no ai used this time either, although I did spend a lot of time researching why my text wouldn’t center itself. Plans for next time: I’ll just polish up existing menus, and work on background elements. Also I want to add a kind of handbook accessible from the main menu that tells you what stuff does, different powerups, etc. But most importantly, I’m gonna try to find out how to make shadow creation more efficient. For every text/button, I need a shadow. That means I have to add it as a member in the class, copy the actual object, change the color and offset it, then draw it too. Since I have so many objects that make shadows (all of them in the end, ideally), I’m probably going to make a shadow-making function for readability. Other than that I’ll just play the game and test levels a bunch, which I’ve already been doing a lot to make sure everything is as it should be. K bye guys P.S. there’s also still a couple bugs ( UI-related or otherwise) that I have to fix as well"}, {"post_id": 53440, "ts": "2026-08-24T00:04:55Z", "hours": 9.9042, "text": "Unnamed Platformer - Devlog 17 It’s actually no longer “Unnamed Platformer”, it’s “Worlds of Blockman”, I might change that later idk What I did: I designed level 30, playtested every level extensively and tweaked some levels, and made a basic main menu, level hud and pause menu. And it took me ~10 hours. Well, that’s not all I did. I also changed up the colors of the square to differentiate it from spikes and buttons, and I added a visual indicator for the triangle’s teleport. When you tp the triangle fades to a darker shade of green, and when it gets off cooldown (3 secs) it fades back to its normal color and then you can tp again. Also, level design took quite a long time since I was kind of making it up as I went along, and the whole game states implementation wasn’t too hard in itself, but I ran into errors with loading my font. I added the .ttf file to my assets folder and wrote the correct file name in font.loadFromFile() and whatnot, but turns out I didn’t have the actual font downloaded in the build folder or my project. So after a bit less than an hour I added it in and it fixed the issue. also I spent a bit of time deciding how the different menus would actually look which ate up some time. Challenges: ngl the font-loading thing was kind of the only hard part 😭most other stuff was solved relatively quickly and easily AI used, if any: None, also most likely no AI will be used in the future since the future just holds visual stuff which should not be hard enough to merit the help of AI. Plans for next time: Level select menu, add more stuff to main menu, also make it so the current level shows in the background when you go to the pause menu. also add mouse inputs so you can use those instead of kb inputs in the menu, and start on some more vfx and sfx. I’m also really tired"}, {"post_id": 51378, "ts": "2026-08-21T01:20:51Z", "hours": 9.9719, "text": "Unnamed Platformer - Devlog 16 Actually didn’t get a lot done over the last few days, let me explain. What I did: The biggest and only new feature I added was a major adjustment to black holes. Earlier they were just 2 tile x 2 tile circles that killed you upon touching. I’ve reworked them to how they’re supposed to be: 6 px x 6 px black circles, with a surrounding 6 tile x 6 tile ring. now if you enter the ring, you lose the ability to move normally (you can still jump tho) get pulled toward the black center, which kills you if you touch it Which is how it’s supposed to be (nevermind the astrophysical inaccuracy lmao). This took me 2 hours 😭 and then I designed levels 26 and 27. I also re-added the old texture system I implemented and then took down earlier cuz it was making things look hella grainy, but only for environment tiles cuz there’s no big changes visually compared to redrawing them every frame. Unfortunately it doesn’t seem to be doing much in terms of efficiency. I also designed levels 28 and 29 (ss of level 29 attached), and playtested every level from 1 to 28 and adjusted each one to remove any unwanted ways you can cheese a level, as well as to just make some of them less punishing for small mistakes. I also (FINALLY) designed level 6. I added extra sections and polished up some elements that were making the level impossible if you didn’t play it perfectly. I did 2 other things as well: I made it so blocks can’t be pushed by any character other than the square (before you could just push blocks w/ anything) and I reduced horizontal movespeed in zero-g. There’s still a lot more I have to do, mainly ui/menu stuff and visual polish. Challenges: Black hole physics took me a while since my first few implementations were completely wrong, and then I locked in nd figured out how to make it pull correctly. Also, level design is proving to be surprisingly challenging, I rly didn’t think it would take this long, but what with conceptualizing + creating + playtesting each level, especially the later ones where I want to make them more complex and difficult, it eats up a lot of time per level. Even going back through older levels and tweaking them can take a while, cuz you gotta track down all the problematic sections and figure out how to fix them. I also have a humble 18 more days till school starts so I gotta lock in🙏 AI used, if any: None, level design is hard but its not THAT hard Plans for next time: Finish level 30, playtest levels 29 and 30, and hopefully get started on + finish a main menu and level select menu. Im so behind on my schedule it aint even funny so wish me luck"}, {"post_id": 49286, "ts": "2026-08-18T00:22:13Z", "hours": 10.0053, "text": "Unnamed Platformer - Devlog 15 Actually got a lot done over the last few days ig What I did: first off, I reset my old changes and made it so env tiles layer over obstacles. At first I tried to assign an individual character to each combination (spike in water, block in zero-gravity, etc etc) but that didn’t work since I couldn’t get them to lay over each other. So what I did is I split my statictilelist into two: statictilelist now held all non-moving entities like spikes, ground, etc. while envtilelist held all my environment tiles. Then I changed my map loading function to take two map strings: one assigned tiles based on entities and the other pass assigned them based on environment. And now I can lay environments over things without breaking my game! Yippee! I also fixed an issue where blocks could clip through obstacles in zero-g when you moved them upward. The issue was blocks unconditionally being mtv-moved when the player was below them, so the player forced them through anything. I added an extra check before mtv-moving and made obstacle detection variables global to fix it. I also ran into an issue where spikes would incorrectly kill you even if you were not touching them, just near: the issue was that I wasn’t running SAT collision, just going straight to death logic if the initial AABB check turned out true (I run an AABB check first because running SAT for everything makes the game super laggy). both of these lowkey took me a while 😭 As for level design I reworked level 6 (still can’t play it) and level 17 (finished), and I designed levels 18-25 (I attached a video of level 24). Also in the vid I switched shapes randomly, that’s just because I had different keybinds earlier and it was js muscle memory kicking in. Challenges: Aside from a bunch of small bugs, the biggest challenges were the issue where spikes would kill you even if you weren’t touching them and the issue with blocks being pushed up forever in zerog. Even then, for both issues it was still easy to fix since it was easy to diagnose and a few lines per fix, even if it took me a while to find those few lines 🥀🥀 However, there’s still an issue where blocks sink slightly upon spawning in zero-g. This makes it impossible to play level 6, so I’ll have to look into/rework/do something to zero-g logic because I really want to keep its existing level mechanic. AI used, if any: None 🔥 Plans for next time: Finish levels 26-30, finish level 6, and test all the levels to make sure they’re not too hard/impossible/possible to cheese. Aside from that, I’ll most likely bring back the texture thing I implemented last time cuz it did actually make the game run a bit smoother, but I’ll only do it for environment tiles. K bye guys"}, {"post_id": 46621, "ts": "2026-08-14T00:27:19Z", "hours": 10.0767, "text": "Unnamed Platformer - Devlog 14 I’m genuinely so done What I did: I designed levels 5 and 7-16 (ss of a few levels should be attached idk which they are). I have a cool idea in mind for level 6 but my current code makes it hard to implement, and I also have a cool idea in mind for level 17 but my code made it hard to implement. So I changed everything up like an idiot. My 17th level features a massive pool, but that requires me to draw 1000+ water tiles. Since I redraw tiles every frame, it causes a big load on the computer. So I had the brilliant idea of creating an sf::RenderTexture . spoiler it’s not so brilliant. That led to a massive chain reaction where there were a bunch of nullptr issues at first, which I spent about 40 minutes on before actually getting the game to run. Then everything was super grainy due to aliasing issues caused by drawing everything to a RenderTexture, PLUS since I was drawing everything at the start of the frame and not updating it, stuff like buttons and doors would never update. SO, my dumb ahh moved half my static/environment tiles to dynamictilelist , reserved for strictly blocks which are the only tiles that can change position, and I did this cuz these would draw every frame and they didn’t have the same grainy look as the ones drawn to a texture. the result is probably self explanatory. That caused SO MANY ISSUES that I can’t even begin to describe them all, so after 50 minutes I undid 50 minutes worth of changes, added some spaghetti code to make it a bit more presentable, and call it a day. Challenges: Level design was fun, and easy. I did that for all of yesterday and the first half-ish of today. The vain attempt at making my code more efficient by changing how static tiles were drawn and then going on to deeply regret it and consider undoing it all the next day, was not. Also I probably shouldn’t have bothered trying seeing as I was pretty tired anyway, but ig my stupidity/ambition/idek led me to try. I’m genuinely too tired to bother elaborating, but it goes somewhat like this: I started on the texture-caching thing -> I ran into nullptr errors -> I got those out of the way -> I ran into issues with rendering and updating -> out of frustration I undid all my progress and started anew -> I decided to implement anti-aliasing -> I will probably(definitely) reset my code to where I had been right before I decided to do this stupid implementation AI used, if any: none. If I had I would’ve probably been done with this bs by now. Plans for next time: Realistically I’ll likely just undo all the changes I made to drawing processes, find out how to draw environment tiles underneath other entities/obstacles (which will be useful for many of my levels with spikes or the like in environments), and…thats it. Also, for level design, I want to have all preliminary designs down by the end of this Sunday (3 more days), and then I can playtest and refine later. I wanna cry P.S. the level with the white room is level 6 and it’s currently unfinished lmao"}, {"post_id": 44761, "ts": "2026-08-10T19:13:08Z", "hours": 9.9139, "text": "Unnamed Platformer - Devlog 13 No motivation… What I did: I solved the issue of vertically stacked blocks clipping through each other and through the player, which was a pretty big chunk of my time since I went through like 10 different approaches and changed up a bunch of stuff along the way. I ended up taking out the SAT collision function I had built and just plugging mtvCheck() (which checks the mtv( )) and the movement logic straight into the collision loops instead. I had to reorder a good chunk of logic too since a lot of the clipping was coming from stuff resolving in the wrong order relative to other stuff. Also did some cleanup: deleted the grounded member off the block class since entity already has one and I was just using two variables for the same thing like an idiot. I added an R keybind so I can restart instantly instead of walking into a spike every time I want to reset (useful for testing + as an actual game feature). I also made the player’s rotation reset on spawn so you don’t respawn tilted at some weird angle from your last death and shrunk the spike hitbox down a bit from 20x20 to 18x18 because I was dying to one-pixel overlaps that looked like it shouldn’t have counted and that are pretty frustrating to deal with. Also did a bunch of level design. I’ve only done levels 1 through 4 so I lowkey gotta lock in. Challenges: The stacked block thing took forever because the symptoms kept changing depending on how many blocks were stacked, which direction they were pushed from, whether the player was involved, etc etc, so it never felt like I was chasing ONE bug, more like four bugs wearing a trenchcoat. Eventually I just started brute-force testing every combo I could think of (2 stacked, 3 stacked, stacked + pushed, stacked + player jumping into it) until I ran out of ways to break it. Also I ran into some issues when designing levels: blockonhead , which makes it so you cannot jump if a block is on your head, was triggering if any block was lined up above your head, even if it was like on a platform way above you. I managed to fix that, and other than that + the block issue there wasn’t too many big obstacles this time. AI used, if any: none, since I’m not using it at all for game design and didn’t need to use it to solve block clipping issues since I just brute forced a bunch of possible solutions. Plans for next time: More level design…I’ll try to get most of the levels done by next devlog. K bye guys"}, {"post_id": 37384, "ts": "2026-07-30T02:06:51Z", "hours": 9.8561, "text": "Unnamed Platformer - Devlog 12 Man* Realizes True Meaning of ‘If it ain’t broke, don’t fix it’ What I did: First I ported pushable blocks to SAT collision so they use the same system as the player and it’s not split between two systems. Well. That broke blocks. so I spent 2 hours or so cross referencing my old versions and adding and deleting changes till it started working again. After that, I made sure blocks moved properly in zero-g. (they didn’t so I had to fix that too) Aside from that, I made a bunch of miscellaneous changes, such as fixing level progression bugs and altering player constants, but most importantly making sure blocks worked properly. Somewhere along the line I was investigating how stacked blocks interacted. I noticed they were clipping through the ground because of collision checks happening after the position of blocks was updated, and after some thought I tried adding another collision check pass to my main game loop. It worked like a charm! I added two extra checks for safety and it stopped working like a charm. The issue is my checkCollisions function is hella inefficient. 500+ lines of searching through every character in the tilemap (36x64, plus an extra column for new lines making it 36x65=2340) 6 times (!!!) Not only that, in some cases (block/player collision detection) I was nesting full passes within full passes, which caused insane lag, especially with my SAT collision which does a lot of math each frame. So I decided I wanted it to be more efficient (spoiler: it’s not efficient yet). I split my old tilelist into static tiles and dynamic tiles…and instantly regretted it. Challenges: Basically when I split tilelist into two separate vectors ( statictilelist which is everything except for blocks + dynamictilelist which is just blocks since nothing else moves lmao), I think I accidentally deleted a lot of existing logic that was the duct tape to my spaghetti code**. Aside from that, when I passed through tilelist it always passed through every tile, but with my new logic I had to decide which one to use. my stupid ahh didnt realize that there might be a chance I have to pass through both of them though 😭 well guess what there were a lot more gaps in my logic. All of these combined into the logic I had spent the last few hours working so hard to perfect, falling apart in 5 seconds. Similar to the whole block to SAT thing I worked out most of the issues just by adding, tweaking, and removing a bunch of checks as well as looking back at my old logic to figure out what I forgot. Among these general changes I also added a new grounded member to the block class, and tried to get it to register if it’s on top of a player. Unfortunately it didn’t work. It’s ok I’ll brute force my way to the root of the problem tomorrow. (Btw this doesn’t even cover the issues I faced prior to this😭 ✌️ ) AI used, if any: Now that the core elements of the game (physics) are out of the way, I’ve pretty much been grinding through bugs myself since it’s just existing logic and I’m not really adding much that’s new or unfamiliar. Honestly, I think it’s gonna stay this way because I don’t intend to use AI to design the game, I was using it more to help solve physics issues and the like. Plans for next time: I’ll try to hopefully fix the new block clipping issues. then idek anymore. Maybe i shouldn’t have tried to build the engine from scratch. K bye guys *I’m not actually over 18 **Tuff line?"}, {"post_id": 35959, "ts": "2026-07-27T19:01:15Z", "hours": 9.8747, "text": "Unnamed Platformer - Devlog 11 Rotation is finally working! Mostly. Anyway I have to post now cuz of the 10 hour limit per devlog. What I did: I fully implemented rolling and rotation physics across all player shapes! Shapes now physically rotate based on movement speed, tip over cliff edges, and smoothly snap back to a flat face when you stop moving. I also added a feature where shapes automatically realign when entering water or zero-G. To make everything smooth and frame-rate independent, I overhauled the settling and snapping math using fmod for shortest-path rotation and wrap-around handling. Challenges: Getting the angle snapping and tipping logic to work was the biggest hurdle. Non-square shapes were getting locked out of tipping due to floating-point issues, which I fixed with an epsilon tolerance check. There are still a couple of bugs that I’ll tackle later, notably the fact that shapes sometimes spin an extra time upon settling. but the core system is more or less functional now. AI used, if any: I managed to work out the math myself but I needed to ask AI with help debugging. Plans for next time: I’ll probably work on some visual effects for the next couple days + fine-tune and debug my physics a bit more. K bye guys"}, {"post_id": 33845, "ts": "2026-07-24T02:43:36Z", "hours": 7.1331, "text": "Unnamed Platformer - Devlog 10 I’m tired 😭 What I did: I ported the rest of my entities over to SAT collision. Every tile that can be collided with now uses SAT. I refactored some of my functions to handle the new logic properly across the board, and got rid of the old standalone AABB collision code for ground tiles. I also decided to make pushable blocks hybrid for simplicity: aside from general environment collisions which use SAT, I didn’t change much of the old AABB code. I also added an O(1) center/radius projection for circles to fix random micro-stutters, and updated drawdebug() so it stops drawing every vertex and instead renders one dynamic vector targeting the nearest tile vertex. (Circles in SFML are actually 30-sided polygons, so earlier the collision checks were looking at 15 different axes + all those axes were being drawn in the debug overlay.) Challenges: Thankfully most of the porting to SAT stuff was easy, I only had a couple of minor setbacks here and there. However, the harder part was getting the circle center-to-vertex collision logic down. I had to find out how to do it + add completely new logic to my function + add checks in my collision code to determine if the shape was a circle + rewrite my drawdebug() code. It took a while and a lot of my sanity but I got it done in the end AI used, if any: Used AI to help debug the updated circle collision detection system + its separate debug overlay code. Plans for next time: I’m going to work on rolling physics for real. I hope it goes well 👍 K bye guys"}, {"post_id": 32739, "ts": "2026-07-22T02:37:49Z", "hours": 9.0553, "text": "Unnamed Platformer - Devlog 9 I was “busy” watching the World Cup bronze/final matches over the weekend. No way we got a 10 goal third place game while everyone started throwing hands at the end of the final😭 What I did: I finally got started on SAT collision like I said I would, and it’s actually working! Mostly. I built all the fundamentals so far: vertex extraction, edge normal calculation, projection ranges, minimum translation vector (MTV) calculation, etc etc. I hooked it into checkCollisions for ground tiles, and the MTV push resolution actually stops shapes from clipping through geometry now, and it’s also sign-corrected and whatnot so it always pushes the right direction. I also made a debug overlay that draws vertices and axis normals directly in the game window, which saved my sanity countless times and looks pretty cool too. On top of collision math I had to go back and fix 3 out of my 5 characters’ movement code because switching to SAT caused bugs in features that worked just fine under the old AABB system, aside from all the general bugs I had to deal with. The hexagon’s double jump stopped working entirely, circle’s acceleration started randomly resetting mid-sprint, and octagon’s wall jump turned into an absolute mess (more on that below). The main thing was that my old flags for checking wall collisions were set with assumptions that crumble once you switch from checking 4 fixed direction to a bunch of axes. Challenges: Oh boy… The wall jump bug was hella frustrating: after switching to SAT, the octagon would do exactly one wall jump and then just slide down the second, no matter how many times I hit jump. It took me forever to figure out it was a chain of three separate bugs stacked on top of each other: wall contact flags getting cleared before the function ever read them, my walljumped flag never resetting between wall touches so it permanently locked my horizontal movement, and then once THAT was fixed, SAT was re-zeroing my wall-jump velocity on the same frame it fired because the player was technically still overlapping the wall geometry. So I fixed those and immediately got a NEW bug where wall jumping turned into a pogo stick that spam-bounced me up the wall, because a vertical MTV was getting misread as “landed on the ground,” which reset the wall jump lock and let it refire every single frame. Also spent quite a bit of time before realizing this one line I had, if (grounded) velocity.y = 0 , worked fine with AABB but not so much with SAT’s own grounding logic, since my SAT function sets grounded = true when it sees downward velocity, and that line was zeroing velocity before SAT checked it. Removed it and a lot of my bugs disappeared. AI used, if any: SAT math I mostly figured out myself, after reading through a ton of Stack Overflow threads, articles, watching a lot of YT videos, etc. on my own time. I did use AI to clarify/debug a couple of parts though. However, I ended up needing it a lot more for debugging the problems that stemmed from it, i.e. the octagon, hexagon and circle issues. Plans for next time: SAT works for ground tiles but I’ve still got all my other entities on the old AABB system so I gotta port those over. Although, probably the biggest thing is trying to make my code more efficient because sometimes the game randomly slows down/freezes and makes random clips occur. If this isn’t lag (which it might not be, I could just be stupid) I’ll still have to look into whats happening. Then, once ground collision is 100% finished: rolling physics, aka the reason I made this change in the first place. Gonna have to look into the math/physics behind that, but it should be pretty easy since I already got this down. Once this is done, the shapes should be tipping and rolling around instead of just sliding around like ice cubes. We’ll see how that goes. K bye guys"}, {"post_id": 30455, "ts": "2026-07-18T00:46:19Z", "hours": 6.8525, "text": "Unnamed Platformer - Devlog 8 Bro idk What I did: I finally wrapped up the character roster by implementing and debugging the last two shapes: the hexagon and the octagon. The biggest milestone was completely overhauling and fixing the wall jump implementation for the octagon (which took me like 1.5 hrs out of which 50 minutes worth of changes were discarded). I ended up shifting all the wall-jump physics directly into the jump event handler, rather than splitting the logic between two different functions (my jump and updatepos functions). This allowed me to make it so I can properly maintain and destroy momentum for wall bounces On top of physics stuff, I built the level progression system. When you touch the exit tile, the game increases your level index and loads the next stage. It’s finally starting to feel like a real game! Although, not really, since every level after the second is the exact same weird ahh testing level cuz I needed to make sure my system worked. Challenges: The real nightmare was the octagon’s wall jump. I spent about 50 minutes writing changes because the physics wouldn’t cooperate, only to discard them because I got too confused 🥀I had half of the wall jump math in jump() and the other half in updatepos() and it was making the normal movement code immediately overwrite/neutralize the walljump code the very next frame. Another thing was making it so you couldnt just hold down the w or up key and automatically bounce up forever. I had to add an input debounce check so you have to release+re-tap the key to jump again. Everything else was honestly smooth sailing and any other bugs took maybe <15 mins to solve. AI used, if any: I didn’t use much AI, since the two big features I added were pretty easy to implement/debug, but I did ask it to help me a bit with wall jump logic since I was pretty fried. Plans for next time: Now that the physics is working, I’ve decided I want to get rid of it all. Sliding shapes feel hella unnatural (also the hitboxes are pretty weird), so I’ve decided on making the shapes roll around/have accurate hitboxes using SAT (Separating Axis Theorem) vector math. I asked Gemini how long it would take and it literally told me to avoid it if I can 😭 so we’ll see how many hairs I lose over the course of trying to implement SAT. It’ll probably be all I do from now until around the start of August when I’ll be going on vacation K bye guys"}, {"post_id": 29243, "ts": "2026-07-16T00:59:37Z", "hours": 6.4681, "text": "Unnamed Platformer - Devlog 7 I typed words into a code editor and made shapes move around What I did: I finally took on the shape-switching system and got it working! I had to completely change how the player class worked, so I made it into a pure virtual class to handle polymorphism (which lets me switch between different shapes) and replaced the old static player setup with a dynamic shape-switching state w/ unique pointers. For shapes so far I implemented the circle with rolling physics and friction, and the triangle which can teleport forward a short distance. Also, keeping source code in header files was causing circular include errors, so I reorganized all the player class code into a brand new players.cpp file. And finally I made it so falling below the screen kills the player, which is a pretty small feature but still. Pretty much what was happening was that I needed to access my tilesettings.h file in my players.h class for movement-related checks, but tilesettings.h also needed players.h for hitbox/collision stuff. So I had to take out my code from my player header file and move it to player.cpp , which was lowkey a nightmare since I ran into a bunch of compiler and linker errors that took me an hour to fix😭 Anyway, Gemini helped rescue me (since my Claude 5-hour limit somehow ended after the first question I asked it today), so thanks Gemini. Challenges: Pretty chill today, since today was more designing and testing new features that were easy to implement; however the real nightmare was splitting my files. Moving code to players.cpp broke everything with a bunch of “multiple definition” linker errors. I didn’t define my global variables as inline at first, but since they were getting defined across many files I had mark them as inline. Also, the triangle’s teleport mechanic let you phase into solid tiles at first, so I made a position prediction system using swept AABB bounds. In fact, creating this swept check was the feature that needed me to call tilesettings.h in players.h in the first place, which led to my cortisol spiking when the compiler stopped working for an hour AI used, if any: Used Gemini to help me figure out why the compiler+linker were throwing errors, and some basic debugging in my other features. Plans for next time: I’m gonna design my other two shapes now (octagon and hexagon), then start making this into an actual game with multiple levels, progressing to the next level when you reach the finish, etc etc. Also, I feel like the sliding movement is kinda unnatural, but idk if I’m going to change it because I already have a whole system down and starting from scratch would be a chore. Anyway, I’ll think about it. K bye guys"}, {"post_id": 28035, "ts": "2026-07-14T01:42:05Z", "hours": 4.6406, "text": "Unnamed Platformer - Devlog 6 Guess what? More block physics issues! I’m gonna lose my mind! What I did: Implemented logic with the buttons and doors; now, being on a button opens a corresponding door. Also fixed EVEN MORE BUGS with block pushing logic. I also resolved block-block vertical clipping and horizontal stacking bugs. I replaced the ground collision function I had made with a manual check for blocks landing on other blocks; groundCollide (that function) was not accounting for if a block landed on top of the player. This fixes vertical clipping through players and blocks and unintentional behavior with horizontally stacked blocks. Additionally, I added a system to make sure you can’t get crushed by a door too. When I first discovered that could happen, I implemented a half baked system, but it didn’t work since it pretty much made the block/player fall through the door even if the button hadn’t been pressed prior. I replaced the old block-crush prevention logic with a new system. Now the button class has another variable, presscheck , which acts like sticky keys (idk how else to put it) even after you’re not on the button. It checks for if a player or block is within the closed door’s hitbox and if so props the door open until they leave, but it can only register that after you push the button. Challenges: Buttons not changing color; color change logic was in my constructor and not the draw function so it never updated. Other than that, general implementation was also tricky to plan out because I had to decide how they were gonna work (how buttons would be linked to doors; decided on an ID system) and then how to implement that (using dynamic casts just as my button class uses). And then the block clipping glitch was another nightmare, though it did take me less than an hour which is nice. Also, it took me a while to think of how I would figure out how to make doors not close on players/blocks, but I thought up a solution pretty quickly which is nice 👍 AI used, if any: Used Claude to help me figure out the part that stops the block from falling through the player (I was genuinely™ too exhausted with dealing with bugs to try to solve it myself 😭😭) + used Gemini and a bit of Claude for general debugging. Plans for next time: I’ll polish up some visual stuff, but I think I’ll leave block-related bugs alone for now. As you can see there are some clipping issues still with the door, but idk if I want to tackle those right now. Either way my main focus for next time (and like all of the next week or two) will be getting the shape-switching system down. I’ll also try to create some map layouts that force the player to utilize block placement on buttons to navigate doors, because it would be a shame for me to have spent all my sanity on a feature only like 5 levels use. K bye guys P.S. Last time, when I said I spent all weekend working on button-related stuff, I meant the pushable blocks too (since those can activate the buttons)"}, {"post_id": 27428, "ts": "2026-07-12T23:59:57Z", "hours": 5.0344, "text": "Unnamed Platformer - Devlog 5 I pretty much spent the last weekend working entirely on button-related stuff. Turns out there were a lot of bugs and other physics-related issues I had to address. Anyway I think they’re all good now. What I did: Day 1: I fixed a bug where nested loops using the same name (pos) caused only the first pushable block to register collisions. I also implemented a side-detection fix so the player doesn’t accidentally push blocks when standing on top of them + added a border/outline to pushable blocks for visual clarity. I also started work on button and door tile classes. Day 2: I made it so you can push blocks vertically in zero-gravity. A really big fix was a global physics bug. I had been using a gravity called blockgravity for block physics, but since it was a global variable, one block’s position dictated all the other’s physics. E.g. one block in a zero-g tile meant everything else was now unable to fall. I moved blockgravity into the block class and now a block entering a zero-g zone floats without shutting off gravity for every other block on the map. I also decided on two new features: a button that can be stood upon/have a block placed on it, and a door that opens when its button is pushed. I added each one’s sprite and loaded them into my map. Also, I made another big change to my plans: having spend so much time on block physics, I’ve decided they’ll become a core feature of the game and not just a small gimmick of the triangle shape. Challenges: The hardest problem (by miles) was the block push collision. the issue turned out to be one loop variable shadowing another, which meant only the first block in the list was ever processed. Another tricky bug was zerogactive being reset before the block push loop ran, meaning zero-g vertical pushing never triggered. Ironically I ended up removing the zero-g check because if you’re going to push a block vertically, you’re not going to be on solid ground anyway. Also I accidentally mismatched curly brackets so that made life a lot harder. Also, I faced a bunch of other bugs while trying to polish up collision. Imma be honest, about an hour or so from this devlog was useless cuz it was me trying to implement a solution, confusing myself, and just discarding all my changes😭💔 Also, I spent like 20 minutes trying to get the button looking good (it’s supposed to be an octagon, but the sides are uneven). AI used, if any: I used Claude for debugging my physics code, as well as helping me figure out why the upwards/downwards block push wasn’t working. Plans for next time: I’m going to try and begin implementing the 5 player shapes and their power-ups. I’ll start with the circle probably, since it seems the simplest (just get faster over time). Also, I’m going to make it so that each button actually is linked to a door, since right now they’re just visuals. K bye guys"}, {"post_id": 26274, "ts": "2026-07-10T23:35:39Z", "hours": 8.5728, "text": "Unnamed Platformer - Devlog 4 I hate AABB with a passion. I spent 8.5 hours over 2 days (hardest lock in yet 🔥) on 2 features and Im pretty sure there are still bugs in each. What I did: On day 1 I added collision detection for pretty much all my objects, added some custom physics (e.g. water and zero g now have custom physics), and implemented AABB collision. Since I got it working yesterday(mostly), I deleted the initial ground class I had for testing SFML and most features, as well as any related functions like the check ground function in the player class. On day 2 I spent 4 hours trying to get the block to push. It took me a while cuz I initially tried to just copy the groundcollide() function and tweak whatever I needed to. However that didn’t work, so after hitting up Stack Overflow + Claude I realized I had to change up a LOT of my pre existing code. I added a master entity class for anything that is affected by physics (all players + the block + more features in the future probably) then added more functions and commands in my checkCollisions function in order to get my block mechanic mostly working. I also ended up adding many more features to my block class(velocity, gravity, and a grounded check) since it has to react to physics and the environment. Overall the introduction of an entity class that everything else inherits from was a big help in getting the game to work properly. Challenges: my game crashed when I attempted to put the check collision function in main.cpp; then, implementing water and zero-g was a lot of trial and error not only to find physics that felt fluid but also because there were a lot of bugs in the logic as well as bugs that stopped the game from running at all. Also, it took me a while to wrap my head around AABB collision; I literally had to draw it out on a piece of paper and ask Claude to grasp the concept 😭 During bug fixes, I ended up breaking a bunch of stuff/realizing a bunch of stuff was still broken and spending a bunch of time fixing it. For example, while trying to fix collision, I ended up discovering a bug in my water/zero-g physics, and then while trying to fix that I broke my spring logic too. And creating the logic for pushing the block is a whole other can of worms. It took me 4 hours of implementing different strategies and adding different functions only to have a half baked block-pushing function. 😭 It does kind of work, but you can only push one block: any other blocks act like normal ground tiles. AI used, if any: I asked Claude for help on how to tackle block pushing logic, as well as helping me understand AABB collision. Plans for next time: I’m going to try and hopefully get all the block-pushing logic done without any issues, then fix up any collision-based bugs and work on implementing the rest of my player shapes. K bye guys"}, {"post_id": 25091, "ts": "2026-07-09T02:23:55Z", "hours": 4.3644, "text": "Unnamed Platformer - Devlog 3 My game is kind of coming together! It’ll still be many weeks, but I did something! What I did: finished my tile map parser (I decided to use a unique pointer to parse through each tile type and draw the according one, after a bit of thought). I also started working on collision detection. I created a basic checkCollisions function and added getGlobalBounds to every tile class. Before I did that though I had to do some research on Axis-Aligned Bounding Box collision, and how to implement it in SFML. I’m still far from done, but that’s tomorrow’s problem. Challenges: implementing the map drawing functions (couldn’t figure out how to get the draw functions in the classes to match up with the main class), and after that I was having a lot of trouble with the pointer logic I had implemented (had to use std::move, also there were errors in my file importing structure); then after I got that to work, and implemented the parser into main.cpp, it ended up causing my entire program to crash when I ran build 😭Ended up asking Claude for help for how to fix it; it turned out to be how I had formatted my levels and my level-parsing loop for assigning tile types to tilemap characters. Then lava, water, and zero-g block weren’t drawing properly either. After spending like an hour trying to decode why, I realized sf::Color’s transparency had to be an 8-bit integer rather than a decimal between 0 and 1. Also my doublespike was not drawing properly, so I made it 2 separate convexShape’s rather than 1. Apparently you can’t have mere points holding a single convexShape together, which kind of sucks. AI used, if any: Like I mentioned, I asked Claude for help on how to fix my level loading feature (it ended up being like 3 minute details) and also used it when debugging my initial collision functions (I ended up replacing <10 lines total by its suggestion). Plans for next time: I’m going to try to finish collision. That’s my entire goal, since I still don’t know entirely how I’m gonna deal with every collision possible and it might end up taking me a long time depending on the number of mistakes I make/bugs that pop up. K bye guys (btw the music in the background is because I was listening to music while I was working on this)"}, {"post_id": 23883, "ts": "2026-07-07T02:36:17Z", "hours": 3.9897, "text": "Unnamed Platformer - Devlog 2 I was a little busy yesterday but we’re back on track now. What I did: I think I got a solid amount done today and for a bit of time yesterday: I added a camera feature that scrolls with the player, created the tile map and tile types, and designed the first part of the tile map parser; also changed the background slightly and researched more on building tilemap loaders in SFML (YouTube videos + looking at Github repos and articles). Challenges: For a zero-gravity section I’m thinking of adding, I wanted to put thin gray stripes in those sections. I couldn’t figure out how to do that, so I just decided to depict it as a translucent white block. Also determining the coordinates of the spring pad in the game took a while too. Overall, my other challenges were mostly small bugs and didnt stand out too much. AI used, if any: Used Claude for debugging the switch case for my tile map parser. Also, not AI, but my camera system was more or less entirely designed using a YouTube video that I’ll credit in my readme later. Plans for next time: I want to finish my tile map parser and get an actual level loaded. I’m also going to start deciding what the UI will look like for the main menu, level selects, and pause menu. K bye guys"}, {"post_id": 22443, "ts": "2026-07-04T22:13:21Z", "hours": 3.4311, "text": "Unnamed Platformer - Devlog 1 It’s finally time for me to lock in. This is gonna be a big project to which I hope to add a lot of content, and I’m hoping I can accumulate a lot of good hours from this project. What I did: I set up SFML (the library I’m using to code this game), set up the required files, watched a lot of YouTube videos to get more familiar with SFML, and coded a basic thing where you control a square and jump around. Challenges: This is like my second time using SFML (I used it once for a small project a while ago), so I’m not that familiar with it. No worries though, as it’s nothing a bunch of YouTube videos can’t fix. Also, today was kind of a refresher for my barely existent SFML skills. AI used, if any: I used Claude for learning how to set up SFML and asking it for help on how to fix my jump button not working. (I was missing two characters. : \\ ) Plans for next time: I’ll try to add actual platforms, maybe working obstacles as well. I’ll focus on adding a menu some other time, and actual styling will come much later so the game is gonna look ahh for now. All my devlogs will pretty much follow the format of this one(accomplishments, challenges, plans, additional notes) so that I can lazily copy-paste the same template when I don’t feel like writing a whole new devlog each devlog will feel connected/cohesive and make it easier for readers to follow along on my journey."}]...
|
Title: Stardancer (formerly Unnamed Platformer) by Title: Stardancer (formerly Unnamed Platformer) by @zahran | Stardance
Devlogs:
Unnamed Platformer - Devlog 1 It’s finally time for me to lock in. This is gonna be a big project to which I hope to add a lot of content, and I’m hoping I can accumulate a lot of good hours from this project. What I did: I set up SFML (the library I’m using to code this game), set up the required files, watched a lot of YouTube videos to get more familiar with SFML, and coded a basic thing where you control a square and jump around. Challenges: This is like my second time using SFML (I used it once for a small project a while ago), so I’m not that familiar with it. No worries though, as it’s nothing a bunch of YouTube videos can’t fix. Also, today was kind of a refresher for my barely existent SFML skills. AI used, if any: I used Claude for learning how to set up SFML and asking it for help on how to fix my jump button not working. (I was missing two characters. : \ ) Plans for next time: I’ll try to add actual platforms, maybe working obstacles as well. I’ll focus on adding a menu some other time, and actual styling will come much later so the game is gonna look ahh for now. All my devlogs will pretty much follow the format of this one(accomplishments, challenges, plans, additional notes) so that I can lazily copy-paste the same template when I don’t feel like writing a whole new devlog each devlog will feel connected/cohesive and make it easier for readers to follow along on my journey.
Unnamed Platformer - Devlog 2 I was a little busy yesterday but we’re back on track now. What I did: I think I got a solid amount done today and for a bit of time yesterday: I added a camera feature that scrolls with the player, created the tile map and tile types, and designed the first part of the tile map parser; also changed the background slightly and researched more on building tilemap loaders in SFML (YouTube videos + looking at Github repos and articles). Challenges: For a zero-gravity section I’m thinking of adding, I wanted to put thin gray stripes in those sections. I couldn’t figure out how to do that, so I just decided to depict it as a translucent white block. Also determining the coordinates of the spring pad in the game took a while too. Overall, my other challenges were mostly small bugs and didnt stand out too much. AI used, if any: Used Claude for debugging the switch case for my tile map parser. Also, not AI, but my camera system was more or less entirely designed using a YouTube video that I’ll credit in my readme later. Plans for next time: I want to finish my tile map parser and get an actual level loaded. I’m also going to start deciding what the UI will look like for the main menu, level selects, and pause menu. K bye guys
Unnamed Platformer - Devlog 3 My game is kind of coming together! It’ll still be many weeks, but I did something! What I did: finished my tile map parser (I decided to use a unique pointer to parse through each tile type and draw the according one, after a bit of thought). I also started working on collision detection. I created a basic checkCollisions function and added getGlobalBounds to every tile class. Before I did that though I had to do some research on Axis-Aligned Bounding Box collision, and how to implement it in SFML. I’m still far from done, but that’s tomorrow’s problem. Challenges: implementing the map drawing functions (couldn’t figure out how to get the draw functions in the classes to match up with the main class), and after that I was having a lot of trouble with the pointer logic I had implemented (had to use std::move, also there were errors in my file importing structure); then after I got that to work, and implemented the parser into main.cpp, it ended up causing my entire program to crash when I ran build 😭Ended up asking Claude for help for how to fix it; it turned out to be how I had formatted my levels and my level-parsing loop for assigning tile types to tilemap characters. Then lava, water, and zero-g block weren’t drawing properly either. After spending like an hour trying to decode why, I realized sf::Color’s transparency had to be an 8-bit integer rather than a decimal between 0 and 1. Also my doublespike was not drawing properly, so I made it 2 separate convexShape’s rather than 1. Apparently you can’t have mere points holding a single convexShape together, which kind of sucks. AI used, if any: Like I mentioned, I asked Claude for help on how to fix my level loading feature (it ended up being like 3 minute details) and also used it when debugging my initial collision functions (I ended up replacing <10 lines total by its suggestion). Plans for next time: I’m going to try to finish collision. That’s my entire goal, since I still don’t know entirely how I’m gonna deal with every collision possible and it might end up taking me a long time depending on the number of mistakes I make/bugs that pop up. K bye guys (btw the music in the background is because I was listening to music while I was working on this)
Unnamed Platformer - Devlog 4 I hate AABB with a passion. I spent 8.5 hours over 2 days (hardest lock in yet 🔥) on 2 features and Im pretty sure there are still bugs in each. What I did: On day 1 I added collision detection for pretty much all my objects, added some custom physics (e.g. water and zero g now have custom physics), and implemented AABB collision. Since I got it working yesterday(mostly), I deleted the initial ground class I had for testing SFML and most features, as well as any related functions like the check ground function in the player class. On day 2 I spent 4 hours trying to get the block to push. It took me a while cuz I initially tried to just copy the groundcollide() function and tweak whatever I needed to. However that didn’t work, so after hitting up Stack Overflow + Claude I realized I had to change up a LOT of my pre existing code. I added a master entity class for anything that is affected by physics (all players + the block + more features in the future probably) then added more functions and commands in my checkCollisions function in order to get my block mechanic mostly working. I also ended up adding many more features to my block class(velocity, gravity, and a grounded check) since it has to react to physics and the environment. Overall the introduction of an entity class that everything else inherits from was a big help in getting the game to work properly. Challenges: my game crashed when I attempted to put the check collision function in main.cpp; then, implementing water and zero-g was a lot of trial and error not only to find physics that felt fluid but also because there were a lot of bugs in the logic as well as bugs that stopped the game from running at all. Also, it took me a while to wrap my head around AABB collision; I literally had to draw it out on a piece of paper and ask Claude to grasp the concept 😭 During bug fixes, I ended up breaking a bunch of stuff/realizing a bunch of stuff was still broken and spending a bunch of time fixing it. For example, while trying to fix collision, I ended up discovering a bug in my water/zero-g physics, and then while trying to fix that I broke my spring logic too. And creating the logic for pushing the block is a whole other can of worms. It took me 4 hours of implementing different strategies and adding different functions only to have a half baked block-pushing function. 😭 It does kind of work, but you can only push one block: any other blocks act like normal ground tiles. AI used, if any: I asked Claude for help on how to tackle block pushing logic, as well as helping me understand AABB collision. Plans for next time: I’m going to try and hopefully get all the block-pushing logic done without any issues, then fix up any collision-based bugs and work on implementing the rest of my player shapes. K bye guys
Unnamed Platformer - Devlog 5 I pretty much spent the last weekend working entirely on button-related stuff. Turns out there were a lot of bugs and other physics-related issues I had to address. Anyway I think they’re all good now. What I did: Day 1: I fixed a bug where nested loops using the same name (pos) caused only the first pushable block to register collisions. I also implemented a side-detection fix so the player doesn’t accidentally push blocks when standing on top of them + added a border/outline to pushable blocks for visual clarity. I also started work on button and door tile classes. Day 2: I made it so you can push blocks vertically in zero-gravity. A really big fix was a global physics bug. I had been using a gravity called blockgravity for block physics, but since it was a global variable, one block’s position dictated all the other’s physics. E.g. one block in a zero-g tile meant everything else was now unable to fall. I moved blockgravity into the block class and now a block entering a zero-g zone floats without shutting off gravity for every other block on the map. I also decided on two new features: a button that can be stood upon/have a block placed on it, and a door that opens when its button is pushed. I added each one’s sprite and loaded them into my map. Also, I made another big change to my plans: having spend so much time on block physics, I’ve decided they’ll become a core feature of the game and not just a small gimmick of the triangle shape. Challenges: The hardest problem (by miles) was the block push collision. the issue turned out to be one loop variable shadowing another, which meant only the first block in the list was ever processed. Another tricky bug was zerogactive being reset before the block push loop ran, meaning zero-g vertical pushing never triggered. Ironically I ended up removing the zero-g check because if you’re going to push a block vertically, you’re not going to be on solid ground anyway. Also I accidentally mismatched curly brackets so that made life a lot harder. Also, I faced a bunch of other bugs while trying to polish up collision. Imma be honest, about an hour or so from this devlog was useless cuz it was me trying to implement a solution, confusing myself, and just discarding all my changes😭💔 Also, I spent like 20 minutes trying to get the button looking good (it’s supposed to be an octagon, but the sides are uneven). AI used, if any: I used Claude for debugging my physics code, as well as helping me figure out why the upwards/downwards block push wasn’t working. Plans for next time: I’m going to try and begin implementing the 5 player shapes and their power-ups. I’ll start with the circle probably, since it seems the simplest (just get faster over time). Also, I’m going to make it so that each button actually is linked to a door, since right now they’re just visuals. K bye guys
Unnamed Platformer - Devlog 6 Guess what? More block physics issues! I’m gonna lose my mind! What I did: Implemented logic with the buttons and doors; now, being on a button opens a corresponding door. Also fixed EVEN MORE BUGS with block pushing logic. I also resolved block-block vertical clipping and horizontal stacking bugs. I replaced the ground collision function I had made with a manual check for blocks landing on other blocks; groundCollide (that function) was not accounting for if a block landed on top of the player. This fixes vertical clipping through players and blocks and unintentional behavior with horizontally stacked blocks. Additionally, I added a system to make sure you can’t get crushed by a door too. When I first discovered that could happen, I implemented a half baked system, but it didn’t work since it pretty much made the block/player fall through the door even if the button hadn’t been pressed prior. I replaced the old block-crush prevention logic with a new system. Now the button class has another variable, presscheck , which acts like sticky keys (idk how else to put it) even after you’re not on the button. It checks for if a player or block is within the closed door’s hitbox and if so props the door open until they leave, but it can only register that after you push the button. Challenges: Buttons not changing color; color change logic was in my constructor and not the draw function so it never updated. Other than that, general implementation was also tricky to plan out because I had to decide how they were gonna work (how buttons would be linked to doors; decided on an ID system) and then how to implement that (using dynamic casts just as my button class uses). And then the block clipping glitch was another nightmare, though it did take me less than an hour which is nice. Also, it took me a while to think of how I would figure out how to make doors not close on players/blocks, but I thought up a solution pretty quickly which is nice 👍 AI used, if any: Used Claude to help me figure out the part that stops the block from falling through the player (I was genuinely™ too exhausted with dealing with bugs to try to solve it myself 😭😭) + used Gemini and a bit of Claude for general debugging. Plans for next time: I’ll polish up some visual stuff, but I think I’ll leave block-related bugs alone for now. As you can see there are some clipping issues still with the door, but idk if I want to tackle those right now. Either way my main focus for next time (and like all of the next week or two) will be getting the shape-switching system down. I’ll also try to create some map layouts that force the player to utilize block placement on buttons to navigate doors, because it would be a shame for me to have spent all my sanity on a feature only like 5 levels use. K bye guys P.S. Last time, when I said I spent all weekend working on button-related stuff, I meant the pushable blocks too (since those can activate the buttons)
Unnamed Platformer - Devlog 7 I typed words into a code editor and made shapes move around What I did: I finally took on the shape-switching system and got it working! I had to completely change how the player class worked, so I made it into a pure virtual class to handle polymorphism (which lets me switch between different shapes) and replaced the old static player setup with a dynamic shape-switching state w/ unique pointers. For shapes so far I implemented the circle with rolling physics and friction, and the triangle which can teleport forward a short distance. Also, keeping source code in header files was causing circular include errors, so I reorganized all the player class code into a brand new players.cpp file. And finally I made it so falling below the screen kills the player, which is a pretty small feature but still. Pretty much what was happening was that I needed to access my tilesettings.h file in my players.h class for movement-related checks, but tilesettings.h also needed players.h for hitbox/collision stuff. So I had to take out my code from my player header file and move it to player.cpp , which was lowkey a nightmare since I ran into a bunch of compiler and linker errors that took me an hour to fix😭 Anyway, Gemini helped rescue me (since my Claude 5-hour limit somehow ended after the first question I asked it today), so thanks Gemini. Challenges: Pretty chill today, since today was more designing and testing new features that were easy to implement; however the real nightmare was splitting my files. Moving code to players.cpp broke everything with a bunch of “multiple definition” linker errors. I didn’t define my global variables as inline at first, but since they were getting defined across many files I had mark them as inline. Also, the triangle’s teleport mechanic let you phase into solid tiles at first, so I made a position prediction system using swept AABB bounds. In fact, creating this swept check was the feature that needed me to call tilesettings.h in players.h in the first place, which led to my cortisol spiking when the compiler stopped working for an hour AI used, if any: Used Gemini to help me figure out why the compiler+linker were throwing errors, and some basic debugging in my other features. Plans for next time: I’m gonna design my other two shapes now (octagon and hexagon), then start making this into an actual game with multiple levels, progressing to the next level when you reach the finish, etc etc. Also, I feel like the sliding movement is kinda unnatural, but idk if I’m going to change it because I already have a whole system down and starting from scratch would be a chore. Anyway, I’ll think about it. K bye guys
Unnamed Platformer - Devlog 8 Bro idk What I did: I finally wrapped up the character roster by implementing and debugging the last two shapes: the hexagon and the octagon. The biggest milestone was completely overhauling and fixing the wall jump implementation for the octagon (which took me like 1.5 hrs out of which 50 minutes worth of changes were discarded). I ended up shifting all the wall-jump physics directly into the jump event handler, rather than splitting the logic between two different functions (my jump and updatepos functions). This allowed me to make it so I can properly maintain and destroy momentum for wall bounces On top of physics stuff, I built the level progression system. When you touch the exit tile, the game increases your level index and loads the next stage. It’s finally starting to feel like a real game! Although, not really, since every level after the second is the exact same weird ahh testing level cuz I needed to make sure my system worked. Challenges: The real nightmare was the octagon’s wall jump. I spent about 50 minutes writing changes because the physics wouldn’t cooperate, only to discard them because I got too confused 🥀I had half of the wall jump math in jump() and the other half in updatepos() and it was making the normal movement code immediately overwrite/neutralize the walljump code the very next frame. Another thing was making it so you couldnt just hold down the w or up key and automatically bounce up forever. I had to add an input debounce check so you have to release+re-tap the key to jump again. Everything else was honestly smooth sailing and any other bugs took maybe <15 mins to solve. AI used, if any: I didn’t use much AI, since the two big features I added were pretty easy to implement/debug, but I did ask it to help me a bit with wall jump logic since I was pretty fried. Plans for next time: Now that the physics is working, I’ve decided I want to get rid of it all. Sliding shapes feel hella unnatural (also the hitboxes are pretty weird), so I’ve decided on making the shapes roll around/have accurate hitboxes using SAT (Separating Axis Theorem) vector math. I asked Gemini how long it would take and it literally told me to avoid it if I can 😭 so we’ll see how many hairs I lose over the course of trying to implement SAT. It’ll probably be all I do from now until around the start of August when I’ll be going on vacation K bye guys
Unnamed Platformer - Devlog 9 I was “busy” watching the World Cup bronze/final matches over the weekend. No way we got a 10 goal third place game while everyone started throwing hands at the end of the final😭 What I did: I finally got started on SAT collision like I said I would, and it’s actually working! Mostly. I built all the fundamentals so far: vertex extraction, edge normal calculation, projection ranges, minimum translation vector (MTV) calculation, etc etc. I hooked it into checkCollisions for ground tiles, and the MTV push resolution actually stops shapes from clipping through geometry now, and it’s also sign-corrected and whatnot so it always pushes the right direction. I also made a debug overlay that draws vertices and axis normals directly in the game window, which saved my sanity countless times and looks pretty cool too. On top of collision math I had to go back and fix 3 out of my 5 characters’ movement code because switching to SAT caused bugs in features that worked just fine under the old AABB system, aside from all the general bugs I had to deal with. The hexagon’s double jump stopped working entirely, circle’s acceleration started randomly resetting mid-sprint, and octagon’s wall jump turned into an absolute mess (more on that below). The main thing was that my old flags for checking wall collisions were set with assumptions that crumble once you switch from checking 4 fixed direction to a bunch of axes. Challenges: Oh boy… The wall jump bug was hella frustrating: after switching to SAT, the octagon would do exactly one wall jump and then just slide down the second, no matter how many times I hit jump. It took me forever to figure out it was a chain of three separate bugs stacked on top of each other: wall contact flags getting cleared before the function ever read them, my walljumped flag never resetting between wall touches so it permanently locked my horizontal movement, and then once THAT was fixed, SAT was re-zeroing my wall-jump velocity on the same frame it fired because the player was technically still overlapping the wall geometry. So I fixed those and immediately got a NEW bug where wall jumping turned into a pogo stick that spam-bounced me up the wall, because a vertical MTV was getting misread as “landed on the ground,” which reset the wall jump lock and let it refire every single frame. Also spent quite a bit of time before realizing this one line I had, if (grounded) velocity.y = 0 , worked fine with AABB but not so much with SAT’s own grounding logic, since my SAT function sets grounded = true when it sees downward velocity, and that line was zeroing velocity before SAT checked it. Removed it and a lot of my bugs disappeared. AI used, if any: SAT math I mostly figured out myself, after reading through a ton of Stack Overflow threads, articles, watching a lot of YT videos, etc. on my own time. I did use AI to clarify/debug a couple of parts though. However, I ended up needing it a lot more for debugging the problems that stemmed from it, i.e. the octagon, hexagon and circle issues. Plans for next time: SAT works for ground tiles but I’ve still got all my other entities on the old AABB system so I gotta port those over. Although, probably the biggest thing is trying to make my code more efficient because sometimes the game randomly slows down/freezes and makes random clips occur. If this isn’t lag (which it might not be, I could just be stupid) I’ll still have to look into whats happening. Then, once ground collision is 100% finished: rolling physics, aka the reason I made this change in the first place. Gonna have to look into the math/physics behind that, but it should be pretty easy since I already got this down. Once this is done, the shapes should be tipping and rolling around instead of just sliding around like ice cubes. We’ll see how that goes. K bye guys
Unnamed Platformer - Devlog 10 I’m tired 😭 What I did: I ported the rest of my entities over to SAT collision. Every tile that can be collided with now uses SAT. I refactored some of my functions to handle the new logic properly across the board, and got rid of the old standalone AABB collision code for ground tiles. I also decided to make pushable blocks hybrid for simplicity: aside from general environment collisions which use SAT, I didn’t change much of the old AABB code. I also added an O(1) center/radius projection for circles to fix random micro-stutters, and updated drawdebug() so it stops drawing every vertex and instead renders one dynamic vector targeting the nearest tile vertex. (Circles in SFML are actually 30-sided polygons, so earlier the collision checks were looking at 15 different axes + all those axes were being drawn in the debug overlay.) Challenges: Thankfully most of the porting to SAT stuff was easy, I only had a couple of minor setbacks here and there. However, the harder part was getting the circle center-to-vertex collision logic down. I had to find out how to do it + add completely new logic to my function + add checks in my collision code to determine if the shape was a circle + rewrite my drawdebug() code. It took a while and a lot of my sanity but I got it done in the end AI used, if any: Used AI to help debug the updated circle collision detection system + its separate debug overlay code. Plans for next time: I’m going to work on rolling physics for real. I hope it goes well 👍 K bye guys
Unnamed Platformer - Devlog 11 Rotation is finally working! Mostly. Anyway I have to post now cuz of the 10 hour limit per devlog. What I did: I fully implemented rolling and rotation physics across all player shapes! Shapes now physically rotate based on movement speed, tip over cliff edges, and smoothly snap back to a flat face when you stop moving. I also added a feature where shapes automatically realign when entering water or zero-G. To make everything smooth and frame-rate independent, I overhauled the settling and snapping math using fmod for shortest-path rotation and wrap-around handling. Challenges: Getting the angle snapping and tipping logic to work was the biggest hurdle. Non-square shapes were getting locked out of tipping due to floating-point issues, which I fixed with an epsilon tolerance check. There are still a couple of bugs that I’ll tackle later, notably the fact that shapes sometimes spin an extra time upon settling. but the core system is more or less functional now. AI used, if any: I managed to work out the math myself but I needed to ask AI with help debugging. Plans for next time: I’ll probably work on some visual effects for the next couple days + fine-tune and debug my physics a bit more. K bye guys
Unnamed Platformer - Devlog 12 Man* Realizes True Meaning of ‘If it ain’t broke, don’t fix it’ What I did: First I ported pushable blocks to SAT collision so they use the same system as the player and it’s not split between two systems. Well. That broke blocks. so I spent 2 hours or so cross referencing my old versions and adding and deleting changes till it started working again. After that, I made sure blocks moved properly in zero-g. (they didn’t so I had to fix that too) Aside from that, I made a bunch of miscellaneous changes, such as fixing level progression bugs and altering player constants, but most importantly making sure blocks worked properly. Somewhere along the line I was investigating how stacked blocks interacted. I noticed they were clipping through the ground because of collision checks happening after the position of blocks was updated, and after some thought I tried adding another collision check pass to my main game loop. It worked like a charm! I added two extra checks for safety and it stopped working like a charm. The issue is my checkCollisions function is hella inefficient. 500+ lines of searching through every character in the tilemap (36x64, plus an extra column for new lines making it 36x65=2340) 6 times (!!!) Not only that, in some cases (block/player collision detection) I was nesting full passes within full passes, which caused insane lag, especially with my SAT collision which does a lot of math each frame. So I decided I wanted it to be more efficient (spoiler: it’s not efficient yet). I split my old tilelist into static tiles and dynamic tiles…and instantly regretted it. Challenges: Basically when I split tilelist into two separate vectors ( statictilelist which is everything except for blocks + dynamictilelist which is just blocks since nothing else moves lmao), I think I accidentally deleted a lot of existing logic that was the duct tape to my spaghetti code**. Aside from that, when I passed through tilelist it always passed through every tile, but with my new logic I had to decide which one to use. my stupid ahh didnt realize that there might be a chance I have to pass through both of them though 😭 well guess what there were a lot more gaps in my logic. All of these combined into the logic I had spent the last few hours working so hard to perfect, falling apart in 5 seconds. Similar to the whole block to SAT thing I worked out most of the issues just by adding, tweaking, and removing a bunch of checks as well as looking back at my old logic to figure out what I forgot. Among these general changes I also added a new grounded member to the block class, and tried to get it to register if it’s on top of a player. Unfortunately it didn’t work. It’s ok I’ll brute force my way to the root of the problem tomorrow. (Btw this doesn’t even cover the issues I faced prior to this😭 ✌️ ) AI used, if any: Now that the core elements of the game (physics) are out of the way, I’ve pretty much been grinding through bugs myself since it’s just existing logic and I’m not really adding much that’s new or unfamiliar. Honestly, I think it’s gonna stay this way because I don’t intend to use AI to design the game, I was using it more to help solve physics issues and the like. Plans for next time: I’ll try to hopefully fix the new block clipping issues. then idek anymore. Maybe i shouldn’t have tried to build the engine from scratch. K bye guys *I’m not actually over 18 **Tuff line?
Unnamed Platformer - Devlog 13 No motivation… What I did: I solved the issue of vertically stacked blocks clipping through each other and through the player, which was a pretty big chunk of my time since I went through like 10 different approaches and changed up a bunch of stuff along the way. I ended up taking out the SAT collision function I had built and just plugging mtvCheck() (which checks the mtv( )) and the movement logic straight into the collision loops instead. I had to reorder a good chunk of logic too since a lot of the clipping was coming from stuff resolving in the wrong order relative to other stuff. Also did some cleanup: deleted the grounded member off the block class since entity already has one and I was just using two variables for the same thing like an idiot. I added an R keybind so I can restart instantly instead of walking into a spike every time I want to reset (useful for testing + as an actual game feature). I also made the player’s rotation reset on spawn so you don’t respawn tilted at some weird angle from your last death and shrunk the spike hitbox down a bit from 20x20 to 18x18 because I was dying to one-pixel overlaps that looked like it shouldn’t have counted and that are pretty frustrating to deal with. Also did a bunch of level design. I’ve only done levels 1 through 4 so I lowkey gotta lock in. Challenges: The stacked block thing took forever because the symptoms kept changing depending on how many blocks were stacked, which direction they were pushed from, whether the player was involved, etc etc, so it never felt like I was chasing ONE bug, more like four bugs wearing a trenchcoat. Eventually I just started brute-force testing every combo I could think of (2 stacked, 3 stacked, stacked + pushed, stacked + player jumping into it) until I ran out of ways to break it. Also I ran into some issues when designing levels: blockonhead , which makes it so you cannot jump if a block is on your head, was triggering if any block was lined up above your head, even if it was like on a platform way above you. I managed to fix that, and other than that + the block issue there wasn’t too many big obstacles this time. AI used, if any: none, since I’m not using it at all for game design and didn’t need to use it to solve block clipping issues since I just brute forced a bunch of possible solutions. Plans for next time: More level design…I’ll try to get most of the levels done by next devlog. K bye guys
Unnamed Platformer - Devlog 14 I’m genuinely so done What I did: I designed levels 5 and 7-16 (ss of a few levels should be attached idk which they are). I have a cool idea in mind for level 6 but my current code makes it hard to implement, and I also have a cool idea in mind for level 17 but my code made it hard to implement. So I changed everything up like an idiot. My 17th level features a massive pool, but that requires me to draw 1000+ water tiles. Since I redraw tiles every frame, it causes a big load on the computer. So I had the brilliant idea of creating an sf::RenderTexture . spoiler it’s not so brilliant. That led to a massive chain reaction where there were a bunch of nullptr issues at first, which I spent about 40 minutes on before actually getting the game to run. Then everything was super grainy due to aliasing issues caused by drawing everything to a RenderTexture, PLUS since I was drawing everything at the start of the frame and not updating it, stuff like buttons and doors would never update. SO, my dumb ahh moved half my static/environment tiles to dynamictilelist , reserved for strictly blocks which are the only tiles that can change position, and I did this cuz these would draw every frame and they didn’t have the same grainy look as the ones drawn to a texture. the result is probably self explanatory. That caused SO MANY ISSUES that I can’t even begin to describe them all, so after 50 minutes I undid 50 minutes worth of changes, added some spaghetti code to make it a bit more presentable, and call it a day. Challenges: Level design was fun, and easy. I did that for all of yesterday and the first half-ish of today. The vain attempt at making my code more efficient by changing how static tiles were drawn and then going on to deeply regret it and consider undoing it all the next day, was not. Also I probably shouldn’t have bothered trying seeing as I was pretty tired anyway, but ig my stupidity/ambition/idek led me to try. I’m genuinely too tired to bother elaborating, but it goes somewhat like this: I started on the texture-caching thing -> I ran into nullptr errors -> I got those out of the way -> I ran into issues with rendering and updating -> out of frustration I undid all my progress and started anew -> I decided to implement anti-aliasing -> I will probably(definitely) reset my code to where I had been right before I decided to do this stupid implementation AI used, if any: none. If I had I would’ve probably been done with this bs by now. Plans for next time: Realistically I’ll likely just undo all the changes I made to drawing processes, find out how to draw environment tiles underneath other entities/obstacles (which will be useful for many of my levels with spikes or the like in environments), and…thats it. Also, for level design, I want to have all preliminary designs down by the end of this Sunday (3 more days), and then I can playtest and refine later. I wanna cry P.S. the level with the white room is level 6 and it’s currently unfinished lmao
Unnamed Platformer - Devlog 15 Actually got a lot done over the last few days ig What I did: first off, I reset my old changes and made it so env tiles layer over obstacles. At first I tried to assign an individual character to each combination (spike in water, block in zero-gravity, etc etc) but that didn’t work since I couldn’t get them to lay over each other. So what I did is I split my statictilelist into two: statictilelist now held all non-moving entities like spikes, ground, etc. while envtilelist held all my environment tiles. Then I changed my map loading function to take two map strings: one assigned tiles based on entities and the other pass assigned them based on environment. And now I can lay environments over things without breaking my game! Yippee! I also fixed an issue where blocks could clip through obstacles in zero-g when you moved them upward. The issue was blocks unconditionally being mtv-moved when the player was below them, so the player forced them through anything. I added an extra check before mtv-moving and made obstacle detection variables global to fix it. I also ran into an issue where spikes would incorrectly kill you even if you were not touching them, just near: the issue was that I wasn’t running SAT collision, just going straight to death logic if the initial AABB check turned out true (I run an AABB check first because running SAT for everything makes the game super laggy). both of these lowkey took me a while 😭 As for level design I reworked level 6 (still can’t play it) and level 17 (finished), and I designed levels 18-25 (I attached a video of level 24). Also in the vid I switched shapes randomly, that’s just because I had different keybinds earlier and it was js muscle memory kicking in. Challenges: Aside from a bunch of small bugs, the biggest challenges were the issue where spikes would kill you even if you weren’t touching them and the issue with blocks being pushed up forever in zerog. Even then, for both issues it was still easy to fix since it was easy to diagnose and a few lines per fix, even if it took me a while to find those few lines 🥀🥀 However, there’s still an issue where blocks sink slightly upon spawning in zero-g. This makes it impossible to play level 6, so I’ll have to look into/rework/do something to zero-g logic because I really want to keep its existing level mechanic. AI used, if any: None 🔥 Plans for next time: Finish levels 26-30, finish level 6, and test all the levels to make sure they’re not too hard/impossible/possible to cheese. Aside from that, I’ll most likely bring back the texture thing I implemented last time cuz it did actually make the game run a bit smoother, but I’ll only do it for environment tiles. K bye guys
Unnamed Platformer - Devlog 16 Actually didn’t get a lot done over the last few days, let me explain. What I did: The biggest and only new feature I added was a major adjustment to black holes. Earlier they were just 2 tile x 2 tile circles that killed you upon touching. I’ve reworked them to how they’re supposed to be: 6 px x 6 px black circles, with a surrounding 6 tile x 6 tile ring. now if you enter the ring, you lose the ability to move normally (you can still jump tho) get pulled toward the black center, which kills you if you touch it Which is how it’s supposed to be (nevermind the astrophysical inaccuracy lmao). This took me 2 hours 😭 and then I designed levels 26 and 27. I also re-added the old texture system I implemented and then took down earlier cuz it was making things look hella grainy, but only for environment tiles cuz there’s no big changes visually compared to redrawing them every frame. Unfortunately it doesn’t seem to be doing much in terms of efficiency. I also designed levels 28 and 29 (ss of level 29 attached), and playtested every level from 1 to 28 and adjusted each one to remove any unwanted ways you can cheese a level, as well as to just make some of them less punishing for small mistakes. I also (FINALLY) designed level 6. I added extra sections and polished up some elements that were making the level impossible if you didn’t play it perfectly. I did 2 other things as well: I made it so blocks can’t be pushed by any character other than the square (before you could just push blocks w/ anything) and I reduced horizontal movespeed in zero-g. There’s still a lot more I have to do, mainly ui/menu stuff and visual polish. Challenges: Black hole physics took me a while since my first few implementations were completely wrong, and then I locked in nd figured out how to make it pull correctly. Also, level design is proving to be surprisingly challenging, I rly didn’t think it would take this long, but what with conceptualizing + creating + playtesting each level, especially the later ones where I want to make them more complex and difficult, it eats up a lot of time per level. Even going back through older levels and tweaking them can take a while, cuz you gotta track down all the problematic sections and figure out how to fix them. I also have a humble 18 more days till school starts so I gotta lock in🙏 AI used, if any: None, level design is hard but its not THAT hard Plans for next time: Finish level 30, playtest levels 29 and 30, and hopefully get started on + finish a main menu and level select menu. Im so behind on my schedule it aint even funny so wish me luck
Unnamed Platformer - Devlog 17 It’s actually no longer “Unnamed Platformer”, it’s “Worlds of Blockman”, I might change that later idk What I did: I designed level 30, playtested every level extensively and tweaked some levels, and made a basic main menu, level hud and pause menu. And it took me ~10 hours. Well, that’s not all I did. I also changed up the colors of the square to differentiate it from spikes and buttons, and I added a visual indicator for the triangle’s teleport. When you tp the triangle fades to a darker shade of green, and when it gets off cooldown (3 secs) it fades back to its normal color and then you can tp again. Also, level design took quite a long time since I was kind of making it up as I went along, and the whole game states implementation wasn’t too hard in itself, but I ran into errors with loading my font. I added the .ttf file to my assets folder and wrote the correct file name in font.loadFromFile() and whatnot, but turns out I didn’t have the actual font downloaded in the build folder or my project. So after a bit less than an hour I added it in and it fixed the issue. also I spent a bit of time deciding how the different menus would actually look which ate up some time. Challenges: ngl the font-loading thing was kind of the only hard part 😭most other stuff was solved relatively quickly and easily AI used, if any: None, also most likely no AI will be used in the future since the future just holds visual stuff which should not be hard enough to merit the help of AI. Plans for next time: Level select menu, add more stuff to main menu, also make it so the current level shows in the background when you go to the pause menu. also add mouse inputs so you can use those instead of kb inputs in the menu, and start on some more vfx and sfx. I’m also really tired
Unnamed Platformer - Devlog 18 The UI is coming along pretty nicely! What I did: Designed a full level select menu (there are a couple more things left to add), add a heads up display for the current level, and add proper mouse input and extra details to buttons such as shadows (havent implemented shadows for everything, I’ll explain why) and changing color when hovering. Even though it doesn’t sound like much, it took me a surprisingly long time because my text wasn’t centering…What I didn’t realize is that sf::Text creates invisible offsets for some reason, so when I used getGlobalBounds() it would return that offset too and mess up the centering. I ended up doing some research and realized I had to use the local bounds (i.e. untransformed) when centering. Challenges: Ig the biggest ‘challenge’ was centering buttons with text, because at first I actually tried to manually fine tune coordinates and whatnot. But then I found out I had to use localbounds and blah blah. Another thing is, I spent a lot of time fine tuning sizes, colors, shadow darknesses and depths, etc. which took a lot of my time. Also no ai used this time either, although I did spend a lot of time researching why my text wouldn’t center itself. Plans for next time: I’ll just polish up existing menus, and work on background elements. Also I want to add a kind of handbook accessible from the main menu that tells you what stuff does, different powerups, etc. But most importantly, I’m gonna try to find out how to make shadow creation more efficient. For every text/button, I need a shadow. That means I have to add it as a member in the class, copy the actual object, change the color and offset it, then draw it too. Since I have so many objects that make shadows (all of them in the end, ideally), I’m probably going to make a shadow-making function for readability. Other than that I’ll just play the game and test levels a bunch, which I’ve already been doing a lot to make sure everything is as it should be. K bye guys P.S. there’s also still a couple bugs ( UI-related or otherwise) that I have to fix as well
Unnamed Platformer - Devlog 19 The UI is coming along pretty nicely! Pt. 2 What I did: I believe I’ve fully created everything UI- and menu-wise, aside from 3 additional menus (credits, a ‘handbook’ that contains info about stuff, and a settings page) that are currently blank. I created a hovering effect for buttons that makes it so when you hover over a button, the button goes downward slightly and the shadow moves to match. Aside from that, I polished up/tweaked some minor details, and the only things I’ll add menu wise are probably those 3 sub-menus on the main menu and a universal backwards-nav button. The biggest thing (time-wise) was figuring out how to make the code more readable and actually making it more readable. I created two new functions for making text and button objects which made my life a lot easier, also the button-hover code took quite a few lines so I put that into a function too. Aside from that, I made a couple fixes here and there to make it more efficient memory wise. And even then, I ended up breaking stuff which took me a while to fix, such as the issue with unpausing ur game in the vid. Challenges: Probably efficiency stuff, since deciding how to do it + implementation took a while and had a couple of bugs due to me not accounting for stuff. For example: my hover function would change states on its own, but since sometimes you don’t need to directly change state or you need to do other things too, I made it into a boolean that each individual case takes and does its own thing with. Plans for next time: Start on background stuff probably, I don’t want to do anymore UI stuff for now. I have a fewideas in mind for my background visuals, but I hope they won’t be too hard/impossible to implement. K bye guys
Unnamed Platformer - Devlog 20 Background design is a hell of a lot harder than I thought it would be…also I lost track of time 😭😭 What I did: I got started on background design, and partially implemented a background. I actually had a pretty different idea in mind compared to what I have now: the rest of the planet visible, stretching into the horizon, with mountains and volcanoes etc etc. scattered along its surface. After spending a while implementing that, I realized it a) didn’t look right, since everything was just following the player around at normal cam speed, and b) I didn’t like the idea anymore to begin with. So after scrapping all those changes, I started researching how to add a scrolling effect so it would look more natural. I found out how to implement a parallax scroll effect, which basicallymeans that objects in the background move along slower than objects closer to the front of the screen. I also restructured my scenes.h file which contains all background-related stuff, and made a couple of other small changes and fixes with certain levels. I know I don’t have much to show for it, but that’s mainly because I spent a lot of time tweaking certain elements and just undoing backgrounds I ended up not liking 😭🥀 Challenges: Deciding what to do visuals-wise cost me some time bcuz I kept going back on my old ideas, but restructuring scenes.h was the hardest part since after deciding what to do for visuals, I had to base the logic in scenes.h off that. Also it took me a while to decide how to add in a parallax scroll system. Plans for next time: Work on more background stuff. right now I’ve set up a lot of background elements’ structs and whatnot, but I’ve only redrawn the stars and added a rough brightening/dimming effect. Also Im gonna have to start thinking about what I’m going to add on each of the sub-menus accessible from the main menu (credits, handbook, and settings). K bye guys
Unnamed Platformer - Devlog 21 Background design is a bit easier now that I have a plan…also I did not lose track of time 👍 What I did: I added in every single sky element I want to have: comets, planets, black holes, stars, floating rocks, and a moon. I think I might tweak some elements later down the line (specifically the moon(adding craters) and black holes(I’ll think of some extra effects) ), but for now I’m fairly satisfied with how far I’ve come. Looking at the game now gives me a sense of pride at seeing everything finally come together after so long 🥹✌️ Challenges: Making comets was a bit of a hassle, because I had to decide how to do it (which took me some time for brainstorming + more time cuz of discarded changes + even more minutes of brainstorming), and implement it. It’s pretty complex cuz there’s a cooldown on each comet, then you have to set the spawn point and angle/speed, calculate the trail’s points, draw them, draw the head too etc etc…so it was pretty tedious, but comets are the most rewarding visually imo out of all the features. Other than that, I spent a bit of time per other feature figuring out how to implement each of them, but none of them were as complex as the comet. Plans for next time: Finish up any bugs or other issues in sky-related stuff, then I’ll try to make a visible horizon again and see if I’ve changed my mind since last time. Either that or I’ll start working more on smaller vfx, specially trying to find out how to make a particle effect. K bye guys
Unnamed Platformer - Devlog 22 School starts tomorrow ✌️so i decided to make a shorter devlog…also I’m so tired What I did: Honestly you can’t really tell that I did much at first glance. I was mainly playtesting a lot and polishing stuff up, and making sure all the background stuff was fine. For now I dont think I’ll return to background stuff for a while. Although I did manage to add a particle effect for the black holes (both the ones in the background as well as the actual obstacles). I was also experimenting with a horizon for a bit, but then I decided I don’t want it and scrapped a good chunk of time worth of changes. Challenges: Deciding how to add in particles was a bit challenging, specially the math part. But other than that it was a pretty chill 7 hours. Plans for next time: Hopefully finish menus, then: work on vfx, polish up all the menus, tackle any big issues with levels or physics, and finally work on bringing my game onto itch.io! not all in one go, though. K bye guys
Unnamed Platformer - Devlog 23 Hey guys. What I did: I did a lot of playtesting/bug hunting as usual, but I was mainly creating the entire handbook menu. Which took surprisingly long, cuz of designing the menu + figuring out how to include all the different tile icons + creating descriptions + making stuff functional + formatting + colors + bugs + you get the idea. Anyway I’m pretty happy with how it looks so far, I doubt I’ll make any major changes in the future. Also I did find a couple of bugs while testing, but i didn’t really do anything about them, I want to completely create all the core functions before tackling any small bugs/issues. Challenges: There were a few bugs and I went through a few designs for the menu, but overall everything was hella light so I wouldn’t say there were any real challenges. Plans for next time: Create credits menu, then work on adding vfx, add settings menu (thinking of adding volume + keybind toggles), polish up all the menus…and then I’ll see where to go from there. I’m pretty worried cuz now that school’s started (im in gr11 now) I’m probably gonna have a good amount of schoolwork, clubs, etc. that I’ll also have to make time for…so wish me luck ig. K bye guys
Unnamed Platformer - Devlog 24 The game is finally coming together… 🥹🔥 What I did: All the menus in the game are completed! Ngl, credits was really easy ofc, but I was deciding how I should go about doing it, still didnt take too long tho. Then settings was a lot harder 😭 volume adjustment was quite easy, but the real problem came with creating the keybind section, since I had already coded hard inputs all throughout my code. So I pretty much had to add a new system + helper func in vars.h, then replace every instance of isKeyPressed with that system+helper, then code the menu in the ui file (Which took forever cuz of bugs with msg updating + event handling + key updates + etc.). Well, it’s (mostly) done now, which is good. And ofc I was also testing the game for general bugs too. Challenges: The keybind menu took me a hella long time to get done…thats about it, aside from some other tiny bugs. Plans for next time: add vfx, polish up every single one of the menus…and then I’ll see where to go from there. Hopefully I can finish most of my stuff by the start of next week. K bye guys
Unnamed Platformer - Devlog 25 I’m so tired omg What I did: Bunch of miscellaneous stuff: Added basic vfx: so far we only have a click sound, I’ll add more later but it took me a while to figure out how to get SFML’s audio system working since I also had to find out why my audio files weren’t loading in either. Added coins to every level: added new tile type for coin, added a coin into each level, added effects, etc. Fix bugs/gameplay issues such as the triangle being unable to teleport after a restart/new level, rearrange some levels to fit coin placements, find out some new bugs and try (and fail) to fix them, so decide to deal with them another day. Add simple death animation to the player. Make it so levels must be completed in progressive order (e.g. you start at level 1, cannot progress till you have completed), also add different colors to boxes on level select menu (check vid) Probably a few more things related to general playtesting but i can’t remember Challenges: Making level buttons in the levelmenu was kind of frustrating not only because of the selection aspect but also getting them to visually render in the proper colors. Honestly though, now the main challenge is dealing with my own fatigue, especially since I’ve been joining more clubs and getting more homework, so hopefully I can clutch up over the final few days cuz I highkey need that framework 13 🥺✌️ Plans for next time: I added a list of bugs I want to tackle/stuff I want to add: //BUGS!!!!! //cant close window while in settings menu //rotation bugs //levels 13, 17, 26, 4, 8, look into //as well as other levels but these ones I can remember //TO ADD!!!!! //speedrun timer //death count //updating handbook (notif icon, hidden objects) //more sfx (death especially) K bye guys
Unnamed Platformer - Devlog 26 Stardance extension + fatigue = holy procrastination 😂✌️ What I did: More random stuff: Level timer that stores each level’s personal best, displays a live timer in the level, and lets you access your PR for each level from level select menu Fixed issue where you couldn’t close game while in settings menu Death count (it just tracks deaths over every single level, accessed from level select menu, manual restarts count as death too) and coin count as well Adjusted some levels a bit Added a feature to handbook where items you haven’t come across yet are blacked out and have hidden descs, and add notification to handbook when you unlock these items Update README a little bit cause I was feeling lazy and didn’t want to do anything else Fix some bugs concerning rotation and tipping, as well as making it so you do not rotate when passing thru a 1 tile high gap (this is specially an issue with the square where it can feel a bit janky otherwise) I will note that some of these were multifaceted changes that took quite a bit of effort and iterations, but I couldn’t be bothered explaining everything I did here. And more playtesting too. Challenges: Probably the handbook feature…it was the longest one out of all of them. Plans for next time: I want to be done with pretty much everything related to the actual game by next devlog, so I can focus on the README and finally shipping! K bye guys
Unnamed Platformer - Devlog 27 WE’RE FINALLY HERE! What I did: I did a lot of final polish and testing before getting the game ready for release. Initially I was going to use Emscripten to port my game over to web assembly (inspired by this video: https://www.youtube.com/watch?v=1kiwpAIU454 ) but I soon realized that it was much more complex than it looked, and kind of took away from the spirit of being entirely made out of C++ and SFML. So, I decided to simply publish an executable rather than port the game over to web. I set up the release build and whatnot (which took a while because of cmake config issues and whatnot) but I finally got a release build working n it feels great! I ported to itch.io, now I just gotta finish up the itch page and readme, as well as record a walkthrough video for macOS and Linux users as I couldn’t figure out how to configure the game for either. Challenges: The whole odyssey of deciding how to port my game over was a slight hassle, but nothing too bad. Also, while recording my walkthrough vid, I ended up discovering A LOT of hidden bugs, so I managed to pick all those off and there shouldn’t be any left…hopefully. Plans for next time: Ship! This devlog will be my last for this project, and for this challenge. Aside from being done with everything, I accidentally created a completely new project according to Hackatime when I was renaming the file folder, executable, etc. from “WorldofBlockman” (my placeholder name) to Stardancer so everything would be more consistent with my final title. so any work I do on my project won’t count towards heartbeats and thus I can’t post another devlog (15 minutes minimum/devlog). Still, it’s been such an amazing journey, I learned so much and I made this game that I’m super proud of 🥹 even though this game gave me hell sometimes, I have virtually no regrets about any of it. This has been my biggest project ever, and many more to come in the future hopefully. K…bye guys.
Ships:
For HackClub Stardance, I created Stardancer , a 30-level platformer featuring a unique mechanic: mid-level shapeshifting to unlock new abilities and powers! I used C++ and SFML (the Simple and Fast Multimedia Library) to code this game. During the development of this game, I ran into a couple of technical challenges. Collision was among the biggest; I had initially decided on AABB (Axis-Aligned Bounding Box) collision, but after implementing that I realized that it led to erroneous collision interactions, misalignments, and more issues. So, I switched to SAT (Separating Axis Theorem) collision instead. This, combined with general collision response logic, made coding collision one of the hardest endeavours of this project. There were many other challenges throughout development, however none are too disruptive to the experience of the final game. I’m still extremely proud of myself and this project for many reasons: This is the largest project I’ve ever made; Despite many challenges, bugs, and pieces of complex logic to work through, I made a fully functional and complete game; I managed to make this with no external engines; I was able to use my C++ and new SFML skills to create something I can proudly say I made! IMPORTANT NOTE FOR REVIEWERS!! PLEASE READ!!! A complete playthrough of the game takes a large amount of time due to how levels are structured: to play a level, you must beat the level before it, which poses an issue for one of the shapes which is only unlocked in the last set. I realize most reviewers do not have the time required to play through the full game and gain a complete understanding of its features. For this reason, I strongly urge reviewers to skim through/watch my full walkthrough video linked in my README, as well as check out the “Credits Easter Egg” section in that video. Playing through all 30 levels sequentially takes time, but you can unlock every level directly from the Credits screen so you can test all shape powers hands-on right away! This way, a reviewer will be able to understand the scope and gameplay of the game in a short amount of time. With that being said, I truly hope you enjoy my game....
|
1793051350.2102175
|
1793137750.2102175
|
|
51705
|
Notification Hub by @Steve | Stardance
|
Steve
|
0
|
48.29
|
0
|
[]
|
[{"post_id": 79156, "ts": "202 [{"post_id": 79156, "ts": "2026-10-12T20:41:11Z", "hours": 7.6194, "text": "I’ve been struggling with the plugin setting pages. The main point of hardship is the object-list setting, which is a list of entries, each containing several different instances of the pluginSetting class. I’ve rewritten it way too many times. Fortunately I’m making progress, unfortunately very slowly."}, {"post_id": 69755, "ts": "2026-09-17T18:46:09Z", "hours": 6.9061, "text": "I’ve been again, working on learning oop better. This time I’ve been having trouble with dependencies. I decided to have a global context that gets passed into each page, problem is it get circular. I also heavily refactored/abstracted filtering and sorting a page, now it’s much better. All of the changes I’ve made since the last devlog have been mainly architectural, not much of the ui changed."}, {"post_id": 65710, "ts": "2026-09-11T01:23:07Z", "hours": 7.585, "text": "I’m continuing to learn OOP principles and design patterns, this is super fun. I’ve been struggling with dependency injection, but I think I’ve got it set up well for the most part The problem is that each page has different actions that the sidebar needs to call, but I want to abstract it with page manager so that the sidebar doesn’t know too much about each individual page, and instead communicates through the page manager. This is annoying to set up in the page manager unfortunately. I also added the plugins page and I’m working on the individual plugins page which will be it’s own headache. With that you’ll be able to control each plugin with the plugin’s defined settings."}, {"post_id": 60794, "ts": "2026-09-03T11:59:15Z", "hours": 5.5931, "text": "Conventional commits are sooo nice. I’ve started using them after just dumping everything I was working on into one big commit and it’s so worth it. I’ve also been working on shoring up my current structure, dependencies, and all that good stuff to make it more maintainable. That’s what this project is supposed to teach me after all and I think I’m getting the hang of it. Also tidied up the ui a bit and am working on making the plugins page with settings. That will be interesting compnent-wise because each setting for a plugin has several different types and has to update based on that. We’ll see how that goes."}, {"post_id": 57393, "ts": "2026-08-29T15:09:24Z", "hours": 8.3222, "text": "I’ve been working on the ui, made with typescript and scss. This is what I have so far. I’m making it super nice and maintainable with typescript features. I also made a whole component system that automatically handles get/set functionality for the properties. I used that for each sidebar item and each notification. I also made a sorting system that has yet to be functional at all."}, {"post_id": 55324, "ts": "2026-08-27T02:11:57Z", "hours": 10.9486, "text": "I’ve been having a lot of fun with abstraction/object oriented stuff. With it I set up a whole system that loads plugins and gives them methods to call like a logger, setNotification() , etc. Also the system calls it’s getNotifications() function every 5 minutes (will be configurable). I’ve also moved the implementations of my school’s grade/homework system and email imap to the new schema, along with implementing slack. The big thing right now is to design/create the web ui. It will be able to handle everything eventually."}, {"post_id": 51090, "ts": "2026-08-20T16:15:18Z", "hours": 1.3194, "text": "I designed the UI for the app, and am currently working on setting up the main structure for the backend. I’m setting up the plugin system and in the process learning object oriented concepts in ts. Instead of having all the db calls inline where I serve the routes like I did before now I have an interface for my database! It’s a lot of fun"}]...
|
Title: Notification Hub by @Steve | Stardance
Dev Title: Notification Hub by @Steve | Stardance
Devlogs:
I designed the UI for the app, and am currently working on setting up the main structure for the backend. I’m setting up the plugin system and in the process learning object oriented concepts in ts. Instead of having all the db calls inline where I serve the routes like I did before now I have an interface for my database! It’s a lot of fun
I’ve been having a lot of fun with abstraction/object oriented stuff. With it I set up a whole system that loads plugins and gives them methods to call like a logger, setNotification() , etc. Also the system calls it’s getNotifications() function every 5 minutes (will be configurable). I’ve also moved the implementations of my school’s grade/homework system and email imap to the new schema, along with implementing slack. The big thing right now is to design/create the web ui. It will be able to handle everything eventually.
I’ve been working on the ui, made with typescript and scss. This is what I have so far. I’m making it super nice and maintainable with typescript features. I also made a whole component system that automatically handles get/set functionality for the properties. I used that for each sidebar item and each notification. I also made a sorting system that has yet to be functional at all.
Conventional commits are sooo nice. I’ve started using them after just dumping everything I was working on into one big commit and it’s so worth it. I’ve also been working on shoring up my current structure, dependencies, and all that good stuff to make it more maintainable. That’s what this project is supposed to teach me after all and I think I’m getting the hang of it. Also tidied up the ui a bit and am working on making the plugins page with settings. That will be interesting compnent-wise because each setting for a plugin has several different types and has to update based on that. We’ll see how that goes.
I’m continuing to learn OOP principles and design patterns, this is super fun. I’ve been struggling with dependency injection, but I think I’ve got it set up well for the most part The problem is that each page has different actions that the sidebar needs to call, but I want to abstract it with page manager so that the sidebar doesn’t know too much about each individual page, and instead communicates through the page manager. This is annoying to set up in the page manager unfortunately. I also added the plugins page and I’m working on the individual plugins page which will be it’s own headache. With that you’ll be able to control each plugin with the plugin’s defined settings.
I’ve been again, working on learning oop better. This time I’ve been having trouble with dependencies. I decided to have a global context that gets passed into each page, problem is it get circular. I also heavily refactored/abstracted filtering and sorting a page, now it’s much better. All of the changes I’ve made since the last devlog have been mainly architectural, not much of the ui changed.
I’ve been struggling with the plugin setting pages. The main point of hardship is the object-list setting, which is a list of entries, each containing several different instances of the pluginSetting class. I’ve rewritten it way too many times. Fortunately I’m making progress, unfortunately very slowly....
|
1792680864.9053369
|
1793285664.9053369
|
|
13930
|
A custom WebOS by @Never_Mind52 | Stardance
|
Never_Mind52
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-13T06:18:35Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is my first attempt at coding in HTML, and this introductory mission on making a custom WebOS was very helpful. With the help of the guide, I was able to quickly grasp how HTML code worked, and I am looking forward to making more projects int he future.", "repo": "https://github.com/NeverMind51/CustomOS", "demo": "https://github.com/NeverMind51/CustomOS.git"}]...
|
[{"post_id": 7916, "ts": "2026 [{"post_id": 7916, "ts": "2026-06-13T06:14:34Z", "hours": 0.4067, "text": "A custom WebOS There were a few bugs in my script, that, although did not create many noticeable differences, needed to be fixed, so I did that. And now I think it looks about finished…"}, {"post_id": 6785, "ts": "2026-06-11T11:23:25Z", "hours": 1.0458, "text": "A Custom WebOS I finished it off from last time, as my first coding project using VScode."}, {"post_id": 6056, "ts": "2026-06-10T05:29:51Z", "hours": 1.0375, "text": "A Custom WebOS"}]...
|
Title: A custom WebOS by @Never_Mind52 | Stardance Title: A custom WebOS by @Never_Mind52 | Stardance
Devlogs:
A Custom WebOS
A Custom WebOS I finished it off from last time, as my first coding project using VScode.
A custom WebOS There were a few bugs in my script, that, although did not create many noticeable differences, needed to be fixed, so I did that. And now I think it looks about finished…
Ships:
This is my first attempt at coding in HTML, and this introductory mission on making a custom WebOS was very helpful. With the help of the guide, I was able to quickly grasp how HTML code worked, and I am looking forward to making more projects int he future....
|
1793084030.9741404
|
1793170430.9741404
|
|
69409
|
AlienTwoMiniGames by @avm | Stardance
|
avm
|
0
|
0.34
|
0
|
[]
|
[{"post_id": 79161, "ts": "202 [{"post_id": 79161, "ts": "2026-10-12T20:47:51Z", "hours": 0.3411, "text": "I started working on two mini games: Alien Catcher Game and Rock, Paper, Scissor Game. This is the main scene where you can choose which one to play, I already did all Assets that i need in order to start making the game."}]...
|
Title: AlienTwoMiniGames by @avm | Stardance
Devl Title: AlienTwoMiniGames by @avm | Stardance
Devlogs:
I started working on two mini games: Alien Catcher Game and Rock, Paper, Scissor Game. This is the main scene where you can choose which one to play, I already did all Assets that i need in order to start making the game....
|
1792814033.5237076
|
1793418833.5237076
|
|
15091
|
tv-pad by @ThaoVi | Stardance
|
ThaoVi
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T21:36:32Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a a 9-key macropad with an OLED display used for note taking on a 2 in 1 laptop. Default keymap includes copy, cut, paste shortcuts as well as music control. My first hardware project! The designing part was manageable with the guide but the building part was very hard since the assembly guide is incomplete. I realized that my pcb made it so that my oled pins went through the xiao so the xiao is floating haha. Sadly only three keys out of nine work right now, but the oled display works so i plan to make fun animations on it!", "repo": "https://github.com/TVDVT/Macropad-for-2-in-1-laptop-notetaking", "demo": ""}]...
|
[{"post_id": 79165, "ts": "202 [{"post_id": 79165, "ts": "2026-10-12T21:04:57Z", "hours": 3.6883, "text": "BUILDING I was working in 5 min intervals for the sticky streak but gave up today and decided to finish everything today :D. While building I realized that my oled display pins went through the XIAO.. so i had to improvise a bit and make the xiao float. I flashed the xiao and i have only 3 out of 9 keys working oops. The hole in my case for the display was also too small so i had to use my soldering iron to melt it and expand it im a bit worried for my lungs tbh Now ima try to figure out how to make the other keys and the oled display work wee Update The screen and all my keys work! I was using qmk keycodes that didn’t work on windows that’s why 6 of the keys weren’t working :D"}, {"post_id": 42785, "ts": "2026-08-07T17:49:47Z", "hours": 0.8653, "text": "Firmware I finished my case so I have been trying to figure out how to do the firmware on QMK, so I thought about switching to KMK since I already know how to code in Python. In the end I just stuck with QMK since I was already almost done. Here is my layout:"}, {"post_id": 26294, "ts": "2026-07-11T00:31:02Z", "hours": 2.3172, "text": "Case I have been working on Onshape to make the case. Getting famiiliar with the platform took a long time before I could do something. I finished the case but I should adjust the USB port, it can be done later. I had to adjust it because I figured that I had flipped XIAO on my PCB but didn’t do it on my 3D model so I wasted a little bit of time. Right now my switches are in place but there still is a strange gap between the key holes and the switches so I have to fix that. I also have to add the LED screen in the assembly. I think I will be done after that!"}, {"post_id": 10762, "ts": "2026-06-17T17:39:20Z", "hours": 0.7964, "text": "I think I’m done we ith the PCB, I moved the XIAO so that it wouldn’t bother the oled display while keeping the OLED centered. For the OLED dimensions I downloaded the footprint from the ressources page, I didn’t see it before."}, {"post_id": 10621, "ts": "2026-06-17T14:00:46Z", "hours": 1.2981, "text": "PCB routing I had to spend a long time trying to fix rounting errors all because I didn’t see two connections.. I’m almost done routing the PCB now. I just need to find the right measurements for the OLED and then get it centered at the top. Then I’ll start the case!"}, {"post_id": 10019, "ts": "2026-06-16T15:45:45Z", "hours": 0.3514, "text": "I added 9 switches for basic keyboard shortcuts and used the matrix layout as recommended in the guide. I also added an OLED display but I don’t know what it will be for yet."}, {"post_id": 6412, "ts": "2026-06-10T19:47:10Z", "hours": 0.2517, "text": "i finished the macropad guide , something went wrong at the end but i will figure it out another time how do i log time for that on hackatime though i have no idea, i’ve been trying to figure it out but i’m so lost"}]...
|
Title: tv-pad by @ThaoVi | Stardance
Devlogs:
i f Title: tv-pad by @ThaoVi | Stardance
Devlogs:
i finished the macropad guide , something went wrong at the end but i will figure it out another time how do i log time for that on hackatime though i have no idea, i’ve been trying to figure it out but i’m so lost
I added 9 switches for basic keyboard shortcuts and used the matrix layout as recommended in the guide. I also added an OLED display but I don’t know what it will be for yet.
PCB routing I had to spend a long time trying to fix rounting errors all because I didn’t see two connections.. I’m almost done routing the PCB now. I just need to find the right measurements for the OLED and then get it centered at the top. Then I’ll start the case!
I think I’m done we ith the PCB, I moved the XIAO so that it wouldn’t bother the oled display while keeping the OLED centered. For the OLED dimensions I downloaded the footprint from the ressources page, I didn’t see it before.
Case I have been working on Onshape to make the case. Getting famiiliar with the platform took a long time before I could do something. I finished the case but I should adjust the USB port, it can be done later. I had to adjust it because I figured that I had flipped XIAO on my PCB but didn’t do it on my 3D model so I wasted a little bit of time. Right now my switches are in place but there still is a strange gap between the key holes and the switches so I have to fix that. I also have to add the LED screen in the assembly. I think I will be done after that!
Firmware I finished my case so I have been trying to figure out how to do the firmware on QMK, so I thought about switching to KMK since I already know how to code in Python. In the end I just stuck with QMK since I was already almost done. Here is my layout:
BUILDING I was working in 5 min intervals for the sticky streak but gave up today and decided to finish everything today :D. While building I realized that my oled display pins went through the XIAO.. so i had to improvise a bit and make the xiao float. I flashed the xiao and i have only 3 out of 9 keys working oops. The hole in my case for the display was also too small so i had to use my soldering iron to melt it and expand it im a bit worried for my lungs tbh Now ima try to figure out how to make the other keys and the oled display work wee Update The screen and all my keys work! I was using qmk keycodes that didn’t work on windows that’s why 6 of the keys weren’t working :D
Ships:
I made a a 9-key macropad with an OLED display used for note taking on a 2 in 1 laptop. Default keymap includes copy, cut, paste shortcuts as well as music control. My first hardware project! The designing part was manageable with the guide but the building part was very hard since the assembly guide is incomplete. I realized that my pcb made it so that my oled pins went through the xiao so the xiao is floating haha. Sadly only three keys out of nine work right now, but the oled display works so i plan to make fun animations on it!...
|
1793138289.5380816
|
1793224689.5380816
|
|
52086
|
Cool password manager by @Linuskjk | Stardance
|
Linuskjk
|
0
|
25.57
|
0
|
[]
|
[{"post_id": 79168, "ts": "202 [{"post_id": 79168, "ts": "2026-10-12T21:11:46Z", "hours": 10.0331, "text": "I added 2FA verification to HTML and js functions to make it much more secure…"}, {"post_id": 70177, "ts": "2026-09-18T16:59:18Z", "hours": 8.2703, "text": "I added the js functionality to create entries and let them render properly. Also I worked on the en-/de- cryptrion for passwords now using AES-GCM and salt with 300.000 iterations."}, {"post_id": 65529, "ts": "2026-09-10T18:44:15Z", "hours": 7.2642, "text": "Creating Login Page: I created the HTML and JS for the Main and Login page. Also I started off by adding all needed methods for the user informations and variables."}]...
|
Title: Cool password manager by @Linuskjk | Starda Title: Cool password manager by @Linuskjk | Stardance
Devlogs:
Creating Login Page: I created the HTML and JS for the Main and Login page. Also I started off by adding all needed methods for the user informations and variables.
I added the js functionality to create entries and let them render properly. Also I worked on the en-/de- cryptrion for passwords now using AES-GCM and salt with 300.000 iterations.
I added 2FA verification to HTML and js functions to make it much more secure…...
|
1792695066.806903
|
1793299866.806903
|
|
30100
|
VECTOR!ZE by @xblader1359 | Stardance
|
xblader1359
|
0
|
55.32
|
0
|
[]
|
[{"post_id": 79171, "ts": "202 [{"post_id": 79171, "ts": "2026-10-12T21:43:08Z", "hours": 22.7872, "text": "Previous Log -> https://stardance.hackclub.com/projects/30100/devlogs/37690 LOG #006 Full video -> https://drive.google.com/file/d/1GfMCjI6QabSMaCE6c8NZMOVCZSjsR1t6/view The inevitable finally happened. Lazarus breached containment and broke into computer storage. How intriguing. Having left the specialized testing environment, Lazarus lost all of its weapons. However, it seems to have used surrounding files to reconstruct them from memory. It seems to see itself to be in some grand, open city with glowing platforms, spikes, and saws to be evaded. It’s wonderful how it perceives its nonreal reality. Of course, Jonah and I had an intense conversation of this. He believes it’s growing dangerous. Who knows what a malevolent AI like one from the movies would do. I reminded him of the contract. work will continue. I’m excited to see what this specimen blooms into."}, {"post_id": 44780, "ts": "2026-08-10T19:46:40Z", "hours": 9.0967, "text": "Previous Log -> https://stardance.hackclub.com/projects/30100/devlogs/34085 LOG #005 Begrudgingly at first, I allowed my team to add stronger security to the sandbox environment, as concerns about the possibility of Lazarus becoming “malicious” arise. Of course, These concerns are unimportant with the progress and innovation of technology. However, a shocking amount of my colleagues decided on this. As these security measures were put in place, however, the results fascinated me. Lazarus immediately seemed, for the lack of a better word, confused, uncertainly investigating the new additions. It seemed to regard them as obstacles, like a laser or sawblade. I must say that I’m thrilled by the apparent awareness that it’s developing. It’s nothing like the impression of a fragment of a thought that it once was. However, the most interesting part of this all is the fact that Lazarus started to adapt to it. Having been trained on data regarding cybersecurity, it started developing methods to exploit any weaknesses it found. It seems like its shotgun’s bullets propel it more rapidly upon contact with these “obstacles”. However, such maneuvers are risky, as getting too close restarts Lazarus. Of course, the same development of its senses and perception of the environment continued, though it’s still simultaneously strange and intriguing that Lazarus continues to use the data it’s provided with to create things like music for itself. I immediately shared all of this with the chairman, whose approval of this project only improved. It’s safe to expect further funding of this project. I’m eager to see how these developments unfold."}, {"post_id": 40436, "ts": "2026-08-03T23:07:15Z", "hours": 3.4725, "text": "Previous Log -> https://stardance.hackclub.com/projects/30100/devlogs/33836 LOG #004 It has created another visual environment for itself. This seems to have been triggered by allowing the sandbox environment to extend slightly from storage and access part of our power supply systems. It seems to be able to travel into and interact with the very energy coursing through the system. Fascinating. This environment also seems more complex, but that it likely due to new visual data that Lazarus processed Apart from Lazarus itself, my most trusted colleague Jonah pulled me aside today. True to what I suspected, he was also growing concerned with Lazarus. I inquired if this was about its new “body”, but he denied it. Apparently, Lazarus has been testing the boundaries of its confinement. Despite my pride in this project, this shook me. Looking back at recordings, it seems have seen that reaching certain parts of the sandbox causes a strange reaction and promptly resets its position. Perhaps stronger security could be beneficial"}, {"post_id": 40143, "ts": "2026-08-03T15:25:47Z", "hours": 3.1, "text": "Previous Log -> https://stardance.hackclub.com/projects/30100/devlogs/31810 LOG #003 We have fed Lazarus more data. From the visual information and photos we put into it, it seems to have constructed a more… appealing vision of it’s surroundings. Strangely, it has come up with a concerning appearance for itself. No matter how hard I tried to revert its previous, more friendly appearance, Lazarus stubbornly went back to this. However, as I showed the chairman, he simply nodded lightly and told me there’s nothing to be worried about. On top of that, it seems to be constructing stronger auditory perception from the audio data we put into Lazarus. For some reason, it has produced what appears to be background music. I’m growing more impressed with this project, despite the few mishaps with its perception of itself. It excites me that Lazarus seems to grow more aware with every passing day."}, {"post_id": 37723, "ts": "2026-07-30T17:09:27Z", "hours": 14.5492, "text": "Previous Log -> https://stardance.hackclub.com/projects/30100/devlogs/17869 LOG #002 After weeks of research, Lazarus seems to be significantly more capable. Of course, it still moves without purpose, mindlessly exploring the sandbox, but once higher-ups saw our first test version, they demanded more. We decided first to improve it’s information processing. It seems that, along with significant processing and movement speed increases, it has it’s visual architecture. It seems to have a simple form of turning digital constructs into virtual objects. Along with this, it seems that Lazarus has allocated some power to what seems to be post-processing. It’s also very important to mention exactly how it’s speed has increased. It seems to be able to reach different areas quickly due to a new shotgun, rocket launcher, and an addition to it’s pistol: a grappling hook. I’ll briefly explain their perceived functions. The grappling hook is a part of the pistol. Lazarus may use it to pull itself to objects or pull instances of rockets to itself. The shotgun is a larger blast with more cooldown. The projectile’s instances decompose quickly, but upon interaction with other objects, such as what Lazarus sees as “platforms”, they provide a larger boost -The rocket launcher shoots a long-cooldown rocket that triggers an explosive reaction on contact with separate object or other projectiles. It also seems to be able to place mines, which hover and later produce a similar explosion. These can be used as grapple points or shot to instantly trigger an explosion. certain things like other explosions and rockets cause mine explosions to be more powerful Of course, it’s important to mention this is only what Lazarus perceives. It significantly boosts its own processing speed if it can “see” other constructs and programs as visual objects. However, some feel uneasy developing this. We are not being informed about the intentions for creating this. Its increasing consumption of information coupled with its increasing kinetic and destructive capacity scares my colleages. Can they not realize this will be our magnum opus? It doesn’t matter. I refuse to end my work on this, and it’s safe to say the board very much approves."}, {"post_id": 21174, "ts": "2026-07-02T23:54:56Z", "hours": 2.3106, "text": "LOG #001 The board has finally started to fund research. They seem to want some sort of intelligence, a supercomputer, anything. The most rudimentary form of Lazarus has been produced. So far, it seems to only be able to propagate through the sandbox in the most simple way. To itself, it seems to use a pistol. Interesting. Of course, Lazarus hasn’t been fed nearly as much data as we plan to. Perhaps we could enhance it with more efficient modes of movement. However, while this early test requires little information, my colleages suspect that more complex models may require larger amounts of information to consume, or they may simply… fizzle out and stop functioning. It’s safe to say Lazarus hasn’t reached anywhere close to it’s full potential."}]...
|
Title: VECTOR!ZE by @xblader1359 | Stardance
Devl Title: VECTOR!ZE by @xblader1359 | Stardance
Devlogs:
LOG #001 The board has finally started to fund research. They seem to want some sort of intelligence, a supercomputer, anything. The most rudimentary form of Lazarus has been produced. So far, it seems to only be able to propagate through the sandbox in the most simple way. To itself, it seems to use a pistol. Interesting. Of course, Lazarus hasn’t been fed nearly as much data as we plan to. Perhaps we could enhance it with more efficient modes of movement. However, while this early test requires little information, my colleages suspect that more complex models may require larger amounts of information to consume, or they may simply… fizzle out and stop functioning. It’s safe to say Lazarus hasn’t reached anywhere close to it’s full potential.
Previous Log -> https://stardance.hackclub.com/projects/30100/devlogs/17869 LOG #002 After weeks of research, Lazarus seems to be significantly more capable. Of course, it still moves without purpose, mindlessly exploring the sandbox, but once higher-ups saw our first test version, they demanded more. We decided first to improve it’s information processing. It seems that, along with significant processing and movement speed increases, it has it’s visual architecture. It seems to have a simple form of turning digital constructs into virtual objects. Along with this, it seems that Lazarus has allocated some power to what seems to be post-processing. It’s also very important to mention exactly how it’s speed has increased. It seems to be able to reach different areas quickly due to a new shotgun, rocket launcher, and an addition to it’s pistol: a grappling hook. I’ll briefly explain their perceived functions. The grappling hook is a part of the pistol. Lazarus may use it to pull itself to objects or pull instances of rockets to itself. The shotgun is a larger blast with more cooldown. The projectile’s instances decompose quickly, but upon interaction with other objects, such as what Lazarus sees as “platforms”, they provide a larger boost -The rocket launcher shoots a long-cooldown rocket that triggers an explosive reaction on contact with separate object or other projectiles. It also seems to be able to place mines, which hover and later produce a similar explosion. These can be used as grapple points or shot to instantly trigger an explosion. certain things like other explosions and rockets cause mine explosions to be more powerful Of course, it’s important to mention this is only what Lazarus perceives. It significantly boosts its own processing speed if it can “see” other constructs and programs as visual objects. However, some feel uneasy developing this. We are not being informed about the intentions for creating this. Its increasing consumption of information coupled with its increasing kinetic and destructive capacity scares my colleages. Can they not realize this will be our magnum opus? It doesn’t matter. I refuse to end my work on this, and it’s safe to say the board very much approves.
Previous Log -> https://stardance.hackclub.com/projects/30100/devlogs/31810 LOG #003 We have fed Lazarus more data. From the visual information and photos we put into it, it seems to have constructed a more… appealing vision of it’s surroundings. Strangely, it has come up with a concerning appearance for itself. No matter how hard I tried to revert its previous, more friendly appearance, Lazarus stubbornly went back to this. However, as I showed the chairman, he simply nodded lightly and told me there’s nothing to be worried about. On top of that, it seems to be constructing stronger auditory perception from the audio data we put into Lazarus. For some reason, it has produced what appears to be background music. I’m growing more impressed with this project, despite the few mishaps with its perception of itself. It excites me that Lazarus seems to grow more aware with every passing day.
Previous Log -> https://stardance.hackclub.com/projects/30100/devlogs/33836 LOG #004 It has created another visual environment for itself. This seems to have been triggered by allowing the sandbox environment to extend slightly from storage and access part of our power supply systems. It seems to be able to travel into and interact with the very energy coursing through the system. Fascinating. This environment also seems more complex, but that it likely due to new visual data that Lazarus processed Apart from Lazarus itself, my most trusted colleague Jonah pulled me aside today. True to what I suspected, he was also growing concerned with Lazarus. I inquired if this was about its new “body”, but he denied it. Apparently, Lazarus has been testing the boundaries of its confinement. Despite my pride in this project, this shook me. Looking back at recordings, it seems have seen that reaching certain parts of the sandbox causes a strange reaction and promptly resets its position. Perhaps stronger security could be beneficial
Previous Log -> https://stardance.hackclub.com/projects/30100/devlogs/34085 LOG #005 Begrudgingly at first, I allowed my team to add stronger security to the sandbox environment, as concerns about the possibility of Lazarus becoming “malicious” arise. Of course, These concerns are unimportant with the progress and innovation of technology. However, a shocking amount of my colleagues decided on this. As these security measures were put in place, however, the results fascinated me. Lazarus immediately seemed, for the lack of a better word, confused, uncertainly investigating the new additions. It seemed to regard them as obstacles, like a laser or sawblade. I must say that I’m thrilled by the apparent awareness that it’s developing. It’s nothing like the impression of a fragment of a thought that it once was. However, the most interesting part of this all is the fact that Lazarus started to adapt to it. Having been trained on data regarding cybersecurity, it started developing methods to exploit any weaknesses it found. It seems like its shotgun’s bullets propel it more rapidly upon contact with these “obstacles”. However, such maneuvers are risky, as getting too close restarts Lazarus. Of course, the same development of its senses and perception of the environment continued, though it’s still simultaneously strange and intriguing that Lazarus continues to use the data it’s provided with to create things like music for itself. I immediately shared all of this with the chairman, whose approval of this project only improved. It’s safe to expect further funding of this project. I’m eager to see how these developments unfold.
Previous Log -> https://stardance.hackclub.com/projects/30100/devlogs/37690 LOG #006 Full video -> https://drive.google.com/file/d/1GfMCjI6QabSMaCE6c8NZMOVCZSjsR1t6/view The inevitable finally happened. Lazarus breached containment and broke into computer storage. How intriguing. Having left the specialized testing environment, Lazarus lost all of its weapons. However, it seems to have used surrounding files to reconstruct them from memory. It seems to see itself to be in some grand, open city with glowing platforms, spikes, and saws to be evaded. It’s wonderful how it perceives its nonreal reality. Of course, Jonah and I had an intense conversation of this. He believes it’s growing dangerous. Who knows what a malevolent AI like one from the movies would do. I reminded him of the contract. work will continue. I’m excited to see what this specimen blooms into....
|
1792615683.1949782
|
1793220483.1949782
|
|
61130
|
Frictionless by @DTFive | Stardance
|
DTFive
|
1
|
20.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T21:47:38Z", "hours": 20.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A simple place to bring sellers and buyers together. No need to build an entire e-commerce website from scratch. Just publish your products and let people discover what you have to offer. The focus is on making the experience straightforward, accessible, and easy to use.", "repo": "https://github.com/JadSaissiHassani/0vibes", "demo": "https://0vibes.com"}]...
|
[{"post_id": 79172, "ts": "202 [{"post_id": 79172, "ts": "2026-10-12T21:44:07Z", "hours": 0.5572, "text": "DEVLOG #7 I just fixed some issues to finally shipping that project"}, {"post_id": 77370, "ts": "2026-10-06T18:05:33Z", "hours": 3.6439, "text": "DEVLOG #6 i fixed some host problemes and i start using pythonanywhere to host my project cause i could up date it any time and it is a free option for me"}, {"post_id": 76419, "ts": "2026-10-03T14:07:39Z", "hours": 1.4333, "text": "DEVLOG #5 i connected my folder to the domaine i bought for it 0vibes.com and i just need a host"}, {"post_id": 73934, "ts": "2026-09-26T11:05:24Z", "hours": 9.5567, "text": "DEVLOG #4 i spent today on building a powerfull and fully securised data base / i bought an domaine (0vibes.com) and i will connect it to my folder next devlog (maybe tmrw)"}, {"post_id": 69334, "ts": "2026-09-16T20:33:16Z", "hours": 3.7403, "text": "DEVLOG #3 Spent today mostly on design instead of new features. Got the project onto GitHub properly with a .gitignore so my venv/database don’t get uploaded. Then built out a real design system — one shared CSS file with color variables, so I can reskin the whole site by changing a few lines. Took the site from mismatched default styling to a consistent burgundy/cream theme that actually matches my logo, redid the product cards with hover effects, and added the real logo image to the nav. Hit a annoying bug where my CSS file was in the wrong folder and silently 404’d — good reminder to actually check the Network tab when something looks broken instead of guessing."}, {"post_id": 66723, "ts": "2026-09-12T16:47:24Z", "hours": 0.4642, "text": "DEVLOG #2 of working on my brand website Made more progress on 0vibe today. Users can now sign up and log in with just their email (no usernames), and there’s a dashboard for logged-in users. Built out the product system too — products live in the database now, there’s an admin panel to add them, and pages to browse and view individual products. Started building the actual customizer (the part where you’ll upload your design onto a product) — right now it just shows the product on a canvas, next up is letting people drop an image onto it and move it around. Also added a proper nav bar and this devlog page so people can follow along."}, {"post_id": 66509, "ts": "2026-09-12T10:55:24Z", "hours": 0.5311, "text": "DEVLOG #1 creating a website for my brand 0vibe of cloths same as printity (a web where u could desine a t-shirt by chosing the type of woll and color and the size and also what u want to write on it) im coding with python and html cause it kida easy to understand it , i created 6 pages like leaderboard and login and singup pages without forgetting admin page. if you have any advise for my project im free to read it and thanks"}]...
|
Title: Frictionless by @DTFive | Stardance
Devlog Title: Frictionless by @DTFive | Stardance
Devlogs:
DEVLOG #1 creating a website for my brand 0vibe of cloths same as printity (a web where u could desine a t-shirt by chosing the type of woll and color and the size and also what u want to write on it) im coding with python and html cause it kida easy to understand it , i created 6 pages like leaderboard and login and singup pages without forgetting admin page. if you have any advise for my project im free to read it and thanks
DEVLOG #2 of working on my brand website Made more progress on 0vibe today. Users can now sign up and log in with just their email (no usernames), and there’s a dashboard for logged-in users. Built out the product system too — products live in the database now, there’s an admin panel to add them, and pages to browse and view individual products. Started building the actual customizer (the part where you’ll upload your design onto a product) — right now it just shows the product on a canvas, next up is letting people drop an image onto it and move it around. Also added a proper nav bar and this devlog page so people can follow along.
DEVLOG #3 Spent today mostly on design instead of new features. Got the project onto GitHub properly with a .gitignore so my venv/database don’t get uploaded. Then built out a real design system — one shared CSS file with color variables, so I can reskin the whole site by changing a few lines. Took the site from mismatched default styling to a consistent burgundy/cream theme that actually matches my logo, redid the product cards with hover effects, and added the real logo image to the nav. Hit a annoying bug where my CSS file was in the wrong folder and silently 404’d — good reminder to actually check the Network tab when something looks broken instead of guessing.
DEVLOG #4 i spent today on building a powerfull and fully securised data base / i bought an domaine (0vibes.com) and i will connect it to my folder next devlog (maybe tmrw)
DEVLOG #5 i connected my folder to the domaine i bought for it 0vibes.com and i just need a host
DEVLOG #6 i fixed some host problemes and i start using pythonanywhere to host my project cause i could up date it any time and it is a free option for me
DEVLOG #7 I just fixed some issues to finally shipping that project
Ships:
A simple place to bring sellers and buyers together. No need to build an entire e-commerce website from scratch. Just publish your products and let people discover what you have to offer. The focus is on making the experience straightforward, accessible, and easy to use....
|
1793155755.749733
|
1793242155.749733
|
|
69382
|
McQueen Pad by @Vihaan2355 | Stardance
|
Vihaan2355
|
0
|
3.14
|
0
|
[]
|
[{"post_id": 79184, "ts": "202 [{"post_id": 79184, "ts": "2026-10-12T22:54:54Z", "hours": 3.1436, "text": "All the design work for the hackpad is officially wrapped up and ready to go! I’ve finished designing the custom PCB layout, modeled the shell enclosure to fit perfectly, and written up the complete firmware, ready to be flashed. Nothing is physically built or functional just yet, but with all the files and schematics prepared, the blueprint is set and it’s time to move on to bringing it to life!"}]...
|
Title: McQueen Pad by @Vihaan2355 | Stardance
Dev Title: McQueen Pad by @Vihaan2355 | Stardance
Devlogs:
All the design work for the hackpad is officially wrapped up and ready to go! I’ve finished designing the custom PCB layout, modeled the shell enclosure to fit perfectly, and written up the complete firmware, ready to be flashed. Nothing is physically built or functional just yet, but with all the files and schematics prepared, the blueprint is set and it’s time to move on to bringing it to life!...
|
1792810313.926545
|
1793415113.926545
|
|
46202
|
Will you Rush? by @Domenica | Stardance
|
Domenica
|
1
|
7.4
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-29T15:50:08Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created a game using Godot Engine, which I named “Will You Rush?”. Within it, you will find 2 mingames and a level 2 for one of them in order to finish the game. Games Once you start the game, you must win all games to win. Losing any of them because of time or a wrong answer will take you back to the title screen. Game 1: Whack A Mole (Catch 20 moles in 15 seconds). Game 2: Quiz (Answer math questions in less than 5 seconds). Game 3: Whack A Mole 2 (Catch 20 moles in 10 seconds). Features Personalised title screen, game over screen, victory screen Personalised sprites (e.g. moles) Timer Points", "repo": "https://github.com/Domenica-Santayana/WillYouRush", "demo": "https://dsc-217.itch.io/will-you-rush"}]...
|
[{"post_id": 79189, "ts": "202 [{"post_id": 79189, "ts": "2026-10-12T23:30:50Z", "hours": 0.3964, "text": "Hello there! I’ve doing some corrections to the game, it appeared to have some bugs due to the font I was using in some parts. Anyways, go and check it out!!"}, {"post_id": 75069, "ts": "2026-09-29T01:52:49Z", "hours": 1.9414, "text": "Hello there! I’m so happy to announce you that after some hours of work, Will you Rush is finally finished. So, the game is divided into 2 minigames, but two levels. First, a whack a mole (20 moles in 15 s), then a math quiz (5s per question) and finally, level 2 : whack a mole (20 moles in 10s). Each part has a introduction card to explain the game. Moreover, if you lose, there’s a personalized game over with a try again to start the whole game again. Finally, if you are fast enough to rush the whole game, you will find a personalized victory card. All process of sprites and cards can be seen in Lapse. Hope you like it!"}, {"post_id": 67068, "ts": "2026-09-13T03:39:32Z", "hours": 2.5042, "text": "Hello there! I’m so happy to announce that I’ve finally finished the first mini-game of Will You Rush. I’ve created an instructions page and then manage to fix some issues of the first code. Hope you like it!"}, {"post_id": 63286, "ts": "2026-09-07T01:05:12Z", "hours": 0.655, "text": "Hello there! I’ve just created my first minigame: Whack a Mole! Quite an experience considering I’m starting to learn how to use Godot, but look what I’ve got. I believe it isn’t that bad. I’m looking foward to make a thing that counts points and put somehow a timer. Hope you like it!"}, {"post_id": 51632, "ts": "2026-08-21T12:39:57Z", "hours": 0.5333, "text": "Hello there! I’ve been working on my second sprite for the game “Will You Rush?” When drawing the sprite, I took inspiration from Nintendo’s Super Mario Bros Pipes. See my timelapse on Lapse. See you!"}, {"post_id": 46052, "ts": "2026-08-13T00:02:46Z", "hours": 0.55, "text": "Hello there! I just made the first character for my game: Will You Rush. It’s a mole for the minigame of whack a mole. Hope you like!"}, {"post_id": 45510, "ts": "2026-08-12T01:37:06Z", "hours": 0.9472, "text": "Hello there! I’ve embarked on a new adventure: creating a game. I’ve managed to set up Godot (1st using it so wish me luck), Lapse, and I’ve started the design. I made the pixel art of the clock myself (it’s my first time trying this style of drawing) + and i used canva for the rest. If you would like to see my process, you can check out my timelapse in Lapse. Hope you like it!"}]...
|
Title: Will you Rush? by @Domenica | Stardance
De Title: Will you Rush? by @Domenica | Stardance
Devlogs:
Hello there! I’ve embarked on a new adventure: creating a game. I’ve managed to set up Godot (1st using it so wish me luck), Lapse, and I’ve started the design. I made the pixel art of the clock myself (it’s my first time trying this style of drawing) + and i used canva for the rest. If you would like to see my process, you can check out my timelapse in Lapse. Hope you like it!
Hello there! I just made the first character for my game: Will You Rush. It’s a mole for the minigame of whack a mole. Hope you like!
Hello there! I’ve been working on my second sprite for the game “Will You Rush?” When drawing the sprite, I took inspiration from Nintendo’s Super Mario Bros Pipes. See my timelapse on Lapse. See you!
Hello there! I’ve just created my first minigame: Whack a Mole! Quite an experience considering I’m starting to learn how to use Godot, but look what I’ve got. I believe it isn’t that bad. I’m looking foward to make a thing that counts points and put somehow a timer. Hope you like it!
Hello there! I’m so happy to announce that I’ve finally finished the first mini-game of Will You Rush. I’ve created an instructions page and then manage to fix some issues of the first code. Hope you like it!
Hello there! I’m so happy to announce you that after some hours of work, Will you Rush is finally finished. So, the game is divided into 2 minigames, but two levels. First, a whack a mole (20 moles in 15 s), then a math quiz (5s per question) and finally, level 2 : whack a mole (20 moles in 10s). Each part has a introduction card to explain the game. Moreover, if you lose, there’s a personalized game over with a try again to start the whole game again. Finally, if you are fast enough to rush the whole game, you will find a personalized victory card. All process of sprites and cards can be seen in Lapse. Hope you like it!
Hello there! I’ve doing some corrections to the game, it appeared to have some bugs due to the font I was using in some parts. Anyways, go and check it out!!
Ships:
I created a game using Godot Engine, which I named “Will You Rush?”. Within it, you will find 2 mingames and a level 2 for one of them in order to finish the game. Games Once you start the game, you must win all games to win. Losing any of them because of time or a wrong answer will take you back to the title screen. Game 1: Whack A Mole (Catch 20 moles in 15 seconds). Game 2: Quiz (Answer math questions in less than 5 seconds). Game 3: Whack A Mole 2 (Catch 20 moles in 10 seconds). Features Personalised title screen, game over screen, victory screen Personalised sprites (e.g. moles) Timer Points...
|
1793149009.6459434
|
1793235409.6459434
|
|
68195
|
M5 Stack Ultimate Software by @Grant19 | Stardance
|
Grant19
|
0
|
12.77
|
0
|
[]
|
[{"post_id": 79190, "ts": "202 [{"post_id": 79190, "ts": "2026-10-12T23:32:37Z", "hours": 0.8928, "text": "I have a menu!"}, {"post_id": 78933, "ts": "2026-10-12T02:43:37Z", "hours": 0.3222, "text": "Made a random color and number counter with this code"}, {"post_id": 78924, "ts": "2026-10-12T02:02:09Z", "hours": 4.7778, "text": "still learning programing"}, {"post_id": 77532, "ts": "2026-10-07T10:59:30Z", "hours": 6.7797, "text": "Learning How to code with examples from AI, I also started my own code"}]...
|
Title: M5 Stack Ultimate Software by @Grant19 | St Title: M5 Stack Ultimate Software by @Grant19 | Stardance
Devlogs:
Learning How to code with examples from AI, I also started my own code
still learning programing
Made a random color and number counter with this code
I have a menu!...
|
1793119784.8261275
|
1793724584.8261275
|
|
49809
|
Pulse by @nithilan_murugesan64949 | Stardance
|
nithilan_murugesan64949
|
0
|
24.62
|
0
|
[]
|
[{"post_id": 79196, "ts": "202 [{"post_id": 79196, "ts": "2026-10-12T23:53:48Z", "hours": 3.97, "text": "After taking a deeper dive into all of the Portal I found out the main reason for rejection was asking for microphone permission. Where you aren’t allowed to ask in a certain way and needed to allow people to use the app without the feature. I was able to fix and resubmit that, as well as go through the rest of the app and test some sound classifications I newly added."}, {"post_id": 61853, "ts": "2026-09-04T23:46:52Z", "hours": 1.5819, "text": "The app got rejected from the app store, which means the testflight link I initially had doesn’t work. There wasn’t any specific feedback on why it was rejected, as I was only given a generic template message. Either way there were some features I thought of adding after submitting which I plan to add before submitting. I am working on a camera feature to help with sound detection, and am currently creating more sound classifications for better accuracy and lower misclassification. I’m also working on builds for Ipads, macs and even apple watches."}, {"post_id": 54820, "ts": "2026-08-25T23:33:47Z", "hours": 7.3258, "text": "Currently the app is bug free and available to use. There was a bunch of challenges where I had to go thorugh every single dropdown, menu and page in settings to see if everything was visible because of a problem in dark mdoe. Then I had to go in and check and test the logic for optimization and preferences in settings because they were so minimal changes in performance you couldn’t tell. There were bugs in the power modes to fix, then I found a problem in the logic of the sound map that made it biased to one side. I would appreciate if anyone has any feedback after trying the app: https://testflight.apple.com/join/gX2eUxBh"}, {"post_id": 48425, "ts": "2026-08-16T19:27:26Z", "hours": 0.5847, "text": "Fixed a problem in Dark Mode where text is not visible. This app is almost done, is mostly functional."}, {"post_id": 48336, "ts": "2026-08-16T17:26:16Z", "hours": 11.1569, "text": "The IOS App currently runs without errors. The app can properly give a decibal count and identify most noises. The transcription is still not as accurate, and sometimes doesn’t detect anything. Knocking and barking is the largest false alarm."}]...
|
Title: Pulse by @nithilan_murugesan64949 | Stardan Title: Pulse by @nithilan_murugesan64949 | Stardance
Devlogs:
The IOS App currently runs without errors. The app can properly give a decibal count and identify most noises. The transcription is still not as accurate, and sometimes doesn’t detect anything. Knocking and barking is the largest false alarm.
Fixed a problem in Dark Mode where text is not visible. This app is almost done, is mostly functional.
Currently the app is bug free and available to use. There was a bunch of challenges where I had to go thorugh every single dropdown, menu and page in settings to see if everything was visible because of a problem in dark mdoe. Then I had to go in and check and test the logic for optimization and preferences in settings because they were so minimal changes in performance you couldn’t tell. There were bugs in the power modes to fix, then I found a problem in the logic of the sound map that made it biased to one side. I would appreciate if anyone has any feedback after trying the app: https://testflight.apple.com/join/gX2eUxBh
The app got rejected from the app store, which means the testflight link I initially had doesn’t work. There wasn’t any specific feedback on why it was rejected, as I was only given a generic template message. Either way there were some features I thought of adding after submitting which I plan to add before submitting. I am working on a camera feature to help with sound detection, and am currently creating more sound classifications for better accuracy and lower misclassification. I’m also working on builds for Ipads, macs and even apple watches.
After taking a deeper dive into all of the Portal I found out the main reason for rejection was asking for microphone permission. Where you aren’t allowed to ask in a certain way and needed to allow people to use the app without the feature. I was able to fix and resubmit that, as well as go through the rest of the app and test some sound classifications I newly added....
|
1792605298.0308168
|
1793210098.0308168
|
|
69052
|
Ballistic Launch Calculator by @CSmith | Stardance
|
CSmith
|
0
|
2.54
|
0
|
[]
|
[{"post_id": 79197, "ts": "202 [{"post_id": 79197, "ts": "2026-10-13T00:04:56Z", "hours": 2.5422, "text": "Created a proof of concept This is very ugly, and just to prove that my algorithm will work in Javascript. This will also provide a “backbone” that will be torn down and rebuilt. It i just some prompt boxes and two ugly lines of formulas, but here is the code: function degrees(radians) { return radians * (180 / Math.PI); } var v = Number(prompt(\"Enter initial velocity (m/s):\")); var d = Number(prompt(\"Enter distance (m):\")); var h = Number(prompt(\"Enter height (m):\")); var g = Number(prompt(\"Enter absolute acceleration due to gravity (m/s^2):\")); var thetaHR = Math.atan((d*v**2+v**2*Math.sqrt(d**2-4*((g*d**2)/(2*v**2))*((g*d**2)/(2*v**2)+h)))/(g*d**2)); var thetaLR = Math.atan((d*v**2-v**2*Math.sqrt(d**2-4*((g*d**2)/(2*v**2))*((g*d**2)/(2*v**2)+h)))/(g*d**2)); var thetaH = degrees(thetaHR); var thetaL = degrees(thetaLR); alert(\"High angle: \" + thetaH + \" degrees\\nLow angle: \" + thetaL + \" degrees\");"}]...
|
Title: Ballistic Launch Calculator by @CSmith | St Title: Ballistic Launch Calculator by @CSmith | Stardance
Devlogs:
Created a proof of concept This is very ugly, and just to prove that my algorithm will work in Javascript. This will also provide a “backbone” that will be torn down and rebuilt. It i just some prompt boxes and two ugly lines of formulas, but here is the code: function degrees(radians) { return radians * (180 / Math.PI); } var v = Number(prompt("Enter initial velocity (m/s):")); var d = Number(prompt("Enter distance (m):")); var h = Number(prompt("Enter height (m):")); var g = Number(prompt("Enter absolute acceleration due to gravity (m/s^2):")); var thetaHR = Math.atan((d*v**2+v**2*Math.sqrt(d**2-4*((g*d**2)/(2*v**2))*((g*d**2)/(2*v**2)+h)))/(g*d**2)); var thetaLR = Math.atan((d*v**2-v**2*Math.sqrt(d**2-4*((g*d**2)/(2*v**2))*((g*d**2)/(2*v**2)+h)))/(g*d**2)); var thetaH = degrees(thetaHR); var thetaL = degrees(thetaLR); alert("High angle: " + thetaH + " degrees\nLow angle: " + thetaL + " degrees");...
|
1793130481.2551348
|
1793735281.2551348
|
|
69185
|
Stock Bot by @PearIsHere | Stardance
|
PearIsHere
|
0
|
1.3
|
0
|
[]
|
[{"post_id": 79205, "ts": "202 [{"post_id": 79205, "ts": "2026-10-13T01:07:15Z", "hours": 0.2517, "text": "Made sure the bot was linked to the client."}, {"post_id": 79202, "ts": "2026-10-13T00:46:36Z", "hours": 1.0475, "text": "Hello, right now i am working on a stock bot to buy and sell stocks for me(Paper trading for now) I added the part where it looks on when to sell and buy on past history. For mine it would sell when its 10-15% above the avg bought rate. Also this is with trusted stocks which will most likely go up like NVIDIA or MICRON. So with these “trusted” brands it will buy when its low and because it is “trusted” it will probably go up which will make the bot sell."}]...
|
Title: Stock Bot by @PearIsHere | Stardance
Devlo Title: Stock Bot by @PearIsHere | Stardance
Devlogs:
Hello, right now i am working on a stock bot to buy and sell stocks for me(Paper trading for now) I added the part where it looks on when to sell and buy on past history. For mine it would sell when its 10-15% above the avg bought rate. Also this is with trusted stocks which will most likely go up like NVIDIA or MICRON. So with these “trusted” brands it will buy when its low and because it is “trusted” it will probably go up which will make the bot sell.
Made sure the bot was linked to the client....
|
1793130701.187916
|
1793735501.187916
|
|
48068
|
My own site! by @bihanghimire | Stardance
|
bihanghimire
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T03:03:49Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a SPEEDCUBING website . I have been into cubing since a bit myself but can’t find website which contain algorithms in text aswell as animation form with a cubing timer. I tried to reach to the speedcubers with this project . Since I am pretty new to JavaScript I used library known as cubing js which eased my work by a lot . This project was done quickly as I wrote the plan and what to do before starting the project so it won’t be a hassle later on.", "repo": "https://github.com/bihanghimire/CUBING-WEBSITE-", "demo": "https://bihanghimire.github.io/CUBING-WEBSITE-/"}]...
|
[{"post_id": 79207, "ts": "202 [{"post_id": 79207, "ts": "2026-10-13T01:20:57Z", "hours": 10.3661, "text": "This is my cubing website that I have created for speedcubers that use cfop method.Only not that but it does give an introduction about cubing in general. It provides you with 41 case for f2l 51 for pll and 21 for oll . Each and every algorithm uses a visual representation for people who don’t wanna follow the readable algorithm or dont understand it"}]...
|
Title: My own site! by @bihanghimire | Stardance
Title: My own site! by @bihanghimire | Stardance
Devlogs:
This is my cubing website that I have created for speedcubers that use cfop method.Only not that but it does give an introduction about cubing in general. It provides you with 41 case for f2l 51 for pll and 21 for oll . Each and every algorithm uses a visual representation for people who don’t wanna follow the readable algorithm or dont understand it
Ships:
I made a SPEEDCUBING website . I have been into cubing since a bit myself but can’t find website which contain algorithms in text aswell as animation form with a cubing timer. I tried to reach to the speedcubers with this project . Since I am pretty new to JavaScript I used library known as cubing js which eased my work by a lot . This project was done quickly as I wrote the plan and what to do before starting the project so it won’t be a hassle later on....
|
1793155984.0862393
|
1793242384.0862393
|
|
50042
|
Cut-Pad by @HarmanD | Stardance
|
HarmanD
|
0
|
4.37
|
0
|
[]
|
[{"post_id": 79213, "ts": "202 [{"post_id": 79213, "ts": "2026-10-13T01:49:44Z", "hours": 4.3672, "text": "PCB and a little CAD"}]...
|
Title: Cut-Pad by @HarmanD | Stardance
Devlogs:
P Title: Cut-Pad by @HarmanD | Stardance
Devlogs:
PCB and a little CAD...
|
1792615768.7559981
|
1793220568.7559981
|
|
69432
|
chip8 emulator by @cosmic79conqueror | Stardance
|
cosmic79conqueror
|
0
|
4.55
|
0
|
[]
|
[{"post_id": 79214, "ts": "202 [{"post_id": 79214, "ts": "2026-10-13T01:56:08Z", "hours": 4.5456, "text": "creating a chip8 emulator I first started researching on emulation itself as a topic then went onto discover the chip8 as the first starting point. i then read the chip8 documentation and was fascinated by it. this somehow seemed like i could really understand how computers work with this even if it was like computers of the 1970s i also got to see old python usage: ‘’’ def load_rom(self, rom_path): log(“Loading %s…” % rom_path) binary = open(rom_path, “rb”).read() i = 0 while i < len(binary): self.memory[i+0x200] = ord(binary[i]) i += 1 ‘’’"}]...
|
Title: chip8 emulator by @cosmic79conqueror | Star Title: chip8 emulator by @cosmic79conqueror | Stardance
Devlogs:
creating a chip8 emulator I first started researching on emulation itself as a topic then went onto discover the chip8 as the first starting point. i then read the chip8 documentation and was fascinated by it. this somehow seemed like i could really understand how computers work with this even if it was like computers of the 1970s i also got to see old python usage: ‘’’ def load_rom(self, rom_path): log(“Loading %s…” % rom_path) binary = open(rom_path, “rb”).read() i = 0 while i < len(binary): self.memory[i+0x200] = ord(binary[i]) i += 1 ‘’’...
|
1792831813.675789
|
1793695813.675789
|
|
43240
|
Robotic Arm by @aabdullahjaami71 | Stardance
|
aabdullahjaami71
|
0
|
16.27
|
0
|
[]
|
[{"post_id": 79217, "ts": "202 [{"post_id": 79217, "ts": "2026-10-13T02:07:38Z", "hours": 2.5058, "text": "ARM #06 After a broken 3d printer, fried arduino, and many more hurdles I finally got something that I can test with. This is a control panel I made with python tkinter (I had Claude guide me on how to make the GUI), and it communicates via serial to send over servo angles. It reads whenever you are connected to the esp32 and then enables the Drive Servos button and the Play Recording Button. Once they’re enabled, you can slide the sliders to whatever angle you want and then press “Drive Servos” to move them IRL. Im currently working on the recording and playing robotic arm movements part, so the record, save,load,clear buttons are currently non-functional (will work in future). Also, there is a IK library you can open which will in the future have a range of IK questions you can solve related to the robotic arm. Thats also non-functional but I’ll be working in on it the following devlogs. Mechanically, The robot arm keeps tipping over so I’ll have to redesign the case. So thats all lol. Next steps: Fix Tipping over Problem Make the recording and playing functional Learn Inverse Kinematics"}, {"post_id": 77220, "ts": "2026-10-06T04:29:54Z", "hours": 2.0472, "text": "Assembled! (kinda) Its been a very very very very long time since I’ve mad e a devlog since I took a break from this project, but heres what happened since. I decided to add another DOF to the project for the wrist rotation. Also I 3d printed and assembled the joints. The servo driver I was using actually had flathead screw terminals. Guess what, I didn’t have a flathead. So I soldered wires to the terminals instead, and hooked them up a drill battery. In doing so, I fried the bootloader on my Arduino and as a result had to switch to ESP32. On the software side, I have the ESP32 communicating with a python app via serial. The python app takes user input of the servo angles and the ESP32 executes them. Next steps are to get the remaining joints on and create a GUI. This week Im planning on implementing some form of inverse kinematics to the roboarm."}, {"post_id": 61264, "ts": "2026-09-04T03:41:11Z", "hours": 2.1222, "text": "My 3d printer broke :( Okay so Im basically done with the designing part and now I’m actually doing the hardware, problem is my 3d printer decided to stop working or something. During a print, it just stopped extruding filament. I took apart the nozzle assembly and got the jammed filament out of the nozzle and put it back on print. Turns out the nozzle wasn’t secured enough and scratched the print bed + attacked me by ejecting a 3d print straight off the bed and into my face. I’ll try to troubleshoot this asap, but for now I’m going to do the software of my robotic arm. I’m planning on making a python app where u can use sliders to move the robots joints, and also an inverse kinematics part where the app gives you a cartesian coordinate and you have to solve and input the correct servo positions to move it to that coordinate."}, {"post_id": 47301, "ts": "2026-08-15T05:23:16Z", "hours": 4.225, "text": "ARM #3 Redesigned the waist of the arm, started working on the gripper. This took way too long and I think its mostly because of me not knowing how to use onshape correctly (hey you learn along the way tho). Im going to work to get the gripper fully assembled and ready so I can put it on my arm as the end effector. After that, I can assemble it in CAD and start working on getting my parts ready IRL. I think designing it was easy, it was just very tedious. Software will definetaly be the hardest part of this project. Im aiming to make an App where you can control each servo’s motion using sliders. Additionally, you can give it a coordinate in a 3D plane and it’ll point to that exact spot. I plan to use processing to make that app."}, {"post_id": 45007, "ts": "2026-08-11T04:31:09Z", "hours": 3.4431, "text": "ARM #2 Ok i have most of the joints designed but I’m lowkey worried about the bottom one since its kinda cantilevered but Imma redesign it if it causes a problem in the future. I have the servos all mounted to each joint and the next step is to create the gripper, which I will be doing next devlog. Its coming together all good but the real question is if it can hold up in real life."}, {"post_id": 44406, "ts": "2026-08-10T03:59:18Z", "hours": 1.9294, "text": "ARM #01 Im making my first robotic arm and Im going to design all by myself. However I’m going to draw some inspo from other robotic arm designs too so it’s not entirely going to be off the dome. Currently I’ve been trying to figure out how to get my servo to fit in the base. I didn’t know it was this large (or maybe the cad model i downloaded had the wrong dimensions) I also made a custom servo horn thats basically a circular disk that can be screwed to the output shaft of the servo and then the outer M3 screws can be bolted into the base. I have no idea how Im going to be fastening each part of the arm into each other. Im pretty sure project will be needing a lot of redesigning. but trial and error is good so its whatever"}]...
|
Title: Robotic Arm by @aabdullahjaami71 | Stardanc Title: Robotic Arm by @aabdullahjaami71 | Stardance
Devlogs:
ARM #01 Im making my first robotic arm and Im going to design all by myself. However I’m going to draw some inspo from other robotic arm designs too so it’s not entirely going to be off the dome. Currently I’ve been trying to figure out how to get my servo to fit in the base. I didn’t know it was this large (or maybe the cad model i downloaded had the wrong dimensions) I also made a custom servo horn thats basically a circular disk that can be screwed to the output shaft of the servo and then the outer M3 screws can be bolted into the base. I have no idea how Im going to be fastening each part of the arm into each other. Im pretty sure project will be needing a lot of redesigning. but trial and error is good so its whatever
ARM #2 Ok i have most of the joints designed but I’m lowkey worried about the bottom one since its kinda cantilevered but Imma redesign it if it causes a problem in the future. I have the servos all mounted to each joint and the next step is to create the gripper, which I will be doing next devlog. Its coming together all good but the real question is if it can hold up in real life.
ARM #3 Redesigned the waist of the arm, started working on the gripper. This took way too long and I think its mostly because of me not knowing how to use onshape correctly (hey you learn along the way tho). Im going to work to get the gripper fully assembled and ready so I can put it on my arm as the end effector. After that, I can assemble it in CAD and start working on getting my parts ready IRL. I think designing it was easy, it was just very tedious. Software will definetaly be the hardest part of this project. Im aiming to make an App where you can control each servo’s motion using sliders. Additionally, you can give it a coordinate in a 3D plane and it’ll point to that exact spot. I plan to use processing to make that app.
My 3d printer broke :( Okay so Im basically done with the designing part and now I’m actually doing the hardware, problem is my 3d printer decided to stop working or something. During a print, it just stopped extruding filament. I took apart the nozzle assembly and got the jammed filament out of the nozzle and put it back on print. Turns out the nozzle wasn’t secured enough and scratched the print bed + attacked me by ejecting a 3d print straight off the bed and into my face. I’ll try to troubleshoot this asap, but for now I’m going to do the software of my robotic arm. I’m planning on making a python app where u can use sliders to move the robots joints, and also an inverse kinematics part where the app gives you a cartesian coordinate and you have to solve and input the correct servo positions to move it to that coordinate.
Assembled! (kinda) Its been a very very very very long time since I’ve mad e a devlog since I took a break from this project, but heres what happened since. I decided to add another DOF to the project for the wrist rotation. Also I 3d printed and assembled the joints. The servo driver I was using actually had flathead screw terminals. Guess what, I didn’t have a flathead. So I soldered wires to the terminals instead, and hooked them up a drill battery. In doing so, I fried the bootloader on my Arduino and as a result had to switch to ESP32. On the software side, I have the ESP32 communicating with a python app via serial. The python app takes user input of the servo angles and the ESP32 executes them. Next steps are to get the remaining joints on and create a GUI. This week Im planning on implementing some form of inverse kinematics to the roboarm.
ARM #06 After a broken 3d printer, fried arduino, and many more hurdles I finally got something that I can test with. This is a control panel I made with python tkinter (I had Claude guide me on how to make the GUI), and it communicates via serial to send over servo angles. It reads whenever you are connected to the esp32 and then enables the Drive Servos button and the Play Recording Button. Once they’re enabled, you can slide the sliders to whatever angle you want and then press “Drive Servos” to move them IRL. Im currently working on the recording and playing robotic arm movements part, so the record, save,load,clear buttons are currently non-functional (will work in future). Also, there is a IK library you can open which will in the future have a range of IK questions you can solve related to the robotic arm. Thats also non-functional but I’ll be working in on it the following devlogs. Mechanically, The robot arm keeps tipping over so I’ll have to redesign the case. So thats all lol. Next steps: Fix Tipping over Problem Make the recording and playing functional Learn Inverse Kinematics...
|
1792540183.1756465
|
1793144983.1756465
|
|
69223
|
chiikawa game by @pigeon_ | Stardance
|
pigeon_
|
1
|
9.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T02:35:50Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a color matching battle game. A color shows for a few seconds, you memorize it, then you recreate it with hue, saturation and brightness sliders. The closer you get, the more damage you do to the enemy, and the enemy hits back for a random amount. It started as a plain color guessing game and turned into a fight with health bars, a guess timer, attack animations and a draggable color panel. The hardest part was the layout and the CSS. At one point half of my styles just weren’t saved, so EVERYTHING looked broken and I couldn’t figure out why. I’m proud that it went from a basic color guesser to a real game with its own design, and that I came up with the battle idea myself and built it from my own sketch. The squiggle health bars and the animated background are my fav parts To test it: open the demo link and press Start. Memorize the color, then match it with the sliders and press Attack. Try losing on purpose, try running out the 10 second timer, and drag the colors window around. It works best on a computer. It’s a fan project inspired by Chiikawa, not official.", "repo": "https://github.com/jiujiu-dot/aaa", "demo": "https://jiujiu-dot.github.io/aaa/"}]...
|
[{"post_id": 79219, "ts": "202 [{"post_id": 79219, "ts": "2026-10-13T02:33:07Z", "hours": 0.8497, "text": "devlog 5th finished!!"}, {"post_id": 79210, "ts": "2026-10-13T01:33:53Z", "hours": 0.5142, "text": "devlog 4th…. finishing touches"}, {"post_id": 79201, "ts": "2026-10-13T00:45:43Z", "hours": 0.4275, "text": "devlog 3th! made a animation"}, {"post_id": 79199, "ts": "2026-10-13T00:16:41Z", "hours": 2.555, "text": "devlog 2 but im too lazy to type all that sooo heres what i did yeahahha YAY I ADDED USAGI"}, {"post_id": 79167, "ts": "2026-10-12T21:10:33Z", "hours": 5.0342, "text": "DEVLOG 1 soo i started with a plain color guessing game (the kind where you memorize a color then try to match it with hue, saturation and brightness sliders) and today it turned into a whole battle game with chiikawa ofc um yea heres what i did today: Turned the color game into a fight player and the enemy both have a bar with 10 slots. the better your color guess the more damage you do (90+ = 5 damage, 80+ = 4, and sooo on down to a miss). then the enemy hits back for a random 1-4, so it’s a LITTLE easier to win. hp bars in the top corners, player and enemy in the middle, and the color controls in a little panel at the bottom left. i drew a really UGLY sketch and then built it"}]...
|
Title: chiikawa game by @pigeon_ | Stardance
Devl Title: chiikawa game by @pigeon_ | Stardance
Devlogs:
DEVLOG 1 soo i started with a plain color guessing game (the kind where you memorize a color then try to match it with hue, saturation and brightness sliders) and today it turned into a whole battle game with chiikawa ofc um yea heres what i did today: Turned the color game into a fight player and the enemy both have a bar with 10 slots. the better your color guess the more damage you do (90+ = 5 damage, 80+ = 4, and sooo on down to a miss). then the enemy hits back for a random 1-4, so it’s a LITTLE easier to win. hp bars in the top corners, player and enemy in the middle, and the color controls in a little panel at the bottom left. i drew a really UGLY sketch and then built it
devlog 2 but im too lazy to type all that sooo heres what i did yeahahha YAY I ADDED USAGI
devlog 3th! made a animation
devlog 4th…. finishing touches
devlog 5th finished!!
Ships:
I made a color matching battle game. A color shows for a few seconds, you memorize it, then you recreate it with hue, saturation and brightness sliders. The closer you get, the more damage you do to the enemy, and the enemy hits back for a random amount. It started as a plain color guessing game and turned into a fight with health bars, a guess timer, attack animations and a draggable color panel. The hardest part was the layout and the CSS. At one point half of my styles just weren’t saved, so EVERYTHING looked broken and I couldn’t figure out why. I’m proud that it went from a basic color guesser to a real game with its own design, and that I came up with the battle idea myself and built it from my own sketch. The squiggle health bars and the animated background are my fav parts To test it: open the demo link and press Start. Memorize the color, then match it with the sliders and press Attack. Try losing on purpose, try running out the 10 second timer, and drag the colors window around. It works best on a computer. It’s a fan project inspired by Chiikawa, not official....
|
1793155909.487513
|
1793242309.487513
|
|
17827
|
My first slack bot Zbot by @NITHIN | Stardance
|
NITHIN
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-16T05:19:53Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "zBot is a Slack productivity bot with 7 custom commands like reminders, standups, quotes, dice rolls, and an 8-ball. I like that it goes beyond simple replies by supporting delayed reminders and saved standups. The focus on productivity and 24/7 uptime makes it practical and useful.", "repo": "https://github.com/Nithinfgs/Zbot", "demo": "https://www.loom.com/share/bc69f69d82f44b3d81959a91acd72723"}]...
|
[{"post_id": 7922, "ts": "2026 [{"post_id": 7922, "ts": "2026-06-13T06:26:09Z", "hours": 0.0, "text": "project done"}, {"post_id": 7907, "ts": "2026-06-13T05:59:42Z", "hours": 0.0, "text": "finished json file"}, {"post_id": 7884, "ts": "2026-06-13T04:53:18Z", "hours": 0.0, "text": "I started building my Slack bot with Bolt, setting up authentication through environment variables and adding quote and Magic 8-Ball response collections. Next, I’ll connect commands and events to make the bot interactive."}]...
|
Title: My first slack bot Zbot by @NITHIN | Starda Title: My first slack bot Zbot by @NITHIN | Stardance
Devlogs:
I started building my Slack bot with Bolt, setting up authentication through environment variables and adding quote and Magic 8-Ball response collections. Next, I’ll connect commands and events to make the bot interactive.
finished json file
project done
Ships:
zBot is a Slack productivity bot with 7 custom commands like reminders, standups, quotes, dice rolls, and an 8-ball. I like that it goes beyond simple replies by supporting delayed reminders and saved standups. The focus on productivity and 24/7 uptime makes it practical and useful....
|
1792882137.6089406
|
1793746137.6089406
|
|
14660
|
Breakout clone by @proudfridge | Stardance
|
proudfridge
|
0
|
33.26
|
0
|
[]
|
[{"post_id": 79222, "ts": "202 [{"post_id": 79222, "ts": "2026-10-13T02:44:04Z", "hours": 9.5908, "text": "Devlog 4: Adding a Main Menu Hello again! In this devlog, I’ll cover the creation of the main menu, and more specifically, how i made the game title. Menu Buttons First off, we have to add a few buttons that the user can press to start and quit the game . Godot makes this easy with the Button node. All we have to do is add a few of these nodes inside a VBoxContainer and optionally, create a theme for them. For this project, I decided to create a very simple theme that uses the BetterVCR font and highlights the button if it’s hovered/focused. The last thing that I did was make the buttons “recoil” when they’re pressed. This can be done by scaling the button down when it’s pressed and adding a tween to scale it back up when it’s released: var tween : Tween button . button_down . connect ( func () -> void : # Scale the button down button . offset_transform_scale = Vector2 ( 0.95 , 0.95 ) ) button . button_up . connect ( func () -> void : tween = get_tree (). create_tween () # Tween the button's scale to its original value tween . tween_property ( button , \" offset_transform_scale \" , Vector2 ( 1 , 1 ), 1 ) The Game Title Instead of using a simple label for the game title in the main menu, I decided to create a construct one from multiple ColorRect nodes. I was inspired by this image i found online. To implement this, we first have to describe the shape of each letter. I decided to do this with nested arrays like so, where 0 represents an empty cell and 1 represents the opposite. # Example for the letter B const B : Array [ Array ] = [ [ 1 , 1 , 0 ], [ 1 , 0 , 1 ], [ 1 , 1 , 0 ], [ 1 , 0 , 1 ], [ 1 , 1 , 0 ] ] We can then store each letter in another array. The cells in the reference picture change colors each row, so we also have to define those colors in another array: const letters : Array = [ B , R , E , A , K , O , U , T ] const colors : Array [ Color ] = [ Color . ORANGE , Color . BLUE , Color . GREEN , Color . YELLOW , Color . RED ] Finally, we just have to iterate through the letters array and instantiate a ColorRect when letter[row] [col] == 1 : for i : int in range ( 0 , letters . size ()): var letter : Array [ Array ] = letters [ i ] for row : int in range ( 0 , letter . size ()): for col : int in range ( 0 , letter [ row ]. size ()): if letter [ row ][ col ] == 1 : # Instantiate the colorRect and modify its position based on the selected cell size and the distance between each letter The end result can be seen in the uploaded picture Other New Features: Here’s all the other noteworthy features I’ve added since the last devlog: Added a proper way of switching levels when the player has destroyed all the blocksAdded a hit effect to the blocks when they’re hit by the ball Until next Time!"}, {"post_id": 69968, "ts": "2026-09-18T04:25:26Z", "hours": 10.0681, "text": "Devlog #3: Transitions! Hi again! The game finally has a transition system to make scene-switching look nicer. This was done by creating a shader that’s applied to a ColorRect node. The first shader i made took in a progress variable ranging from 0 to 1, which tells it how far along the transition it’s supposed to be. For a very simple slide transition, we only have to make the ColorRect black if the pixel’s UV’s x component is smaller than progress : void fragment () { if ( UV . x < progress ) { COLOR = vec4 ( 0 , 0 , 0 , 1 ); } } However, since I didn’t want to create a separate shader to end the Transition, I decided to include two progress variables: startProgress and endProgress , which can then be used to apply the shader to a section of the ColorRect like so: void fragment () { if ( UV . x < startProgress && UV . x > endProgress ) { COLOR = vec4 ( 0 , 0 , 0 , 1 ); } else { COLOR = vec4 ( 0 , 0 , 0 , 0 ); } } The timing of the transition itself is handled using Godot’s tweens in a singleton. The result can be seen in the attached file. Other new features The game now has a very simple main menu The player has the ability to restart the game when the they lose. Until next time!"}, {"post_id": 10646, "ts": "2026-06-17T14:41:11Z", "hours": 8.7189, "text": "Devlog #2 Hello again! Its’s almost been a week since my last devlog, and I’ve added a few new things since then Custom Levels I now have the ability to declare custom levels, which I hope will make prototyping levels later on much easier. After launch, the game reads a levels.json file which contains the block layout in this format: { \"1\" : { \"title\" : \"level 1\" , \"blockGrid\" : [ [ \"1\" , \"1\" , \"1\" ] [ \"1\" , \"1\" , \"1\" ] [ \"1\" , \"1\" , \"1\" ] ] } } This example would produce a 3 × 3 grid of blocks. The game just iterates through the arrays in the blockGrid array and instantiates a block when the value is 1 and does nothing when the value is 0 . This is definitely not the best way of defining custom levels, since it’s kind of hard to visualize and can be a pain to modify, so I’ll definitely have to revisit this later Also, I can’t define more than one level at the moment 🥲 Other New Features Made the player able to dash by pressing shift while moving Added lives to the player Added a header that shows the remaining amount of blocks, the current score and the remaining lives Added a trail to the ball Like before, here’s a short video showcasing the game. I promise I’ll have a demo ready the next devlog."}, {"post_id": 7215, "ts": "2026-06-12T01:22:56Z", "hours": 4.8842, "text": "Devlog #1 Welcome to my first devlog! This is Breakout Clone, a project where I try and make a clone of breakout in Godot so that I can practice game development and familiarize myself with the engine New Features For now, all I’ve made is a simple prototype with a movable paddle and a tool to instantiate a bunch of blocks In addition, I gave the player the ability to tilt the paddle, which I feel can be a fun way to control the ball The blocks turn redder as they take more damage That’s pretty much it for now! I know this is pretty short post so I’ll try to write more in-depth ones in the future. I’ve included a short video showcasing everything that I’ve mentioned as well as things that I forgot to talk about."}]...
|
Title: Breakout clone by @proudfridge | Stardance
Title: Breakout clone by @proudfridge | Stardance
Devlogs:
Devlog #1 Welcome to my first devlog! This is Breakout Clone, a project where I try and make a clone of breakout in Godot so that I can practice game development and familiarize myself with the engine New Features For now, all I’ve made is a simple prototype with a movable paddle and a tool to instantiate a bunch of blocks In addition, I gave the player the ability to tilt the paddle, which I feel can be a fun way to control the ball The blocks turn redder as they take more damage That’s pretty much it for now! I know this is pretty short post so I’ll try to write more in-depth ones in the future. I’ve included a short video showcasing everything that I’ve mentioned as well as things that I forgot to talk about.
Devlog #2 Hello again! Its’s almost been a week since my last devlog, and I’ve added a few new things since then Custom Levels I now have the ability to declare custom levels, which I hope will make prototyping levels later on much easier. After launch, the game reads a levels.json file which contains the block layout in this format: { "1" : { "title" : "level 1" , "blockGrid" : [ [ "1" , "1" , "1" ] [ "1" , "1" , "1" ] [ "1" , "1" , "1" ] ] } } This example would produce a 3 × 3 grid of blocks. The game just iterates through the arrays in the blockGrid array and instantiates a block when the value is 1 and does nothing when the value is 0 . This is definitely not the best way of defining custom levels, since it’s kind of hard to visualize and can be a pain to modify, so I’ll definitely have to revisit this later Also, I can’t define more than one level at the moment 🥲 Other New Features Made the player able to dash by pressing shift while moving Added lives to the player Added a header that shows the remaining amount of blocks, the current score and the remaining lives Added a trail to the ball Like before, here’s a short video showcasing the game. I promise I’ll have a demo ready the next devlog.
Devlog #3: Transitions! Hi again! The game finally has a transition system to make scene-switching look nicer. This was done by creating a shader that’s applied to a ColorRect node. The first shader i made took in a progress variable ranging from 0 to 1, which tells it how far along the transition it’s supposed to be. For a very simple slide transition, we only have to make the ColorRect black if the pixel’s UV’s x component is smaller than progress : void fragment () { if ( UV . x < progress ) { COLOR = vec4 ( 0 , 0 , 0 , 1 ); } } However, since I didn’t want to create a separate shader to end the Transition, I decided to include two progress variables: startProgress and endProgress , which can then be used to apply the shader to a section of the ColorRect like so: void fragment () { if ( UV . x < startProgress && UV . x > endProgress ) { COLOR = vec4 ( 0 , 0 , 0 , 1 ); } else { COLOR = vec4 ( 0 , 0 , 0 , 0 ); } } The timing of the transition itself is handled using Godot’s tweens in a singleton. The result can be seen in the attached file. Other new features The game now has a very simple main menu The player has the ability to restart the game when the they lose. Until next time!
Devlog 4: Adding a Main Menu Hello again! In this devlog, I’ll cover the creation of the main menu, and more specifically, how i made the game title. Menu Buttons First off, we have to add a few buttons that the user can press to start and quit the game . Godot makes this easy with the Button node. All we have to do is add a few of these nodes inside a VBoxContainer and optionally, create a theme for them. For this project, I decided to create a very simple theme that uses the BetterVCR font and highlights the button if it’s hovered/focused. The last thing that I did was make the buttons “recoil” when they’re pressed. This can be done by scaling the button down when it’s pressed and adding a tween to scale it back up when it’s released: var tween : Tween button . button_down . connect ( func () -> void : # Scale the button down button . offset_transform_scale = Vector2 ( 0.95 , 0.95 ) ) button . button_up . connect ( func () -> void : tween = get_tree (). create_tween () # Tween the button's scale to its original value tween . tween_property ( button , " offset_transform_scale " , Vector2 ( 1 , 1 ), 1 ) The Game Title Instead of using a simple label for the game title in the main menu, I decided to create a construct one from multiple ColorRect nodes. I was inspired by this image i found online. To implement this, we first have to describe the shape of each letter. I decided to do this with nested arrays like so, where 0 represents an empty cell and 1 represents the opposite. # Example for the letter B const B : Array [ Array ] = [ [ 1 , 1 , 0 ], [ 1 , 0 , 1 ], [ 1 , 1 , 0 ], [ 1 , 0 , 1 ], [ 1 , 1 , 0 ] ] We can then store each letter in another array. The cells in the reference picture change colors each row, so we also have to define those colors in another array: const letters : Array = [ B , R , E , A , K , O , U , T ] const colors : Array [ Color ] = [ Color . ORANGE , Color . BLUE , Color . GREEN , Color . YELLOW , Color . RED ] Finally, we just have to iterate through the letters array and instantiate a ColorRect when letter[row] [col] == 1 : for i : int in range ( 0 , letters . size ()): var letter : Array [ Array ] = letters [ i ] for row : int in range ( 0 , letter . size ()): for col : int in range ( 0 , letter [ row ]. size ()): if letter [ row ][ col ] == 1 : # Instantiate the colorRect and modify its position based on the selected cell size and the distance between each letter The end result can be seen in the uploaded picture Other New Features: Here’s all the other noteworthy features I’ve added since the last devlog: Added a proper way of switching levels when the player has destroyed all the blocksAdded a hit effect to the blocks when they’re hit by the ball Until next Time!...
|
1792533110.037463
|
1793137910.037463
|
|
69435
|
To do List by @Yare | Stardance
|
Yare
|
0
|
0.85
|
0
|
[]
|
[{"post_id": 79224, "ts": "202 [{"post_id": 79224, "ts": "2026-10-13T02:57:50Z", "hours": 0.8472, "text": "Today I decided to make my first to do list to enhance my own productivity. I am again using HTML, CSS, and JavaScript for this under the VS Code platform and made the buttons, basic background colors( since I can’t concentrate with it being black and white apparently), and put the intro sentences under div’s to allow it to be enhanced later on under JavaScript. Tomorrow I am going to fix the button dimensions (FORGIVE ME) and start working on the display box that will show the tasks the user will put."}]...
|
Title: To do List by @Yare | Stardance
Devlogs:
T Title: To do List by @Yare | Stardance
Devlogs:
Today I decided to make my first to do list to enhance my own productivity. I am again using HTML, CSS, and JavaScript for this under the VS Code platform and made the buttons, basic background colors( since I can’t concentrate with it being black and white apparently), and put the intro sentences under div’s to allow it to be enhanced later on under JavaScript. Tomorrow I am going to fix the button dimensions (FORGIVE ME) and start working on the display box that will show the tasks the user will put....
|
1792835411.2390358
|
1793440211.2390358
|
|
69448
|
SIFT by @syedakhter | Stardance
|
syedakhter
|
1
|
2.0
|
1
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T18:44:58Z", "hours": 2.0, "multiplier": 1.02, "payout": 1, "blessing": "neutral", "text": "i made this website that talks about the sift dimension.", "repo": "https://github.com/8051987-eng/SIFT", "demo": "https://8051987-eng.github.io/SIFT/"}]...
|
[{"post_id": 79230, "ts": "202 [{"post_id": 79230, "ts": "2026-10-13T03:59:24Z", "hours": 1.9994, "text": "A website about the sift dimension"}]...
|
Title: SIFT by @syedakhter | Stardance
Devlogs:
A Title: SIFT by @syedakhter | Stardance
Devlogs:
A website about the sift dimension
Ships:
i made this website that talks about the sift dimension....
|
1793116521.5759156
|
1793202921.5759156
|
|
67166
|
Ion by @sidd | Stardance
|
sidd
|
0
|
12.12
|
0
|
[]
|
[{"post_id": 79233, "ts": "202 [{"post_id": 79233, "ts": "2026-10-13T04:33:20Z", "hours": 1.4667, "text": "another pcb and some cad"}, {"post_id": 78907, "ts": "2026-10-12T00:20:06Z", "hours": 4.0833, "text": "made el pcb"}, {"post_id": 78661, "ts": "2026-10-11T06:23:01Z", "hours": 6.5747, "text": "schematic is finished & footprints"}]...
|
Title: Ion by @sidd | Stardance
Devlogs:
schemati Title: Ion by @sidd | Stardance
Devlogs:
schematic is finished & footprints
made el pcb
another pcb and some cad...
|
1793108849.5320497
|
1793713649.5320497
|
|
65315
|
snoopyboard by @dln | Stardance
|
dln
|
0
|
11.44
|
0
|
[]
|
[{"post_id": 79237, "ts": "202 [{"post_id": 79237, "ts": "2026-10-13T05:02:14Z", "hours": 1.4903, "text": "Polish Polish Polish! still have a bit more to do but I got the firmware into a finished state and created the Github page, overall polishing the project to get it ready to ship in the near future"}, {"post_id": 77539, "ts": "2026-10-07T11:46:31Z", "hours": 2.1364, "text": "cleaned up the CAD file and added snoopy! (woodstock too) started the firmware side of things but still have a bit to go on that side"}, {"post_id": 77495, "ts": "2026-10-07T07:29:43Z", "hours": 3.15, "text": "worked on the case a bit more and changed a few things in the design. having fun!"}, {"post_id": 77446, "ts": "2026-10-07T01:10:40Z", "hours": 1.3647, "text": "revised the layout of the pcb so the cable would come out the back of the pad and the OLED screen would be vertical along the left side. started to work these changes into the case design"}, {"post_id": 76945, "ts": "2026-10-05T04:53:05Z", "hours": 1.735, "text": "Finished PCB, and worked on designing the case after taking a week off working on this project for other more important projects! (whoops)"}, {"post_id": 73058, "ts": "2026-09-24T09:21:16Z", "hours": 1.5617, "text": "Hackpad!!!! I designed what I wanted a Hackpad to look like and thought about how I could design around the ways that I could use one. I like designing with ideas first, then considering the rules of the size of the whole thing aswell as how the parts will fit into it, or any other limitations that could need to be designed around. I was inspired by the orpheuspad to have 4 keys in an arrow key formation as that would make the most sense for how I would use it. Then I started designing the PCB and, since it was my first time being hands on with this software, learning how to work with this kind of design that im not familiar with. Overall, I enjoyed dipping my feed into this project and am excited to design the case of the pad in a software that im more comfortable using!"}]...
|
Title: snoopyboard by @dln | Stardance
Devlogs:
H Title: snoopyboard by @dln | Stardance
Devlogs:
Hackpad!!!! I designed what I wanted a Hackpad to look like and thought about how I could design around the ways that I could use one. I like designing with ideas first, then considering the rules of the size of the whole thing aswell as how the parts will fit into it, or any other limitations that could need to be designed around. I was inspired by the orpheuspad to have 4 keys in an arrow key formation as that would make the most sense for how I would use it. Then I started designing the PCB and, since it was my first time being hands on with this software, learning how to work with this kind of design that im not familiar with. Overall, I enjoyed dipping my feed into this project and am excited to design the case of the pad in a software that im more comfortable using!
Finished PCB, and worked on designing the case after taking a week off working on this project for other more important projects! (whoops)
revised the layout of the pcb so the cable would come out the back of the pad and the OLED screen would be vertical along the left side. started to work these changes into the case design
worked on the case a bit more and changed a few things in the design. having fun!
cleaned up the CAD file and added snoopy! (woodstock too) started the firmware side of things but still have a bit to go on that side
Polish Polish Polish! still have a bit more to do but I got the firmware into a finished state and created the Github page, overall polishing the project to get it ready to ship in the near future...
|
1793084291.1553028
|
1793689091.1553028
|
|
69206
|
A-pad by @Iarush7 | Stardance
|
Iarush7
|
0
|
6.74
|
0
|
[]
|
[{"post_id": 79238, "ts": "202 [{"post_id": 79238, "ts": "2026-10-13T05:10:53Z", "hours": 0.7186, "text": "Added a deeper bezel for the OLED screen in the CAD and created the project GitHUB + README"}, {"post_id": 79232, "ts": "2026-10-13T04:25:04Z", "hours": 1.6842, "text": "CAD for the Model is done. I used onshape instead of fusion because sharing is a lot easier on onshape."}, {"post_id": 79071, "ts": "2026-10-12T15:52:39Z", "hours": 0.7433, "text": "Psych, I lied. I did not finish the PCB since I forgot to do all the routing. I learned how to use a free Java Plugin called FreeRouter to help me do the routing"}, {"post_id": 78955, "ts": "2026-10-12T05:41:45Z", "hours": 1.7342, "text": "Finally finished with the PCB!!! It took me a while to figure out how to use the grid layouts to make a precise symmetrical grid for the keys. After that, orienting the diodes and flipping parts to save space was more I learned about PCB design. Took a lot of time but I think I learned valuable lessons!"}, {"post_id": 78927, "ts": "2026-10-12T02:08:53Z", "hours": 0.8658, "text": "I completed the schematics for all the keys for my custom A shaped design. I used a video by Joe Scotto to learn about matrix circuitry for the keys."}, {"post_id": 78897, "ts": "2026-10-11T22:55:04Z", "hours": 0.9983, "text": "I learnt PCB Design? I used KICAD to make the base Hack Pad Design according to the guide. Now I will make my own Design of the A shaped Hack pad"}]...
|
Title: A-pad by @Iarush7 | Stardance
Devlogs:
I l Title: A-pad by @Iarush7 | Stardance
Devlogs:
I learnt PCB Design? I used KICAD to make the base Hack Pad Design according to the guide. Now I will make my own Design of the A shaped Hack pad
I completed the schematics for all the keys for my custom A shaped design. I used a video by Joe Scotto to learn about matrix circuitry for the keys.
Finally finished with the PCB!!! It took me a while to figure out how to use the grid layouts to make a precise symmetrical grid for the keys. After that, orienting the diodes and flipping parts to save space was more I learned about PCB design. Took a lot of time but I think I learned valuable lessons!
Psych, I lied. I did not finish the PCB since I forgot to do all the routing. I learned how to use a free Java Plugin called FreeRouter to help me do the routing
CAD for the Model is done. I used onshape instead of fusion because sharing is a lot easier on onshape.
Added a deeper bezel for the OLED screen in the CAD and created the project GitHUB + README...
|
1793130737.7312655
|
1793735537.7312655
|
|
69035
|
MiniEngine by @matesoidicek | Stardance
|
matesoidicek
|
0
|
3.3
|
0
|
[]
|
[{"post_id": 79245, "ts": "202 [{"post_id": 79245, "ts": "2026-10-13T05:50:30Z", "hours": 2.5989, "text": "Made the base structure for the whole Game environment, essentially in which will everything live The new setup is that we have IScene and Scene - the Scene is kinda the preset for users that they can use, but they don’t have to. It can contain a lot of Worlds but it can also contain just one. The World is dependent on interface IWorld and has again “preset” World which both with the default World, Scene are on the engine side. Not game, game creates something like MainWorld : World or MainScene : Scene ."}, {"post_id": 78704, "ts": "2026-10-11T11:12:39Z", "hours": 0.6997, "text": "I’m working on a GameEngine completely from scratch in C#, these are some premade items"}]...
|
Title: MiniEngine by @matesoidicek | Stardance
De Title: MiniEngine by @matesoidicek | Stardance
Devlogs:
I’m working on a GameEngine completely from scratch in C#, these are some premade items
Made the base structure for the whole Game environment, essentially in which will everything live The new setup is that we have IScene and Scene - the Scene is kinda the preset for users that they can use, but they don’t have to. It can contain a lot of Worlds but it can also contain just one. The World is dependent on interface IWorld and has again “preset” World which both with the default World, Scene are on the engine side. Not game, game creates something like MainWorld : World or MainScene : Scene ....
|
1793130456.012793
|
1793735256.012793
|
|
64333
|
Zenith Assistant by @Orbernator | Stardance
|
Orbernator
|
1
|
8.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T06:14:46Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Presenting, Zenith! The only AI Assistant that is fully hand coded! Currently, Zenith can: Open Websites Say Hello and Goodbye Send Notfications Check the weather And More to come!", "repo": "https://github.com/Orbernator/zenith-assistant", "demo": "https://github.com/Orbernator/zenith-assistant/releases/tag/0.1.0"}]...
|
[{"post_id": 79247, "ts": "202 [{"post_id": 79247, "ts": "2026-10-13T06:12:37Z", "hours": 0.8203, "text": "I made another banner! So now, time to ship, and then after that, we make shudders documentation."}, {"post_id": 79234, "ts": "2026-10-13T04:35:21Z", "hours": 0.3125, "text": "Well, it can now talk about whats going on!"}, {"post_id": 78993, "ts": "2026-10-12T08:53:28Z", "hours": 0.9306, "text": "Well! I designed a logo! Check it out!"}, {"post_id": 78946, "ts": "2026-10-12T03:50:25Z", "hours": 0.5747, "text": "Ok! Fixed the issue with it misquoting the commands, it should now run the proper commands!"}, {"post_id": 78902, "ts": "2026-10-11T23:25:00Z", "hours": 0.3603, "text": "Well, the weather API supposedly works, but testing it now, shows that there is a big bug somewhere, causing it to pick the wrong commands. Time for some debugging!"}, {"post_id": 76936, "ts": "2026-10-05T04:04:04Z", "hours": 1.1131, "text": "Well, I have added some stuff to this! It can give you greetings, and I am now giving it access to the weather!"}, {"post_id": 72911, "ts": "2026-09-24T00:47:28Z", "hours": 1.0242, "text": "More sites have been added! Time to add some greetings, and other conversational phrases"}, {"post_id": 72085, "ts": "2026-09-22T04:21:36Z", "hours": 1.0839, "text": "So, more sites in, and added flags for noAI, noSocialMedia, sureBing and preferDesktop. I am currently adding Streaming Services!"}, {"post_id": 72038, "ts": "2026-09-22T01:26:20Z", "hours": 0.9989, "text": "So, what am I up to. Well, I decided to make a Assistant, that is fully hand coded, every web link, every company, all hand coded. This will be pain"}, {"post_id": 71615, "ts": "2026-09-21T05:14:30Z", "hours": 0.7558, "text": "Alright! This is going to take up my remaining time in Stardance. Zenith, a Voice Assistant in python. Currently, I plan to make it talk, open apps, and search the web. Future plans are to give it a better voice, hook it up to AI, give it a way of showing itself, and things I havent thought of yet!"}]...
|
Title: Zenith Assistant by @Orbernator | Stardance Title: Zenith Assistant by @Orbernator | Stardance
Devlogs:
Alright! This is going to take up my remaining time in Stardance. Zenith, a Voice Assistant in python. Currently, I plan to make it talk, open apps, and search the web. Future plans are to give it a better voice, hook it up to AI, give it a way of showing itself, and things I havent thought of yet!
So, what am I up to. Well, I decided to make a Assistant, that is fully hand coded, every web link, every company, all hand coded. This will be pain
So, more sites in, and added flags for noAI, noSocialMedia, sureBing and preferDesktop. I am currently adding Streaming Services!
More sites have been added! Time to add some greetings, and other conversational phrases
Well, I have added some stuff to this! It can give you greetings, and I am now giving it access to the weather!
Well, the weather API supposedly works, but testing it now, shows that there is a big bug somewhere, causing it to pick the wrong commands. Time for some debugging!
Ok! Fixed the issue with it misquoting the commands, it should now run the proper commands!
Well! I designed a logo! Check it out!
Well, it can now talk about whats going on!
I made another banner! So now, time to ship, and then after that, we make shudders documentation.
Ships:
Presenting, Zenith! The only AI Assistant that is fully hand coded! Currently, Zenith can: Open Websites Say Hello and Goodbye Send Notfications Check the weather And More to come!...
|
1793155792.5218468
|
1793242192.5218468
|
|
33784
|
Space shooter by @Miyako | Stardance
|
Miyako
|
0
|
23.9
|
0
|
[]
|
[{"post_id": 79249, "ts": "202 [{"post_id": 79249, "ts": "2026-10-13T06:16:53Z", "hours": 3.7639, "text": "so i was busy like really busy working on other things so i have a plan to add about 5 lvls in game this is how it looks like lvl 1 – is simple complete target of hititng 10-15 entities (idk what to call them atp) lvl -2 speed and words limit increase and lvl 3 few words can’t be destroyed and you have to guess , lvl 4 introduces blackholes and yep and lvl 5 you have to identify objects based on their shape and faint shillhoutte ……………it’s just a basic idea ik but it is what it is for now"}, {"post_id": 58227, "ts": "2026-08-30T16:10:50Z", "hours": 1.4525, "text": "created another frame for the game"}, {"post_id": 54001, "ts": "2026-08-24T18:49:33Z", "hours": 1.7581, "text": "so today i made sprites sheets for meteors and few planets and i’m planning to add more further to maake it havee lots of well known planets and also i’m plannimg to make quasars and black holes and neutron stars tooo …..here the pic of planet earth i drew for my space shooter game"}, {"post_id": 50532, "ts": "2026-08-19T18:36:41Z", "hours": 2.66, "text": "so it’s been sooo long since i posted a devlog or worked on my game so here i improved this add few temporsry targets here in my space shooter game the main goal is that you have to recognize the targets and type it’s correct name for it to vanish and since it was my first time using pygame i had to take help alot fot knowing what should i use if i have to add something pygame have lots of inbuilt functions if i’m stating it right? because i’m just so bad in theory part of anything though this game astarted as revising the python i did in my univ for ml and now i’m continuing it here thanksssss for reading will update more of it and i will use my own sprites later for the game"}, {"post_id": 31163, "ts": "2026-07-19T10:31:03Z", "hours": 2.1475, "text": "so basically finished designing the falcon from star wars though i’m definately not satisfied (ignore the mistake idk what i’m doing) soooo ugh libresprite dosen’t have large variety of colours but i have got comfortable with it don’t know how abersperite it since both are same maybe asperite have variety colours …….now the next thing i have to figure out how the hell i open it in different tab because i have to draw the animating sprite of it blue glow though i will make some minute changes in it again"}, {"post_id": 30857, "ts": "2026-07-18T20:10:36Z", "hours": 4.5836, "text": "so bassically today in evening i mostly worked on creating the spaceship inspired or i wil say satr wars falcon those who have watched it you know it already i was looking for spaceships design idk why the star wars kept running in my mind as i want to watch the whole series if i got time 😭😭"}, {"post_id": 30479, "ts": "2026-07-18T02:48:35Z", "hours": 3.1917, "text": "so basically what i did i added user controll movement and struggled with timers alot for now i know that i have to look around to make sure i have understood everything i took help of tutorials and also i made mistakes as my python is not that good but i’m learning any way along with this i’m hoping to make python projects alongside too and from todays onwards i will start drawing the sprites for my game though i’m still looking for some refrence for the space ship"}, {"post_id": 28894, "ts": "2026-07-15T14:25:08Z", "hours": 2.1819, "text": "for past days i haven’t be able to do any work,didn’t do much just added the movement to the space shooter end game is to polish it even more"}, {"post_id": 26676, "ts": "2026-07-11T16:43:11Z", "hours": 2.1572, "text": "so i started this project today after switching from webOS or ml i was studying(which i will continue tomorrow yeah or i won’t get internship in my second year also have few future plan with it ) though python is used here so it felt boaring so i thought let’s revist python with pygame yeah completely new to me but i’m learning as my future goal is too ahhhhh……i need to do my cpp i’m only doing it for full day from tommorow onwards i will take python+ml+cpp(dsa) back to my lovable language cpp and i only have done basics in it anyway ENOUGH! Of ranting now lets get back so i made the game window and now i i’m figuring out more what to do and to move the spaceship since you need a shoooter for stardance SPACE! UNIVERSE! i still haven’t started working on my graphics but i will when i will be able to finish the mvements and all for now i’m using someone’s else assets anyway here the code"}]...
|
Title: Space shooter by @Miyako | Stardance
Devlo Title: Space shooter by @Miyako | Stardance
Devlogs:
so i started this project today after switching from webOS or ml i was studying(which i will continue tomorrow yeah or i won’t get internship in my second year also have few future plan with it ) though python is used here so it felt boaring so i thought let’s revist python with pygame yeah completely new to me but i’m learning as my future goal is too ahhhhh……i need to do my cpp i’m only doing it for full day from tommorow onwards i will take python+ml+cpp(dsa) back to my lovable language cpp and i only have done basics in it anyway ENOUGH! Of ranting now lets get back so i made the game window and now i i’m figuring out more what to do and to move the spaceship since you need a shoooter for stardance SPACE! UNIVERSE! i still haven’t started working on my graphics but i will when i will be able to finish the mvements and all for now i’m using someone’s else assets anyway here the code
for past days i haven’t be able to do any work,didn’t do much just added the movement to the space shooter end game is to polish it even more
so basically what i did i added user controll movement and struggled with timers alot for now i know that i have to look around to make sure i have understood everything i took help of tutorials and also i made mistakes as my python is not that good but i’m learning any way along with this i’m hoping to make python projects alongside too and from todays onwards i will start drawing the sprites for my game though i’m still looking for some refrence for the space ship
so bassically today in evening i mostly worked on creating the spaceship inspired or i wil say satr wars falcon those who have watched it you know it already i was looking for spaceships design idk why the star wars kept running in my mind as i want to watch the whole series if i got time 😭😭
so basically finished designing the falcon from star wars though i’m definately not satisfied (ignore the mistake idk what i’m doing) soooo ugh libresprite dosen’t have large variety of colours but i have got comfortable with it don’t know how abersperite it since both are same maybe asperite have variety colours …….now the next thing i have to figure out how the hell i open it in different tab because i have to draw the animating sprite of it blue glow though i will make some minute changes in it again
so it’s been sooo long since i posted a devlog or worked on my game so here i improved this add few temporsry targets here in my space shooter game the main goal is that you have to recognize the targets and type it’s correct name for it to vanish and since it was my first time using pygame i had to take help alot fot knowing what should i use if i have to add something pygame have lots of inbuilt functions if i’m stating it right? because i’m just so bad in theory part of anything though this game astarted as revising the python i did in my univ for ml and now i’m continuing it here thanksssss for reading will update more of it and i will use my own sprites later for the game
so today i made sprites sheets for meteors and few planets and i’m planning to add more further to maake it havee lots of well known planets and also i’m plannimg to make quasars and black holes and neutron stars tooo …..here the pic of planet earth i drew for my space shooter game
created another frame for the game
so i was busy like really busy working on other things so i have a plan to add about 5 lvls in game this is how it looks like lvl 1 – is simple complete target of hititng 10-15 entities (idk what to call them atp) lvl -2 speed and words limit increase and lvl 3 few words can’t be destroyed and you have to guess , lvl 4 introduces blackholes and yep and lvl 5 you have to identify objects based on their shape and faint shillhoutte ……………it’s just a basic idea ik but it is what it is for now...
|
1792547548.2273233
|
1793152348.2273233
|
|
68769
|
Dino game but made in java by @pmandal7355 | Stard Dino game but made in java by @pmandal7355 | Stardance...
|
pmandal7355
|
1
|
2.8
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-10T19:04:58Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "made a side project along the mac like web is and made this small dino game in java its just a fun project", "repo": "https://github.com/itsprantik/dino", "demo": "https://github.com/itsprantik/dino/releases/tag/v1.0.0"}]...
|
[{"post_id": 79252, "ts": "202 [{"post_id": 79252, "ts": "2026-10-13T06:30:58Z", "hours": 0.8025, "text": "made the readme which seemed to be ai was corrcted and hand written"}, {"post_id": 78416, "ts": "2026-10-10T18:42:32Z", "hours": 1.0461, "text": "made and completed the code and the minigame , its completed finally"}, {"post_id": 78118, "ts": "2026-10-09T16:55:03Z", "hours": 0.29, "text": "made the dino and other graphics and also made the controls"}, {"post_id": 78098, "ts": "2026-10-09T15:47:49Z", "hours": 0.9839, "text": "initialised the variable for the game and imported the dependencies"}]...
|
Title: Dino game but made in java by @pmandal7355 Title: Dino game but made in java by @pmandal7355 | Stardance
Devlogs:
initialised the variable for the game and imported the dependencies
made the dino and other graphics and also made the controls
made and completed the code and the minigame , its completed finally
made the readme which seemed to be ai was corrcted and hand written
Ships:
made a side project along the mac like web is and made this small dino game in java its just a fun project...
|
1793062353.811322
|
1793148753.811322
|
|
69470
|
Siyam-bot by @Siyam | Stardance
|
Siyam
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-14T16:53:44Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is a slackbot. its running 24/7 in nest. it has 3 different commands like, 1, /siyam-bot-ping 2, /siyam-bot-joke 3, /siyam-bot-catfact Building was not so hard, but deploying it was a little bit hard. but i followed the guide and did it.", "repo": "https://github.com/Tanzil-Alam/Siyam-bot", "demo": "https://hackclub.slack.com/app_redirect?app=A0C9GQZUN1W"}]...
|
[{"post_id": 79265, "ts": "202 [{"post_id": 79265, "ts": "2026-10-13T08:14:55Z", "hours": 0.43, "text": "I have did everything according the mission guide and pushed to github. it has 3 commands and all of them works. the commands are, 1, /siyam-bot-ping 2, /siyam-bot-joke 3, /siyam-bot-catfact all of them are working well. iam just waiting to being approved in nest, then i will deploy and ship the project."}]...
|
Title: Siyam-bot by @Siyam | Stardance
Devlogs:
I Title: Siyam-bot by @Siyam | Stardance
Devlogs:
I have did everything according the mission guide and pushed to github. it has 3 commands and all of them works. the commands are, 1, /siyam-bot-ping 2, /siyam-bot-joke 3, /siyam-bot-catfact all of them are working well. iam just waiting to being approved in nest, then i will deploy and ship the project.
Ships:
This is a slackbot. its running 24/7 in nest. it has 3 different commands like, 1, /siyam-bot-ping 2, /siyam-bot-joke 3, /siyam-bot-catfact Building was not so hard, but deploying it was a little bit hard. but i followed the guide and did it....
|
1793148549.7789338
|
1793234949.7789338
|
|
7196
|
My awesome macropad! by @lima6 | Stardance
|
lima6
|
0
|
10.35
|
0
|
[]
|
[{"post_id": 79269, "ts": "202 [{"post_id": 79269, "ts": "2026-10-13T08:34:15Z", "hours": 2.3383, "text": "Shipping Updated the github page and exported the files for shipping: https://github.com/lima6-tech/Hackpad2"}, {"post_id": 78245, "ts": "2026-10-10T03:50:30Z", "hours": 5.2864, "text": "Designing the case Finished designing the Hackpad case - next up is firmware Redid the PCB and schematics Added a acrylic layer for a window to the case Added a “cover” layer to hide the screws"}, {"post_id": 76113, "ts": "2026-10-02T10:43:34Z", "hours": 2.7286, "text": "Designing schematics and PCB Designed the Hackpad schematics and PCB. Tried to add a rotary encoder but not sure if anything has even been done correctly."}]...
|
Title: My awesome macropad! by @lima6 | Stardance
Title: My awesome macropad! by @lima6 | Stardance
Devlogs:
Designing schematics and PCB Designed the Hackpad schematics and PCB. Tried to add a rotary encoder but not sure if anything has even been done correctly.
Designing the case Finished designing the Hackpad case - next up is firmware Redid the PCB and schematics Added a acrylic layer for a window to the case Added a “cover” layer to hide the screws
Shipping Updated the github page and exported the files for shipping: https://github.com/lima6-tech/Hackpad2...
|
1792702431.269853
|
1793307231.269853
|
|
67860
|
ChemVisualizer by @Haorui | Stardance
|
Haorui
|
0
|
0.65
|
0
|
[]
|
[{"post_id": 79271, "ts": "202 [{"post_id": 79271, "ts": "2026-10-13T08:42:47Z", "hours": 0.6486, "text": "A cool chemvisualizer, I figured out the library and break down the tasks"}]...
|
Title: ChemVisualizer by @Haorui | Stardance
Devl Title: ChemVisualizer by @Haorui | Stardance
Devlogs:
A cool chemvisualizer, I figured out the library and break down the tasks...
|
1793116139.7302508
|
1793720939.7302508
|
|
69465
|
OSX-inspired New Tab:) by @ianl | Stardance
|
ianl
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T09:01:10Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a dashboard that looks like an old macOS platform. The dashboard has some information related to space, like images from NASA and the weather near Mission Control in Houston. Working on the API was probably one of my biggest challenges, as well as working with GitHub. I honestly have no idea how GitHub works, and it’s definitely a learning experience every time I use it! I am most proud of the overall design of the site. Thank you for reading!", "repo": "https://github.com/ilaws/VintageMacOS-NewTab/", "demo": "https://newtab.ourdevbox.site"}]...
|
[{"post_id": 79274, "ts": "202 [{"post_id": 79274, "ts": "2026-10-13T08:56:32Z", "hours": 0.3411, "text": "Finished this really cool dashboard! I really enjoyed the design aspects, it is one of the first things that I made that I am somewhat proud of the design choices (how everything looks), etc! yes, its not perfect, but I still think its rly cool!"}, {"post_id": 79266, "ts": "2026-10-13T08:20:11Z", "hours": 0.5419, "text": "Linked NASA API to my new tab dashboard! It will now display a current photo of the earth, as well as the Astronomy Photo of the Day!"}, {"post_id": 79263, "ts": "2026-10-13T07:40:50Z", "hours": 0.7767, "text": "Started on my NewTab project- inspired by old MacOS X! I finished just a basic Finder window, the first step. This was made entirely in HTML and CSS. (the HTML is very simple but the CSS is super wonky). None of the buttons or anything work yet, but I am trying to add weather and other widgets to make it feel more real. :) (AI was used for fine-tuning shadows and color values. I could not figure it out myself.)"}]...
|
Title: OSX-inspired New Tab:) by @ianl | Stardance Title: OSX-inspired New Tab:) by @ianl | Stardance
Devlogs:
Started on my NewTab project- inspired by old MacOS X! I finished just a basic Finder window, the first step. This was made entirely in HTML and CSS. (the HTML is very simple but the CSS is super wonky). None of the buttons or anything work yet, but I am trying to add weather and other widgets to make it feel more real. :) (AI was used for fine-tuning shadows and color values. I could not figure it out myself.)
Linked NASA API to my new tab dashboard! It will now display a current photo of the earth, as well as the Astronomy Photo of the Day!
Finished this really cool dashboard! I really enjoyed the design aspects, it is one of the first things that I made that I am somewhat proud of the design choices (how everything looks), etc! yes, its not perfect, but I still think its rly cool!
Ships:
I made a dashboard that looks like an old macOS platform. The dashboard has some information related to space, like images from NASA and the weather near Mission Control in Houston. Working on the API was probably one of my biggest challenges, as well as working with GitHub. I honestly have no idea how GitHub works, and it’s definitely a learning experience every time I use it! I am most proud of the overall design of the site. Thank you for reading!...
|
1793138190.1594274
|
1793224590.1594274
|
|
63371
|
BLARE by @Ranbir | Stardance
|
Ranbir
|
0
|
0.28
|
0
|
[]
|
[{"post_id": 79277, "ts": "202 [{"post_id": 79277, "ts": "2026-10-13T09:22:41Z", "hours": 0.2761, "text": "i have completed everything but not recorded time because i was not aware of it hope so hack club team will understand"}]...
|
Title: BLARE by @Ranbir | Stardance
Devlogs:
i ha Title: BLARE by @Ranbir | Stardance
Devlogs:
i have completed everything but not recorded time because i was not aware of it hope so hack club team will understand...
|
1793051391.086154
|
1793915391.086154
|
|
55712
|
APP BLOCKER (macOS) by @Dhanush_Mundra | Stardance
|
Dhanush_Mundra
|
1
|
63.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T12:58:49Z", "hours": 63.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Finally!!! This is my first app, Multi-App-Blocker!!! So there would be two sections abut this project- What is this and How did I make this app. So let’s start with the first section:- What is this? So, this an application that only runs on macOS which blocks apps according to the time schedule set by the user. The app shows all the downloaded applications on the sysem in the dropdown list from where the user can select the app. When the user selects the app they want to block, the user need to enter the start time and the end time. After that the user gets the option of select the type of schedule. So there are four options to select the type of schedule, that are- Every Day; Today Only; Specific Days; Specific Date. So, here the user can select the type according to their needs. Another exciting feature of my app is that the user can set multiple schedules for a single app. However the condition is that the other schedules should not overlap or should be the same as the previous schedules. After this when the schedule has been checked by the app, the app starts to monitor the schedule. When the current time matches the schedule time, the app is blocked. Also, if you restart your system after setting the schedule, your app would be blocked then also within 3-5 minutes if you want the app to be instantly blocked after restarting the system otherwise normally, the app is immediately blocked depending on the speed of your system. Also, at last, another feature of this app is that you can delete, edit and disable or enable your scheudules. Like this, you can set as many schedules for as many apps you want. So, this was about how my App Blocker works. Now let’s move to the next section which is:- How did I make this app? So, I started making this project by building the time tracker of my app. When I completed making he time tracker, I learn about the processes of apps, PIDs(Process Identifier) and the terminal commands like mdfind and many libraries such as datetime, psutil, subprocess, pathlib, json etc. So, by combining all these I made a simple terminal working program that would block a single app for a particular period of time. After this, I thought of making a GUI using HTML and CSS and making the GUI functional using JavaScript. So, I wrote the code of HTML and CSS by myself and also learnt a bit of JavaScript to make the GUI functional. By now my GUI was ready and the backend for a single app blocker was also ready but were not connected. And then I got to know about Electron. So I explored about electron ad decided to use it for my app. Then I connected my GUI using Electron to my Python backend using some more JavaScript code. Now, it started to feel more like an app, But I wanted multi app blocker so I wrote the code for it also and added the features of multiple schedules, edit, delete, disable and enable, and schedule types. After all this, it was like, I built an app, but this so called app was not working after I restarted my mac. And just because of this, I needed to work 5 more days to figure out the solution. And when I got the solution. I did the final test. However, after restarting it takes around 3-5 minutes to block the app but it does block the app. Now, I can declare it a professional, working, Multi-App-Blocker. Note: This application is only for macOS. And you can download the .dmg file from the try project link below. Thank You so much for reading it till here.", "repo": "https://github.com/mundradhanush-lgtm/APP-BLOCKER", "demo": "https://github.com/mundradhanush-lgtm/APP-BLOCKER/releases/download/v1.0.0/App.Blocker-1.0.0-arm64.dmg"}]...
|
[{"post_id": 79280, "ts": "202 [{"post_id": 79280, "ts": "2026-10-13T09:45:42Z", "hours": 4.0328, "text": "Finally!!! I have created the MULTI-APP-BLOCKER!!! In this final session of app blocker I worked on the feature of blocking apps even after restarting the system if the current time is in the schedule. I literally worked on this feature for 3 days and it paid off. However this is not a strong feature because it takes around 3-5 minutes to block the application instantly after restarting the system. Normally, it immediately blocks the app. So, I worked on this feature in this final session and now I am going to set my APP BLOCKER out for rating soon. THANK YOU SO MUCH!!!"}, {"post_id": 78765, "ts": "2026-10-11T15:18:12Z", "hours": 9.7883, "text": "of so I have finally built a multi-app blocker. In this session I just made the GUI better, made a better backend and made it into a usable app. I added multiple schedule feature for a single app and then the feature of schedule types like today, specific date, specific days and every day from which the user can choose any and for multiple schedule I put a check that the second or the third or any later schedule should not overlap the earlier schedules. The App Blocker is working very nicely, but I want to fit the last piece of the puzzle and the is by making the App Blocker immune to computer restart or turning it on again after shutting down. So, I want to work on that that the app should be blocked even if the computer has been restarted or it has been turned on after shutting down. But, I can say that it is now a professional App Blocker and I would soon finish this project."}, {"post_id": 76373, "ts": "2026-10-03T10:29:23Z", "hours": 3.7033, "text": "ok so finally, I have created a professional single-app blocker. In the earlier section, I wrote my code for JavaScript and I was thinking that I have created the app, but I was wrong. After writing the code, in this section, I downloaded electron and connected it to my code using two json files and 2 JavaScript files. After that I worked on error handling which was a very complicated part. Also I took the help of AI to identify what kind of errors can happen and what kind of handling I should put. Also, I created a section in my GUI where I would be giving the status of the app blocker like is the app blocked or is it not blocked or is there any problem. I have done this much and it is working ratty decently. Now I have decided to make it a Multi-App Blocker where the user can set different schedules for different apps and set when to block the apps like after setting the time on which days the user want to block the apps or else the user wants to block the app in two different sections. For eg- The user wants to block the app from 2:00 pm to 3 pm and then from 6 pm to 8 pm. So, I would be trying to keep that functionality also. And if possible, the coolest thing I would want to do is that allowing the user to keep a password on it so that no one can block unwanted apps for 24 hours. Hopefully, I can do all of this because I have this idea in my mid only and I have no planning so I would be working very hard till 31st October."}, {"post_id": 75541, "ts": "2026-09-30T12:08:19Z", "hours": 3.2575, "text": "Let’s goooo everyone!! I have finally written my JavaScript code for my App Blocker. I am very happy as this was my first JavaScript code for this big project and I am very proud of myself as I wrote the whole code myself just taking the help of AI to know what step to take next. In this code I solved the time related problems like the checking of valid time, turning the time entered by the user into a 24 hour clock system and then turning it into a properly usable form. I also created a hardcoded list for now which included some app names, which would be replaced by my python list that would have all the app names downloaded in my system. And finally, I created an object containing app name, start time and end time. This object would be provided to my python code and it would block the app for that period of time."}, {"post_id": 75173, "ts": "2026-09-29T11:33:57Z", "hours": 1.0422, "text": "Ok Everyone!! I have made the structure for my GUI and designed it properly. Now, the only thing left is JavaScript and the coming up of these languages together in Electron. But there is still one problem. Right now my App Blocker is blocking only one app at a time, butI want to make it multi-app blocker and also my app blocker is not working after it is closed, so I want it to work forever and keep checking the time."}, {"post_id": 75042, "ts": "2026-09-28T23:41:53Z", "hours": 1.7242, "text": "Finally, I have completed the backend of my App Blocker and now I can start the work on my GUI and I would be using Electron to make my App Blocker into a real life desktop application. I am also very happy that Stardance has been extended till 31st October. I have given the final touches to my backend like the input of time by the user and in the future after making the GUI I would make the App Blocker block multiple apps. So, my next devlon would be of me updating you upon my GUI."}, {"post_id": 73229, "ts": "2026-09-24T17:02:27Z", "hours": 8.1553, "text": "ok so I am posting this devlon cuz i got a message on slack that more than 10 hours would not be counted in the devlon time. So after HTML and CSS I am learning JavaScript to work and know about Electron and make the interface with it. Then i would do the small tasks such as setting the password and the user inputs at various places and multiple app blocking feature. I am learning JavaScript with Dave Gray’s JavaScript course(I know its a bit old but the best). And I have like 2 chapters left and then i would start learning about electron. And the best thing is that Stardance has been extended by 1 month."}, {"post_id": 71934, "ts": "2026-09-21T20:13:44Z", "hours": 5.7328, "text": "ok so i have finally completed the course of CSS and HTML in just 5 days. this actually feels like an achievement to me. So, I learnt the basics of HTML and CSS that are required for my project. Now my next step would be to learn the basics of JavaScript and complete it in around 2 days and complete the APP BLOCKER."}, {"post_id": 70203, "ts": "2026-09-18T18:12:12Z", "hours": 5.0319, "text": "ok everyone, in this devlog I have not created anything, but I have gained a lot of knowledge. So, to make the GUI of my APP BLOCKER I want to use Electron and for that in these 2 days I have learnt CSS and HTML which are the basic languages. earlier what I as doing was I knew very little about HTML but not CSS, so I had to use AI, but now I want to make APP BLOCKER without AI and for that I am learning HTML, CSS and JavaScript. So after these I would read about Electron and make the GUI for this APP BLOCKER. NOTE: given below is the screenshot of me learning not of the project."}, {"post_id": 68764, "ts": "2026-09-15T18:21:59Z", "hours": 3.1256, "text": "Ok so earlier I was having a problem even after printing the dictionary and taking the number corresponding to it. the problem there was that my app blocker only blocked the apps that had no duplicates, which means like when i tried to block IDLE, I had 4 different versions of IDLE and after just telling my project that I need to block the IDLE it was not able to interpret which IDLE it had to block. So now I had to give it the parent folder also to find the mid but instead of trying two different ways to get the pid I gave the parent folder for every app and got the pid, hence dropping the idea of osascript. Then I continued my normal loop of blocking the app. Now I am happy it is blocking the app. Now i would first handle the small task like taking the start time and end time as the input from the user. Then I would add the feature of taking multiple apps as the input with their time and finally after all those things I would mage the GUI and end the project. In the image below is the part I added today."}, {"post_id": 65557, "ts": "2026-09-10T19:33:22Z", "hours": 6.5817, "text": "ok so earlier I was using hardcoded list of apps to block them, then I started taking the app name as an input, but then I realised that I would then want the user to type the app name in a specific type that is needed by the osascript to provide me its pid. but then I got an idea to give a dropdown of apps downloaded in the user’s system and they just simply had to select that app. so, I used multiple lists and dictionaries and splitted the path of the app into the app name that can be displayed. for now I have made a dictionary with the names of apps and serial numbers corresponding to them so the user just have to select the number. but in future when I would make the gui, the user would then just have to click on it. but currently I am facing a problem that after am printing the names of apps and the user is selecting the number, some apps are being blocked and and some are not. so I am currently working on this problem. if somebody can help me, please comment below. it would be of great pleasure. THANK YOU!!"}, {"post_id": 61734, "ts": "2026-09-04T19:42:57Z", "hours": 4.2442, "text": "ok so earlier my I made the time tracker and the hardcoded list for particular apps and then merged both of them so that it would just close the hardcoded apps in that list but now I modified it and took input from the user, ran the terminal command mdfind to check if the app is running or not then used osascript to get the pid of the process and then used that pid to terminate the app. but there was a challenge to find the difference of closed apps and already running apps and after that to keep them blocked till the designated time. so today I worked on that and made a good app blocker which can be used but some modifications like the input of time from the user, input of multiple apps and creating the gui. so after working on that my program would be ready."}, {"post_id": 60060, "ts": "2026-09-02T05:25:00Z", "hours": 0.5317, "text": "let’s go, today I added the loop for my program which was very important because earlier my program was just closing the app if it was running, but the user can again open it. now they couldn’t because I put all of that terminating part inside a loop that would work continuously for that time period."}, {"post_id": 59741, "ts": "2026-09-01T17:49:30Z", "hours": 1.1153, "text": "ok so this is my second devlog for this project. today I made the part where I would get the names of all the running processes on my Mac and then I made a list for the apps that I need to block then I compared the all the running processes with the apps I need to block and then just printed that this app needs to be closed just for the testing purpose. now my next work would be to terminate the app and then to modify it I would take the input of the app and time from the user itself and then in the end I would create a good GUI to give it a look of a fully polished project."}, {"post_id": 57999, "ts": "2026-08-30T10:29:51Z", "hours": 4.9769, "text": "ok so this is my first devlog of APP BLOCKER. this is a project where the app would be blocked between a specific period of time. and till now I have made the time system like for the testing purpose it would show blocked if the program is ran between the designated time period and would show allowed if not ran between the designated time. I also learnt about process and learnt how to print all the running processes using psutil (process and system utilities). now my target would be merging them after modifying both the codes"}]...
|
Title: APP BLOCKER (macOS) by @Dhanush_Mundra | St Title: APP BLOCKER (macOS) by @Dhanush_Mundra | Stardance
Devlogs:
ok so this is my first devlog of APP BLOCKER. this is a project where the app would be blocked between a specific period of time. and till now I have made the time system like for the testing purpose it would show blocked if the program is ran between the designated time period and would show allowed if not ran between the designated time. I also learnt about process and learnt how to print all the running processes using psutil (process and system utilities). now my target would be merging them after modifying both the codes
ok so this is my second devlog for this project. today I made the part where I would get the names of all the running processes on my Mac and then I made a list for the apps that I need to block then I compared the all the running processes with the apps I need to block and then just printed that this app needs to be closed just for the testing purpose. now my next work would be to terminate the app and then to modify it I would take the input of the app and time from the user itself and then in the end I would create a good GUI to give it a look of a fully polished project.
let’s go, today I added the loop for my program which was very important because earlier my program was just closing the app if it was running, but the user can again open it. now they couldn’t because I put all of that terminating part inside a loop that would work continuously for that time period.
ok so earlier my I made the time tracker and the hardcoded list for particular apps and then merged both of them so that it would just close the hardcoded apps in that list but now I modified it and took input from the user, ran the terminal command mdfind to check if the app is running or not then used osascript to get the pid of the process and then used that pid to terminate the app. but there was a challenge to find the difference of closed apps and already running apps and after that to keep them blocked till the designated time. so today I worked on that and made a good app blocker which can be used but some modifications like the input of time from the user, input of multiple apps and creating the gui. so after working on that my program would be ready.
ok so earlier I was using hardcoded list of apps to block them, then I started taking the app name as an input, but then I realised that I would then want the user to type the app name in a specific type that is needed by the osascript to provide me its pid. but then I got an idea to give a dropdown of apps downloaded in the user’s system and they just simply had to select that app. so, I used multiple lists and dictionaries and splitted the path of the app into the app name that can be displayed. for now I have made a dictionary with the names of apps and serial numbers corresponding to them so the user just have to select the number. but in future when I would make the gui, the user would then just have to click on it. but currently I am facing a problem that after am printing the names of apps and the user is selecting the number, some apps are being blocked and and some are not. so I am currently working on this problem. if somebody can help me, please comment below. it would be of great pleasure. THANK YOU!!
Ok so earlier I was having a problem even after printing the dictionary and taking the number corresponding to it. the problem there was that my app blocker only blocked the apps that had no duplicates, which means like when i tried to block IDLE, I had 4 different versions of IDLE and after just telling my project that I need to block the IDLE it was not able to interpret which IDLE it had to block. So now I had to give it the parent folder also to find the mid but instead of trying two different ways to get the pid I gave the parent folder for every app and got the pid, hence dropping the idea of osascript. Then I continued my normal loop of blocking the app. Now I am happy it is blocking the app. Now i would first handle the small task like taking the start time and end time as the input from the user. Then I would add the feature of taking multiple apps as the input with their time and finally after all those things I would mage the GUI and end the project. In the image below is the part I added today.
ok everyone, in this devlog I have not created anything, but I have gained a lot of knowledge. So, to make the GUI of my APP BLOCKER I want to use Electron and for that in these 2 days I have learnt CSS and HTML which are the basic languages. earlier what I as doing was I knew very little about HTML but not CSS, so I had to use AI, but now I want to make APP BLOCKER without AI and for that I am learning HTML, CSS and JavaScript. So after these I would read about Electron and make the GUI for this APP BLOCKER. NOTE: given below is the screenshot of me learning not of the project.
ok so i have finally completed the course of CSS and HTML in just 5 days. this actually feels like an achievement to me. So, I learnt the basics of HTML and CSS that are required for my project. Now my next step would be to learn the basics of JavaScript and complete it in around 2 days and complete the APP BLOCKER.
ok so I am posting this devlon cuz i got a message on slack that more than 10 hours would not be counted in the devlon time. So after HTML and CSS I am learning JavaScript to work and know about Electron and make the interface with it. Then i would do the small tasks such as setting the password and the user inputs at various places and multiple app blocking feature. I am learning JavaScript with Dave Gray’s JavaScript course(I know its a bit old but the best). And I have like 2 chapters left and then i would start learning about electron. And the best thing is that Stardance has been extended by 1 month.
Finally, I have completed the backend of my App Blocker and now I can start the work on my GUI and I would be using Electron to make my App Blocker into a real life desktop application. I am also very happy that Stardance has been extended till 31st October. I have given the final touches to my backend like the input of time by the user and in the future after making the GUI I would make the App Blocker block multiple apps. So, my next devlon would be of me updating you upon my GUI.
Ok Everyone!! I have made the structure for my GUI and designed it properly. Now, the only thing left is JavaScript and the coming up of these languages together in Electron. But there is still one problem. Right now my App Blocker is blocking only one app at a time, butI want to make it multi-app blocker and also my app blocker is not working after it is closed, so I want it to work forever and keep checking the time.
Let’s goooo everyone!! I have finally written my JavaScript code for my App Blocker. I am very happy as this was my first JavaScript code for this big project and I am very proud of myself as I wrote the whole code myself just taking the help of AI to know what step to take next. In this code I solved the time related problems like the checking of valid time, turning the time entered by the user into a 24 hour clock system and then turning it into a properly usable form. I also created a hardcoded list for now which included some app names, which would be replaced by my python list that would have all the app names downloaded in my system. And finally, I created an object containing app name, start time and end time. This object would be provided to my python code and it would block the app for that period of time.
ok so finally, I have created a professional single-app blocker. In the earlier section, I wrote my code for JavaScript and I was thinking that I have created the app, but I was wrong. After writing the code, in this section, I downloaded electron and connected it to my code using two json files and 2 JavaScript files. After that I worked on error handling which was a very complicated part. Also I took the help of AI to identify what kind of errors can happen and what kind of handling I should put. Also, I created a section in my GUI where I would be giving the status of the app blocker like is the app blocked or is it not blocked or is there any problem. I have done this much and it is working ratty decently. Now I have decided to make it a Multi-App Blocker where the user can set different schedules for different apps and set when to block the apps like after setting the time on which days the user want to block the apps or else the user wants to block the app in two different sections. For eg- The user wants to block the app from 2:00 pm to 3 pm and then from 6 pm to 8 pm. So, I would be trying to keep that functionality also. And if possible, the coolest thing I would want to do is that allowing the user to keep a password on it so that no one can block unwanted apps for 24 hours. Hopefully, I can do all of this because I have this idea in my mid only and I have no planning so I would be working very hard till 31st October.
of so I have finally built a multi-app blocker. In this session I just made the GUI better, made a better backend and made it into a usable app. I added multiple schedule feature for a single app and then the feature of schedule types like today, specific date, specific days and every day from which the user can choose any and for multiple schedule I put a check that the second or the third or any later schedule should not overlap the earlier schedules. The App Blocker is working very nicely, but I want to fit the last piece of the puzzle and the is by making the App Blocker immune to computer restart or turning it on again after shutting down. So, I want to work on that that the app should be blocked even if the computer has been restarted or it has been turned on after shutting down. But, I can say that it is now a professional App Blocker and I would soon finish this project.
Finally!!! I have created the MULTI-APP-BLOCKER!!! In this final session of app blocker I worked on the feature of blocking apps even after restarting the system if the current time is in the schedule. I literally worked on this feature for 3 days and it paid off. However this is not a strong feature because it takes around 3-5 minutes to block the application instantly after restarting the system. Normally, it immediately blocks the app. So, I worked on this feature in this final session and now I am going to set my APP BLOCKER out for rating soon. THANK YOU SO MUCH!!!
Ships:
Finally!!! This is my first app, Multi-App-Blocker!!! So there would be two sections abut this project- What is this and How did I make this app. So let’s start with the first section:- What is this? So, this an application that only runs on macOS which blocks apps according to the time schedule set by the user. The app shows all the downloaded applications on the sysem in the dropdown list from where the user can select the app. When the user selects the app they want to block, the user need to enter the start time and the end time. After that the user gets the option of select the type of schedule. So there are four options to select the type of schedule, that are- Every Day; Today Only; Specific Days; Specific Date. So, here the user can select the type according to their needs. Another exciting feature of my app is that the user can set multiple schedules for a single app. However the condition is that the other schedules should not overlap or should be the same as the previous schedules. After this when the schedule has been checked by the app, the app starts to monitor the schedule. When the current time matches the schedule time, the app is blocked. Also, if you restart your system after setting the schedule, your app would be blocked then also within 3-5 minutes if you want the app to be instantly blocked after restarting the system otherwise normally, the app is immediately blocked depending on the speed of your system. Also, at last, another feature of this app is that you can delete, edit and disable or enable your scheudules. Like this, you can set as many schedules for as many apps you want. So, this was about how my App Blocker works. Now let’s move to the next section which is:- How did I make this app? So, I started making this project by building the time tracker of my app. When I completed making he time tracker, I learn about the processes of apps, PIDs(Process Identifier) and the terminal commands like mdfind and many libraries such as datetime, psutil, subprocess, pathlib, json etc. So, by combining all these I made a simple terminal working program that would block a single app for a particular period of time. After this, I thought of making a GUI using HTML and CSS and making the GUI functional using JavaScript. So, I wrote the code of HTML and CSS by myself and also learnt a bit of JavaScript to make the GUI functional. By now my GUI was ready and the backend for a single app blocker was also ready but were not connected. And then I got to know about Electron. So I explored about electron ad decided to use it for my app. Then I connected my GUI using Electron to my Python backend using some more JavaScript code. Now, it started to feel more like an app, But I wanted multi app blocker so I wrote the code for it also and added the features of multiple schedules, edit, delete, disable and enable, and schedule types. After all this, it was like, I built an app, but this so called app was not working after I restarted my mac. And just because of this, I needed to work 5 more days to figure out the solution. And when I got the solution. I did the final test. However, after restarting it takes around 3-5 minutes to block the app but it does block the app. Now, I can declare it a professional, working, Multi-App-Blocker. Note: This application is only for macOS. And you can download the .dmg file from the try project link below. Thank You so much for reading it till here....
|
1793047942.0632558
|
1793134342.0632558
|
|
327
|
ToBeDone... by @Koy | Stardance
|
Koy
|
1
|
37.36
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-14T21:48:12Z", "hours": 35.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is a notetaking app for the TUI. Please read the Readme for quickstart instructions!", "repo": "https://github.com/By-Koy/ToBeDone", "demo": "https://github.com/By-Koy/ToBeDone/releases/latest"}]...
|
[{"post_id": 79282, "ts": "202 [{"post_id": 79282, "ts": "2026-10-13T09:56:35Z", "hours": 2.3603, "text": "DevLog[9] - “Wait didn’t you ship this alr?” well hello to you too but uhh yeah… I tried to ship this like 5 times by now but it had so many problems that I didn’t think of (thanks Shipwrights! ) Anyway here are the changes since my last devlog: 1. Windows install scripts: Made with help from my friend Nadav Babad ( @smokinghotcode on github) because he has an actual windows capable pc 2. Switched to stderr: This switch happened because of windows not opening the exe file directly in the terminal (you would have to open it via command prompt). I am yet to test it but this was the only I have found to maybe make this work. 3. Better Github actions: This was just a by-product of all the iterations I went through, it was a nice intro to actions though! Anw good luck to me and the shipwrights, here’s a picture of the windows iso downloading (Insert edit from after testing since I feel like it won’t work)"}, {"post_id": 68298, "ts": "2026-09-14T21:43:39Z", "hours": 4.1486, "text": "DevLog[8] - “The End.” TL;DR: I got sick of this project and ended it. How did we get here? Formatting suckssssss. anyway, So I’ve been thinking about how I can save formatting to a file without encoding it into md and long story short, I can’t. The only way I could think of was to save binary files and simply (it was so hard I gave up) flush the memory into a file. Yeah I couldn’t figure that out. So what DID I do in the last 4 hours? Finishing touches! basically, I made build scripts, finished the readme, and made a github action to build the portable files. I also cleaned up just a bit from the uneaded code and (theoretically) made the app cross-platform (I don’t have access to a windows machine so it ended up getting a lot less love… oopsie…) I hope you can still enjoy my project (or my wacky writing ) without everything I neglected to do. and for one last (maybe) time. Have a nice day!"}, {"post_id": 66508, "ts": "2026-09-12T10:50:01Z", "hours": 4.4931, "text": "DevLog[7] - “MiniLog!” Hiiiiiii this time I focused on one thing (wasn’t easy lol) and that was a reset option! you can now remove all notes in one command! :3 I also gave up and then un-gave up on cross-platform so that’s cool Anyway I might go back to work and do cross-platform next (I rlly don’t wanna do formating )"}, {"post_id": 50968, "ts": "2026-08-20T13:18:44Z", "hours": 9.0122, "text": "DevLog[6] - “Rebase Rebase Rebase Rebase Rebase” Hi again! This… is a sad one. But first, the accomplishments!! in this devlog I have: Refactored the file.rs file (that saves/reads the files) to remove things like creating an uninitialized variable just to initialize it 3.14 seconds later in an if statement, in favor of initializing the variable with the if statement. ( let id = if input... ) Changed the massive iterator function line for cutting away from the displayed strings into the paragraph.scroll() function (which like, since when does that exist yk?) Moved the args struct into a static LazyLock<Mutex> which allows for a (relatively) safe global variable defined at runtime :3. Added modifier parsing for proper hotkeys and an options menu (internally called FormatDisplay , for reasons to be explained later) to show all the hotkeys. Turns out 9 hours is a lot lol. WAIT NO I DON’T WANN- Markdown Or well, the lack of it. over time while trying to work on this I realised that full markdown support is wayyyyy out of the scope of my (and the TUI’s) capabilities. {more info in the readme } after testing a few options (including a line-by-line implementation) I had found a silver-lining: FormatDisplay The menu is a new widget in the program, it simply shows the available keybinds, with SUPER keybinds formatting text, while control does things in the program. Do be warned though. I did not have time to make the actual functionality 😭"}, {"post_id": 38192, "ts": "2026-07-31T13:54:28Z", "hours": 2.0144, "text": "DevLog[5] - “I’m not wasting time or anything, why do you ask?” 👀👀👀 Hey all! this is a smaller one as I get things ready for the next part, markdown! Today, (and by this I mean it’s no longer 3 am) I have added CLI arguments for debugging, generating sample text, and no… eggs? Yeah Idk what that’s about (actually though that one is saved for later it might disappear) I have also fixed a few leftover errors and have tested the program on MacOS! :33 it worked almost immediately once I created the folder where all the notes are stored and set its permissions (I will set up install scripts to set everything up once I do all the functionality and windows support) By the way.. I wrote the readme.. you should check it out!! » Anw, have a nice dayy :3 (🥚)"}, {"post_id": 37943, "ts": "2026-07-30T23:45:40Z", "hours": 6.3153, "text": "DevLog[4] - “Movement, again” Hi there, welcome to my personal hell. ( ) It’s called movement. I have spent the last (non-consecutive) 6 hours to make something not too interesting, but not too uninteresting. (👀 ) cursor movement is extremely important for a note-taking app which currently doesn’t have planned mouse support, so I made sure to perfect (copy nano’s) it! Over the time I also: Moved all cursor based functions and the terminal constraint vars into the cursor struct itself Seperated some code to make it easier to read/edit Changed function names about a thousand times (it’s hard ) Learned the value of friendship (/j) I don’t really have much to show just because of the shear monotony of the task but here is a video of the weirdest bug I encountered on this journey (and probably the weirdest I ever will encounter), let’s see if you can figure out what happened :p"}, {"post_id": 10142, "ts": "2026-06-16T19:02:31Z", "hours": 2.425, "text": "DevLog[3] - “This Takes Way Too Long” Hey everyone!! For this log I have prepared a delightful… nevermind, this is all technical stuff. :sadge Never the less we will take a look! the main things I did was adding cursor support and improving input handling, which went from temporary to (practically) production! The other part (the hard part that took like two hours) was adding the cursor. I hate this thing. The cursor made the program panic in so many ways that I stopped counting. also figuring out how to even add it was another hour or two just in research (this ended up as like three lines btw) for anyone wondering, the cursor is held in the main struct as it’s own struct of two u16 variables which are added (or removed from) whenever the arrow keys are pressed. The displayed block is Ratatui’s default cursor that took me a million years to find. :sob Anyway, I have attached a video of most of the programs capabilities (I forgot to film the recent option and am too tired to do it again, sorry) [the hello and goodbye notes were not there initially]"}, {"post_id": 4751, "ts": "2026-06-08T06:18:40Z", "hours": 3.3658, "text": "DevLog[2] - “File Reader” Hiiiiii In this devlog I have implemented all of the logic to read files, save them to the main app struct and then save a symlink that let’s you access the last used note without specifying its title. (currently everything is linux only, cross-platform support will come later) (explanation for the screenshots: both commands shown in fig. 1 have the same output [shown in fig. 2.])"}, {"post_id": 3412, "ts": "2026-06-06T10:20:28Z", "hours": 3.1089, "text": "DevLog[1] - POC Hey! in this devlog I implemented the main TUI function, though I have not yet implemented a good way to control it (currently I am not even checking which key was pressed or if the event was a key press…), and a little Sample text file for testing. I don’t really have much to add, I am still new to Rust and Ratatui so I am very slow. (sorry :sob) Thanks for reading! :purple-heart"}]...
|
Title: ToBeDone... by @Koy | Stardance
Devlogs:
D Title: ToBeDone... by @Koy | Stardance
Devlogs:
DevLog[1] - POC Hey! in this devlog I implemented the main TUI function, though I have not yet implemented a good way to control it (currently I am not even checking which key was pressed or if the event was a key press…), and a little Sample text file for testing. I don’t really have much to add, I am still new to Rust and Ratatui so I am very slow. (sorry :sob) Thanks for reading! :purple-heart
DevLog[2] - “File Reader” Hiiiiii In this devlog I have implemented all of the logic to read files, save them to the main app struct and then save a symlink that let’s you access the last used note without specifying its title. (currently everything is linux only, cross-platform support will come later) (explanation for the screenshots: both commands shown in fig. 1 have the same output [shown in fig. 2.])
DevLog[3] - “This Takes Way Too Long” Hey everyone!! For this log I have prepared a delightful… nevermind, this is all technical stuff. :sadge Never the less we will take a look! the main things I did was adding cursor support and improving input handling, which went from temporary to (practically) production! The other part (the hard part that took like two hours) was adding the cursor. I hate this thing. The cursor made the program panic in so many ways that I stopped counting. also figuring out how to even add it was another hour or two just in research (this ended up as like three lines btw) for anyone wondering, the cursor is held in the main struct as it’s own struct of two u16 variables which are added (or removed from) whenever the arrow keys are pressed. The displayed block is Ratatui’s default cursor that took me a million years to find. :sob Anyway, I have attached a video of most of the programs capabilities (I forgot to film the recent option and am too tired to do it again, sorry) [the hello and goodbye notes were not there initially]
DevLog[4] - “Movement, again” Hi there, welcome to my personal hell. ( ) It’s called movement. I have spent the last (non-consecutive) 6 hours to make something not too interesting, but not too uninteresting. (👀 ) cursor movement is extremely important for a note-taking app which currently doesn’t have planned mouse support, so I made sure to perfect (copy nano’s) it! Over the time I also: Moved all cursor based functions and the terminal constraint vars into the cursor struct itself Seperated some code to make it easier to read/edit Changed function names about a thousand times (it’s hard ) Learned the value of friendship (/j) I don’t really have much to show just because of the shear monotony of the task but here is a video of the weirdest bug I encountered on this journey (and probably the weirdest I ever will encounter), let’s see if you can figure out what happened :p
DevLog[5] - “I’m not wasting time or anything, why do you ask?” 👀👀👀 Hey all! this is a smaller one as I get things ready for the next part, markdown! Today, (and by this I mean it’s no longer 3 am) I have added CLI arguments for debugging, generating sample text, and no… eggs? Yeah Idk what that’s about (actually though that one is saved for later it might disappear) I have also fixed a few leftover errors and have tested the program on MacOS! :33 it worked almost immediately once I created the folder where all the notes are stored and set its permissions (I will set up install scripts to set everything up once I do all the functionality and windows support) By the way.. I wrote the readme.. you should check it out!! » Anw, have a nice dayy :3 (🥚)
DevLog[6] - “Rebase Rebase Rebase Rebase Rebase” Hi again! This… is a sad one. But first, the accomplishments!! in this devlog I have: Refactored the file.rs file (that saves/reads the files) to remove things like creating an uninitialized variable just to initialize it 3.14 seconds later in an if statement, in favor of initializing the variable with the if statement. ( let id = if input... ) Changed the massive iterator function line for cutting away from the displayed strings into the paragraph.scroll() function (which like, since when does that exist yk?) Moved the args struct into a static LazyLock<Mutex> which allows for a (relatively) safe global variable defined at runtime :3. Added modifier parsing for proper hotkeys and an options menu (internally called FormatDisplay , for reasons to be explained later) to show all the hotkeys. Turns out 9 hours is a lot lol. WAIT NO I DON’T WANN- Markdown Or well, the lack of it. over time while trying to work on this I realised that full markdown support is wayyyyy out of the scope of my (and the TUI’s) capabilities. {more info in the readme } after testing a few options (including a line-by-line implementation) I had found a silver-lining: FormatDisplay The menu is a new widget in the program, it simply shows the available keybinds, with SUPER keybinds formatting text, while control does things in the program. Do be warned though. I did not have time to make the actual functionality 😭
DevLog[7] - “MiniLog!” Hiiiiiii this time I focused on one thing (wasn’t easy lol) and that was a reset option! you can now remove all notes in one command! :3 I also gave up and then un-gave up on cross-platform so that’s cool Anyway I might go back to work and do cross-platform next (I rlly don’t wanna do formating )
DevLog[8] - “The End.” TL;DR: I got sick of this project and ended it. How did we get here? Formatting suckssssss. anyway, So I’ve been thinking about how I can save formatting to a file without encoding it into md and long story short, I can’t. The only way I could think of was to save binary files and simply (it was so hard I gave up) flush the memory into a file. Yeah I couldn’t figure that out. So what DID I do in the last 4 hours? Finishing touches! basically, I made build scripts, finished the readme, and made a github action to build the portable files. I also cleaned up just a bit from the uneaded code and (theoretically) made the app cross-platform (I don’t have access to a windows machine so it ended up getting a lot less love… oopsie…) I hope you can still enjoy my project (or my wacky writing ) without everything I neglected to do. and for one last (maybe) time. Have a nice day!
DevLog[9] - “Wait didn’t you ship this alr?” well hello to you too but uhh yeah… I tried to ship this like 5 times by now but it had so many problems that I didn’t think of (thanks Shipwrights! ) Anyway here are the changes since my last devlog: 1. Windows install scripts: Made with help from my friend Nadav Babad ( @smokinghotcode on github) because he has an actual windows capable pc 2. Switched to stderr: This switch happened because of windows not opening the exe file directly in the terminal (you would have to open it via command prompt). I am yet to test it but this was the only I have found to maybe make this work. 3. Better Github actions: This was just a by-product of all the iterations I went through, it was a nice intro to actions though! Anw good luck to me and the shipwrights, here’s a picture of the windows iso downloading (Insert edit from after testing since I feel like it won’t work)
Ships:
This is a notetaking app for the TUI. Please read the Readme for quickstart instructions!...
|
1793148952.8901272
|
1793235352.8901272
|
|
69475
|
Siyam-OS by @Siyam | Stardance
|
Siyam
|
1
|
1.0
|
1
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T10:17:18Z", "hours": 1.0, "multiplier": 1.03, "payout": 1, "blessing": "neutral", "text": "Siyam-OS Welcome to WebOS, a fully functional, lightweight desktop environment running entirely inside your browser, built using HTML, CSS, and vanilla JavaScript for the Hack Club Stardance event. This retro-modern web operating system is proudly crafted with human-written code, complemented by minor AI assistance. It features an interactive desktop environment complete with draggable and resizable windows, a custom taskbar, a start menu, a live clock, and personalizable themes. Users can interact with a variety of built-in applications, including a custom command-line terminal emulator with a simulated file system, retro mini-games, a simulated web browser interface, a file manager, and a text editor. Designed with zero heavy frameworks, WebOS relies solely on pure, optimized HTML5, CSS3, and JavaScript (ES6+) for blazing-fast performance without requiring complex installation steps or external build tools. Live Preview : https://tanzil-alam.github.io/Siyam-OS/", "repo": "https://github.com/Tanzil-Alam/Siyam-OS", "demo": "https://tanzil-alam.github.io/Siyam-OS/"}]...
|
[{"post_id": 79284, "ts": "202 [{"post_id": 79284, "ts": "2026-10-13T10:13:28Z", "hours": 0.7186, "text": "Siyam-OS Welcome to WebOS, a fully functional, lightweight desktop environment running entirely inside your browser, built using HTML, CSS, and vanilla JavaScript for the Hack Club Stardance event. This retro-modern web operating system is proudly crafted with human-written code, complemented by minor AI assistance. It features an interactive desktop environment complete with draggable and resizable windows, a custom taskbar, a start menu, a live clock, and personalizable themes. Users can interact with a variety of built-in applications, including a custom command-line terminal emulator with a simulated file system, retro mini-games, a simulated web browser interface, a file manager, and a text editor. Designed with zero heavy frameworks, WebOS relies solely on pure, optimized HTML5, CSS3, and JavaScript (ES6+) for blazing-fast performance without requiring complex installation steps or external build tools. Live Preview : Click me"}]...
|
Title: Siyam-OS by @Siyam | Stardance
Devlogs:
Si Title: Siyam-OS by @Siyam | Stardance
Devlogs:
Siyam-OS Welcome to WebOS, a fully functional, lightweight desktop environment running entirely inside your browser, built using HTML, CSS, and vanilla JavaScript for the Hack Club Stardance event. This retro-modern web operating system is proudly crafted with human-written code, complemented by minor AI assistance. It features an interactive desktop environment complete with draggable and resizable windows, a custom taskbar, a start menu, a live clock, and personalizable themes. Users can interact with a variety of built-in applications, including a custom command-line terminal emulator with a simulated file system, retro mini-games, a simulated web browser interface, a file manager, and a text editor. Designed with zero heavy frameworks, WebOS relies solely on pure, optimized HTML5, CSS3, and JavaScript (ES6+) for blazing-fast performance without requiring complex installation steps or external build tools. Live Preview : Click me
Ships:
Siyam-OS Welcome to WebOS, a fully functional, lightweight desktop environment running entirely inside your browser, built using HTML, CSS, and vanilla JavaScript for the Hack Club Stardance event. This retro-modern web operating system is proudly crafted with human-written code, complemented by minor AI assistance. It features an interactive desktop environment complete with draggable and resizable windows, a custom taskbar, a start menu, a live clock, and personalizable themes. Users can interact with a variety of built-in applications, including a custom command-line terminal emulator with a simulated file system, retro mini-games, a simulated web browser interface, a file manager, and a text editor. Designed with zero heavy frameworks, WebOS relies solely on pure, optimized HTML5, CSS3, and JavaScript (ES6+) for blazing-fast performance without requiring complex installation steps or external build tools. Live Preview : https://tanzil-alam.github.io/Siyam-OS/...
|
1793155731.9360733
|
1793242131.9360733
|
|
45943
|
Repliyer by @chaitanya | Stardance
|
chaitanya
|
1
|
8.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T10:58:42Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A discord bot using discord python package and hugging face api integration", "repo": "https://github.com/nums404/Repliyer-Bot", "demo": "https://discord.gg/WqYjcjzn3z"}]...
|
[{"post_id": 79286, "ts": "202 [{"post_id": 79286, "ts": "2026-10-13T10:18:52Z", "hours": 8.2108, "text": "Bot implemented for now"}]...
|
Title: Repliyer by @chaitanya | Stardance
Devlogs Title: Repliyer by @chaitanya | Stardance
Devlogs:
Bot implemented for now
Ships:
A discord bot using discord python package and hugging face api integration...
|
1793047966.583752
|
1793134366.583752
|
|
67081
|
Senweget by @Alaxtor | Stardance
|
Alaxtor
|
0
|
19.23
|
0
|
[]
|
[{"post_id": 79287, "ts": "202 [{"post_id": 79287, "ts": "2026-10-13T10:27:01Z", "hours": 1.2956, "text": "Made the firmware and was a pain but i understand it a bit better now."}, {"post_id": 79215, "ts": "2026-10-13T01:58:46Z", "hours": 1.1653, "text": "AHHH Have to write readme"}, {"post_id": 78884, "ts": "2026-10-11T21:19:33Z", "hours": 2.3583, "text": "Emm took some time but got it now i need to design it and added tabs so it can fit together well.and made the left side of the keyboard"}, {"post_id": 78466, "ts": "2026-10-10T21:21:51Z", "hours": 2.0917, "text": "I Added the M3 screws and now need the build the support for my pcb and make the right side of thekeyboard."}, {"post_id": 76503, "ts": "2026-10-03T19:27:11Z", "hours": 3.8056, "text": "Almost built the case now need to add a speaker in the schematic and make hole for it and add screw holes for the top And anyone got any tips for it be more fun to use."}, {"post_id": 76130, "ts": "2026-10-02T13:15:21Z", "hours": 0.6792, "text": "Added the audio jack to connect the two sides and made stl and Gerber Files"}, {"post_id": 76120, "ts": "2026-10-02T11:36:06Z", "hours": 1.115, "text": "I fixed the errors added rest of the lines and connected the MCU.Now just need to add the audio jack"}, {"post_id": 75971, "ts": "2026-10-01T19:44:51Z", "hours": 3.5125, "text": "Made the PCb design and need to connect to the microcontroller and add a audio jack."}, {"post_id": 75739, "ts": "2026-09-30T22:09:48Z", "hours": 3.2031, "text": "Picked out the parts,got the footprints and made the schematic"}]...
|
Title: Senweget by @Alaxtor | Stardance
Devlogs:
Title: Senweget by @Alaxtor | Stardance
Devlogs:
Picked out the parts,got the footprints and made the schematic
Made the PCb design and need to connect to the microcontroller and add a audio jack.
I fixed the errors added rest of the lines and connected the MCU.Now just need to add the audio jack
Added the audio jack to connect the two sides and made stl and Gerber Files
Almost built the case now need to add a speaker in the schematic and make hole for it and add screw holes for the top And anyone got any tips for it be more fun to use.
I Added the M3 screws and now need the build the support for my pcb and make the right side of thekeyboard.
Emm took some time but got it now i need to design it and added tabs so it can fit together well.and made the left side of the keyboard
AHHH Have to write readme
Made the firmware and was a pain but i understand it a bit better now....
|
1793105646.8249536
|
1793710446.8249536
|
|
7854
|
CometOS by @Aradhana | Stardance
|
Aradhana
|
1
|
39.23
|
48
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-22T11:27:56Z", "hours": 31.0, "multiplier": 1.71, "payout": 48, "blessing": "neutral", "text": "I built a WebOS that was designed to explore a character - the Sorceress Comet, a student at the Arx Nubium - and her fictional world of Alarica. As people use it, they find out more about Comet’s world, thoughts and family. It has a notebook app (where you can write your thoughts), a family tree app (to see a bit more of what Comet’s life is like) and comes with added functionality for the users - a date and time display, and battery meter. Now, the project is finally SHIPPED!", "repo": "https://github.com/dragonloversod051-max/CometOS", "demo": "https://dragonloversod051-max.github.io/CometOS/"}]...
|
[{"post_id": 79292, "ts": "202 [{"post_id": 79292, "ts": "2026-10-13T11:03:42Z", "hours": 8.2306, "text": "Devlog #8 Ok, so this is the FIRST devlog after the ship. Not really happy about how the ship went but oh well. Anyway, so, I added stuff: A Settings App Upgrades to the UI Worked on a sort of dictionary for all the new stuff that I’m introducing (after all, it is CometOS) The Settings App: Ok, so one of the major themes in the feedback I got was there needed to be more apps (since its an OS). So, I added a settings app, as just a basic, customization app. So, you can change the background image, and there’s a bit of design choices as well. I kept it so you need to scroll down to see all the images (some people won’t agree with this, but personally, I really like it. The scrolling feels more interactive and is required for a window size that looks really, really good). Also, the borders of the buttons turn blue when selected, and there obviously also a shadow indication that its a button when you hover over it. UI changes: So this was actually pretty small but looked really cool. I’ve seen on some sites there are just these little elements that blur the background behind them. While I was tinkering with css for the button shading I realized there was a style of filter: blur() . From there I found out about backdrop-filter: blur() and used that in the CometOS welcome window and the top and bottom bars. The dictionary app (name needs workshopping) So this is basically just because CometOS is about a fictional character in a fantasy world, so there needed to be an app that dealt with some words and terms used in other partts of the website (specifically the family tree). I felt there needed to be something to explain it, so, I added this. Its not done, so far I’m just done with one of the Relseiðr pages. Currently this is just hidden with display: none so I can work on functionality first. Challenges: There were really only a few challenges this time. The largest one was actually just getting the seperate visual cues which go ( oh, this is interactive! ) for the button and the image inside. Because I kept accidentally giving the button’s new classList to the image. And thats when I realized event.target and event.currentTarget were different and made for this….. On a side note, omg, display: inline-flex is so helpful! What I’ll work on next: I have now realized that since I’m adding so many apps, I need to add proper, adaptive view bounds. Before this I was using local pixel-specific bounds which were adapted to my viewport, and just not putting it on github, because I had already put in the work for those view bounds a few months ago, and it worked really well for me. So, anyway, I have now decided I need proper view bounds, so definitely going to work on that. Also, heres the new Settings app, and the beginning of the dictionary app."}, {"post_id": 71729, "ts": "2026-09-21T12:19:13Z", "hours": 2.21, "text": "Devlog #7 So, I thought it was ready to be shipped, but it wasn’t. In the final checks, I found out that because I had used pixel - specific drag bounds , while it worked perfectly on my laptop, it didn’t on anyone else’s (since other devices have different viewports, different areas. Some have longer lengths or widths than others, leading drag bounds to potentially be in the middle of the screen). I tinkered with it for a while (enlisting a bit of AI help) , but then realized that there was something about the new code that was messing up the notebook app (the sidebar stuck to the edge of the viewport). And, since there was about only one week left (and exams are starting soon), I decided to not accidentally mess up anything else, and so, deleted the drag bounds - I mean, better to be able to drag windows anywhere than have bounds that completely restrict it, right? - The good part is that even if the window goes out of the viewport somehow, you can just reload the screen to get it all back, which has no real downside since notes autosave. So anyway, now, we are actually , finally ready to ship ! This was what was happening to the notebook app btw"}, {"post_id": 43179, "ts": "2026-08-08T09:26:22Z", "hours": 3.4597, "text": "Devlog #6 We are FINALLY DONE and ready for the FIRST SHIP! Here’s whats new: Added information bubbles for each and every character in the family tree, which can be easily opened and closed. Fixed the selection for icons in the bottom bar: The green highlighted background would also highlight the areas where there were padding which we didn’t want because the icons would then be off center. Fixed this by adding a new transparent div in the middle, so padding is no longer required. Challenges: Fixing the icon selection bug. I played around with box-size for a bit but then chose to just add a transparent div between icons. Getting the information window to move along with the family tree window (as that is draggable). After a lot of testing, I realized I could just keep it inside the div but in positioning, its overflowing, so with an overflow: auto tag, it’s now set up and working! This is a screenshot of how the info bubble would break because it wasn’t in the same div:"}, {"post_id": 38671, "ts": "2026-08-01T05:38:48Z", "hours": 5.8169, "text": "Devlog #5 Ok, so, update: Created the family tree Improved feel of the app (through a visual sign when you hover over a character button) Fully initialized the window for the family tree app (made it closable, draggable, opens with an icon, added drag bounds). Challenges: The family tree image kept going above the icons used to drag and close the window. I put them in a different and experimented with different ways for SOOOO long - turned out I was just missing a position: absolute tag…. There was also a small bug where the buttons would go under the image instead of on it. Here are some pictures of the bugs, since it’s pretty hard to explain:"}, {"post_id": 34516, "ts": "2026-07-25T09:34:28Z", "hours": 0.6922, "text": "Devlog #4 I’ve started the next app - an interactive family tree. Since CometOS is based around Comet, I figured I should add a family tree. So this app is going to have clickable buttons for each member of the family, to give some info. Basically, its a massive lore drop. Here’s the wireframe for the app, and also an entire page I spent planning it because I ran into a few problems…"}, {"post_id": 31185, "ts": "2026-07-19T11:57:03Z", "hours": 12.5381, "text": "Devlog #3 What’s new: Added a bottom bar to store content selection options Added a notes app which is editable (and stored in javascript)-you can add your own notes. Added a save feature to the notes app-log back in anytime and the note is still there. YOU WOULD NOT BELIEVE HOW LONG THIS TOOK ( but, I learned how to save things in localStorage ). Fixed a bug where was at the bottom of the and the .js file and .css file weren’t loading in the live server. Fixed the bug where you lose the handle and the window gets stuck at the top/bottom of the page by making it so you can click through the top and bottom bar. Challenges: I spent a whole afternoon trying to come up with a clever way to avoid putting html in my .js file (because it looked messy), only to end up putting it in my .js file….. MOVING ON, There was some really weird stuff happening with saving notes. Like, I would write stuff, and it would be saved, but in different ’s? So only one was actually editable and the rest were all floating under it. Started to debug in a live server instead of as a file. The html and css files weren’t loading in. I spent so long trying to figure out why, and then realized that should be at the top of the body, not at the bottom ( You know, like an actual head. Wow, thats pretty self-explanatory ). So then, I fixed that and to check if it was working or not, made the background hot pink in css.( AND IT WORKED! And I will never be able to forget that image ). What’s next: Ok, so next, I still have to finish a few things. Make it so that you can’t drag windows past a certain limit (to prevent the background image scrolling and multiplying - learned how to clamp draggable elements to the viewport!). START STEP 5! So since this entire webOS is based around a fictional character-Comet, I think I’ll make an interactive family tree. So, each person has buttons and that leads you to a brief description about them ( and lore. LOTS of lore ). This is how the webOS looked in the test. I’m still not sure how the top bar also turned light pink, but, cool I guess"}, {"post_id": 15523, "ts": "2026-06-25T06:48:06Z", "hours": 1.6658, "text": "Devlog#2 Done with step 3. So now I can open, close and move around the welcome screen window. The cross acts as the close button, and you click and drag the hand part of the window to move it around. So I’ve updated the CometOS text in the top bar to open this window - hence it looks a lot more like a button. I think for the next windows and apps I’m going to make the open button in a side bar. And I finally figured out what classes are! So yeah, for now thats it, but I think by the end of step 4 its going to be a massive update with a lot more things."}, {"post_id": 13644, "ts": "2026-06-22T11:56:42Z", "hours": 4.2733, "text": "Devlog #1 So this is CometOS which is from the mission WebOS 1. It revolves around a fictional character - the Sorceress (in-training) Comet, set in the fictional world of Alarica. So far I’ve finished uptil step 2. So the top bar can track time, and also battery levels and gives custom messages based on the battery. Right now that’s pretty much it but I can’t wait to expand the project and develop the world and everything."}]...
|
Title: CometOS by @Aradhana | Stardance
Devlogs:
Title: CometOS by @Aradhana | Stardance
Devlogs:
Devlog #1 So this is CometOS which is from the mission WebOS 1. It revolves around a fictional character - the Sorceress (in-training) Comet, set in the fictional world of Alarica. So far I’ve finished uptil step 2. So the top bar can track time, and also battery levels and gives custom messages based on the battery. Right now that’s pretty much it but I can’t wait to expand the project and develop the world and everything.
Devlog#2 Done with step 3. So now I can open, close and move around the welcome screen window. The cross acts as the close button, and you click and drag the hand part of the window to move it around. So I’ve updated the CometOS text in the top bar to open this window - hence it looks a lot more like a button. I think for the next windows and apps I’m going to make the open button in a side bar. And I finally figured out what classes are! So yeah, for now thats it, but I think by the end of step 4 its going to be a massive update with a lot more things.
Devlog #3 What’s new: Added a bottom bar to store content selection options Added a notes app which is editable (and stored in javascript)-you can add your own notes. Added a save feature to the notes app-log back in anytime and the note is still there. YOU WOULD NOT BELIEVE HOW LONG THIS TOOK ( but, I learned how to save things in localStorage ). Fixed a bug where was at the bottom of the and the .js file and .css file weren’t loading in the live server. Fixed the bug where you lose the handle and the window gets stuck at the top/bottom of the page by making it so you can click through the top and bottom bar. Challenges: I spent a whole afternoon trying to come up with a clever way to avoid putting html in my .js file (because it looked messy), only to end up putting it in my .js file….. MOVING ON, There was some really weird stuff happening with saving notes. Like, I would write stuff, and it would be saved, but in different ’s? So only one was actually editable and the rest were all floating under it. Started to debug in a live server instead of as a file. The html and css files weren’t loading in. I spent so long trying to figure out why, and then realized that should be at the top of the body, not at the bottom ( You know, like an actual head. Wow, thats pretty self-explanatory ). So then, I fixed that and to check if it was working or not, made the background hot pink in css.( AND IT WORKED! And I will never be able to forget that image ). What’s next: Ok, so next, I still have to finish a few things. Make it so that you can’t drag windows past a certain limit (to prevent the background image scrolling and multiplying - learned how to clamp draggable elements to the viewport!). START STEP 5! So since this entire webOS is based around a fictional character-Comet, I think I’ll make an interactive family tree. So, each person has buttons and that leads you to a brief description about them ( and lore. LOTS of lore ). This is how the webOS looked in the test. I’m still not sure how the top bar also turned light pink, but, cool I guess
Devlog #4 I’ve started the next app - an interactive family tree. Since CometOS is based around Comet, I figured I should add a family tree. So this app is going to have clickable buttons for each member of the family, to give some info. Basically, its a massive lore drop. Here’s the wireframe for the app, and also an entire page I spent planning it because I ran into a few problems…
Devlog #5 Ok, so, update: Created the family tree Improved feel of the app (through a visual sign when you hover over a character button) Fully initialized the window for the family tree app (made it closable, draggable, opens with an icon, added drag bounds). Challenges: The family tree image kept going above the icons used to drag and close the window. I put them in a different and experimented with different ways for SOOOO long - turned out I was just missing a position: absolute tag…. There was also a small bug where the buttons would go under the image instead of on it. Here are some pictures of the bugs, since it’s pretty hard to explain:
Devlog #6 We are FINALLY DONE and ready for the FIRST SHIP! Here’s whats new: Added information bubbles for each and every character in the family tree, which can be easily opened and closed. Fixed the selection for icons in the bottom bar: The green highlighted background would also highlight the areas where there were padding which we didn’t want because the icons would then be off center. Fixed this by adding a new transparent div in the middle, so padding is no longer required. Challenges: Fixing the icon selection bug. I played around with box-size for a bit but then chose to just add a transparent div between icons. Getting the information window to move along with the family tree window (as that is draggable). After a lot of testing, I realized I could just keep it inside the div but in positioning, its overflowing, so with an overflow: auto tag, it’s now set up and working! This is a screenshot of how the info bubble would break because it wasn’t in the same div:
Devlog #7 So, I thought it was ready to be shipped, but it wasn’t. In the final checks, I found out that because I had used pixel - specific drag bounds , while it worked perfectly on my laptop, it didn’t on anyone else’s (since other devices have different viewports, different areas. Some have longer lengths or widths than others, leading drag bounds to potentially be in the middle of the screen). I tinkered with it for a while (enlisting a bit of AI help) , but then realized that there was something about the new code that was messing up the notebook app (the sidebar stuck to the edge of the viewport). And, since there was about only one week left (and exams are starting soon), I decided to not accidentally mess up anything else, and so, deleted the drag bounds - I mean, better to be able to drag windows anywhere than have bounds that completely restrict it, right? - The good part is that even if the window goes out of the viewport somehow, you can just reload the screen to get it all back, which has no real downside since notes autosave. So anyway, now, we are actually , finally ready to ship ! This was what was happening to the notebook app btw
Devlog #8 Ok, so this is the FIRST devlog after the ship. Not really happy about how the ship went but oh well. Anyway, so, I added stuff: A Settings App Upgrades to the UI Worked on a sort of dictionary for all the new stuff that I’m introducing (after all, it is CometOS) The Settings App: Ok, so one of the major themes in the feedback I got was there needed to be more apps (since its an OS). So, I added a settings app, as just a basic, customization app. So, you can change the background image, and there’s a bit of design choices as well. I kept it so you need to scroll down to see all the images (some people won’t agree with this, but personally, I really like it. The scrolling feels more interactive and is required for a window size that looks really, really good). Also, the borders of the buttons turn blue when selected, and there obviously also a shadow indication that its a button when you hover over it. UI changes: So this was actually pretty small but looked really cool. I’ve seen on some sites there are just these little elements that blur the background behind them. While I was tinkering with css for the button shading I realized there was a style of filter: blur() . From there I found out about backdrop-filter: blur() and used that in the CometOS welcome window and the top and bottom bars. The dictionary app (name needs workshopping) So this is basically just because CometOS is about a fictional character in a fantasy world, so there needed to be an app that dealt with some words and terms used in other partts of the website (specifically the family tree). I felt there needed to be something to explain it, so, I added this. Its not done, so far I’m just done with one of the Relseiðr pages. Currently this is just hidden with display: none so I can work on functionality first. Challenges: There were really only a few challenges this time. The largest one was actually just getting the seperate visual cues which go ( oh, this is interactive! ) for the button and the image inside. Because I kept accidentally giving the button’s new classList to the image. And thats when I realized event.target and event.currentTarget were different and made for this….. On a side note, omg, display: inline-flex is so helpful! What I’ll work on next: I have now realized that since I’m adding so many apps, I need to add proper, adaptive view bounds. Before this I was using local pixel-specific bounds which were adapted to my viewport, and just not putting it on github, because I had already put in the work for those view bounds a few months ago, and it worked really well for me. So, anyway, I have now decided I need proper view bounds, so definitely going to work on that. Also, heres the new Settings app, and the beginning of the dictionary app.
Ships:
I built a WebOS that was designed to explore a character - the Sorceress Comet, a student at the Arx Nubium - and her fictional world of Alarica. As people use it, they find out more about Comet’s world, thoughts and family. It has a notebook app (where you can write your thoughts), a family tree app (to see a bit more of what Comet’s life is like) and comes with added functionality for the users - a date and time display, and battery meter. Now, the project is finally SHIPPED!...
|
1793152232.0427723
|
1793238632.0427723
|
|
69278
|
Wave Survival by @Nugget_Bwai | Stardance
|
Nugget_Bwai
|
0
|
0.38
|
0
|
[]
|
[{"post_id": 79296, "ts": "202 [{"post_id": 79296, "ts": "2026-10-13T11:31:31Z", "hours": 0.3836, "text": "Wave survival is a game where you have to kill waves of enemies before they destroy your base. I have made the spawn box for the characters as well as some gui elements, I also have a mock up map to test the mechanics and stuff"}]...
|
Title: Wave Survival by @Nugget_Bwai | Stardance
Title: Wave Survival by @Nugget_Bwai | Stardance
Devlogs:
Wave survival is a game where you have to kill waves of enemies before they destroy your base. I have made the spawn box for the characters as well as some gui elements, I also have a mock up map to test the mechanics and stuff...
|
1793130865.9018703
|
1793735665.9018703
|
|
68969
|
darakhtnamah by @ibrahim- | Stardance
|
ibrahim-
|
0
|
4.46
|
0
|
[]
|
[{"post_id": 79299, "ts": "202 [{"post_id": 79299, "ts": "2026-10-13T12:19:59Z", "hours": 0.3597, "text": "Devlog #8 Added the rest of the missing pages, fixed mobile view and a few other bugs."}, {"post_id": 79034, "ts": "2026-10-12T13:26:19Z", "hours": 0.2886, "text": "Devlog #7 Moved the images to a CDN, styled the plant of the day page, fixed a few bugs, and finally, added the maximum height field"}, {"post_id": 79024, "ts": "2026-10-12T12:07:43Z", "hours": 0.8367, "text": "Devlog #6 Added Punjabi calendar months, with the fruiting season highlighted, and seed type mentioned. Also added a field for cultural importance"}, {"post_id": 79015, "ts": "2026-10-12T11:06:46Z", "hours": 0.2817, "text": "Devlog #5 Added a distribution map using UMap embeds."}, {"post_id": 78408, "ts": "2026-10-10T17:41:30Z", "hours": 0.5333, "text": "Devlog #4 Added the individual plant details page. Looks good"}, {"post_id": 78332, "ts": "2026-10-10T13:58:47Z", "hours": 0.9964, "text": "Devlog #3 Added and formatted a list of native plants (i compiled it earlier) + images Made the search feature work!"}, {"post_id": 78319, "ts": "2026-10-10T12:18:41Z", "hours": 0.5256, "text": "Devlog #2 Added a plant of the day banner alongside a navbar that is present on both the landing page and the plants page"}, {"post_id": 78304, "ts": "2026-10-10T11:28:24Z", "hours": 0.6364, "text": "Devlog #1 Made the landing page, need feedback on what can be done better!"}]...
|
Title: darakhtnamah by @ibrahim- | Stardance
Devl Title: darakhtnamah by @ibrahim- | Stardance
Devlogs:
Devlog #1 Made the landing page, need feedback on what can be done better!
Devlog #2 Added a plant of the day banner alongside a navbar that is present on both the landing page and the plants page
Devlog #3 Added and formatted a list of native plants (i compiled it earlier) + images Made the search feature work!
Devlog #4 Added the individual plant details page. Looks good
Devlog #5 Added a distribution map using UMap embeds.
Devlog #6 Added Punjabi calendar months, with the fruiting season highlighted, and seed type mentioned. Also added a field for cultural importance
Devlog #7 Moved the images to a CDN, styled the plant of the day page, fixed a few bugs, and finally, added the maximum height field
Devlog #8 Added the rest of the missing pages, fixed mobile view and a few other bugs....
|
1793127271.3447711
|
1793991271.3447711
|
|
69500
|
nodeseed by @anshpatel9720 | Stardance
|
anshpatel9720
|
1
|
7.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T13:14:44Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I make a engineer calculator that’s calculate everything it’s hard but I completed in seven hours ,good.", "repo": "https://github.com/anshpatel9720-cmd/nodeseed", "demo": "https://anshpatel9720-cmd.github.io/nodeseed/"}]...
|
[{"post_id": 79302, "ts": "202 [{"post_id": 79302, "ts": "2026-10-13T13:10:22Z", "hours": 7.2858, "text": "something is working now"}]...
|
Title: nodeseed by @anshpatel9720 | Stardance
Dev Title: nodeseed by @anshpatel9720 | Stardance
Devlogs:
something is working now
Ships:
I make a engineer calculator that’s calculate everything it’s hard but I completed in seven hours ,good....
|
1793001139.9802473
|
1793865139.9802473
|
|
56270
|
ProjectGen - Powered by HackAI by @fanouriakisharr ProjectGen - Powered by HackAI by @fanouriakisharry | Stardance...
|
fanouriakisharry
|
1
|
19.94
|
293
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-22T19:43:06Z", "hours": 19.0, "multiplier": 15.43, "payout": 293, "blessing": "neutral", "text": "ProjectGen - AI Powered Project Idea Generator Hey there! I’ve had the idea to build this for a while, and I finally did it! ProjectGen is a desktop app, coded in Python and packaged both for mac and windows using Pyinstaller . In simple words, it’s an app powered by artificial intelligence, that can generate your next project ideas tailored to your exact requirements (project type, time, budget, difficulty level, etc.). It’s built to solve a specific problem I, and I’m sure all other tinkerers have: we have this feeling that we wanna start a new project, but have no idea what, and when we finally land on a specific idea, we often realize that we don’t have the right components, enough time, or the budget to actually build it. It is powered using HackAI, HackClub’s own free LLM API, and using gemini-3.8-flash as the model. How it works! When you open the app, you are met with the main screen, which features separate entry boxes and dropdown menus for the project type (software or hardware), difficulty level, available components if it’s a hardware project, and programming language if it’s software. There are also input fields for the time you can devote and your budget for the project. Oh, something I forgot to mention is that there’s an upload image button for the components, to avoid the hassle of having to type each and every one of your parts manually, and just upload an image of your components drawer. When you click “Generate ideas!”, after some time, 5 ideas will show up. Each one of those ideas has a “Build this!” button under it, that once pressed, generates a complete build guide for the specific project, covering everything you’ll need to build it yourself (overview, parts, wiring, code, instructions, etc.). What was challenging? The biggest challenge for this project, was probably packaging everything. The macOS dock icon constantly refused to work properly, because when I was launching the app, it would show the actual app icon for half a second and then switch to the deafult ttkbootstrap icon. Eventually, after asking AI, I ended up using PyObjC to keep re-applying the icon every 500ms while the app was running. Since I’m developing on a Mac, I also couldn’t build the Windows .exe myself on my computer, so I used GitHub Actions and a workflow written by ChatGpt to build it for me. I then created a Windows VM using UTM to make sure the .exe actually worked properly. What I’m happy with! I genuinely feel pretty happy with how the finished app turned out, especially considering how it started as a 70-line terminal-based Python script that only worked through VS code, and evolved into a proper packaged app that people can download and use without even needing Python installed. I’m also really happy with the component image upload feature, cause it just saves so much time! Instead of having to manually type out each one of the components you have, you can just take a picture of your components drawer and let the AI figure out what you have. How can you test it? Windows release: https://github.com/HarFProFour12/projectgen/releases/tag/v1.0.0_Windows Extract the ZIP file and run ProjectGen.exe . MacOS release: https://github.com/HarFProFour12/projectgen/releases/tag/v1.0.0 When you double click to open the app, it will refuse saying that Apple can’t verify it doesn’t contain malware. Go to Settings, then click Privacy & Security, scroll down, find the section about ProjectGen and click “Open anyway”.", "repo": "https://github.com/HarFProFour12/projectgen", "demo": "https://github.com/HarFProFour12/projectgen/releases/tag/v1.0.0"}]...
|
[{"post_id": 79303, "ts": "202 [{"post_id": 79303, "ts": "2026-10-13T13:10:49Z", "hours": 0.3097, "text": "Added back the API key dialog, so the app uses the user’s key, instead of leaking mine."}, {"post_id": 74851, "ts": "2026-09-28T13:20:20Z", "hours": 0.6281, "text": "Updated the github releases (both for Windows and MacOS), so the app runs straight out the box without needing the user to input their own api key. This was done upon request from the Shipwrights."}, {"post_id": 71185, "ts": "2026-09-20T12:35:23Z", "hours": 4.4536, "text": "Devlog #7: Packaging the app and shipping! Heyy there! Continuing from what I said on the next devlog, what I did today was finally turn ProjectGen into an actual app that people can download and run on their pc instead of just through VS code, as well as add some new features. Then, I used PyInstaller to package everything into a proper macOS .app , including the fonts and icon. The biggest problem I ran into was the dock icon not working for some reason. My actual ProjectGen icon would appear for half a second before default ttkbootstrap icon would take its place. After asking AI to help me find a solution, I ended up using PyObjC to keep re-applying my icon while the app is running, which sometimes works and sometimes just doesn’t, but I decided not to give it too much attention. Since, I am on mac, I couldn’t locally create the .exe file using pyinstaller , so I used Github Actions plus a script Chatgpt wrote to create it from there. Then I set up a windows vm in UTM, to check if the .exe file works properly. Thankfully it does, so that’s great! Other than that, there were some errosr with indentation and syntax, which I easily fixed. Finally, I made a .gitignore , added requirements.txt , uploaded everything to GitHub, and uploaded the packaged .app as a github release so people can download and run ProjectGen without needing Python or VS Code installed. I used AI a lot in this step, because the icon issue was driving me insane and also to create help create the Windows app. That’s it for now, see you on the next devlog!"}, {"post_id": 66790, "ts": "2026-09-12T17:52:31Z", "hours": 1.9661, "text": "Devlog #6: Photo upload for the components + copy code button! Hey there! Following up on what I said in the last devlog, what I did today what add a way to uplaod a photo of your components drawer instead of typing each componetn manually. There’s nwo an “or” and an “upload image” button right next to the components field, so the user can pick whichever way is more convenient for them. I used base64 to then encode the image and send it to the AI along with the rest of the prompt, along with some extra instructions. When an image is picked, the components field just shows “Image uploaded” so the user can tell the AI will be looking at the photo instead of reading from the entry field, plus I added a red X button next to the upload button so the user can cancel it to pick another image or use txet instead. Other than that, I also added a “Copy code” button to the build guide’s code section, so you don’t have to manually select text out of the text box anymore to copy it. Later, I found out that command=self._copy_code(code) doesn’t work the way it looks like it would, since the parentheses call the function immediately instead of waiting for a the button to be cliced. To solve that, I wrapped it in a lambda function so it only runs when the button’s actually pressed. I used AI to create the new prompt for the image upload and also to help me understand some errors the terminal was showing. That’s for now, see you on the next devlog!"}, {"post_id": 65299, "ts": "2026-09-10T10:41:54Z", "hours": 2.8261, "text": "Devlog #5: Build guide screen, project types, and caching! Heyyy! I’ve been putting off writing this devlog, since there’s a lot off stuff I need to talk about. So, picking up from where I left off in devlog #4, since I said I’d give the build guide it’s own screen and fix the colors, that’s mostly what this devlog is about. The build guide now renders as a seperate screen with seperate sections (Overview, Components, Wiring, Build Steps, Code), pulled from the AI call that returns structured json. I also fixed the fact that the build guide screen was using a blue theme instead of my olive green one, which was because I was using bootstyle=\"primary\" that pulls from ttkbootstrap ’s default theme instead of my custom styles. I also added a project type dropdown in the beginning of the home screen, so the user can choose whether they want a hardware or a software project. Picking software, hides the budget field (since software projects are mostly free), and relabels the components field to programming language. I fixed another annoying bug where clicking “Build this!” twice on the same project, re-called the AI every time, instead of using the old response. To fix tat, I added a small cache keyed my project name, so if it detects that the build button has already been pressed for the specific project, it displays the old instructions instead of creating new ones every time. I also fixed a small bug with the “Back to ideas” button and debugged some typos. Next time, I’m thinking of letting users upload a photo of their components drawer and having the AI think of ideas using those components. That’s it for now, see you on the next devlog!"}, {"post_id": 63443, "ts": "2026-09-07T09:17:41Z", "hours": 3.5797, "text": "Devlog #4: Moving to ttkbootstrap + adding a “Build this!“button Heyyyy! I was gonna write this devlog yesterday, but it was getting kinda late, so I decided to do it toady. So here’s what’s new: First of all, I switched the app over from plain tkinter widgets to ttkbootstrap , to basically just make things easier. Before, the “Generate ideas!” button was just a label pretending to be a button, with custom hover colors and click bindings, because MacOS (my operating system) was applying an ugly outdated gray/silverish button with no styling, and I wasn’t able to change it. The switch was relatively smooth, since for most commands, I just had to change the prefix from tk. to tb. Only problem was that these new widgets don’t take bg= / fg= like my previous ones did, so I had to define named styled in the beginning instead. I also added a difficulty field in the beginning, so the user can control the difficulty level of the project ideas, and also a progress bar along with the cycling messages, so the user actually knows when the Ai is thinking. I also gave each card a “Build this! button, which once pressed, sends another prompt to the ai asking for a full guide, including components, wiring, build instructions, and code if needed. I ran into some errors along the way, mostly typos, which I debugged with the help of Ai. Next time I’ll give the build guide it’s own screen instead of sitting underneath the entry fields, and make the colors of the app consistent between all the screens. That’s it for now, see you on the next devlog!"}, {"post_id": 62750, "ts": "2026-09-06T08:23:14Z", "hours": 3.7319, "text": "Devlog #3: Displaying each idea in it’s own dedicated card Hey there! Today, I switched from dumping all he project ideas the AI gave me into one big ScrolledText box, since just a wall of text with no specific layout or format isn’t excactly great UX. The main thing I changed, was swapping the text box with a scrollable list of widgets (boxes), with each widget having its own colored background, border, a Label for the project name, one for the description and the extra components and lastly one for the time and cost to make. Since tkinter frames don’t scroll by default, I had to create a seperate canvas with a scrollbar bound to it and the cards embedded inside it. Because cards are real widgets now instead of just plain text you can use .delete() , when the user clicked the button again to regenerate ideas, it also had to clean up the previous cards before drawing the new ones, since otherwise all the ideas would just pile up one after the other. I ran into quite some bugs along the way, such as small syntax errors and typos, which I used AI to help me debug. Next time I’ll probably add some buttons for each card, such as a “copy idea” or a “build this one” button. That’s it for now, see you on the next devlog!"}, {"post_id": 59863, "ts": "2026-09-01T20:51:27Z", "hours": 1.5997, "text": "Devlog #2: Transferring project to tkinter ! Today I moved the project from a terminal-based script to an actual GUI using the tkinter library, since typing into input() prompts and just reading a wall of terminal text isn’t exactly a great user experience. The main structure translated pretty easily: text boxes (entry widgets) for components, hours and budget, a “Generate Ideas!” button and an output area for the results. The most difficult part was keeping the window responsive: calling the AI API directly would freeze the whole window until the response came back, so the request now runs in the background, with the result handed back to the main thread safely using root.after(). I used the same rotating status messages from the terminal version (“Brainstorming…”, “Thinking”, etc.), which now update live in the GUI while it waits. Because this was my first time using tkinter , I used Claude to get me up to speed with the core concepts (widgets, entries, `.pack(), etc.). Once I wrote the code, I also used it to help me debug it. Next time I’m probably gonna make the ai output structures json so I can display each project idea in it’s own “card”, and generally work in making the GUI look prettier. That’s it for today, see you on the next devlog!"}, {"post_id": 59186, "ts": "2026-08-31T20:42:01Z", "hours": 0.8419, "text": "Devlog #1: Coding MVP Hey there! First devlog for this project! So the idea of this project is that you write what components you have, how much time you can devote and what your budget is, and AI brainstorms 5 different project ideas you can make that fit those criteria. The project is coded in Python. First, I generated a new API key from HackAi to use as the brain, and integrated it. Then I wrote 1 master prompt which gets sent to the AI every time and includes the info the user has given (components, time available, budget), along with instructions on what format to return each idea in (name, description, extra components needed, cost, and time estimate). I used the rich library to make the terminal output look prettier: rendering the AI’s response as formatted markdown instead of plain text, adding colors and even a colored spinner along with some phrases (such as thinking... , brainstorming... , ect.) so the user knows somethings is happening instead of just guessing if the program has frozen or not. I used AI to help make the prompt and debug. Next up: I’ll probably switch to Tkinter to give it an actual GUI instead of a terminal prompt. Probably gonna have text boxes for components/time/budget, a “Generate Ideas” button, and each idea shown in its own card instead of one long markdown dump. Follow along to see how it turns out!"}]...
|
Title: ProjectGen - Powered by HackAI by @fanouria Title: ProjectGen - Powered by HackAI by @fanouriakisharry | Stardance
Devlogs:
Devlog #1: Coding MVP Hey there! First devlog for this project! So the idea of this project is that you write what components you have, how much time you can devote and what your budget is, and AI brainstorms 5 different project ideas you can make that fit those criteria. The project is coded in Python. First, I generated a new API key from HackAi to use as the brain, and integrated it. Then I wrote 1 master prompt which gets sent to the AI every time and includes the info the user has given (components, time available, budget), along with instructions on what format to return each idea in (name, description, extra components needed, cost, and time estimate). I used the rich library to make the terminal output look prettier: rendering the AI’s response as formatted markdown instead of plain text, adding colors and even a colored spinner along with some phrases (such as thinking... , brainstorming... , ect.) so the user knows somethings is happening instead of just guessing if the program has frozen or not. I used AI to help make the prompt and debug. Next up: I’ll probably switch to Tkinter to give it an actual GUI instead of a terminal prompt. Probably gonna have text boxes for components/time/budget, a “Generate Ideas” button, and each idea shown in its own card instead of one long markdown dump. Follow along to see how it turns out!
Devlog #2: Transferring project to tkinter ! Today I moved the project from a terminal-based script to an actual GUI using the tkinter library, since typing into input() prompts and just reading a wall of terminal text isn’t exactly a great user experience. The main structure translated pretty easily: text boxes (entry widgets) for components, hours and budget, a “Generate Ideas!” button and an output area for the results. The most difficult part was keeping the window responsive: calling the AI API directly would freeze the whole window until the response came back, so the request now runs in the background, with the result handed back to the main thread safely using root.after(). I used the same rotating status messages from the terminal version (“Brainstorming…”, “Thinking”, etc.), which now update live in the GUI while it waits. Because this was my first time using tkinter , I used Claude to get me up to speed with the core concepts (widgets, entries, `.pack(), etc.). Once I wrote the code, I also used it to help me debug it. Next time I’m probably gonna make the ai output structures json so I can display each project idea in it’s own “card”, and generally work in making the GUI look prettier. That’s it for today, see you on the next devlog!
Devlog #3: Displaying each idea in it’s own dedicated card Hey there! Today, I switched from dumping all he project ideas the AI gave me into one big ScrolledText box, since just a wall of text with no specific layout or format isn’t excactly great UX. The main thing I changed, was swapping the text box with a scrollable list of widgets (boxes), with each widget having its own colored background, border, a Label for the project name, one for the description and the extra components and lastly one for the time and cost to make. Since tkinter frames don’t scroll by default, I had to create a seperate canvas with a scrollbar bound to it and the cards embedded inside it. Because cards are real widgets now instead of just plain text you can use .delete() , when the user clicked the button again to regenerate ideas, it also had to clean up the previous cards before drawing the new ones, since otherwise all the ideas would just pile up one after the other. I ran into quite some bugs along the way, such as small syntax errors and typos, which I used AI to help me debug. Next time I’ll probably add some buttons for each card, such as a “copy idea” or a “build this one” button. That’s it for now, see you on the next devlog!
Devlog #4: Moving to ttkbootstrap + adding a “Build this!“button Heyyyy! I was gonna write this devlog yesterday, but it was getting kinda late, so I decided to do it toady. So here’s what’s new: First of all, I switched the app over from plain tkinter widgets to ttkbootstrap , to basically just make things easier. Before, the “Generate ideas!” button was just a label pretending to be a button, with custom hover colors and click bindings, because MacOS (my operating system) was applying an ugly outdated gray/silverish button with no styling, and I wasn’t able to change it. The switch was relatively smooth, since for most commands, I just had to change the prefix from tk. to tb. Only problem was that these new widgets don’t take bg= / fg= like my previous ones did, so I had to define named styled in the beginning instead. I also added a difficulty field in the beginning, so the user can control the difficulty level of the project ideas, and also a progress bar along with the cycling messages, so the user actually knows when the Ai is thinking. I also gave each card a “Build this! button, which once pressed, sends another prompt to the ai asking for a full guide, including components, wiring, build instructions, and code if needed. I ran into some errors along the way, mostly typos, which I debugged with the help of Ai. Next time I’ll give the build guide it’s own screen instead of sitting underneath the entry fields, and make the colors of the app consistent between all the screens. That’s it for now, see you on the next devlog!
Devlog #5: Build guide screen, project types, and caching! Heyyy! I’ve been putting off writing this devlog, since there’s a lot off stuff I need to talk about. So, picking up from where I left off in devlog #4, since I said I’d give the build guide it’s own screen and fix the colors, that’s mostly what this devlog is about. The build guide now renders as a seperate screen with seperate sections (Overview, Components, Wiring, Build Steps, Code), pulled from the AI call that returns structured json. I also fixed the fact that the build guide screen was using a blue theme instead of my olive green one, which was because I was using bootstyle="primary" that pulls from ttkbootstrap ’s default theme instead of my custom styles. I also added a project type dropdown in the beginning of the home screen, so the user can choose whether they want a hardware or a software project. Picking software, hides the budget field (since software projects are mostly free), and relabels the components field to programming language. I fixed another annoying bug where clicking “Build this!” twice on the same project, re-called the AI every time, instead of using the old response. To fix tat, I added a small cache keyed my project name, so if it detects that the build button has already been pressed for the specific project, it displays the old instructions instead of creating new ones every time. I also fixed a small bug with the “Back to ideas” button and debugged some typos. Next time, I’m thinking of letting users upload a photo of their components drawer and having the AI think of ideas using those components. That’s it for now, see you on the next devlog!
Devlog #6: Photo upload for the components + copy code button! Hey there! Following up on what I said in the last devlog, what I did today what add a way to uplaod a photo of your components drawer instead of typing each componetn manually. There’s nwo an “or” and an “upload image” button right next to the components field, so the user can pick whichever way is more convenient for them. I used base64 to then encode the image and send it to the AI along with the rest of the prompt, along with some extra instructions. When an image is picked, the components field just shows “Image uploaded” so the user can tell the AI will be looking at the photo instead of reading from the entry field, plus I added a red X button next to the upload button so the user can cancel it to pick another image or use txet instead. Other than that, I also added a “Copy code” button to the build guide’s code section, so you don’t have to manually select text out of the text box anymore to copy it. Later, I found out that command=self._copy_code(code) doesn’t work the way it looks like it would, since the parentheses call the function immediately instead of waiting for a the button to be cliced. To solve that, I wrapped it in a lambda function so it only runs when the button’s actually pressed. I used AI to create the new prompt for the image upload and also to help me understand some errors the terminal was showing. That’s for now, see you on the next devlog!
Devlog #7: Packaging the app and shipping! Heyy there! Continuing from what I said on the next devlog, what I did today was finally turn ProjectGen into an actual app that people can download and run on their pc instead of just through VS code, as well as add some new features. Then, I used PyInstaller to package everything into a proper macOS .app , including the fonts and icon. The biggest problem I ran into was the dock icon not working for some reason. My actual ProjectGen icon would appear for half a second before default ttkbootstrap icon would take its place. After asking AI to help me find a solution, I ended up using PyObjC to keep re-applying my icon while the app is running, which sometimes works and sometimes just doesn’t, but I decided not to give it too much attention. Since, I am on mac, I couldn’t locally create the .exe file using pyinstaller , so I used Github Actions plus a script Chatgpt wrote to create it from there. Then I set up a windows vm in UTM, to check if the .exe file works properly. Thankfully it does, so that’s great! Other than that, there were some errosr with indentation and syntax, which I easily fixed. Finally, I made a .gitignore , added requirements.txt , uploaded everything to GitHub, and uploaded the packaged .app as a github release so people can download and run ProjectGen without needing Python or VS Code installed. I used AI a lot in this step, because the icon issue was driving me insane and also to create help create the Windows app. That’s it for now, see you on the next devlog!
Updated the github releases (both for Windows and MacOS), so the app runs straight out the box without needing the user to input their own api key. This was done upon request from the Shipwrights.
Added back the API key dialog, so the app uses the user’s key, instead of leaking mine.
Ships:
ProjectGen - AI Powered Project Idea Generator Hey there! I’ve had the idea to build this for a while, and I finally did it! ProjectGen is a desktop app, coded in Python and packaged both for mac and windows using Pyinstaller . In simple words, it’s an app powered by artificial intelligence, that can generate your next project ideas tailored to your exact requirements (project type, time, budget, difficulty level, etc.). It’s built to solve a specific problem I, and I’m sure all other tinkerers have: we have this feeling that we wanna start a new project, but have no idea what, and when we finally land on a specific idea, we often realize that we don’t have the right components, enough time, or the budget to actually build it. It is powered using HackAI, HackClub’s own free LLM API, and using gemini-3.8-flash as the model. How it works! When you open the app, you are met with the main screen, which features separate entry boxes and dropdown menus for the project type (software or hardware), difficulty level, available components if it’s a hardware project, and programming language if it’s software. There are also input fields for the time you can devote and your budget for the project. Oh, something I forgot to mention is that there’s an upload image button for the components, to avoid the hassle of having to type each and every one of your parts manually, and just upload an image of your components drawer. When you click “Generate ideas!”, after some time, 5 ideas will show up. Each one of those ideas has a “Build this!” button under it, that once pressed, generates a complete build guide for the specific project, covering everything you’ll need to build it yourself (overview, parts, wiring, code, instructions, etc.). What was challenging? The biggest challenge for this project, was probably packaging everything. The macOS dock icon constantly refused to work properly, because when I was launching the app, it would show the actual app icon for half a second and then switch to the deafult ttkbootstrap icon. Eventually, after asking AI, I ended up using PyObjC to keep re-applying the icon every 500ms while the app was running. Since I’m developing on a Mac, I also couldn’t build the Windows .exe myself on my computer, so I used GitHub Actions and a workflow written by ChatGpt to build it for me. I then created a Windows VM using UTM to make sure the .exe actually worked properly. What I’m happy with! I genuinely feel pretty happy with how the finished app turned out, especially considering how it started as a 70-line terminal-based Python script that only worked through VS code, and evolved into a proper packaged app that people can download and use without even needing Python installed. I’m also really happy with the component image upload feature, cause it just saves so much time! Instead of having to manually type out each one of the components you have, you can just take a picture of your components drawer and let the AI figure out what you have. How can you test it? Windows release: https://github.com/HarFProFour12/projectgen/releases/tag/v1.0.0_Windows Extract the ZIP file and run ProjectGen.exe . MacOS release: https://github.com/HarFProFour12/projectgen/releases/tag/v1.0.0 When you double click to open the app, it will refuse saying that Apple can’t verify it doesn’t contain malware. Go to Settings, then click Privacy & Security, scroll down, find the section about ProjectGen and click “Open anyway”....
|
1793149013.8142765
|
1793235413.8142765
|
|
69292
|
arkademaskin by @Sepkatt | Stardance
|
Sepkatt
|
0
|
2.54
|
0
|
[]
|
[{"post_id": 79308, "ts": "202 [{"post_id": 79308, "ts": "2026-10-13T13:40:04Z", "hours": 0.6892, "text": "Tried to find out how to use the rasbery pie 4. But still cant find it out"}, {"post_id": 79045, "ts": "2026-10-12T14:11:08Z", "hours": 1.85, "text": "My friend and I built an arcade machine. We started by taking it apart—since it had already been built—and then put it back together with better cable management. Next time, we’re going to start with a Raspberry Pi."}]...
|
Title: arkademaskin by @Sepkatt | Stardance
Devlo Title: arkademaskin by @Sepkatt | Stardance
Devlogs:
My friend and I built an arcade machine. We started by taking it apart—since it had already been built—and then put it back together with better cable management. Next time, we’re going to start with a Raspberry Pi.
Tried to find out how to use the rasbery pie 4. But still cant find it out...
|
1793130875.092312
|
1793994875.092312
|
|
69332
|
The farmer's Crops Advisor by @dilesh596 | Sta The farmer's Crops Advisor by @dilesh596 | Stardance...
|
dilesh596
|
0
|
1.95
|
0
|
[]
|
[{"post_id": 79311, "ts": "202 [{"post_id": 79311, "ts": "2026-10-13T14:12:33Z", "hours": 1.9472, "text": "✍️ Revised Devlog EntryProject Name: The Farmer’s AdvisorTarget Audience: Farmers in the Vidarbha region of Maharashtra, IndiaHello everyone, we meet again!Today, I am working on a project called “The Farmer’s Advisor.” As the name suggests, it is an AI model specifically designed for farmers in the Vidarbha region of Maharashtra, India. I inspired to build this project for farmers like my dad. In many rural areas across India, there is little to no internet connectivity, which means farmers cannot access standard online AI tools to help solve their daily problems.To bridge this gap, I am building this as an Offline AI model. It is strictly focused on agriculture and will answer farming-specific questions, such as:What crops should I sow this month?What specific farming activities or maintenance should I focus on right now?How do I address localized crop diseases or soil issues?"}]...
|
Title: The farmer's Crops Advisor by @dilesh59 Title: The farmer's Crops Advisor by @dilesh596 | Stardance
Devlogs:
✍️ Revised Devlog EntryProject Name: The Farmer’s AdvisorTarget Audience: Farmers in the Vidarbha region of Maharashtra, IndiaHello everyone, we meet again!Today, I am working on a project called “The Farmer’s Advisor.” As the name suggests, it is an AI model specifically designed for farmers in the Vidarbha region of Maharashtra, India. I inspired to build this project for farmers like my dad. In many rural areas across India, there is little to no internet connectivity, which means farmers cannot access standard online AI tools to help solve their daily problems.To bridge this gap, I am building this as an Offline AI model. It is strictly focused on agriculture and will answer farming-specific questions, such as:What crops should I sow this month?What specific farming activities or maintenance should I focus on right now?How do I address localized crop diseases or soil issues?...
|
1793130901.7421603
|
1793735701.7421603
|
|
67920
|
GitDpro's Amazing site by @GitDpro | Stardance
|
GitDpro
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T14:44:28Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my own personal website yay! The hardest part was learning some maths T_T I always wanted to create one so i finally made it! Things I learnt! I learnt Html, Css and JS framework ( Been like 3 years lol) How to use some cool maths to make some movement! How animation works I will continue to update it with more of my works in the future!", "repo": "https://github.com/GitDpro/portfolio", "demo": "https://gitdpro.github.io/portfolio/"}]...
|
[{"post_id": 79316, "ts": "202 [{"post_id": 79316, "ts": "2026-10-13T14:34:55Z", "hours": 2.7747, "text": "Devlog 2: Finally added interactive stars! I used a bunch of cool maths to simulate the movement of stars towards the pointer I added 4 sections To be added in future ( My other works)"}, {"post_id": 77582, "ts": "2026-10-07T15:23:31Z", "hours": 1.0492, "text": "Devlog 1: I started to make my own website! Added the core functionality - Header- Main- Footer Added basic navbar Added main parts and sections To be added soon are pictures, full skills, and projects."}]...
|
Title: GitDpro's Amazing site by @GitDpro | St Title: GitDpro's Amazing site by @GitDpro | Stardance
Devlogs:
Devlog 1: I started to make my own website! Added the core functionality - Header- Main- Footer Added basic navbar Added main parts and sections To be added soon are pictures, full skills, and projects.
Devlog 2: Finally added interactive stars! I used a bunch of cool maths to simulate the movement of stars towards the pointer I added 4 sections To be added in future ( My other works)
Ships:
I made my own personal website yay! The hardest part was learning some maths T_T I always wanted to create one so i finally made it! Things I learnt! I learnt Html, Css and JS framework ( Been like 3 years lol) How to use some cool maths to make some movement! How animation works I will continue to update it with more of my works in the future!...
|
1793155839.1317952
|
1793242239.1317952
|
|
69506
|
Ian's slackbot by @ianl | Stardance
|
ianl
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T15:36:01Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I just finished my AstronBot. This is a simple slackbot that interfaces with NASA API to pull some images! Go check it out by calling /astronbot-help!", "repo": "https://github.com/ilaws/AstronBot/", "demo": "https://hackclub.enterprise.slack.com/archives/C0C9094SFSQ"}]...
|
[{"post_id": 79322, "ts": "202 [{"post_id": 79322, "ts": "2026-10-13T15:01:43Z", "hours": 0.7308, "text": "I am making a slackbot that uses data from NASA (such as APOD and EPIC). you should check it out by calling /astronbot-help!"}]...
|
Title: Ian's slackbot by @ianl | Stardance
De Title: Ian's slackbot by @ianl | Stardance
Devlogs:
I am making a slackbot that uses data from NASA (such as APOD and EPIC). you should check it out by calling /astronbot-help!
Ships:
I just finished my AstronBot. This is a simple slackbot that interfaces with NASA API to pull some images! Go check it out by calling /astronbot-help!...
|
1793155742.5396686
|
1793242142.5396686
|