|
65988
|
personal site by @spnaban9425 | Stardance
|
spnaban9425
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: personal site by @spnaban9425 | Stardance
|
1793710128.6137903
|
1794314928.6137903
|
|
65989
|
personal site by @spnaban9425 | Stardance
|
spnaban9425
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: personal site by @spnaban9425 | Stardance
|
1793710131.8508286
|
1794314931.8508286
|
|
65990
|
personal site by @spnaban9425 | Stardance
|
spnaban9425
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: personal site by @spnaban9425 | Stardance
|
1793710133.8669665
|
1794314933.8669665
|
|
65991
|
personal site by @spnaban9425 | Stardance
|
spnaban9425
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: personal site by @spnaban9425 | Stardance
|
1793710134.7677288
|
1794314934.7677288
|
|
65992
|
personal site by @spnaban9425 | Stardance
|
spnaban9425
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: personal site by @spnaban9425 | Stardance
|
1793710136.8086095
|
1794314936.8086095
|
|
65993
|
personal site by @spnaban9425 | Stardance
|
spnaban9425
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: personal site by @spnaban9425 | Stardance
|
1793710138.9107816
|
1794314938.9107816
|
|
65994
|
personal site by @spnaban9425 | Stardance
|
spnaban9425
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: personal site by @spnaban9425 | Stardance
|
1793710141.0680518
|
1794314941.0680518
|
|
65995
|
personal site by @spnaban9425 | Stardance
|
spnaban9425
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: personal site by @spnaban9425 | Stardance
|
1793710144.2634997
|
1794314944.2634997
|
|
65996
|
personal site by @spnaban9425 | Stardance
|
spnaban9425
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: personal site by @spnaban9425 | Stardance
|
1793710146.3936763
|
1794314946.3936763
|
|
65997
|
personal site by @spnaban9425 | Stardance
|
spnaban9425
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: personal site by @spnaban9425 | Stardance
|
1793710150.2320085
|
1794314950.2320085
|
|
65998
|
personal site by @spnaban9425 | Stardance
|
spnaban9425
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: personal site by @spnaban9425 | Stardance
|
1793710154.8839912
|
1794314954.8839912
|
|
66000
|
personal site by @spnaban9425 | Stardance
|
spnaban9425
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: personal site by @spnaban9425 | Stardance
|
1793710156.2236876
|
1794314956.2236876
|
|
21118
|
Untitled project by @spmpatel | Stardance
|
spmpatel
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @spmpatel | Stardance
|
1793515907.0776062
|
1794120707.0776062
|
|
26883
|
Rifted Rush by @splice | Stardance
|
splice
|
3
|
29.0
|
334
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-03T14:33:48Z", "hours": 6.0, "multiplier": 12.21, "payout": 74, "blessing": "neutral", "text": "This is the second finished update for Rifted-Rush! KEYBOARD + MOUSE ONLY! if you’re mobile im sorry but pls skip What has been added: ONE new minigame: Star Drag (drag the star along) Practice mode - Get better at the minigames you’re the worst at🥲 - accessed by completing the tutorial then clicking the rift on the home screen WASD Support!! (arrow keys are still usable) IMPROVED difficulty scaling - now accessible to those who aren’t the best at games 🥹 COMPETITVE score mechanics - try this game with your friends too and see who can get the highest score! One last thing, like last time if you don’t get 5000 score in freeplay you have to give me max ratings again 🥹 (jk just vote honestly!!) playable link: https://spliceydice.itch.io/rifted-rush github repo link: https://github.com/spliceydice/Rifted-Rush", "repo": "https://github.com/spliceydice/Rifted-Rush", "demo": "https://spliceydice.itch.io/rifted-rush"}, {"ship_num": 2, "ts": "2026-08-29T20:02:50Z", "hours": 17.0, "multiplier": 15.0, "payout": 260, "blessing": "neutral", "text": "This is the finished (WarioWare-style) game called Rifted-Rush. KEYBOARD + MOUSE ONLY! if you’re mobile im sorry but pls skip What has been added/changed: TWO new minigames: protecting and dodging (i’m bad at names 🥹) much better, updated visuals to fit a space theme (including fonts) freeplay mode, endless minigames with difficulty scaling score mechanics which update based on time left feel free to skip the tutorial to access freeplay mode immediately also, just a little note if you cant get at least 2500 score in freeplay you have to give me max rating :) (just kidding just vote based on what YOU think of the game)", "repo": "https://github.com/spliceydice/Rifted-Rush", "demo": "https://spliceydice.itch.io/rifted-rush"}, {"ship_num": 3, "ts": "2026-07-25T12:34:20Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made (for now) a demo of a WarioWare game and what it will entail when fully developed.", "repo": "https://github.com/spliceydice/Rifted-Rush", "demo": "https://spliceydice.itch.io/rifted-rush"}]...
|
[{"post_id": 76427, "ts": "202 [{"post_id": 76427, "ts": "2026-10-03T14:21:26Z", "hours": 3.1144, "text": "** Devlog 8 ** - The End ** hi guys, as i’ve said way too many times in the past, this time is truly the end. These GCSE Mocks are not to be messed with 🥹 Practice Mode I finally added a mode where you can practice the minigames you struggle the most at over and over again. It also scales up in difficulty much faster for convenience. I had to create a variable which holds which minigame needs to be repeated then linked it to the timer screen so whenever this variable ever has a value above 0, it repeats the desired minigame. Unfortunately, there won’t be a score mechanic for this mode as I deem it not too useful. This mode can only be accessed after completing the tutorial and clicking on the rift on the title screen. Controls Added WASD support, tbh it was easier than I originally thought it would be. I have kept arrow key support in game though for whoever that still wants to use that 🤔🤔🤔. General Bug Fixes Fixed minigame 3 shield clipping off screen Fixed some text not being displayed properly Changed visuals to match new controls Asset finding LUCKILY, I didn’t need to traverse the internet in its entirety this time as my goat shiroze had a wonderful background for my practice mode scene The End… I would ask for suggestions but this is where development truly ends forever 💔💔 I need to lock in for these GCSES!!! Instead of me doing you suggestions, this time around I want YOU guys to continue the project as that would probably be the best thing I could hear. 🥹🥹 well, like always: check out the repo 🥹: https://github.com/spliceydice/Rifted-Rush https://spliceydice.itch.io/rifted-rush"}, {"post_id": 70717, "ts": "2026-09-19T17:25:28Z", "hours": 2.91, "text": "** Devlog 7 ** Hi guys, yes I’m back somehow while school is on. I decided that I should continue this project just a little longer because an extra six hours wouldn’t hurt. NEW MINIGAME!!!! I kept it simple this time where the objective is to drag a star across a designated path. I had to use Path2D and PathFollow nodes for this but tbh the PathFollow node was probably easier to use than I expected. Also made the star a seperate scene for easier management for direct changes to the sprite while leaving other elements intact (can this guy PLEASE stop waffling to make his devlog look longer and more detailed). preview attached Scaling I settled on making the game super easy at the start but then ramping up the scaling rate quite heavily. This lets the game be more accessible to everyone while still providing a challenge. As a result however, all new scores will be heavily inflated since I decided to leave the score system as it is. Asset finding Let’s be fr there’s nothing I really need to say about this. It was horrible like always and the hours don’t even count 💔💔. The Future I plan to add mobile support soon potentially, that minigame practice thing through the rift that I mentioned like three devlogs ago and also I need to polish up the repository and README. It’s a short list as I only plan to do three more hours on this project so expect one more devlog! Anyways, if you have any suggestions, please let me know and as always, check out the repo 🥹: https://github.com/spliceydice/Rifted-Rush https://spliceydice.itch.io/rifted-rush"}, {"post_id": 57584, "ts": "2026-08-29T19:36:11Z", "hours": 4.0942, "text": "**Devlog 6 ** Hi guys, unfortunately, I will be ending development for rifted rush here due to gcses being just around the corner 💔. I’d love to work on this project more especially when I’m only six hours away from the certificate but I have to get my priorities straight ifykwim. Anyway, let’s get into what I added: Scoreee Finally, I added a way to track your score and points are given based on each half a second left and there’s also a base completion amount. The extra points from beating minigames quickly causes the player (my friends so far) to just panic (which is good ofc). Clicking minigame I added a random position spawning mechanic for these buttons although they tend to clump still for no apparent reason. I don’t know if its simply how the rng works or there’s a bug. Display Resolution So um I didn’t realise during the whole development of this game, I was using a 1152 x 648 res 💀. Thankfully, it’s the same aspect ratio as 1920 x 1080 so I was able to scale it via Godot’s native settings. although, the quality is a bit rough in some places… New ending screen Originally, I was using the same lose screen upon death in free-play mode as the tutorial. So, I changed it because the core loop of a Wario-ware style game is to play until you die so it shouldn’t really count as losing. Instead, I made a new scene where your score is displayed. Some minor things updated scaling formula AGAINN cleaned up some unused files from github/ the directory you won’t be able to reach 5000 score because you’re not good enough mwhahahaha (neither am I) play your own music while playing - i’m too lazy to search for music 🥲🥲 The End Well, this is the end. I’ll be honest I’ve had lots of fun in the hack club/stardance program. I really hope to be able to participate in hack club’s next flagship summer program. I’ll have way more time then and make sure to remember me because I’ll be making some absolute bangers. Anyway, like always, check out my repo: https://github.com/spliceydice/Rifted-Rush and try and get a higher score than me! https://spliceydice.itch.io/rifted-rush"}, {"post_id": 53207, "ts": "2026-08-23T17:27:13Z", "hours": 2.6569, "text": "** Devlog 5 ** Hi guys, as you may be able to tell yes the devlogs are a bit more frequent mainly because I’m trying to finish this before school. and this is NOT my last devlog lol New minigame Added a survival type minigame where small fireballs spawn from all directions and you have to dodge them all. Required heavy tweaking because it was way too difficult to find the right balance between easy and hard. Freeplay Mode Essentially the main mode where you play until you lose all of your lives. May add a life recovery feature in the future. Also, prevented from minigames repeating right after itself. code attached Difficulty Scaling Made each game harder dependent on the number of minigames you have completed in that session. Overall, much wasn’t changed but a lot changed at the same time too if that makes sense. I’m hoping to add a scoring mechanic in the future and one new minigame and a boss fight that appears occasionally. Thanks for reading, Check out my repo!: https://github.com/spliceydice/Rifted-Rush"}, {"post_id": 51069, "ts": "2026-08-20T15:35:30Z", "hours": 4.8581, "text": "** Devlog #4 ** Hi guys, almost five hours since my last devlog and I made only one extra minigame 🥲🥲🥲 Finding assets again 😡😡😡😡 To be honest, it wasn’t that bad thanks to @nyk_nck (on itch.io so ignore the link). I was able to get most of my assets from them and I must say they worked well together. New minigame Basically, this new minigame is one where fireballs are launched at you from random directions and using a and d, you rotate your shield to protect the moon and if you fail you lose a life. On the surface it looks simple but it’s lowk quite complex. ##Code itself Coding that game wasn’t that hard thanks to claude a little bit but it was mostly me. I had to create a fireball spawner, then logic for the fireball itself, then I had to create scripts for the shield to destroy the fireballs and then I had to attach scripts to the moon so it detects when its hit so you lose a life. It was very worth it though. What next? I plan to add a fourth minigame along with some bg music (its quite quiet rn) and then add that freeplay mode! That will probably be my last ship though because for me year 11 is about to start and I need to lock in. anyways, thanks for reading check out my repo!: https://github.com/spliceydice/Rifted-Rush"}, {"post_id": 46967, "ts": "2026-08-14T15:32:51Z", "hours": 5.6922, "text": "** Devlog #3 ** Hi guys, So, it’s been a very very very long time since my last devlog. Anyways, as I promised previously there has been a massive visual overhaul and it actually looks promising 🥹🥹🥹🥹. Asset finding I’ll be honest, finding assets was the worst experience of my whole life 😭. But after hours of searching JUST for backgrounds (those hours don’t get logged btw ✌️) I actually found some pretty decent ones. All of them are from Shiroze btw on itch.io so all credits to her! I also needed some assets for controls (I’ll talk about that later) but those were relatively easy to find. I also needed a graphic of a pixelated rift which I’ll be honest doesn’t even look that good but I needed something to fill the space on the title screen. I imported a font too. Importing assets I imported them 👍👍 Implementing the assets For the backgrounds, it was pretty quick and easy you just replace the file on the node that you already created from the guide. Then changing the fonts for text was quick however when using pixel art assets including the font you have to make sure you manually set the texturing filter to nearest to make sure your fonts/assets actually look good. AS for the controls I was talking about earlier, I implemented those into the loading screens prior to the following minigame that needs those controls. I’ll be honest I had to ask gemini how to create a fading effect but I got the hang of it myself in the end. ALSO, I changed the character sprite for the platformer and changed the minigame slightly itself. Things idk where to put I added the base of a settings screen (no settings yet) I want to credit Shiroze again for most of the assets! I’ll attach what some of the scenes look like. Also, I renamed the game to rifted rush because… it sounds cool idk 😭. What’s Next? Hopefully, using my grant for itch.io, I’m going to find some nice background music for the game as a whole because it’s too quiet right now. Additionally, I plan to add two new minigames and a freeplay mode (will be the main mode after tutorial) where you can try to get a high score! I’m also going to add a secret on the tittle screen soon where you can practice individual minigames themselves. Thanks for reading! As always reply w/ any suggestions and check out my repo! https://github.com/spliceydice/Rifted-Rush"}, {"post_id": 34538, "ts": "2026-07-25T10:36:23Z", "hours": 3.3081, "text": "**Devlog #2 ** Hi guys, I’ve continued my development of the game and it is essentially finished. Scenes Recently, I’ve completed the death and done screens and they are simply placeholders at the moment. In the near future, I plan to do an overhaul on all visuals in the game as well as rewrite some text because it seems quite clunky. Scripting I’ve gotten the hang of the language Godot uses partially due to experience but the internet too. It feels like python but just a bit more advaced. What next? I plan to ship the base game as is and after will drop a major update where new minigames, bossfights, visuals (space themed) and sfx are added. Overall, it will be a quality/content update. That’s all I have to say for now. Please leave any suggestions especially on visuals! Check out my github repo! https://github.com/spliceydice/WarioWareGame"}, {"post_id": 32320, "ts": "2026-07-21T12:43:31Z", "hours": 3.0414, "text": "** Devlog #1 ** Hi guys, I’ve started to work on a WarioWare Game and its been really fun but its been difficult too. Initialising everything When I first started, Github and installing time loggers was really complicated for me and it took me way longer to start than it should have😭😭. However, I watched some tutorials on YouTube and it really helped. Actually coding Godot was really new to me and took me some time to figure out. At the start, I ended up setting each node as a child to each other and debugging that was genuine horror 💀💀. I basically had to restart but I caught it early so it was fine. The guide helped significantly (as it should) but it was quite ambiguous at times. So far, I’ve implemented timers and life mechanics and have just started to implement the minigames. It was really fun to add my own personality into the game by embedding my interests into it. For example, I changed some textures like the garlic lives to mc textures. So, What Next? I hope to continue adding minigames and go beyond the guide. I plan for this to be my main project that I work through and add more features like leaderboard mechanics as time goes on. That’s all I have to say for now. Check out my github repo and feel free to leave any suggestions! https://github.com/spliceydice/WarioWareGame"}]...
|
Title: Rifted Rush by @splice | Stardance
Devlogs Title: Rifted Rush by @splice | Stardance
Devlogs:
** Devlog #1 ** Hi guys, I’ve started to work on a WarioWare Game and its been really fun but its been difficult too. Initialising everything When I first started, Github and installing time loggers was really complicated for me and it took me way longer to start than it should have😭😭. However, I watched some tutorials on YouTube and it really helped. Actually coding Godot was really new to me and took me some time to figure out. At the start, I ended up setting each node as a child to each other and debugging that was genuine horror 💀💀. I basically had to restart but I caught it early so it was fine. The guide helped significantly (as it should) but it was quite ambiguous at times. So far, I’ve implemented timers and life mechanics and have just started to implement the minigames. It was really fun to add my own personality into the game by embedding my interests into it. For example, I changed some textures like the garlic lives to mc textures. So, What Next? I hope to continue adding minigames and go beyond the guide. I plan for this to be my main project that I work through and add more features like leaderboard mechanics as time goes on. That’s all I have to say for now. Check out my github repo and feel free to leave any suggestions! https://github.com/spliceydice/WarioWareGame
**Devlog #2 ** Hi guys, I’ve continued my development of the game and it is essentially finished. Scenes Recently, I’ve completed the death and done screens and they are simply placeholders at the moment. In the near future, I plan to do an overhaul on all visuals in the game as well as rewrite some text because it seems quite clunky. Scripting I’ve gotten the hang of the language Godot uses partially due to experience but the internet too. It feels like python but just a bit more advaced. What next? I plan to ship the base game as is and after will drop a major update where new minigames, bossfights, visuals (space themed) and sfx are added. Overall, it will be a quality/content update. That’s all I have to say for now. Please leave any suggestions especially on visuals! Check out my github repo! https://github.com/spliceydice/WarioWareGame
** Devlog #3 ** Hi guys, So, it’s been a very very very long time since my last devlog. Anyways, as I promised previously there has been a massive visual overhaul and it actually looks promising 🥹🥹🥹🥹. Asset finding I’ll be honest, finding assets was the worst experience of my whole life 😭. But after hours of searching JUST for backgrounds (those hours don’t get logged btw ✌️) I actually found some pretty decent ones. All of them are from Shiroze btw on itch.io so all credits to her! I also needed some assets for controls (I’ll talk about that later) but those were relatively easy to find. I also needed a graphic of a pixelated rift which I’ll be honest doesn’t even look that good but I needed something to fill the space on the title screen. I imported a font too. Importing assets I imported them 👍👍 Implementing the assets For the backgrounds, it was pretty quick and easy you just replace the file on the node that you already created from the guide. Then changing the fonts for text was quick however when using pixel art assets including the font you have to make sure you manually set the texturing filter to nearest to make sure your fonts/assets actually look good. AS for the controls I was talking about earlier, I implemented those into the loading screens prior to the following minigame that needs those controls. I’ll be honest I had to ask gemini how to create a fading effect but I got the hang of it myself in the end. ALSO, I changed the character sprite for the platformer and changed the minigame slightly itself. Things idk where to put I added the base of a settings screen (no settings yet) I want to credit Shiroze again for most of the assets! I’ll attach what some of the scenes look like. Also, I renamed the game to rifted rush because… it sounds cool idk 😭. What’s Next? Hopefully, using my grant for itch.io, I’m going to find some nice background music for the game as a whole because it’s too quiet right now. Additionally, I plan to add two new minigames and a freeplay mode (will be the main mode after tutorial) where you can try to get a high score! I’m also going to add a secret on the tittle screen soon where you can practice individual minigames themselves. Thanks for reading! As always reply w/ any suggestions and check out my repo! https://github.com/spliceydice/Rifted-Rush
** Devlog #4 ** Hi guys, almost five hours since my last devlog and I made only one extra minigame 🥲🥲🥲 Finding assets again 😡😡😡😡 To be honest, it wasn’t that bad thanks to @nyk_nck (on itch.io so ignore the link). I was able to get most of my assets from them and I must say they worked well together. New minigame Basically, this new minigame is one where fireballs are launched at you from random directions and using a and d, you rotate your shield to protect the moon and if you fail you lose a life. On the surface it looks simple but it’s lowk quite complex. ##Code itself Coding that game wasn’t that hard thanks to claude a little bit but it was mostly me. I had to create a fireball spawner, then logic for the fireball itself, then I had to create scripts for the shield to destroy the fireballs and then I had to attach scripts to the moon so it detects when its hit so you lose a life. It was very worth it though. What next? I plan to add a fourth minigame along with some bg music (its quite quiet rn) and then add that freeplay mode! That will probably be my last ship though because for me year 11 is about to start and I need to lock in. anyways, thanks for reading check out my repo!: https://github.com/spliceydice/Rifted-Rush
** Devlog 5 ** Hi guys, as you may be able to tell yes the devlogs are a bit more frequent mainly because I’m trying to finish this before school. and this is NOT my last devlog lol New minigame Added a survival type minigame where small fireballs spawn from all directions and you have to dodge them all. Required heavy tweaking because it was way too difficult to find the right balance between easy and hard. Freeplay Mode Essentially the main mode where you play until you lose all of your lives. May add a life recovery feature in the future. Also, prevented from minigames repeating right after itself. code attached Difficulty Scaling Made each game harder dependent on the number of minigames you have completed in that session. Overall, much wasn’t changed but a lot changed at the same time too if that makes sense. I’m hoping to add a scoring mechanic in the future and one new minigame and a boss fight that appears occasionally. Thanks for reading, Check out my repo!: https://github.com/spliceydice/Rifted-Rush
**Devlog 6 ** Hi guys, unfortunately, I will be ending development for rifted rush here due to gcses being just around the corner 💔. I’d love to work on this project more especially when I’m only six hours away from the certificate but I have to get my priorities straight ifykwim. Anyway, let’s get into what I added: Scoreee Finally, I added a way to track your score and points are given based on each half a second left and there’s also a base completion amount. The extra points from beating minigames quickly causes the player (my friends so far) to just panic (which is good ofc). Clicking minigame I added a random position spawning mechanic for these buttons although they tend to clump still for no apparent reason. I don’t know if its simply how the rng works or there’s a bug. Display Resolution So um I didn’t realise during the whole development of this game, I was using a 1152 x 648 res 💀. Thankfully, it’s the same aspect ratio as 1920 x 1080 so I was able to scale it via Godot’s native settings. although, the quality is a bit rough in some places… New ending screen Originally, I was using the same lose screen upon death in free-play mode as the tutorial. So, I changed it because the core loop of a Wario-ware style game is to play until you die so it shouldn’t really count as losing. Instead, I made a new scene where your score is displayed. Some minor things updated scaling formula AGAINN cleaned up some unused files from github/ the directory you won’t be able to reach 5000 score because you’re not good enough mwhahahaha (neither am I) play your own music while playing - i’m too lazy to search for music 🥲🥲 The End Well, this is the end. I’ll be honest I’ve had lots of fun in the hack club/stardance program. I really hope to be able to participate in hack club’s next flagship summer program. I’ll have way more time then and make sure to remember me because I’ll be making some absolute bangers. Anyway, like always, check out my repo: https://github.com/spliceydice/Rifted-Rush and try and get a higher score than me! https://spliceydice.itch.io/rifted-rush
** Devlog 7 ** Hi guys, yes I’m back somehow while school is on. I decided that I should continue this project just a little longer because an extra six hours wouldn’t hurt. NEW MINIGAME!!!! I kept it simple this time where the objective is to drag a star across a designated path. I had to use Path2D and PathFollow nodes for this but tbh the PathFollow node was probably easier to use than I expected. Also made the star a seperate scene for easier management for direct changes to the sprite while leaving other elements intact (can this guy PLEASE stop waffling to make his devlog look longer and more detailed). preview attached Scaling I settled on making the game super easy at the start but then ramping up the scaling rate quite heavily. This lets the game be more accessible to everyone while still providing a challenge. As a result however, all new scores will be heavily inflated since I decided to leave the score system as it is. Asset finding Let’s be fr there’s nothing I really need to say about this. It was horrible like always and the hours don’t even count 💔💔. The Future I plan to add mobile support soon potentially, that minigame practice thing through the rift that I mentioned like three devlogs ago and also I need to polish up the repository and README. It’s a short list as I only plan to do three more hours on this project so expect one more devlog! Anyways, if you have any suggestions, please let me know and as always, check out the repo 🥹: https://github.com/spliceydice/Rifted-Rush https://spliceydice.itch.io/rifted-rush
** Devlog 8 ** - The End ** hi guys, as i’ve said way too many times in the past, this time is truly the end. These GCSE Mocks are not to be messed with 🥹 Practice Mode I finally added a mode where you can practice the minigames you struggle the most at over and over again. It also scales up in difficulty much faster for convenience. I had to create a variable which holds which minigame needs to be repeated then linked it to the timer screen so whenever this variable ever has a value above 0, it repeats the desired minigame. Unfortunately, there won’t be a score mechanic for this mode as I deem it not too useful. This mode can only be accessed after completing the tutorial and clicking on the rift on the title screen. Controls Added WASD support, tbh it was easier than I originally thought it would be. I have kept arrow key support in game though for whoever that still wants to use that 🤔🤔🤔. General Bug Fixes Fixed minigame 3 shield clipping off screen Fixed some text not being displayed properly Changed visuals to match new controls Asset finding LUCKILY, I didn’t need to traverse the internet in its entirety this time as my goat shiroze had a wonderful background for my practice mode scene The End… I would ask for suggestions but this is where development truly ends forever 💔💔 I need to lock in for these GCSES!!! Instead of me doing you suggestions, this time around I want YOU guys to continue the project as that would probably be the best thing I could hear. 🥹🥹 well, like always: check out the repo 🥹: https://github.com/spliceydice/Rifted-Rush https://spliceydice.itch.io/rifted-rush
Ships:
I made (for now) a demo of a WarioWare game and what it will entail when fully developed.
This is the finished (WarioWare-style) game called Rifted-Rush. KEYBOARD + MOUSE ONLY! if you’re mobile im sorry but pls skip What has been added/changed: TWO new minigames: protecting and dodging (i’m bad at names 🥹) much better, updated visuals to fit a space theme (including fonts) freeplay mode, endless minigames with difficulty scaling score mechanics which update based on time left feel free to skip the tutorial to access freeplay mode immediately also, just a little note if you cant get at least 2500 score in freeplay you have to give me max rating :) (just kidding just vote based on what YOU think of the game)
This is the second finished update for Rifted-Rush! KEYBOARD + MOUSE ONLY! if you’re mobile im sorry but pls skip What has been added: ONE new minigame: Star Drag (drag the star along) Practice mode - Get better at the minigames you’re the worst at🥲 - accessed by completing the tutorial then clicking the rift on the home screen WASD Support!! (arrow keys are still usable) IMPROVED difficulty scaling - now accessible to those who aren’t the best at games 🥹 COMPETITVE score mechanics - try this game with your friends too and see who can get the highest score! One last thing, like last time if you don’t get 5000 score in freeplay you have to give me max ratings again 🥹 (jk just vote honestly!!) playable link: https://spliceydice.itch.io/rifted-rush github repo link: https://github.com/spliceydice/Rifted-Rush...
|
1793897400.901535
|
1793983800.901535
|
|
40700
|
dicey by @splice | Stardance
|
splice
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-29T20:08:22Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A Slack bot designed to make conversations and discussions more fun and interesting! if a new demo link is required because the old one expired let me know", "repo": "https://github.com/spliceydice/dicey", "demo": "https://hackclub.slack.com/archives/C0BN2H7R86L"}]...
|
[{"post_id": 37221, "ts": "202 [{"post_id": 37221, "ts": "2026-07-29T19:28:50Z", "hours": 0.4183, "text": "** Devlog #1 ** Hi guys, this will be the only devlog for this project mainly because of how little time is required but also that I forgot to log most of my time via Hackatime 💀💀. Anyway, Slack + VSCode Initialising the bot and navigating through Slack’s website was probably the easiest part of this. It did get confusing at times but the guide helped out a lot. The same can also be said for VSCode the programming part wasn’t the hardest. Nest The same cannot be said for using the server exclusively through CLI. It also did not help that two of the commands did not work on the server due to the URLs now pointing elsewhere and that I kept getting 403s . These two commands didn’t work: curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - apt install -y nodejs So unfortunately, I did have to use Claude here and instead of installing node on the server via node source, I installed it via nvm. Instead of those two commands use these and follow the instructions: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash source ~/.bashrc nvm install --lts I don’t know if that error was exclusive to me but if other people face that error, there’s the code you should use. Other than that, developing the bot was great and it took me around 2 hours (half an hour extra because of that error). This is probably where I’ll end development for the slack bot but if you still want to check out my repo: https://github.com/spliceydice/dicey p.s. any people who work at stardance reading this please check that error out! Thanks!"}]...
|
Title: dicey by @splice | Stardance
Devlogs:
** D Title: dicey by @splice | Stardance
Devlogs:
** Devlog #1 ** Hi guys, this will be the only devlog for this project mainly because of how little time is required but also that I forgot to log most of my time via Hackatime 💀💀. Anyway, Slack + VSCode Initialising the bot and navigating through Slack’s website was probably the easiest part of this. It did get confusing at times but the guide helped out a lot. The same can also be said for VSCode the programming part wasn’t the hardest. Nest The same cannot be said for using the server exclusively through CLI. It also did not help that two of the commands did not work on the server due to the URLs now pointing elsewhere and that I kept getting 403s . These two commands didn’t work: curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - apt install -y nodejs So unfortunately, I did have to use Claude here and instead of installing node on the server via node source, I installed it via nvm. Instead of those two commands use these and follow the instructions: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash source ~/.bashrc nvm install --lts I don’t know if that error was exclusive to me but if other people face that error, there’s the code you should use. Other than that, developing the bot was great and it took me around 2 hours (half an hour extra because of that error). This is probably where I’ll end development for the slack bot but if you still want to check out my repo: https://github.com/spliceydice/dicey p.s. any people who work at stardance reading this please check that error out! Thanks!
Ships:
A Slack bot designed to make conversations and discussions more fun and interesting! if a new demo link is required because the old one expired let me know...
|
1793890251.9469004
|
1793976651.9469004
|
|
5788
|
My awesome macropad! by @splen | Stardance
|
splen
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @splen | Stardance
|
1793325162.7481766
|
1793929962.7481766
|
|
68899
|
discord bot by @spkeaura | Stardance
|
spkeaura
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: discord bot by @spkeaura | Stardance
|
1793756967.0439324
|
1794361767.0439324
|
|
17754
|
Spectra by @spj | Stardance
|
spj
|
0
|
3.01
|
0
|
[]
|
[{"post_id": 11854, "ts": "202 [{"post_id": 11854, "ts": "2026-06-19T09:22:59Z", "hours": 1.5094, "text": "So I have changed the project idea from being a vercel clone to a self hosted deployment platform for nest that has an ui to directly put github projects and run them on your nest server with a custom domain. It will also rebuild and redeploy the entire app whenever a new commit is made."}, {"post_id": 8085, "ts": "2026-06-13T14:35:05Z", "hours": 1.5053, "text": "It clones a GitHub repo, runs npm build, and turns it on using pm2.Now, I will use a wildcard DNS amd a Node.js reverse proxy that reads the subdomain, searches up the port from DB, and routes the user to it."}]...
|
Title: Spectra by @spj | Stardance
Devlogs:
It cl Title: Spectra by @spj | Stardance
Devlogs:
It clones a GitHub repo, runs npm build, and turns it on using pm2.Now, I will use a wildcard DNS amd a Node.js reverse proxy that reads the subdomain, searches up the port from DB, and routes the user to it.
So I have changed the project idea from being a vercel clone to a self hosted deployment platform for nest that has an ui to directly put github projects and run them on your nest server with a custom domain. It will also rebuild and redeploy the entire app whenever a new commit is made....
|
1793785971.4845748
|
1794390771.4845748
|
|
30234
|
Slack by @spj | Stardance
|
spj
|
0
|
19.79
|
0
|
[]
|
[{"post_id": 29375, "ts": "202 [{"post_id": 29375, "ts": "2026-07-16T09:07:15Z", "hours": 3.3722, "text": "Added delete channel and leave channel functionality Added a homepage when no channel is opened Created layout for channels/[id] to avoid reloading the channels joined to improve performance Added attachments feature, including a nice preview for images"}, {"post_id": 27734, "ts": "2026-07-13T15:40:04Z", "hours": 1.3186, "text": "Implemented the search feature that shows both channels and users"}, {"post_id": 27606, "ts": "2026-07-13T10:41:39Z", "hours": 0.7464, "text": "added the view user card!"}, {"post_id": 26495, "ts": "2026-07-11T10:00:30Z", "hours": 1.1147, "text": "Updates messages from the same person sent within 2 minutes does not show pfp, display name, and time stamp. also improved slack info styling, and started working on search channels functionality. Notes: switched to Ubuntu"}, {"post_id": 25824, "ts": "2026-07-10T09:13:01Z", "hours": 1.1356, "text": "improved the slack info formatting, added the api routes to add people to private/public channels, and also added the search user functionality"}, {"post_id": 25206, "ts": "2026-07-09T09:45:53Z", "hours": 1.4114, "text": "added more db functions to clean up the apis, it redirects to the new channel created, added feature to send a message by slack info, and did some ui work"}, {"post_id": 24581, "ts": "2026-07-08T08:30:51Z", "hours": 1.4069, "text": "Users can now join channels they are not a part of, and added db utils to simplify the code"}, {"post_id": 24142, "ts": "2026-07-07T14:56:14Z", "hours": 1.195, "text": "Added hiding private channels when user is not in them, also implemented supabase realtime to add new messages as soon as a user posts them."}, {"post_id": 23476, "ts": "2026-07-06T14:05:52Z", "hours": 1.0969, "text": "the channel page now shows the actual data of the channel, also, i added react quill editor (WYSIWYG editor) for formatting the text, just like slack."}, {"post_id": 22941, "ts": "2026-07-05T16:29:24Z", "hours": 1.0525, "text": "the sidebar now shows the channels that the user has joined."}, {"post_id": 22129, "ts": "2026-07-04T13:02:56Z", "hours": 1.4461, "text": "created a modal to make new channels. also added error handling to the api routes. it also prevents creation of channel with same names. also, I improved the code quality by splitting the main page into multiple components."}, {"post_id": 21542, "ts": "2026-07-03T15:47:29Z", "hours": 1.0617, "text": "added the main channel ui - very basic as of now - but now I will start making the apis and work on ui later"}, {"post_id": 21409, "ts": "2026-07-03T10:38:35Z", "hours": 3.4317, "text": "So I have set up hack club auth and supabase for auth and db. Also, I have created a basic layout for the app. I will now work on improving the sidebar."}]...
|
Title: Slack by @spj | Stardance
Devlogs:
So I ha Title: Slack by @spj | Stardance
Devlogs:
So I have set up hack club auth and supabase for auth and db. Also, I have created a basic layout for the app. I will now work on improving the sidebar.
added the main channel ui - very basic as of now - but now I will start making the apis and work on ui later
created a modal to make new channels. also added error handling to the api routes. it also prevents creation of channel with same names. also, I improved the code quality by splitting the main page into multiple components.
the sidebar now shows the channels that the user has joined.
the channel page now shows the actual data of the channel, also, i added react quill editor (WYSIWYG editor) for formatting the text, just like slack.
Added hiding private channels when user is not in them, also implemented supabase realtime to add new messages as soon as a user posts them.
Users can now join channels they are not a part of, and added db utils to simplify the code
added more db functions to clean up the apis, it redirects to the new channel created, added feature to send a message by slack info, and did some ui work
improved the slack info formatting, added the api routes to add people to private/public channels, and also added the search user functionality
Updates messages from the same person sent within 2 minutes does not show pfp, display name, and time stamp. also improved slack info styling, and started working on search channels functionality. Notes: switched to Ubuntu
added the view user card!
Implemented the search feature that shows both channels and users
Added delete channel and leave channel functionality Added a homepage when no channel is opened Created layout for channels/[id] to avoid reloading the channels joined to improve performance Added attachments feature, including a nice preview for images...
|
1793552071.5436168
|
1794156871.5436168
|
|
40860
|
Untitled by @spj | Stardance
|
spj
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @spj | Stardance
|
1793526967.557462
|
1794131767.557462
|
|
49082
|
Kintsugi YSWS by @spj | Stardance
|
spj
|
0
|
16.35
|
0
|
[]
|
[{"post_id": 55094, "ts": "202 [{"post_id": 55094, "ts": "2026-08-26T15:28:53Z", "hours": 6.5164, "text": "completed admin dash and stuff along with ship events"}, {"post_id": 47949, "ts": "2026-08-16T06:51:52Z", "hours": 9.8303, "text": "Completed the basic stuff"}]...
|
Title: Kintsugi YSWS by @spj | Stardance
Devlogs: Title: Kintsugi YSWS by @spj | Stardance
Devlogs:
Completed the basic stuff
completed admin dash and stuff along with ship events...
|
1793263656.3625374
|
1793868456.3625374
|
|
57913
|
Space Program Manager by @spitzelpit | Stardance
|
spitzelpit
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Space Program Manager by @spitzelpit | Star Title: Space Program Manager by @spitzelpit | Stardance...
|
1793462104.9705467
|
1794066904.9705467
|
|
26475
|
rubix cube and it's algorithmic simulation by rubix cube and it's algorithmic simulation by @spiralone7 | Stardance...
|
spiralone7
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: rubix cube and it's algorithmic simulat Title: rubix cube and it's algorithmic simulation by @spiralone7 | Stardance...
|
1793339540.2970643
|
1793944340.2970643
|
|
35256
|
Untitled project by @spikecze | Stardance
|
spikecze
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @spikecze | Stardance
|
1793386569.8716486
|
1793991369.8716486
|
|
34867
|
Rp2040 controller by @spidyy | Stardance
|
spidyy
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Rp2040 controller by @spidyy | Stardance
|
1793789764.2951543
|
1794394564.2951543
|
|
25641
|
Blackjack Strategy Advisor by @spideyzac | Stardan Blackjack Strategy Advisor by @spideyzac | Stardance...
|
spideyzac
|
0
|
15.55
|
0
|
[]
|
[{"post_id": 20496, "ts": "202 [{"post_id": 20496, "ts": "2026-07-02T03:09:05Z", "hours": 4.1169, "text": "Devlog #5: Basic example website template. Whilst I have been trying to get deck detection to work with the YOLO model, I decided to create a little static website so you can test out the Blackjack AI portion. The website is missing some features currently, which I will add soon. It also cannot leverage some of the compute-in-parallel features of my Rust code due to limitations in WASM. Also please do not look at this website’s code… it is a mess 😭 In the future I plan to also upload the demo video to this site as well as a version of “The Pitboss” which can run in the browser (so you don’t have to buy and setup your own Bealgebone green hardware). Current Project State Website"}, {"post_id": 19039, "ts": "2026-06-30T06:44:41Z", "hours": 2.65, "text": "Devlog #4: Card Detection!!!!! After spending a painful 8 hours yesterday trying to make an OpenCV-based card detection pipeline work (which I, of course, forgot to track 😭), I finally accepted that it just wasn’t the right approach. Instead, I switched over to object detection using YOLOv8s , a relatively small model with only about 11.2 million parameters . To start, I had to build a dataset. Today I spent around 4 hours taking pictures of my cards under different lighting conditions (again didn’t track), backgrounds, angles, and distances. By the end, I had collected roughly 500 images , and then came the fun part: manually labeling every card with bounding boxes. Once I had the initial dataset, I started generating synthetic training images. Using OpenCV, I created templates of each card and placed them onto randomly selected backgrounds that I downloaded online. I also applied random perspective warps, brightness changes, rotations, and other augmentations (an example is shown in the third image). This let me expand the dataset to around 10,000 automatically labeled images , giving the YOLO model much more variety to train on. I trained the network for 150 epochs using roughly 8,000 images for training and held out about 2,000 images for validation. Even with a pretty decent GPU, training still took around 6.8 hours . The payoff was definitely worth it. The model reached about 98% validation accuracy on images it had never seen before. You can also see this in Image 2, the confusion matrix, which is almost perfectly diagonal, meaning the model rarely confuses one card for another. Since the rest of the project is being written in Rust, I also exported the trained model to the ONNX format so it can be run directly using ONNX Runtime. That should make integrating the detector into the rest of the system much cleaner. The next step is getting a live webcam feed from the BeagleBone Green to my computer, running inference with the YOLO model in real time, and sending the detected cards back to the Blackjack advisor. The main issue is that the model detects both corners of the card if visible, so we need to merge that into one card somehow. Also detecting your hand vs. the dealer’s hand vs. other players’ hands is another problem I will need to solve. Current Project State I will release the best model’s weights in GitLab releases soon."}, {"post_id": 16770, "ts": "2026-06-27T07:20:09Z", "hours": 6.1503, "text": "Devlog #3: Finally got the blackjack engine to work!!!!!!! After a tedious and treacherous 6 hours of coding… the blackjack engine is consistently beating the house. I had to rewrite the code as my initial code was not clean and had tons of bugs. The engine supports a pretty large ruleset: here It uses a bruteforce algorithm which explores all of your possible options and then evaluates the expected value of each choice based on the probabilities of other cards showing up for you and the dealer. It is currently capped to depth 8 for the hit action. Splits are approximated to avoid the exponential increase in computation that comes from recursively simulating every possible sequence of re-splits and draws. Instead, each split hand is evaluated independently by averaging over all possible second cards, calculating the best EV (stand, hit, or double) for that hand, and then doubling the result to represent the two split hands. The error this introduces is tiny and the computational and complexity costs an exact solution would bring outweighs the benefits (marginal). For determining bet size, the betting module calculates the optimal blackjack bet based on the player’s estimated edge, bankroll, and table limits using Kelly Criterion and configurable betting ramps. It is able to determine when to bet high even better than human card counters as it is able to keep a perfect count (it knows how much of each rank of card is remaining in the deck rather than whether there are more high cards left, which is called Hi-Lo counting, a technique used by humans). As you can see in the simulation (might have to open the image in a new tab to see all the data), it achieved about a 3.7% edge over the house ( NOTE: the ruleset used does not benefit the house as much). Next steps are wiring this up to the Beaglebone’s OLED display which I created the driver for previously and allowing for the Webcam to connect to the board to autodetect the cards played via OpenCV. Current Project State"}, {"post_id": 15967, "ts": "2026-06-25T22:41:40Z", "hours": 1.8836, "text": "Devlog #2: Got OLED display to connect and created Rust driver for interfacing with it. Increased I2C port frequencies to max (400 kHz) Fixed bus timeout issues with I2C port 1 Wrote simple deploy scripts for improved DX - compiles project and sends binary to board over SSH Implemented embedded_graphics driver Current project state"}, {"post_id": 15845, "ts": "2026-06-25T19:25:35Z", "hours": 0.75, "text": "Reflashed and Updated Beaglebone Green"}]...
|
Title: Blackjack Strategy Advisor by @spideyzac | Title: Blackjack Strategy Advisor by @spideyzac | Stardance
Devlogs:
Reflashed and Updated Beaglebone Green
Devlog #2: Got OLED display to connect and created Rust driver for interfacing with it. Increased I2C port frequencies to max (400 kHz) Fixed bus timeout issues with I2C port 1 Wrote simple deploy scripts for improved DX - compiles project and sends binary to board over SSH Implemented embedded_graphics driver Current project state
Devlog #3: Finally got the blackjack engine to work!!!!!!! After a tedious and treacherous 6 hours of coding… the blackjack engine is consistently beating the house. I had to rewrite the code as my initial code was not clean and had tons of bugs. The engine supports a pretty large ruleset: here It uses a bruteforce algorithm which explores all of your possible options and then evaluates the expected value of each choice based on the probabilities of other cards showing up for you and the dealer. It is currently capped to depth 8 for the hit action. Splits are approximated to avoid the exponential increase in computation that comes from recursively simulating every possible sequence of re-splits and draws. Instead, each split hand is evaluated independently by averaging over all possible second cards, calculating the best EV (stand, hit, or double) for that hand, and then doubling the result to represent the two split hands. The error this introduces is tiny and the computational and complexity costs an exact solution would bring outweighs the benefits (marginal). For determining bet size, the betting module calculates the optimal blackjack bet based on the player’s estimated edge, bankroll, and table limits using Kelly Criterion and configurable betting ramps. It is able to determine when to bet high even better than human card counters as it is able to keep a perfect count (it knows how much of each rank of card is remaining in the deck rather than whether there are more high cards left, which is called Hi-Lo counting, a technique used by humans). As you can see in the simulation (might have to open the image in a new tab to see all the data), it achieved about a 3.7% edge over the house ( NOTE: the ruleset used does not benefit the house as much). Next steps are wiring this up to the Beaglebone’s OLED display which I created the driver for previously and allowing for the Webcam to connect to the board to autodetect the cards played via OpenCV. Current Project State
Devlog #4: Card Detection!!!!! After spending a painful 8 hours yesterday trying to make an OpenCV-based card detection pipeline work (which I, of course, forgot to track 😭), I finally accepted that it just wasn’t the right approach. Instead, I switched over to object detection using YOLOv8s , a relatively small model with only about 11.2 million parameters . To start, I had to build a dataset. Today I spent around 4 hours taking pictures of my cards under different lighting conditions (again didn’t track), backgrounds, angles, and distances. By the end, I had collected roughly 500 images , and then came the fun part: manually labeling every card with bounding boxes. Once I had the initial dataset, I started generating synthetic training images. Using OpenCV, I created templates of each card and placed them onto randomly selected backgrounds that I downloaded online. I also applied random perspective warps, brightness changes, rotations, and other augmentations (an example is shown in the third image). This let me expand the dataset to around 10,000 automatically labeled images , giving the YOLO model much more variety to train on. I trained the network for 150 epochs using roughly 8,000 images for training and held out about 2,000 images for validation. Even with a pretty decent GPU, training still took around 6.8 hours . The payoff was definitely worth it. The model reached about 98% validation accuracy on images it had never seen before. You can also see this in Image 2, the confusion matrix, which is almost perfectly diagonal, meaning the model rarely confuses one card for another. Since the rest of the project is being written in Rust, I also exported the trained model to the ONNX format so it can be run directly using ONNX Runtime. That should make integrating the detector into the rest of the system much cleaner. The next step is getting a live webcam feed from the BeagleBone Green to my computer, running inference with the YOLO model in real time, and sending the detected cards back to the Blackjack advisor. The main issue is that the model detects both corners of the card if visible, so we need to merge that into one card somehow. Also detecting your hand vs. the dealer’s hand vs. other players’ hands is another problem I will need to solve. Current Project State I will release the best model’s weights in GitLab releases soon.
Devlog #5: Basic example website template. Whilst I have been trying to get deck detection to work with the YOLO model, I decided to create a little static website so you can test out the Blackjack AI portion. The website is missing some features currently, which I will add soon. It also cannot leverage some of the compute-in-parallel features of my Rust code due to limitations in WASM. Also please do not look at this website’s code… it is a mess 😭 In the future I plan to also upload the demo video to this site as well as a version of “The Pitboss” which can run in the browser (so you don’t have to buy and setup your own Bealgebone green hardware). Current Project State Website...
|
1793426128.7064297
|
1794030928.7064297
|
|
27218
|
Lattice by @spideyzac | Stardance
|
spideyzac
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Lattice by @spideyzac | Stardance
|
1793379170.498641
|
1793983970.498641
|
|
40826
|
personal_site by @spiderman17 | Stardance
|
spiderman17
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: personal_site by @spiderman17 | Stardance
|
1793526444.2388062
|
1794131244.2388062
|
|
40832
|
spider-man rule 2.0 by @spiderman17 | Stardance
|
spiderman17
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: spider-man rule 2.0 by @spiderman17 | Stard Title: spider-man rule 2.0 by @spiderman17 | Stardance...
|
1793526446.0980396
|
1794131246.0980396
|
|
40833
|
Untitled by @spiderman17 | Stardance
|
spiderman17
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @spiderman17 | Stardance
|
1793526448.2446368
|
1794131248.2446368
|
|
44817
|
ipod by @spiderman17 | Stardance
|
spiderman17
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ipod by @spiderman17 | Stardance
|
1793296560.7549415
|
1793901360.7549415
|
|
26537
|
Automated Microscope by @spicycoughdrops | Stardan Automated Microscope by @spicycoughdrops | Stardance...
|
spicycoughdrops
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Automated Microscope by @spicycoughdrops | Title: Automated Microscope by @spicycoughdrops | Stardance...
|
1793512462.2552865
|
1794117262.2552865
|
|
57068
|
Minecraft Modpack Site by @spheroidon | Stardance
|
spheroidon
|
2
|
5.23
|
8
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-01T20:11:23Z", "hours": 2.0, "multiplier": 2.95, "payout": 5, "blessing": "neutral", "text": "Ship 2 - customized the site to be focused on my WIP modpack, added various responsibility improvements, and implemented a lightbox.", "repo": "https://github.com/spheroidon/personal-site", "demo": "https://spheroidon.github.io/personal-site/"}, {"ship_num": 2, "ts": "2026-09-01T13:20:52Z", "hours": 2.0, "multiplier": 1.55, "payout": 3, "blessing": "neutral", "text": "Made a little personal site with placeholder stuff to refresh my HTML and CSS knowledge! It’s currently a bunch of placeholder links and images but it’s easily customizable.", "repo": "https://github.com/spheroidon/personal-site", "demo": "https://spheroidon.github.io/personal-site/"}]...
|
[{"post_id": 60944, "ts": "202 [{"post_id": 60944, "ts": "2026-09-03T16:53:44Z", "hours": 0.3194, "text": "Added more changelogs from the modpack’s internal docs to the site. I plan to work on Markdown functionality for the changelogs next!"}, {"post_id": 60740, "ts": "2026-09-03T09:39:16Z", "hours": 0.3622, "text": "Added initial changelog functionality. It loads changelogs from an array, where each changelog is a dict with the content (multiline string), title (string), and date (Date object)."}, {"post_id": 60138, "ts": "2026-09-02T09:59:35Z", "hours": 0.5511, "text": "Added initial implementation of multiple-section functionality, made images lazyload via loading=“lazy”, and made a few other miscellanious improvements (customized text selection color, added a lightbox border for consistency, probably some more stuff)."}, {"post_id": 59812, "ts": "2026-09-01T19:26:15Z", "hours": 0.7383, "text": "Added a list of featured mods to the lightbox, to see what mod is adding the showcased feature! The list also includes the relevant CurseForge links."}, {"post_id": 59791, "ts": "2026-09-01T18:41:26Z", "hours": 0.9669, "text": "Added a lightbox and replaced placeholders with content related to my W.I.P. Minecraft modpack!"}, {"post_id": 59551, "ts": "2026-09-01T13:12:49Z", "hours": 0.3642, "text": "Made navbar links also generate dynamically from a dict, and added a favicon"}, {"post_id": 59539, "ts": "2026-09-01T12:47:35Z", "hours": 0.8292, "text": "Added a dynamically generated image gallery using JS. Currently it’s placeholder images of fish and other critters!"}, {"post_id": 59517, "ts": "2026-09-01T11:56:31Z", "hours": 0.6456, "text": "Setup a basic header with some css and example links!"}]...
|
Title: Minecraft Modpack Site by @spheroidon | Sta Title: Minecraft Modpack Site by @spheroidon | Stardance
Devlogs:
Setup a basic header with some css and example links!
Added a dynamically generated image gallery using JS. Currently it’s placeholder images of fish and other critters!
Made navbar links also generate dynamically from a dict, and added a favicon
Added a lightbox and replaced placeholders with content related to my W.I.P. Minecraft modpack!
Added a list of featured mods to the lightbox, to see what mod is adding the showcased feature! The list also includes the relevant CurseForge links.
Added initial implementation of multiple-section functionality, made images lazyload via loading=“lazy”, and made a few other miscellanious improvements (customized text selection color, added a lightbox border for consistency, probably some more stuff).
Added initial changelog functionality. It loads changelogs from an array, where each changelog is a dict with the content (multiline string), title (string), and date (Date object).
Added more changelogs from the modpack’s internal docs to the site. I plan to work on Markdown functionality for the changelogs next!
Ships:
Made a little personal site with placeholder stuff to refresh my HTML and CSS knowledge! It’s currently a bunch of placeholder links and images but it’s easily customizable.
Ship 2 - customized the site to be focused on my WIP modpack, added various responsibility improvements, and implemented a lightbox....
|
1793868852.9635355
|
1793955252.9635355
|
|
59483
|
Countdown2Scream by @spheroidon | Stardance
|
spheroidon
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Countdown2Scream by @spheroidon | Stardance
|
1793559571.084751
|
1794164371.084751
|
|
46891
|
Robot arm controller by @spheresva | Stardance
|
spheresva
|
0
|
7.47
|
0
|
[]
|
[{"post_id": 46481, "ts": "202 [{"post_id": 46481, "ts": "2026-08-13T18:34:09Z", "hours": 0.9167, "text": "Redid the buck-boost loops, the old ones were quite cruddy…. (new vs old)"}, {"post_id": 46088, "ts": "2026-08-13T01:40:28Z", "hours": 1.7014, "text": "Rearranged some capacitors, added the high power input, drew the schematics for rj45 transcievers, routed rj45 transcievers, and more stuffs"}, {"post_id": 45976, "ts": "2026-08-12T20:09:26Z", "hours": 2.8714, "text": "Yay! super awesome sauceum marathon where I implemented a new buck-boost converter, fixed (and triple checked) some symbols, and laid it out. This time around, I went with the LM5118MH and two external BSC014N06NSATMA1 N-channel MOSFETs, these ones are much better at getting rid of heat than DPAK FETs are. But my love for DPAKs continues; the schottky diode on the output comes in a DPAK package! just a little issue, though, kicad really does not like DPAKs…. I have had to adjust nearly every single symbol using one. Maybe I´m doing it wrong…? anywho, I am using 80TLV180M12.5X13.5 for the capacitors and PM5405.472NLT for the inductor. ((the diode is V10100S-E3/4W, and I have also yet to add one »)) hopefully the finishing touches of this bit won´t be too tedious. I´ll have to look over this power routing some other time, too"}, {"post_id": 45533, "ts": "2026-08-12T02:30:15Z", "hours": 0.6503, "text": "Rewired the FETs for the dual ideal diode OR-ing power MUX"}, {"post_id": 45505, "ts": "2026-08-12T01:27:44Z", "hours": 1.3336, "text": "Robot arm, robot arm, epic robot arm. I spent an entire hour making a schematic for the LM5176PWP for one of my power stages, only to later realize that the current loops mayyyy be a little troublesome, especially given my FETs of choice- the IRF3806TRPBF in a DPAK package…. I suspect that the LM5176PWP was designed with another FET footprint in mind but, I, being the cheapo (no, just kidding, I like DPAK and I would prefer to keep using these specific FETs as they are…. Okay, I just made a realization halfway through writing this- guess what. Kicad, for some reason, makes pin 2 of a DPAK the gate. where… it is usually the drain. So, this entire time, even before posting this project here, I have been wiring everything in entirely the wrong fashion. yay. Well, that´ll be fun to correct!"}]...
|
Title: Robot arm controller by @spheresva | Starda Title: Robot arm controller by @spheresva | Stardance
Devlogs:
Robot arm, robot arm, epic robot arm. I spent an entire hour making a schematic for the LM5176PWP for one of my power stages, only to later realize that the current loops mayyyy be a little troublesome, especially given my FETs of choice- the IRF3806TRPBF in a DPAK package…. I suspect that the LM5176PWP was designed with another FET footprint in mind but, I, being the cheapo (no, just kidding, I like DPAK and I would prefer to keep using these specific FETs as they are…. Okay, I just made a realization halfway through writing this- guess what. Kicad, for some reason, makes pin 2 of a DPAK the gate. where… it is usually the drain. So, this entire time, even before posting this project here, I have been wiring everything in entirely the wrong fashion. yay. Well, that´ll be fun to correct!
Rewired the FETs for the dual ideal diode OR-ing power MUX
Yay! super awesome sauceum marathon where I implemented a new buck-boost converter, fixed (and triple checked) some symbols, and laid it out. This time around, I went with the LM5118MH and two external BSC014N06NSATMA1 N-channel MOSFETs, these ones are much better at getting rid of heat than DPAK FETs are. But my love for DPAKs continues; the schottky diode on the output comes in a DPAK package! just a little issue, though, kicad really does not like DPAKs…. I have had to adjust nearly every single symbol using one. Maybe I´m doing it wrong…? anywho, I am using 80TLV180M12.5X13.5 for the capacitors and PM5405.472NLT for the inductor. ((the diode is V10100S-E3/4W, and I have also yet to add one »)) hopefully the finishing touches of this bit won´t be too tedious. I´ll have to look over this power routing some other time, too
Rearranged some capacitors, added the high power input, drew the schematics for rj45 transcievers, routed rj45 transcievers, and more stuffs
Redid the buck-boost loops, the old ones were quite cruddy…. (new vs old)...
|
1793810937.8793988
|
1794415737.8793988
|
|
43143
|
My awesome macropad! by @spha | Stardance
|
spha
|
0
|
0.53
|
0
|
[]
|
[{"post_id": 40853, "ts": "202 [{"post_id": 40853, "ts": "2026-08-04T17:17:53Z", "hours": 0.5333, "text": "Tried to design a pcb for my macropad, realised I had to start over from scratch. Going to do it simpler"}]...
|
Title: My awesome macropad! by @spha | Stardance
Title: My awesome macropad! by @spha | Stardance
Devlogs:
Tried to design a pcb for my macropad, realised I had to start over from scratch. Going to do it simpler...
|
1793937030.2218688
|
1794541830.2218688
|
|
17715
|
My very own WebOS by @speshalT | Stardance
|
speshalT
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @speshalT | Stardance
|
1793857787.3835206
|
1794462587.3835206
|
|
63136
|
My first slack bot! by @sperix | Stardance
|
sperix
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @sperix | Stardance
|
1793659934.9409769
|
1794264734.9409769
|
|
37790
|
My own site! by @spenwoo51 | Stardance
|
spenwoo51
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @spenwoo51 | Stardance
|
1793505272.9913213
|
1794110072.9913213
|
|
45380
|
SynthCraft by @spent-grating-cape | Stardance
|
spent-grating-cape
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: SynthCraft by @spent-grating-cape | Stardan Title: SynthCraft by @spent-grating-cape | Stardance...
|
1793329069.1818783
|
1793933869.1818783
|
|
72496
|
My own site! by @spencer23312 | Stardance
|
spencer23312
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @spencer23312 | Stardance
|
1793490440.0024903
|
1794095240.0024903
|
|
49170
|
My own site! by @spellhunter | Stardance
|
spellhunter
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @spellhunter | Stardance
|
1793267592.495114
|
1793872392.495114
|
|
45077
|
orbital mech by @speetham10 | Stardance
|
speetham10
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: orbital mech by @speetham10 | Stardance
|
1793314082.8439698
|
1793918882.8439698
|
|
68172
|
WarioWare Game by @speedfire9786 | Stardance
|
speedfire9786
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: WarioWare Game by @speedfire9786 | Stardanc Title: WarioWare Game by @speedfire9786 | Stardance...
|
1793738946.4492514
|
1794343746.4492514
|
|
7976
|
Untitled project by @speeddemon4256 | Stardance
|
speeddemon4256
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @speeddemon4256 | Stard Title: Untitled project by @speeddemon4256 | Stardance...
|
1793289168.2446656
|
1793893968.2446656
|
|
23127
|
My very own WebOS by @sped | Stardance
|
sped
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @sped | Stardance
|
1793328861.5330346
|
1793933661.5330346
|
|
19781
|
My awesome macropad! by @spectre_7 | Stardance
|
spectre_7
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @spectre_7 | Starda Title: My awesome macropad! by @spectre_7 | Stardance...
|
1793425848.749503
|
1794030648.749503
|
|
57242
|
FFmpeg benchmark tool by @spectra | Stardance
|
spectra
|
1
|
15.0
|
152
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T16:04:50Z", "hours": 15.0, "multiplier": 9.81, "payout": 152, "blessing": "neutral", "text": "Hi! I made a benchmarking tool to compare different video processing configurations by quality, size, encoding speed and bitrate. This tool is shipped with its own little dashboard, with different charts where you can compare the results. There’s also a tab that estimates what would be the best configuration. I made this tool because I’m also working on a video platform, and this tool was actually really helpful to find out what configuration was the best to save space (in my case). Surprisingly the most challenging part was the frontend, because it’s raw HTML and I personally prefer working with frameworks. I already work with bun and typescript for the backend of video platform project (fairplayvideo.org if you can to take a look). I’m pretty proud of how the code architecture turned out. I think it’s pretty clean. What should people know to test your project? The dashboard is available on github pages, but it’s only the dashboard. You’ll have to clone the repo if you want to try the whole flow (the instructions are available on the readme). Thank you!", "repo": "https://github.com/NaFo44/transcode-bench", "demo": "https://github.com/NaFo44/transcode-bench/releases/tag/v1.0.0"}]...
|
[{"post_id": 62992, "ts": "202 [{"post_id": 62992, "ts": "2026-09-06T15:43:58Z", "hours": 0.7186, "text": "Devlog #9: You can now try the UI of my FFmpeg benchmarking tool on my github page! nafo44.github.io/transcode-bench Also, I forgot to tell you about this, but I added another tab that shows what’s the best configuration in term of quality/processing time/size."}, {"post_id": 62944, "ts": "2026-09-06T14:26:21Z", "hours": 3.1722, "text": "Devlog #8: I’m pretty happy of how my FFmpeg transcoding benchmark turned out! So here’s the new UI. As you can see, I added a bunch of statistics (with chart.js). Next step: write the documentation and few improvements!"}, {"post_id": 62467, "ts": "2026-09-05T20:26:17Z", "hours": 2.6214, "text": "Devlog #7: A lot has happened! I restructured the results, added few more statistics, and more importantly, you now have the ability to measure the VMAF score of your videos. I think I’m done with the backend, now I’m moving on to the frontend to show you guys some nerd-ish statistics!"}, {"post_id": 62310, "ts": "2026-09-05T16:46:21Z", "hours": 1.5711, "text": "Devlog #6: I just finished cleaning up the code, with a new architecture. It’s more modular and now the next step is to add some test units!"}, {"post_id": 62208, "ts": "2026-09-05T13:58:25Z", "hours": 1.9011, "text": "I added a simple frontend to my ffmpeg benchmarking tool so you guys can better visualize the concept behind my project!"}, {"post_id": 61739, "ts": "2026-09-04T19:55:33Z", "hours": 2.1667, "text": "Day 4 of working on my FFmpeg benchmarking tool: I added ffprobe to extract more details from the output file! I also prepared a small web server for a future frontend…"}, {"post_id": 61106, "ts": "2026-09-03T20:36:52Z", "hours": 1.075, "text": "My FFmpeg benchmarking tool can now run custom benchmarks and export the results in a clean structured file"}, {"post_id": 59857, "ts": "2026-09-01T20:39:33Z", "hours": 1.1497, "text": "You can now build your own benchmark configuration and run it. Next: structure results and validation"}, {"post_id": 59810, "ts": "2026-09-01T19:20:06Z", "hours": 1.1056, "text": "I’m working on an FFmpeg benchmark tool. It can be used to compare different transcoding configurations (first commit, basic stuff for the moment)"}]...
|
Title: FFmpeg benchmark tool by @spectra | Stardan Title: FFmpeg benchmark tool by @spectra | Stardance
Devlogs:
I’m working on an FFmpeg benchmark tool. It can be used to compare different transcoding configurations (first commit, basic stuff for the moment)
You can now build your own benchmark configuration and run it. Next: structure results and validation
My FFmpeg benchmarking tool can now run custom benchmarks and export the results in a clean structured file
Day 4 of working on my FFmpeg benchmarking tool: I added ffprobe to extract more details from the output file! I also prepared a small web server for a future frontend…
I added a simple frontend to my ffmpeg benchmarking tool so you guys can better visualize the concept behind my project!
Devlog #6: I just finished cleaning up the code, with a new architecture. It’s more modular and now the next step is to add some test units!
Devlog #7: A lot has happened! I restructured the results, added few more statistics, and more importantly, you now have the ability to measure the VMAF score of your videos. I think I’m done with the backend, now I’m moving on to the frontend to show you guys some nerd-ish statistics!
Devlog #8: I’m pretty happy of how my FFmpeg transcoding benchmark turned out! So here’s the new UI. As you can see, I added a bunch of statistics (with chart.js). Next step: write the documentation and few improvements!
Devlog #9: You can now try the UI of my FFmpeg benchmarking tool on my github page! nafo44.github.io/transcode-bench Also, I forgot to tell you about this, but I added another tab that shows what’s the best configuration in term of quality/processing time/size.
Ships:
Hi! I made a benchmarking tool to compare different video processing configurations by quality, size, encoding speed and bitrate. This tool is shipped with its own little dashboard, with different charts where you can compare the results. There’s also a tab that estimates what would be the best configuration. I made this tool because I’m also working on a video platform, and this tool was actually really helpful to find out what configuration was the best to save space (in my case). Surprisingly the most challenging part was the frontend, because it’s raw HTML and I personally prefer working with frameworks. I already work with bun and typescript for the backend of video platform project (fairplayvideo.org if you can to take a look). I’m pretty proud of how the code architecture turned out. I think it’s pretty clean. What should people know to test your project? The dashboard is available on github pages, but it’s only the dashboard. You’ll have to clone the repo if you want to try the whole flow (the instructions are available on the readme). Thank you!...
|
1793886948.8505661
|
1793973348.8505661
|
|
59139
|
short-remover by @spectra | Stardance
|
spectra
|
1
|
3.0
|
24
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-07T21:12:36Z", "hours": 3.0, "multiplier": 7.5, "payout": 24, "blessing": "neutral", "text": "Hi! I made a browser extension that removes Shorts from you Youtube feed. This was a pretty easy project, however I think there’s a real demand for this kind of tool. I made this extension so I can’t be distracted and loose countless hours scrolling for nothing (instead of working on some stardance projects for example :D). The hardest part of this project was understanding how the manifest works, and making it compatible for both chromium-based browsers and Firefox.", "repo": "https://github.com/NaFo44/short-remover", "demo": "https://github.com/NaFo44/short-remover/releases/tag/v1.0.0"}]...
|
[{"post_id": 63862, "ts": "202 [{"post_id": 63862, "ts": "2026-09-07T21:04:04Z", "hours": 0.9675, "text": "Devlog #4: I added the ability to directly remove the “Shorts” button on Youtube’s sidebar, so you no longer feel the urge to scroll instead of being productive!"}, {"post_id": 63809, "ts": "2026-09-07T19:32:49Z", "hours": 1.0094, "text": "Devlog #3: I updated the UI of the Youtube Shorts remover extension! I kept it simple so everyone can easily use it. I might add another option to also hide the “Shorts” button on the sidebar."}, {"post_id": 63462, "ts": "2026-09-07T10:21:01Z", "hours": 0.4053, "text": "Devlog #2: I fixed the compatibility with firefox! If you want to try the short remover extention on Firefox (not the final version, but it’s working):"}, {"post_id": 63197, "ts": "2026-09-06T21:20:44Z", "hours": 0.7589, "text": "Devlog #1: I just started working on a simple browser extension to remove youtube shorts from your feed! It already works, so you can try it."}]...
|
Title: short-remover by @spectra | Stardance
Devl Title: short-remover by @spectra | Stardance
Devlogs:
Devlog #1: I just started working on a simple browser extension to remove youtube shorts from your feed! It already works, so you can try it.
Devlog #2: I fixed the compatibility with firefox! If you want to try the short remover extention on Firefox (not the final version, but it’s working):
Devlog #3: I updated the UI of the Youtube Shorts remover extension! I kept it simple so everyone can easily use it. I might add another option to also hide the “Shorts” button on the sidebar.
Devlog #4: I added the ability to directly remove the “Shorts” button on Youtube’s sidebar, so you no longer feel the urge to scroll instead of being productive!
Ships:
Hi! I made a browser extension that removes Shorts from you Youtube feed. This was a pretty easy project, however I think there’s a real demand for this kind of tool. I made this extension so I can’t be distracted and loose countless hours scrolling for nothing (instead of working on some stardance projects for example :D). The hardest part of this project was understanding how the manifest works, and making it compatible for both chromium-based browsers and Firefox....
|
1793937273.656702
|
1794023673.656702
|
|
59861
|
Cirkuit by @spectra | Stardance
|
spectra
|
2
|
129.35
|
2474
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-28T13:18:46Z", "hours": 34.0, "multiplier": 19.87, "payout": 672, "blessing": "neutral", "text": "Hi! I’m back with a big update to my biggest project so far: Cirkuit , a logic circuit sandbox simulator… but with pixel art! The idea is simple: build complex logic circuits by placing pixels (that’s literally it). I wanted to make logic simulators more accessible and intuitive. Since my first ship, I’ve added quite a few things: Clock: generate square-wave signals for sequential circuits. 1-bit memory: store a single bit of information (simplified D flip-flop) Probe tool: highlight equipotential wires (really useful for simplifying your circuits). A short tutorial: get started by building a simple circuit, followed by a demo showing how to turn it into a module. Modules! Turn circuits you’ve built into reusable components. You can find more details in the GitHub repository’s README. The biggest challenge was definitely implementing modules. From a UX perspective, I wanted creating and using them to feel natural. On the technical side, they required significant changes to the engine itself, including handling module footprints and compiling their internal circuits. I’m quite proud of how Cirkuit has evolved since the first ship. I’ve put a lot of effort into making the interface feel intuitive and reducing friction between the user and the tool (aka you, dear shipwriters). One piece of advice: try it on a computer with a mouse! Phones and trackpads are supported, but they’re not the ideal way to experience it. I hope you’ll enjoy this update! Try Cirkuit: https://nafo44.github.io/Cirkuit GitHub: https://github.com/NaFo44/Cirkuit", "repo": "https://github.com/NaFo44/Cirkuit", "demo": "https://nafo44.github.io/Cirkuit/"}, {"ship_num": 2, "ts": "2026-09-27T22:09:45Z", "hours": 95.0, "multiplier": 18.99, "payout": 1802, "blessing": "neutral", "text": "Hi! I’m really happy to introduce you to my biggest project so far. It’s called Cirkuit, and it’s a logic circuit sandbox simulator… but with pixel art! That means you can basically build anything using just pixels. Why pixels? You may ask. Well, many logic simulators already exist, but the issue is that most of them aren’t very accessible to the average user. That’s why I wanted Cirkuit to be as easy to use as possible. I’m already quite familiar with TypeScript and React, which I used for this project. So the most difficult part was actually figuring out how to implement features without having 100 nested loops :D I had a hard time figuring out how to build the core engine (obviously), as well as the annotation system. I’m quite proud of how it looks and how well it works. This project was a perfect opportunity for me to improve my design skills. I worked hard to reduce friction between the interface and the user (aka you, dear shipwriters). One piece of advice: try it on a computer with a mouse. Phones and trackpads are supported, but it’s not the best experience. Hope you’ll like this project!", "repo": "https://github.com/NaFo44/Cirkuit", "demo": "https://nafo44.github.io/Cirkuit/"}]...
|
[{"post_id": 86048, "ts": "202 [{"post_id": 86048, "ts": "2026-11-01T00:50:50Z", "hours": 0.3486, "text": "Last devlog : Module deletion, and THANK YOU! A huge thank you to all the Hack Club staff for organizing and maintaining Stardance. It’s been an incredible journey! And a huge thank you to everyone who followed or liked my projects over the past few months ❤️ Now, for the actual devlog: I added a delete button for modules, since someone requested it! When you delete a module, all instances of that module placed on the circuit are deleted too. Next step: cry because Stardance is over"}, {"post_id": 83377, "ts": "2026-10-27T21:24:54Z", "hours": 1.4153, "text": "Devlog 43 : Tutorial! I added a tutorial on Cirkuit that explains how to make your own basic logic gate, and how to embed it into a module. If you want to try the website: https://nafo44.github.io/Cirkuit/ As always, if you enjoy the project, feel free to leave a star on GitHub! Repo: https://github.com/NaFo44/Cirkuit Next steps: polish UX, and SHIP!!"}, {"post_id": 83044, "ts": "2026-10-26T17:30:29Z", "hours": 4.7797, "text": "Devlog 42 : Integrated circuits (almost done!) It wasn’t easy! The UX part is actually really challenging. I had to rely on AI more than usual because Stardance is ending really soon, and I’m honestly a bit scared of not having enough time to ship :/ I’ll still try to polish the UI as much as possible! The screenshot below shows what it currently looks like. I added a new section for modules in the sidebar, where you can see all the modules you’ve created, edit them, or create new ones. When creating a new module, you can set its name, preview the footprint, add or remove inputs/outputs, and place them directly on the footprint. It’s almost ready tho! I’m just polishing the UX now. Next steps: finish this feature, polish the UI/UX, ship!"}, {"post_id": 82831, "ts": "2026-10-25T23:44:06Z", "hours": 2.5764, "text": "Devlog 41 : Integrated Circuits I’m working on the UI! The picture below shows what it currently looks like. I’m still not sure about the colors, so they might change. I still have the hardest part to figure out: How will users create and modify a module, UX-wise? Will it have its own sub-editor? How will users assign pins, name them, and define the module’s size and name? As always, if you enjoy the project, feel free to leave a star on GitHub! Repo: https://github.com/NaFo44/Cirkuit Next steps: Keep working on the UI, polish the UX/UI, and ship!"}, {"post_id": 82612, "ts": "2026-10-25T12:50:30Z", "hours": 2.0128, "text": "Devlog #40 : Integrated circuits I’m (again) still working on this feature! Since my last devlog, I’ve updated the project document format to serialize the new modules. And that’s basically it! Next step: integrate them into the UI, polish the UX, and ship!"}, {"post_id": 82446, "ts": "2026-10-24T20:32:14Z", "hours": 3.4561, "text": "Devlog #39 : Integrated circuits (again) I’m still working on this feature! I’m not at the frontend part yet, still adapting the engine. More details if you’re curious: A module has a definition that includes its name, public pins, and internal circuit. It can be used multiple times (it’s called an instance in the code). And all modules are listed in a catalog (that I’ll probably integrate in the frontend later). Instances can be selected, moved, copied and pasted, across the layers… The picture bellow shows how this feature could be used. It will make things much easier if you want to build more complex circuits like an 8 bit adder. You’ll just have to stack 8x 1-bit full adder modules! As always, if you enjoy the project, feel free to leave a star on GitHub! Repo: https://github.com/NaFo44/Cirkuit Next steps: finish the backend side, then integrate everything into the frontend, polish the UI, and ship!"}, {"post_id": 81890, "ts": "2026-10-22T21:14:45Z", "hours": 1.7631, "text": "Devlog #38 : Integrated circuits Some of you have requested this, so I’m working on it! It’s not out yet, as it’s a pretty big feature. Integrated circuits will basically be custom components (most likely rectangles) with multiple inputs and outputs, all defined by the user. It’s literally a footprint, kinda like what you’d find in KiCad. I’ve started modifying the engine’s internals so it can handle these new types of connections (alongside the classic 1-pixel components). The real challenge here is keeping everything simple on the UX side, even though this feature targets more advanced users. The image below only shows what it might look like, this will probably change over time. As always, if you enjoy the project, feel free to leave a star on GitHub! Repo: https://github.com/NaFo44/Cirkuit Next steps: keep working on this feature, polish the UI/UX, ship it, and sadly… the end of stardance :("}, {"post_id": 80656, "ts": "2026-10-18T12:34:55Z", "hours": 0.6414, "text": "Devlog #37 : Probe tool is out! You can now inspect your circuits with this new tool. It highlights equipotential wires. I also added small circles to every connected ports. Next steps: UI polish, and maybe a “challenge” or “community circuits” tab."}, {"post_id": 80469, "ts": "2026-10-17T19:03:13Z", "hours": 1.3664, "text": "Devlog #36 : Probe tool and 4-bit calculator. While I was working on improving my 7-segment display, I had quite a hard time simplifying the circuit. Then I thought it could be really useful to have a tool that shows all the equipotential wires. So I’m currently working on it! It’s working, but I still have to improve its style before publishing it. Aside from that, I actually spent way too many hours improving the 4-bit calculator. And it’s now finished! It’s available in the demo circuit if you want to try it. I’ll see if I can build a keyboard later so users don’t have to enter numbers in binary. As always, if you enjoy the project, feel free to leave a star on GitHub! Repo: https://github.com/NaFo44/Cirkuit Next steps: finish the Probe tool, polish the UI, add a “challenge” tab."}, {"post_id": 79615, "ts": "2026-10-14T18:37:38Z", "hours": 1.4939, "text": "Devlog #35 : UI cleanup and (another) demo circuit The sidebar was getting a bit too crowded, so I added a small button to show/hide the more advanced components. The idea is to make things a little less overwhelming for new users, instead of throwing everything at them right away. I also worked on a 4-bit adder and wired it up to my 7-segment decoder! I’m going to try making it a 4-bit decoder instead of a 3-bit one, but things are going to get a lot more complicated (more numbers = more logic gates). One small issue with the adder for now: the most significant bit is on the right, so the input is basically reversed. I’ll fix that soon. In the meantime, you can already try it out in the live demo project! As always, if you enjoy the project, feel free to leave a star on GitHub! Repo: https://github.com/NaFo44/Cirkuit Next steps: more UI/UX improvements, adding challenges, and continuing to waste way too much of my time messing around with circuits xd"}, {"post_id": 79427, "ts": "2026-10-13T22:49:03Z", "hours": 0.4678, "text": "Devlog #34 : New component: Memory! This is one step up in difficulty! It has two inputs: a clock input (at the top) and a signal input (on the left). The output signal is provided on the right. This component can store a 1-bit value, which is updated on every rising edge of the clock signal. You can basically build anything with the component available: calculator, more advanced display (e.g. a 7-segment decoder that can go from 0 to 9). I added a 3-bit binary counter that I wired up to my 7-segment decoder! (demo bellow). It’s also included in the demo project file. Next steps: cleanup UI and improve UX (the sidebar is really really crowded right now)"}, {"post_id": 79113, "ts": "2026-10-12T18:33:18Z", "hours": 1.6869, "text": "Devlog #33 : Docs update and 1-bit memory! I added the clock to the docs page, along with some new tests for it. I’m also almost done with the 1-bit memory (basically a simplified D flip-flop). I’ll share it in the next devlog! Also, if you like this project, you can leave a star on the project’s GitHub page if you wish! Next steps: finish the 1-bit memory and clean up the UI/UX"}, {"post_id": 77284, "ts": "2026-10-06T12:57:02Z", "hours": 1.4464, "text": "Devlog #32 : New component: CLOCK (finally) This one was relatively easy to implement! The tick system was already there, but it was only triggered by user interactions. Now, your circuits run at 10 ticks/s, and the clock has a constant 1 Hz square signal (the recording below is choppy, but yes it is indeed a 1 Hz periodic signal) This component only has one output. I thought it would make building complex circuits easier if the other sides were isolated. Next steps: 1-bit memory, and then a lot of UX/UI improvements!"}, {"post_id": 76710, "ts": "2026-10-04T11:58:04Z", "hours": 1.9281, "text": "Devlog #31 : UI improvement! I replaced the old “main shortcuts” section in the sidebar with simple links. It frees up some space, makes the interface feel cleaner, and should make it much easier to add a proper “Challenge” tab later. Next steps: add a clock and a 1-bit memory."}, {"post_id": 76242, "ts": "2026-10-02T20:30:28Z", "hours": 2.1839, "text": "Devlog #30 : Component documentation! I’ve added a new page in the sidebar that shows a description and preview image for every component. A few people asked for this in the reviews of my first ship, so it felt like a good addition. Also, if you have any idea of how I could integrate the new more advanced features without overwhelming new users, I’m all ears! The sidebar is starting to get pretty crowded, so I need to find a cleaner way to organize everything and keep navigation smooth. Also, huge thanks to the Stardance staff for awarding this project Superstar ❤️ Next steps: code cleanup, UX improvements, 1-bit memory support, and FINALLY the clock."}, {"post_id": 75958, "ts": "2026-10-01T18:50:05Z", "hours": 4.13, "text": "Devlog #29 : New feature: Multi-layer! You can now build circuits across two layers! I added vias, so you can connect the two layers together (obviously). When you place a via, it’s added on both layers, it basically works like a wire. I also finished the 7-segment decoder: 3bit input, supporting only 0-4 for now. The other values are just don’t-cares. Next steps: polish the code and UI, then add some documentation."}, {"post_id": 75590, "ts": "2026-09-30T14:38:26Z", "hours": 2.4681, "text": "Devlog #28 : Multi-layer (and thank you!!) First of all, thank you so much for all the support on this project! The Stardancers who reviewed my first ship got some really great advices. I’ll be following up on a lot of it. So, I’m planning to add: a simple component documentation some challenges (e.g. 7-segment decoder, XOR gate) more advanced features (clock, 1-bit memory) and what I’m working on right now: a second layer! (currently, wires can’t cross each other, which becomes a real issue with more complex circuits) and, if I have enough time, a place where people can share circuit snippets and showcase their projects! The real challenge will be integrating all of this while keeping the UI clean and the UX intuitive. The screenshot below shows what the circuit viewport could look like with the second layer."}, {"post_id": 74661, "ts": "2026-09-27T21:50:30Z", "hours": 1.2256, "text": "Devlog #27 : Some optimization, code cleanup, and brand new readme! That’s the last devlog for this project before I ship!"}, {"post_id": 74620, "ts": "2026-09-27T19:48:58Z", "hours": 2.7119, "text": "Devlog #26 : I’ve done many small improvements, such as: ability to move annotations undo/redo buttons custom favicon Next step: SHIP!"}, {"post_id": 74207, "ts": "2026-09-26T22:21:43Z", "hours": 2.4531, "text": "Devlog #25 : UI/UX improvements! I improved the component selection outline. Now the outline is around the whole selected group of pixels, instead of around each individual pixel. You can also now delete selected components by pressing Del on your keyboard. And I added a little preview showing the pixel currently targeted by the cursor. Next steps: keep working on the UI/UX, and ship!"}, {"post_id": 74006, "ts": "2026-09-26T14:48:02Z", "hours": 2.2353, "text": "Devlog #24 : New feature (kinda): the camera position and zoom are now stored in the project file, and loaded when you open the project. That means you can setup any point of view in your project, and the viewport will be right where you left it when you open it again! I also fixed a bunch of UI inconsistencies: the hover label position is now responsive to the workspace sidebar (before, it was getting hidden behind it) unified border colors fixed the phone workspace responsiveness made the sidebar on the right a little bit smaller I also continued working on the 7-segment display, but ran into some issues since wires can’t cross each other. So I thought about having circuits on two different layers. What do you think about this? Next steps: I’ll probably polish the UX a little bit more, and then ship the project. But I’m planning to keep working on it!"}, {"post_id": 73755, "ts": "2026-09-25T21:20:35Z", "hours": 5.3378, "text": "Devlog #23 : New feature: Undo/Redo! You can now undo and redo things you’ve done in the editor. This works with both components and annotations. I had to implement a project history system. Basically, every time an action modifies the project, the previous project state is added to the past history stack. When you undo, the latest state from past becomes the current state, while the previous current state is moved to the future stack. When you redo, the next state from future becomes the current state and the previous current state is moved back to past. Yeah it’s messy 😂 I’m also still working on the 7-segment decoder. I switched to a 3-bit one, I’ll probably include it in the demo. Next steps: mostly UI and code improvements, and then I’ll probably ship it. I’ll keep working on it!"}, {"post_id": 73252, "ts": "2026-09-24T17:56:14Z", "hours": 4.5872, "text": "Devlog #22 : New feature: selection and copy/paste! You just have to press “S” and drag your mouse/pad while holding the left click. You can then copy, paste, or move the selected pixels around. Probably the most difficult feature I’ve worked on so far. I had to get some help from ChatGPT :’) I think this will be my last devlog before shipping, since one of my other projects has been pending for 18 days now, so yeah… I’ll still keep working on this project though!"}, {"post_id": 72869, "ts": "2026-09-23T21:59:41Z", "hours": 4.2722, "text": "Devlog #21 : Some UI/UX improvements and started working on selection! I’m currently working on the selection system. It works like this: Press S, then while holding it, drag the selection area with the left click. Once selected, you can copy, paste or move the selected block of pixels. It’s not committed yet! It still requires some work. Next steps: finish the selection feature, then add the clock. I also want to improve the UX as much as possible."}, {"post_id": 72417, "ts": "2026-09-22T21:44:45Z", "hours": 3.6344, "text": "Devlog #20 : demo project and UI/UX update! I added a demo project with a basic light/switch circuit, an OR and XOR gate, and a few annotations. I also (and mostly) removed the old “Quick start” section. It was becoming kinda useless since pretty much everything was already covered by the demo project. So I replaced it with a little intro to the project, along with a table of the shortcuts. I also added a little decoration to the bottom-left corner of the sidebar. I think it looks pretty dope! Next steps: copy/paste and selection, THEN add a clock."}, {"post_id": 71977, "ts": "2026-09-21T21:47:46Z", "hours": 2.3336, "text": "Devlog #19 : A little code cleanup! I refactored the App.tsx file because it was handling too many different things. Now each hook has its own dedicated file. Small refactor, but definitely a needed one! Next steps: add a demo project, improve the UI/UX and laptop pad support, add copy/paste and selection, and finally add a clock (eventually, at this point 😂)"}, {"post_id": 71454, "ts": "2026-09-20T21:12:46Z", "hours": 7.6194, "text": "Devlog #18 : You can save your work now! There are now two buttons in the bottom-left corner: Open and Save. Your projects are downloaded as .cirkuit files. This part was actually quite challenging, mostly because of the file format validation and all the tests around it. Next steps: clean up the code, cleanup the UI (it feels a bit messy right now), add a demo project, add copy/paste and selection, and add a clock"}, {"post_id": 70868, "ts": "2026-09-19T21:55:45Z", "hours": 4.9169, "text": "Devlog #17 : New feature: Annotations! You can now add labels, lines and rectangles to your circuits! I developed this feature so I can better explain what’s going on in the demo project when I’ll ship this project. But you can also use it to explain your craziest circuits! Next step: upload/download projects."}, {"post_id": 70240, "ts": "2026-09-18T19:31:51Z", "hours": 4.5228, "text": "Devlog #16 : Annotation feature (WIP) It’s not finished yet, but I’m currently working on a new annotation feature. Why? Because I’ll need it to explain the circuits in the demo! I’m adding this before the project download/upload system, because otherwise I’d have to refactor quite a bit of the system later. Also, I’m starting to build a 4-bit 7-segment decoder in Cirkuit! (I started with the two easier segments lmao) Next steps: continue working on the annotation system, then implement project download/upload."}, {"post_id": 69732, "ts": "2026-09-17T17:45:12Z", "hours": 4.5497, "text": "Devlog #15 : I added a little guide! The goal of this small guide is to explain a few things that might not be obvious to new users. You can close and reopen it whenever you want, so it doesn’t get in the way while you’re playing. It’s still available on the GitHub page if you want to give it a try! Next step: add a minimal circuit loading system (so I can add a default demo circuit), and THEN I’ll add the clock 😂😭"}, {"post_id": 69345, "ts": "2026-09-16T21:00:55Z", "hours": 4.0622, "text": "Devlog #14 : New component: AND gate! Now the two main gates are available (NOT & AND), so you can basically build anything with them! In the screenshot below, I built a working XOR logic gate, both in a large and a condensed version. A few changes since last time, apart from the new component: The old NOT gate wasn’t working properly because the circuit actually handles 3 states (low, floating, high), while the NOT component only supported low and high. So now, “floating” is considered as “low”. Also, there’s no longer real-time simulation, sadly. I had some issues with the logic gates: if you built them the wrong way, it could crash the entire webpage. So now you have to click on “Run simulation” to see the magic happen. It’s a bit less cool than real-time simulation, but at least it doesn’t nuke the whole page anymore lol. Next steps: UI/UX improvements, clock, and 1-bit memory later on"}, {"post_id": 68867, "ts": "2026-09-15T22:24:51Z", "hours": 5.5678, "text": "Devlog #13 : New component: NOT gate! This component returns the opposite signal you give it: low becomes high, high becomes low. I also improved the UI/UX. There’s now a new label in the bottom-left corner of the page that shows which component you’re hovering over with your mouse, and what its current state is. For example: “Wire | Low”, “Switch | Open”. I also fixed the pixel rendering, because before there were some really thin lines between them. And now the sidebar is responsive! Next steps: code cleanup, AND gate, clock"}, {"post_id": 68303, "ts": "2026-09-14T21:50:03Z", "hours": 2.3831, "text": "Devlog #12 : Wire states are now visually apparent! In the example below, on the first circuit, the first segment is high because it is powered by the source, while the second segment (connected to the lamp) is floating because the switch is open. I’ve also fixed a whole bunch of UI issues. You can try out this project on my GitHub page! Next step (for real this time): adding a NOT gate (the clock will come later)"}, {"post_id": 67690, "ts": "2026-09-13T21:26:19Z", "hours": 0.8703, "text": "Devlog #11 : I did some UI improvements, but before I commit, I’d like to have your opinion for the light component; which glow do you prefere?"}, {"post_id": 67626, "ts": "2026-09-13T19:32:41Z", "hours": 0.7378, "text": "Devlog #10: I added some tooltips so it’s easier to understand for you guys! Next steps: Start writting an actual documentation, add new components"}, {"post_id": 67547, "ts": "2026-09-13T17:58:10Z", "hours": 4.0528, "text": "Devlog #9 : New component: Switch This new component come with a new “simulation” mode, where you can interact with the components. Next step: add small tooltips to the sidebar elements, add new components (clock, memory…) It’s deployed so you can try it (see the project page)! I’d love to get some feedbacks."}, {"post_id": 67325, "ts": "2026-09-13T12:07:15Z", "hours": 0.7281, "text": "Devlog #8 : UI update! Changes: checkerboard background texture instead of the old grid custom selector on the component palette pixel art icons Next step: new components (switch, clock, memory…)"}, {"post_id": 67277, "ts": "2026-09-13T10:52:18Z", "hours": 2.2756, "text": "Devlog #7 : Now power and light can be connected from all sides! Also, since the old arrows are no longer necessary (at least for these components), I improved the UX by displaying the actual component icon instead. The icons on the circuit are also hidden by default now, and only appear when you hover over them. Oh and there’s an eraser now. I also deployed the website: nafo44.github.io/Cirkuit/ Next step: add new components (switch, clock, logic gates, memory)"}, {"post_id": 66878, "ts": "2026-09-12T20:32:38Z", "hours": 3.0808, "text": "Devlog #6: I wired up the simulation engine to the UI! It’s working really well, even tho there’s only 3 components right now (source, wire, light). I added arrows so you can easily rotate the components. I want this project to be really intuitive, so if you guys have some ideas to simplify this, I’m all ears! Next step: let a source and light to power/be powered through all sides, add new components (switch, clock, memory)"}, {"post_id": 66549, "ts": "2026-09-12T12:01:35Z", "hours": 4.5847, "text": "Devlog #5 : Now the component placement UI side is wired to our circuit layout! It probably don’t make much sens for you right now. Next step: modify visually the component grid according to the simulation."}, {"post_id": 65649, "ts": "2026-09-10T22:37:33Z", "hours": 5.8197, "text": "Devlog #4: The other half of the engine is done! It can now compute components state (low, high, floating, conflict) based on the connections between each other. Next step: wiring the engine to the UI."}, {"post_id": 65057, "ts": "2026-09-09T21:57:21Z", "hours": 6.5794, "text": "Devlog #3: I’ve finished half of the engine of my website, made to let you create circuits using pixel art. It wasn’t easy! I came up with a simplified netlist algorithm, to represent how a component (pixel) is oriented, how many are wired, to what, and through which side of the pixel. Components states aren’t handled yet, but that’s what I’m going to work on next."}, {"post_id": 64452, "ts": "2026-09-08T20:55:25Z", "hours": 2.1144, "text": "Devlog #2: I improved the UI, added mouse wheel support (to zoom and move the map). Now it’s time to work on the actual engine."}, {"post_id": 64381, "ts": "2026-09-08T18:22:49Z", "hours": 1.6267, "text": "Devlog #1: Hi! I just started making a website where you will be able to create circuits… with pixel art! The idea is to add different pixels: wire (gray), power (green), light (yellow), logic gates (AND, OR, …), memory (simple true/false state storage). I want to keep this as simple as possible to use."}]...
|
Title: Cirkuit by @spectra | Stardance
Devlogs:
D Title: Cirkuit by @spectra | Stardance
Devlogs:
Devlog #1: Hi! I just started making a website where you will be able to create circuits… with pixel art! The idea is to add different pixels: wire (gray), power (green), light (yellow), logic gates (AND, OR, …), memory (simple true/false state storage). I want to keep this as simple as possible to use.
Devlog #2: I improved the UI, added mouse wheel support (to zoom and move the map). Now it’s time to work on the actual engine.
Devlog #3: I’ve finished half of the engine of my website, made to let you create circuits using pixel art. It wasn’t easy! I came up with a simplified netlist algorithm, to represent how a component (pixel) is oriented, how many are wired, to what, and through which side of the pixel. Components states aren’t handled yet, but that’s what I’m going to work on next.
Devlog #4: The other half of the engine is done! It can now compute components state (low, high, floating, conflict) based on the connections between each other. Next step: wiring the engine to the UI.
Devlog #5 : Now the component placement UI side is wired to our circuit layout! It probably don’t make much sens for you right now. Next step: modify visually the component grid according to the simulation.
Devlog #6: I wired up the simulation engine to the UI! It’s working really well, even tho there’s only 3 components right now (source, wire, light). I added arrows so you can easily rotate the components. I want this project to be really intuitive, so if you guys have some ideas to simplify this, I’m all ears! Next step: let a source and light to power/be powered through all sides, add new components (switch, clock, memory)
Devlog #7 : Now power and light can be connected from all sides! Also, since the old arrows are no longer necessary (at least for these components), I improved the UX by displaying the actual component icon instead. The icons on the circuit are also hidden by default now, and only appear when you hover over them. Oh and there’s an eraser now. I also deployed the website: nafo44.github.io/Cirkuit/ Next step: add new components (switch, clock, logic gates, memory)
Devlog #8 : UI update! Changes: checkerboard background texture instead of the old grid custom selector on the component palette pixel art icons Next step: new components (switch, clock, memory…)
Devlog #9 : New component: Switch This new component come with a new “simulation” mode, where you can interact with the components. Next step: add small tooltips to the sidebar elements, add new components (clock, memory…) It’s deployed so you can try it (see the project page)! I’d love to get some feedbacks.
Devlog #10: I added some tooltips so it’s easier to understand for you guys! Next steps: Start writting an actual documentation, add new components
Devlog #11 : I did some UI improvements, but before I commit, I’d like to have your opinion for the light component; which glow do you prefere?
Devlog #12 : Wire states are now visually apparent! In the example below, on the first circuit, the first segment is high because it is powered by the source, while the second segment (connected to the lamp) is floating because the switch is open. I’ve also fixed a whole bunch of UI issues. You can try out this project on my GitHub page! Next step (for real this time): adding a NOT gate (the clock will come later)
Devlog #13 : New component: NOT gate! This component returns the opposite signal you give it: low becomes high, high becomes low. I also improved the UI/UX. There’s now a new label in the bottom-left corner of the page that shows which component you’re hovering over with your mouse, and what its current state is. For example: “Wire | Low”, “Switch | Open”. I also fixed the pixel rendering, because before there were some really thin lines between them. And now the sidebar is responsive! Next steps: code cleanup, AND gate, clock
Devlog #14 : New component: AND gate! Now the two main gates are available (NOT & AND), so you can basically build anything with them! In the screenshot below, I built a working XOR logic gate, both in a large and a condensed version. A few changes since last time, apart from the new component: The old NOT gate wasn’t working properly because the circuit actually handles 3 states (low, floating, high), while the NOT component only supported low and high. So now, “floating” is considered as “low”. Also, there’s no longer real-time simulation, sadly. I had some issues with the logic gates: if you built them the wrong way, it could crash the entire webpage. So now you have to click on “Run simulation” to see the magic happen. It’s a bit less cool than real-time simulation, but at least it doesn’t nuke the whole page anymore lol. Next steps: UI/UX improvements, clock, and 1-bit memory later on
Devlog #15 : I added a little guide! The goal of this small guide is to explain a few things that might not be obvious to new users. You can close and reopen it whenever you want, so it doesn’t get in the way while you’re playing. It’s still available on the GitHub page if you want to give it a try! Next step: add a minimal circuit loading system (so I can add a default demo circuit), and THEN I’ll add the clock 😂😭
Devlog #16 : Annotation feature (WIP) It’s not finished yet, but I’m currently working on a new annotation feature. Why? Because I’ll need it to explain the circuits in the demo! I’m adding this before the project download/upload system, because otherwise I’d have to refactor quite a bit of the system later. Also, I’m starting to build a 4-bit 7-segment decoder in Cirkuit! (I started with the two easier segments lmao) Next steps: continue working on the annotation system, then implement project download/upload.
Devlog #17 : New feature: Annotations! You can now add labels, lines and rectangles to your circuits! I developed this feature so I can better explain what’s going on in the demo project when I’ll ship this project. But you can also use it to explain your craziest circuits! Next step: upload/download projects.
Devlog #18 : You can save your work now! There are now two buttons in the bottom-left corner: Open and Save. Your projects are downloaded as .cirkuit files. This part was actually quite challenging, mostly because of the file format validation and all the tests around it. Next steps: clean up the code, cleanup the UI (it feels a bit messy right now), add a demo project, add copy/paste and selection, and add a clock
Devlog #19 : A little code cleanup! I refactored the App.tsx file because it was handling too many different things. Now each hook has its own dedicated file. Small refactor, but definitely a needed one! Next steps: add a demo project, improve the UI/UX and laptop pad support, add copy/paste and selection, and finally add a clock (eventually, at this point 😂)
Devlog #20 : demo project and UI/UX update! I added a demo project with a basic light/switch circuit, an OR and XOR gate, and a few annotations. I also (and mostly) removed the old “Quick start” section. It was becoming kinda useless since pretty much everything was already covered by the demo project. So I replaced it with a little intro to the project, along with a table of the shortcuts. I also added a little decoration to the bottom-left corner of the sidebar. I think it looks pretty dope! Next steps: copy/paste and selection, THEN add a clock.
Devlog #21 : Some UI/UX improvements and started working on selection! I’m currently working on the selection system. It works like this: Press S, then while holding it, drag the selection area with the left click. Once selected, you can copy, paste or move the selected block of pixels. It’s not committed yet! It still requires some work. Next steps: finish the selection feature, then add the clock. I also want to improve the UX as much as possible.
Devlog #22 : New feature: selection and copy/paste! You just have to press “S” and drag your mouse/pad while holding the left click. You can then copy, paste, or move the selected pixels around. Probably the most difficult feature I’ve worked on so far. I had to get some help from ChatGPT :’) I think this will be my last devlog before shipping, since one of my other projects has been pending for 18 days now, so yeah… I’ll still keep working on this project though!
Devlog #23 : New feature: Undo/Redo! You can now undo and redo things you’ve done in the editor. This works with both components and annotations. I had to implement a project history system. Basically, every time an action modifies the project, the previous project state is added to the past history stack. When you undo, the latest state from past becomes the current state, while the previous current state is moved to the future stack. When you redo, the next state from future becomes the current state and the previous current state is moved back to past. Yeah it’s messy 😂 I’m also still working on the 7-segment decoder. I switched to a 3-bit one, I’ll probably include it in the demo. Next steps: mostly UI and code improvements, and then I’ll probably ship it. I’ll keep working on it!
Devlog #24 : New feature (kinda): the camera position and zoom are now stored in the project file, and loaded when you open the project. That means you can setup any point of view in your project, and the viewport will be right where you left it when you open it again! I also fixed a bunch of UI inconsistencies: the hover label position is now responsive to the workspace sidebar (before, it was getting hidden behind it) unified border colors fixed the phone workspace responsiveness made the sidebar on the right a little bit smaller I also continued working on the 7-segment display, but ran into some issues since wires can’t cross each other. So I thought about having circuits on two different layers. What do you think about this? Next steps: I’ll probably polish the UX a little bit more, and then ship the project. But I’m planning to keep working on it!
Devlog #25 : UI/UX improvements! I improved the component selection outline. Now the outline is around the whole selected group of pixels, instead of around each individual pixel. You can also now delete selected components by pressing Del on your keyboard. And I added a little preview showing the pixel currently targeted by the cursor. Next steps: keep working on the UI/UX, and ship!
Devlog #26 : I’ve done many small improvements, such as: ability to move annotations undo/redo buttons custom favicon Next step: SHIP!
Devlog #27 : Some optimization, code cleanup, and brand new readme! That’s the last devlog for this project before I ship!
Devlog #28 : Multi-layer (and thank you!!) First of all, thank you so much for all the support on this project! The Stardancers who reviewed my first ship got some really great advices. I’ll be following up on a lot of it. So, I’m planning to add: a simple component documentation some challenges (e.g. 7-segment decoder, XOR gate) more advanced features (clock, 1-bit memory) and what I’m working on right now: a second layer! (currently, wires can’t cross each other, which becomes a real issue with more complex circuits) and, if I have enough time, a place where people can share circuit snippets and showcase their projects! The real challenge will be integrating all of this while keeping the UI clean and the UX intuitive. The screenshot below shows what the circuit viewport could look like with the second layer.
Devlog #29 : New feature: Multi-layer! You can now build circuits across two layers! I added vias, so you can connect the two layers together (obviously). When you place a via, it’s added on both layers, it basically works like a wire. I also finished the 7-segment decoder: 3bit input, supporting only 0-4 for now. The other values are just don’t-cares. Next steps: polish the code and UI, then add some documentation.
Devlog #30 : Component documentation! I’ve added a new page in the sidebar that shows a description and preview image for every component. A few people asked for this in the reviews of my first ship, so it felt like a good addition. Also, if you have any idea of how I could integrate the new more advanced features without overwhelming new users, I’m all ears! The sidebar is starting to get pretty crowded, so I need to find a cleaner way to organize everything and keep navigation smooth. Also, huge thanks to the Stardance staff for awarding this project Superstar ❤️ Next steps: code cleanup, UX improvements, 1-bit memory support, and FINALLY the clock.
Devlog #31 : UI improvement! I replaced the old “main shortcuts” section in the sidebar with simple links. It frees up some space, makes the interface feel cleaner, and should make it much easier to add a proper “Challenge” tab later. Next steps: add a clock and a 1-bit memory.
Devlog #32 : New component: CLOCK (finally) This one was relatively easy to implement! The tick system was already there, but it was only triggered by user interactions. Now, your circuits run at 10 ticks/s, and the clock has a constant 1 Hz square signal (the recording below is choppy, but yes it is indeed a 1 Hz periodic signal) This component only has one output. I thought it would make building complex circuits easier if the other sides were isolated. Next steps: 1-bit memory, and then a lot of UX/UI improvements!
Devlog #33 : Docs update and 1-bit memory! I added the clock to the docs page, along with some new tests for it. I’m also almost done with the 1-bit memory (basically a simplified D flip-flop). I’ll share it in the next devlog! Also, if you like this project, you can leave a star on the project’s GitHub page if you wish! Next steps: finish the 1-bit memory and clean up the UI/UX
Devlog #34 : New component: Memory! This is one step up in difficulty! It has two inputs: a clock input (at the top) and a signal input (on the left). The output signal is provided on the right. This component can store a 1-bit value, which is updated on every rising edge of the clock signal. You can basically build anything with the component available: calculator, more advanced display (e.g. a 7-segment decoder that can go from 0 to 9). I added a 3-bit binary counter that I wired up to my 7-segment decoder! (demo bellow). It’s also included in the demo project file. Next steps: cleanup UI and improve UX (the sidebar is really really crowded right now)
Devlog #35 : UI cleanup and (another) demo circuit The sidebar was getting a bit too crowded, so I added a small button to show/hide the more advanced components. The idea is to make things a little less overwhelming for new users, instead of throwing everything at them right away. I also worked on a 4-bit adder and wired it up to my 7-segment decoder! I’m going to try making it a 4-bit decoder instead of a 3-bit one, but things are going to get a lot more complicated (more numbers = more logic gates). One small issue with the adder for now: the most significant bit is on the right, so the input is basically reversed. I’ll fix that soon. In the meantime, you can already try it out in the live demo project! As always, if you enjoy the project, feel free to leave a star on GitHub! Repo: https://github.com/NaFo44/Cirkuit Next steps: more UI/UX improvements, adding challenges, and continuing to waste way too much of my time messing around with circuits xd
Devlog #36 : Probe tool and 4-bit calculator. While I was working on improving my 7-segment display, I had quite a hard time simplifying the circuit. Then I thought it could be really useful to have a tool that shows all the equipotential wires. So I’m currently working on it! It’s working, but I still have to improve its style before publishing it. Aside from that, I actually spent way too many hours improving the 4-bit calculator. And it’s now finished! It’s available in the demo circuit if you want to try it. I’ll see if I can build a keyboard later so users don’t have to enter numbers in binary. As always, if you enjoy the project, feel free to leave a star on GitHub! Repo: https://github.com/NaFo44/Cirkuit Next steps: finish the Probe tool, polish the UI, add a “challenge” tab.
Devlog #37 : Probe tool is out! You can now inspect your circuits with this new tool. It highlights equipotential wires. I also added small circles to every connected ports. Next steps: UI polish, and maybe a “challenge” or “community circuits” tab.
Devlog #38 : Integrated circuits Some of you have requested this, so I’m working on it! It’s not out yet, as it’s a pretty big feature. Integrated circuits will basically be custom components (most likely rectangles) with multiple inputs and outputs, all defined by the user. It’s literally a footprint, kinda like what you’d find in KiCad. I’ve started modifying the engine’s internals so it can handle these new types of connections (alongside the classic 1-pixel components). The real challenge here is keeping everything simple on the UX side, even though this feature targets more advanced users. The image below only shows what it might look like, this will probably change over time. As always, if you enjoy the project, feel free to leave a star on GitHub! Repo: https://github.com/NaFo44/Cirkuit Next steps: keep working on this feature, polish the UI/UX, ship it, and sadly… the end of stardance :(
Devlog #39 : Integrated circuits (again) I’m still working on this feature! I’m not at the frontend part yet, still adapting the engine. More details if you’re curious: A module has a definition that includes its name, public pins, and internal circuit. It can be used multiple times (it’s called an instance in the code). And all modules are listed in a catalog (that I’ll probably integrate in the frontend later). Instances can be selected, moved, copied and pasted, across the layers… The picture bellow shows how this feature could be used. It will make things much easier if you want to build more complex circuits like an 8 bit adder. You’ll just have to stack 8x 1-bit full adder modules! As always, if you enjoy the project, feel free to leave a star on GitHub! Repo: https://github.com/NaFo44/Cirkuit Next steps: finish the backend side, then integrate everything into the frontend, polish the UI, and ship!
Devlog #40 : Integrated circuits I’m (again) still working on this feature! Since my last devlog, I’ve updated the project document format to serialize the new modules. And that’s basically it! Next step: integrate them into the UI, polish the UX, and ship!
Devlog 41 : Integrated Circuits I’m working on the UI! The picture below shows what it currently looks like. I’m still not sure about the colors, so they might change. I still have the hardest part to figure out: How will users create and modify a module, UX-wise? Will it have its own sub-editor? How will users assign pins, name them, and define the module’s size and name? As always, if you enjoy the project, feel free to leave a star on GitHub! Repo: https://github.com/NaFo44/Cirkuit Next steps: Keep working on the UI, polish the UX/UI, and ship!
Devlog 42 : Integrated circuits (almost done!) It wasn’t easy! The UX part is actually really challenging. I had to rely on AI more than usual because Stardance is ending really soon, and I’m honestly a bit scared of not having enough time to ship :/ I’ll still try to polish the UI as much as possible! The screenshot below shows what it currently looks like. I added a new section for modules in the sidebar, where you can see all the modules you’ve created, edit them, or create new ones. When creating a new module, you can set its name, preview the footprint, add or remove inputs/outputs, and place them directly on the footprint. It’s almost ready tho! I’m just polishing the UX now. Next steps: finish this feature, polish the UI/UX, ship!
Devlog 43 : Tutorial! I added a tutorial on Cirkuit that explains how to make your own basic logic gate, and how to embed it into a module. If you want to try the website: https://nafo44.github.io/Cirkuit/ As always, if you enjoy the project, feel free to leave a star on GitHub! Repo: https://github.com/NaFo44/Cirkuit Next steps: polish UX, and SHIP!!
Last devlog : Module deletion, and THANK YOU! A huge thank you to all the Hack Club staff for organizing and maintaining Stardance. It’s been an incredible journey! And a huge thank you to everyone who followed or liked my projects over the past few months ❤️ Now, for the actual devlog: I added a delete button for modules, since someone requested it! When you delete a module, all instances of that module placed on the circuit are deleted too. Next step: cry because Stardance is over
Ships:
Hi! I’m really happy to introduce you to my biggest project so far. It’s called Cirkuit, and it’s a logic circuit sandbox simulator… but with pixel art! That means you can basically build anything using just pixels. Why pixels? You may ask. Well, many logic simulators already exist, but the issue is that most of them aren’t very accessible to the average user. That’s why I wanted Cirkuit to be as easy to use as possible. I’m already quite familiar with TypeScript and React, which I used for this project. So the most difficult part was actually figuring out how to implement features without having 100 nested loops :D I had a hard time figuring out how to build the core engine (obviously), as well as the annotation system. I’m quite proud of how it looks and how well it works. This project was a perfect opportunity for me to improve my design skills. I worked hard to reduce friction between the interface and the user (aka you, dear shipwriters). One piece of advice: try it on a computer with a mouse. Phones and trackpads are supported, but it’s not the best experience. Hope you’ll like this project!
Hi! I’m back with a big update to my biggest project so far: Cirkuit , a logic circuit sandbox simulator… but with pixel art! The idea is simple: build complex logic circuits by placing pixels (that’s literally it). I wanted to make logic simulators more accessible and intuitive. Since my first ship, I’ve added quite a few things: Clock: generate square-wave signals for sequential circuits. 1-bit memory: store a single bit of information (simplified D flip-flop) Probe tool: highlight equipotential wires (really useful for simplifying your circuits). A short tutorial: get started by building a simple circuit, followed by a demo showing how to turn it into a module. Modules! Turn circuits you’ve built into reusable components. You can find more details in the GitHub repository’s README. The biggest challenge was definitely implementing modules. From a UX perspective, I wanted creating and using them to feel natural. On the technical side, they required significant changes to the engine itself, including handling module footprints and compiling their internal circuits. I’m quite proud of how Cirkuit has evolved since the first ship. I’ve put a lot of effort into making the interface feel intuitive and reducing friction between the user and the tool (aka you, dear shipwriters). One piece of advice: try it on a computer with a mouse! Phones and trackpads are supported, but they’re not the ideal way to experience it. I hope you’ll enjoy this update! Try Cirkuit: https://nafo44.github.io/Cirkuit GitHub: https://github.com/NaFo44/Cirkuit...
|
1793825553.427333
|
1793911953.427333
|