|
2351
|
Kernel Panic Tower Defence by @teamlewiscrafty | S Kernel Panic Tower Defence by @teamlewiscrafty | Stardance...
|
teamlewiscrafty
|
1
|
48.0
|
745
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-15T20:46:27Z", "hours": 48.0, "multiplier": 15.59, "payout": 745, "blessing": "neutral", "text": "Kernel Panic Hold off malware to give your firewall time to be repaired in this tower defence game prototype built using the Godot engine ! It is inspired by 1990s Unix systems and sci-fi classics like ‘The Matrix’. Play the demo at https://gianthotdog.itch.io/Kernel-Panic The game demo includes: Multiple levels including a tutorial GRUB-style menu A settings menu (Audio settings, Credits, VSync settings) A config file system so settings persist across play sessions An upgrade tree that contains global upgrades to towers and XP gains An XP and skill point system for purchasing those upgrades 4 distinct types of towers with adjustable targeting priorities Several enemy types Custom resources to handle: Single tower upgrades Enemy counts in waves Global upgrades Controls: Enter to skip startup sequence Click to select / interact / modify values AI: AI was used to write about 50 lines of code for the two shaders, and very occasionally for solving persistent bugs. It was only used for bug fixes after I tried repeatedly and failed to find a solution myself. It was also used for some feedback on aesthetic choices. All assets were designed by hand. All AI code was reviewed before implementation. Credits: Initial prototyping asset pack by Kenney Music by iamoneabe: https://opengameart.org/content/trunkful-of-junk", "repo": "https://github.com/GiantHotdog/tower-defence-game", "demo": "https://gianthotdog.itch.io/kernel-panic"}]...
|
[{"post_id": 68782, "ts": "202 [{"post_id": 68782, "ts": "2026-09-15T18:58:47Z", "hours": 5.0969, "text": "Improving the global upgrade system Additions : Support for panning around the upgrade tree More upgrades ! Added icons to upgrades Added file saving for XP earned Allow accessing the skill tree from the menu Changes: Level completion is now tracked across multiple play sessions Refined “Currently: …” messages in the upgrade tree The features from the last devlog are now also public ! 🎉 I added some more upgrades to the upgrade tree, and I also gave all of them icons. The icons are… passable. I’m not a graphical artist, and it kind of shows. The “Currently…” messages at the bottom of the side panel got an overhaul, including the addition of units, specific to the type of value being upgraded The game now saves both xp earned and levels completed to files, so they persist between play sessions. This means you don’t have to replay the whole game every time you close it - this is no longer an 80s game ! The skill tree can also be accessed from the menu, so I’m no longer just booting it straight from the Godot editor. This makes it slightly more user friendly. This is probably where I will leave this project for now. I may come back to it now and then, but I’m happy with where this game demo has ended up. I’ll ship it soon, so watch out for that ! If you want to play the game, it is live here . If you are interested in the code, it is available here . To Do list : Add a “reset all to default” option in settings Quote of the update: “Next time I do this, remind me to actually build a proper tree structure” Any suggestions, please let me know in the comments below. Thanks for reading !"}, {"post_id": 42676, "ts": "2026-08-07T15:04:25Z", "hours": 10.5378, "text": "Adding a global upgrade system Additions : Added ‘Zero day’ enemy Added a second level with 6 waves Added a xp system, with skill points and a skill tree Changes: Expanded wave variety in other levels I added a ‘Zero day’ enemy to my game. This enemy is invulnerable for the first 5 seconds after it first spawns in. This makes it highly annoying as it has a tendency to draw and absorb all attacks from high damage towers, and pass through a large portion of your damaging towers unscathed. I also added more waves and a second level, and I’ll slowly expand the playtime of the game as I also add more features The big change here is the xp system. Currently, finishing a level rewards you with some xp, which counts towards your level. Each level up rewards you with a skill point that can be spent in the skill tree. The xp required to level up increases exponentially as the current level gets higher and higher. Unlocks in the tree save to a file and read back on load, so progress is maintained. I was reminded here of my vehement dislike of handling files. For the second time during this project, I forgot where userspace files were stored in Godot. Check this devlog for a bit more detail. Now unfortunately, the demo currently online doesn’t include these new features because I need to write a devlog every 10 hours, but the features aren’t finished. I’ll push them as soon as they are ready™ To Do list : Add file saving for XP earned Allow actually accessing the skill tree from the menu Add a “reset all to default” option in settings Quote of the update: “I. Really. Hate. Files” Any suggestions, please let me know in the comments below."}, {"post_id": 22190, "ts": "2026-07-04T15:02:38Z", "hours": 10.0806, "text": "Added a compendium Alright, this is a big one Additions : Added an indicator that shows the progress through the level Added a “Zip bomb” enemy Added cloaked enemies Added a pause menu Added a compendium Changes: Rebuilt the tutorial I added an indicator to show the player’s progress through the level. It also adds a tiny bit of story - you have to hold off malware until a firewall is constructed, and that bar shows you the progress. And I didn’t even build it from scratch - I’m just using the health bar from the enemies ! 🤫 Next - a zip bomb enemy that, as the name suggests, spawns a burst of child enemies when killed. It moves very slowly, but has high health - this makes it a great target for the SIGTERM sniper tower, which was previously useless not always the best choice. Cloaking was my way of trying to spice up the types of enemies the player would have to deal with. Some enemies in a level will now be cloaked, which means they cannot be attacked until they have their cloaking removed by the new ‘defragmenter’ tower. I wanted a way for players to easily compare the stats of the various towers and enemies, and I also needed something else to add to my pause menu. I decided to kill two pieces of malware with one antivirus quarantine, by adding a compendium. This currently has two tabs, for towers and enemies, each showing you the stats of a tower / enemy when it’s selected. Please don’t ask me how long this took. I don’t want to talk about it. I also rebuilt the tutorial because it looked bad was a pain to build and test would break if i breathed too close to it So I completely scrapped the old system and built a new one Quote of the update: “Hidden malware is a pain - in this game, and in real life” Any suggestions, please let me know in the comments below."}, {"post_id": 10191, "ts": "2026-06-16T20:02:36Z", "hours": 4.1847, "text": "Added a terminal window that logs game events and a tower blocker for level design Changes : Reorganised the UI to provide more space for the level and generally give everything a more unified aesthetic Additions : Added a terminal window at the bottom of the screen that logs game events Added a ‘towerblocker’ tool that the level designer can use to restrict tower placement opportunities Plus (as always) quite a few bug fixes So what is the key feature for any 90s UNIX Linux system? A terminal, of course ! And what is a UNIX-themed game without a terminal? So I added a system where game events, such as waves starting, or enemies being killed, are logged to a terminal window at the bottom of the screen. This window can be opened and closed, and has a little coloured pulse around it whenever a new log is entered. The coloured pulse is synced to the type of event (red for ‘errors’, yellow for ‘warnings’ white for everything else) as well. Each message contains some details about the event and a timestamp on the left. This feature was my first time using the richTextLabel, which allowed me to colour the text. The towerblocker is simple - it’s an invisible tile that can only be placed when the levels are being designed in order to add difficulty or avoid placing of towers offscreen I also reorganised the UI to provide more space for the level - it was all feeling a bit cramped. That reorg also helped to give everything a more unified aesthetic because I took the opportunity to apply some styles to everything, making it feel just a little more together. Quote of the update: “An empty terminal log is always nice. Unfortunately, I don’t think things will be that peaceful…” Any suggestions, please let me know in the comments."}, {"post_id": 8701, "ts": "2026-06-14T13:37:38Z", "hours": 6.4575, "text": "Overhauled the game over screen’s aesthetic and added mouse support to the menu Changes : Changed the game over screen to better fit with the game’s aesthetic Changed the font to a monospaced one Additions : Added mouse support to the menu Added a spray of particles to enemies when they die Added a chromatic aberration effect to enemies when they are hit Plus quite a few bug fixes The first change in this devlog is the game over screen, which used to look like a boring window with a restart button, but now looks like a crash screen [ Image below ] that uses the actual system data to display its message, via a template string and an 8 line formatting statement. I am quite proud of this one Adding mouse support to the menu was, in a word, painful. Because I’d built my own menu system using labels instead of buttons, I had to almost completely rewrite the code to allow for conversion of a Label reference (from one of Godot’s built-in functions) to a child id (which my functions were expecting). And then I had to add some overrides to that so some labels that were not part of the menu system wouldn’t break everything. The spray of particles from enemies when they die is one of my personal favourite effects in this game, mostly because of what I’ve learnt from it. I made the particles be text based by using a subviewport, which basically is a viewport that doesn’t display anything and can then be attached to a texture to show its contents, in this case, on the particles as they are emitted. I also made the text randomise to a 2 digit hexadecimal value - that felt suitably ‘techy’ One of the smaller features in this devlog is the font change. Instead of using Godot’s default font, I found the font used in the actual GRUB and used that instead. Where did I find this font, you ask? It came directly from my PC - I copied the file straight out of /usr/share/fonts . And now we come to chromatic aberration which, as it turns out, is easy to implement for the whole screen, but slightly harder to make work for only a single sprite without discolouring the background. After messing around with shaders for a bit, I gave up and just made 2 versions of my enemy sprite (in red and blue) and just physically offset them in code. And it works. And, if I dare to blow my own trumpet for just a second, it looks great ! Quote of the update: “Please never make me look at my menu code again.”"}, {"post_id": 5836, "ts": "2026-06-09T19:35:21Z", "hours": 4.2917, "text": "Overhauled the menu aesthetic and added a settings menu So, I realised that I’d called this game ‘Kernel Panic’, a very techy name, and yet done little to lean into the aesthetic that evoked. I decided to fix that. Changes: Rebuilt the main menu to use a similar aesthetic to the Linux GRUB Added a settings menu: Support for 2 Vsync modes A slider to control audio A credits page This was my first time using config files, so I also got to learn something; Godot’s user:// directory is not the same as res://. A file created in the user:// directory cannot be seen in the res:// directory. From my uneducated perspective, it seemed as if this file (which I couldn’t find in the editor, since that only shows res:// ) was persisting across runtimes - something non-existent files famously don’t do. I saw someone else do a ‘quote of the update’, but I was unable to find their username to credit them, so please tell me if you know who they are: Quote of the update: “I really don’t like config files” Next plan is to overhaul the game over screen so it better fits with the aesthetic"}, {"post_id": 3590, "ts": "2026-06-06T16:17:25Z", "hours": 0.2508, "text": "Made a dictionary of wave information resources in the level . I exported a dictionary of custom WaveInfo resources in my level scene, and went to add a new resource to the dictionary. I typed in the key, added a new WaveInfo, and clicked Ctrl+s. My new key-value pair promptly vanished without a trace And so began the hour of removing variables, re-adding variables, trawling through the Godot forums and generally wanting to set fire to my computer to try to find the problem. The urge that was not improved by the discovery that I’d forgotten to press the button to actually add the key-value pair, and the error firmly existed between chair and keyboard."}, {"post_id": 3545, "ts": "2026-06-06T15:10:06Z", "hours": 0.4167, "text": "Added a resource to allow upgrades to towers. For those who haven’t used Godot, a resource is a fancy name for a data container that counts the number of other objects referencing it and automatically frees itself when it is no longer needed. According to a quick glance at the Godot docs, creating a custom Resource is as simple as creating a new script that extends Resource and adding a couple of @export variables. I failed at step one, used the default ‘ extend Node ’ instead of ‘ extend Resource ’, and then spent over half an hour trying to work out why it didn’t show up in the inspector. Lesson learned then? Not really, because I did the exact same thing again the next day."}, {"post_id": 3523, "ts": "2026-06-06T14:35:36Z", "hours": 7.0975, "text": "First devlog for Kernel Panic , a tower defence game built in Godot. Here is my progress so far: A menu which allows the user to select levels Multiple custom resources to allow for: Flexible enemy counts and spawn rates during waves Changing of range, damage, or attack speed of a tower Creation of ‘upgrade paths’, which store several upgrades, as well as progress along the path Inspection window that allows: Customisable targeting priority Upgrades to be applied from multiple upgrade paths Multiple towers with several unique upgrade paths each Next step - building a tutorial level that explains the key mechanics of the game."}]...
|
Title: Kernel Panic Tower Defence by @teamlewiscra Title: Kernel Panic Tower Defence by @teamlewiscrafty | Stardance
Devlogs:
First devlog for Kernel Panic , a tower defence game built in Godot. Here is my progress so far: A menu which allows the user to select levels Multiple custom resources to allow for: Flexible enemy counts and spawn rates during waves Changing of range, damage, or attack speed of a tower Creation of ‘upgrade paths’, which store several upgrades, as well as progress along the path Inspection window that allows: Customisable targeting priority Upgrades to be applied from multiple upgrade paths Multiple towers with several unique upgrade paths each Next step - building a tutorial level that explains the key mechanics of the game.
Added a resource to allow upgrades to towers. For those who haven’t used Godot, a resource is a fancy name for a data container that counts the number of other objects referencing it and automatically frees itself when it is no longer needed. According to a quick glance at the Godot docs, creating a custom Resource is as simple as creating a new script that extends Resource and adding a couple of @export variables. I failed at step one, used the default ‘ extend Node ’ instead of ‘ extend Resource ’, and then spent over half an hour trying to work out why it didn’t show up in the inspector. Lesson learned then? Not really, because I did the exact same thing again the next day.
Made a dictionary of wave information resources in the level . I exported a dictionary of custom WaveInfo resources in my level scene, and went to add a new resource to the dictionary. I typed in the key, added a new WaveInfo, and clicked Ctrl+s. My new key-value pair promptly vanished without a trace And so began the hour of removing variables, re-adding variables, trawling through the Godot forums and generally wanting to set fire to my computer to try to find the problem. The urge that was not improved by the discovery that I’d forgotten to press the button to actually add the key-value pair, and the error firmly existed between chair and keyboard.
Overhauled the menu aesthetic and added a settings menu So, I realised that I’d called this game ‘Kernel Panic’, a very techy name, and yet done little to lean into the aesthetic that evoked. I decided to fix that. Changes: Rebuilt the main menu to use a similar aesthetic to the Linux GRUB Added a settings menu: Support for 2 Vsync modes A slider to control audio A credits page This was my first time using config files, so I also got to learn something; Godot’s user:// directory is not the same as res://. A file created in the user:// directory cannot be seen in the res:// directory. From my uneducated perspective, it seemed as if this file (which I couldn’t find in the editor, since that only shows res:// ) was persisting across runtimes - something non-existent files famously don’t do. I saw someone else do a ‘quote of the update’, but I was unable to find their username to credit them, so please tell me if you know who they are: Quote of the update: “I really don’t like config files” Next plan is to overhaul the game over screen so it better fits with the aesthetic
Overhauled the game over screen’s aesthetic and added mouse support to the menu Changes : Changed the game over screen to better fit with the game’s aesthetic Changed the font to a monospaced one Additions : Added mouse support to the menu Added a spray of particles to enemies when they die Added a chromatic aberration effect to enemies when they are hit Plus quite a few bug fixes The first change in this devlog is the game over screen, which used to look like a boring window with a restart button, but now looks like a crash screen [ Image below ] that uses the actual system data to display its message, via a template string and an 8 line formatting statement. I am quite proud of this one Adding mouse support to the menu was, in a word, painful. Because I’d built my own menu system using labels instead of buttons, I had to almost completely rewrite the code to allow for conversion of a Label reference (from one of Godot’s built-in functions) to a child id (which my functions were expecting). And then I had to add some overrides to that so some labels that were not part of the menu system wouldn’t break everything. The spray of particles from enemies when they die is one of my personal favourite effects in this game, mostly because of what I’ve learnt from it. I made the particles be text based by using a subviewport, which basically is a viewport that doesn’t display anything and can then be attached to a texture to show its contents, in this case, on the particles as they are emitted. I also made the text randomise to a 2 digit hexadecimal value - that felt suitably ‘techy’ One of the smaller features in this devlog is the font change. Instead of using Godot’s default font, I found the font used in the actual GRUB and used that instead. Where did I find this font, you ask? It came directly from my PC - I copied the file straight out of /usr/share/fonts . And now we come to chromatic aberration which, as it turns out, is easy to implement for the whole screen, but slightly harder to make work for only a single sprite without discolouring the background. After messing around with shaders for a bit, I gave up and just made 2 versions of my enemy sprite (in red and blue) and just physically offset them in code. And it works. And, if I dare to blow my own trumpet for just a second, it looks great ! Quote of the update: “Please never make me look at my menu code again.”
Added a terminal window that logs game events and a tower blocker for level design Changes : Reorganised the UI to provide more space for the level and generally give everything a more unified aesthetic Additions : Added a terminal window at the bottom of the screen that logs game events Added a ‘towerblocker’ tool that the level designer can use to restrict tower placement opportunities Plus (as always) quite a few bug fixes So what is the key feature for any 90s UNIX Linux system? A terminal, of course ! And what is a UNIX-themed game without a terminal? So I added a system where game events, such as waves starting, or enemies being killed, are logged to a terminal window at the bottom of the screen. This window can be opened and closed, and has a little coloured pulse around it whenever a new log is entered. The coloured pulse is synced to the type of event (red for ‘errors’, yellow for ‘warnings’ white for everything else) as well. Each message contains some details about the event and a timestamp on the left. This feature was my first time using the richTextLabel, which allowed me to colour the text. The towerblocker is simple - it’s an invisible tile that can only be placed when the levels are being designed in order to add difficulty or avoid placing of towers offscreen I also reorganised the UI to provide more space for the level - it was all feeling a bit cramped. That reorg also helped to give everything a more unified aesthetic because I took the opportunity to apply some styles to everything, making it feel just a little more together. Quote of the update: “An empty terminal log is always nice. Unfortunately, I don’t think things will be that peaceful…” Any suggestions, please let me know in the comments.
Added a compendium Alright, this is a big one Additions : Added an indicator that shows the progress through the level Added a “Zip bomb” enemy Added cloaked enemies Added a pause menu Added a compendium Changes: Rebuilt the tutorial I added an indicator to show the player’s progress through the level. It also adds a tiny bit of story - you have to hold off malware until a firewall is constructed, and that bar shows you the progress. And I didn’t even build it from scratch - I’m just using the health bar from the enemies ! 🤫 Next - a zip bomb enemy that, as the name suggests, spawns a burst of child enemies when killed. It moves very slowly, but has high health - this makes it a great target for the SIGTERM sniper tower, which was previously useless not always the best choice. Cloaking was my way of trying to spice up the types of enemies the player would have to deal with. Some enemies in a level will now be cloaked, which means they cannot be attacked until they have their cloaking removed by the new ‘defragmenter’ tower. I wanted a way for players to easily compare the stats of the various towers and enemies, and I also needed something else to add to my pause menu. I decided to kill two pieces of malware with one antivirus quarantine, by adding a compendium. This currently has two tabs, for towers and enemies, each showing you the stats of a tower / enemy when it’s selected. Please don’t ask me how long this took. I don’t want to talk about it. I also rebuilt the tutorial because it looked bad was a pain to build and test would break if i breathed too close to it So I completely scrapped the old system and built a new one Quote of the update: “Hidden malware is a pain - in this game, and in real life” Any suggestions, please let me know in the comments below.
Adding a global upgrade system Additions : Added ‘Zero day’ enemy Added a second level with 6 waves Added a xp system, with skill points and a skill tree Changes: Expanded wave variety in other levels I added a ‘Zero day’ enemy to my game. This enemy is invulnerable for the first 5 seconds after it first spawns in. This makes it highly annoying as it has a tendency to draw and absorb all attacks from high damage towers, and pass through a large portion of your damaging towers unscathed. I also added more waves and a second level, and I’ll slowly expand the playtime of the game as I also add more features The big change here is the xp system. Currently, finishing a level rewards you with some xp, which counts towards your level. Each level up rewards you with a skill point that can be spent in the skill tree. The xp required to level up increases exponentially as the current level gets higher and higher. Unlocks in the tree save to a file and read back on load, so progress is maintained. I was reminded here of my vehement dislike of handling files. For the second time during this project, I forgot where userspace files were stored in Godot. Check this devlog for a bit more detail. Now unfortunately, the demo currently online doesn’t include these new features because I need to write a devlog every 10 hours, but the features aren’t finished. I’ll push them as soon as they are ready™ To Do list : Add file saving for XP earned Allow actually accessing the skill tree from the menu Add a “reset all to default” option in settings Quote of the update: “I. Really. Hate. Files” Any suggestions, please let me know in the comments below.
Improving the global upgrade system Additions : Support for panning around the upgrade tree More upgrades ! Added icons to upgrades Added file saving for XP earned Allow accessing the skill tree from the menu Changes: Level completion is now tracked across multiple play sessions Refined “Currently: …” messages in the upgrade tree The features from the last devlog are now also public ! 🎉 I added some more upgrades to the upgrade tree, and I also gave all of them icons. The icons are… passable. I’m not a graphical artist, and it kind of shows. The “Currently…” messages at the bottom of the side panel got an overhaul, including the addition of units, specific to the type of value being upgraded The game now saves both xp earned and levels completed to files, so they persist between play sessions. This means you don’t have to replay the whole game every time you close it - this is no longer an 80s game ! The skill tree can also be accessed from the menu, so I’m no longer just booting it straight from the Godot editor. This makes it slightly more user friendly. This is probably where I will leave this project for now. I may come back to it now and then, but I’m happy with where this game demo has ended up. I’ll ship it soon, so watch out for that ! If you want to play the game, it is live here . If you are interested in the code, it is available here . To Do list : Add a “reset all to default” option in settings Quote of the update: “Next time I do this, remind me to actually build a proper tree structure” Any suggestions, please let me know in the comments below. Thanks for reading !
Ships:
Kernel Panic Hold off malware to give your firewall time to be repaired in this tower defence game prototype built using the Godot engine ! It is inspired by 1990s Unix systems and sci-fi classics like ‘The Matrix’. Play the demo at https://gianthotdog.itch.io/Kernel-Panic The game demo includes: Multiple levels including a tutorial GRUB-style menu A settings menu (Audio settings, Credits, VSync settings) A config file system so settings persist across play sessions An upgrade tree that contains global upgrades to towers and XP gains An XP and skill point system for purchasing those upgrades 4 distinct types of towers with adjustable targeting priorities Several enemy types Custom resources to handle: Single tower upgrades Enemy counts in waves Global upgrades Controls: Enter to skip startup sequence Click to select / interact / modify values AI: AI was used to write about 50 lines of code for the two shaders, and very occasionally for solving persistent bugs. It was only used for bug fixes after I tried repeatedly and failed to find a solution myself. It was also used for some feedback on aesthetic choices. All assets were designed by hand. All AI code was reviewed before implementation. Credits: Initial prototyping asset pack by Kenney Music by iamoneabe: https://opengameart.org/content/trunkful-of-junk...
|
1793004818.046759
|
1793091218.046759
|
|
2352
|
Slackbot for da memes by @iWombat | Stardance
|
iWombat
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Slackbot for da memes by @iWombat | Stardan Title: Slackbot for da memes by @iWombat | Stardance...
|
1792561763.6065257
|
1793166563.6065257
|
|
2353
|
My first slack bot! by @harshit | Stardance
|
harshit
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-03T18:32:49Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built Vozo Bot, a custom Slack bot using Node.js, Slack Bolt, and Socket Mode. The bot responds to custom slash commands and is hosted on Hack Club Nest so it stays online 24/7. Features: /vozo-ping — Check bot latency /vozo-help — View available commands /vozo-joke — Get a random joke /vozo-catfact — Get a random cat fact The most challenging part was setting up the Slack app, configuring the tokens securely, connecting the bot with Socket Mode, and deploying it to Nest. I also had to learn how to use GitHub, SSH into a Linux server, and run the bot as a systemd service. I’m proud that the bot is fully deployed and continues running even when my laptop is turned off. To test the project, use any of the slash commands: /vozo-ping /vozo-help /vozo-joke /vozo-catfact Source code is available on GitHub, and the bot is hosted on Hack Club Nest.", "repo": "https://github.com/harshitsuthar839-sys/vozobot", "demo": "https://hackclub.enterprise.slack.com/archives/C0B8NHYPG01"}]...
|
[{"post_id": 1586, "ts": "2026 [{"post_id": 1586, "ts": "2026-06-03T18:20:05Z", "hours": 0.36, "text": "Building Vozo Bot Today I created my first Slack bot called Vozo Bot using Node.js and Slack Bolt. What I worked on: Set up a Slack App and enabled Socket Mode Created custom slash commands: /vozo-ping /vozo-help /vozo-joke /vozo-catfact Tested all commands in Slack Uploaded the project to GitHub Applied for and received a Nest container Deployed the bot to Nest and configured it with systemd so it runs 24/7 Next steps: Add more features and improve responses Continue testing and polishing the bot"}]...
|
Title: My first slack bot! by @harshit | Stardance Title: My first slack bot! by @harshit | Stardance
Devlogs:
Building Vozo Bot Today I created my first Slack bot called Vozo Bot using Node.js and Slack Bolt. What I worked on: Set up a Slack App and enabled Socket Mode Created custom slash commands: /vozo-ping /vozo-help /vozo-joke /vozo-catfact Tested all commands in Slack Uploaded the project to GitHub Applied for and received a Nest container Deployed the bot to Nest and configured it with systemd so it runs 24/7 Next steps: Add more features and improve responses Continue testing and polishing the bot
Ships:
I built Vozo Bot, a custom Slack bot using Node.js, Slack Bolt, and Socket Mode. The bot responds to custom slash commands and is hosted on Hack Club Nest so it stays online 24/7. Features: /vozo-ping — Check bot latency /vozo-help — View available commands /vozo-joke — Get a random joke /vozo-catfact — Get a random cat fact The most challenging part was setting up the Slack app, configuring the tokens securely, connecting the bot with Socket Mode, and deploying it to Nest. I also had to learn how to use GitHub, SSH into a Linux server, and run the bot as a systemd service. I’m proud that the bot is fully deployed and continues running even when my laptop is turned off. To test the project, use any of the slash commands: /vozo-ping /vozo-help /vozo-joke /vozo-catfact Source code is available on GitHub, and the bot is hosted on Hack Club Nest....
|
1792878573.9582992
|
1793742573.9582992
|
|
2354
|
DespertaShock by @jupeme6 | Stardance
|
jupeme6
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: DespertaShock by @jupeme6 | Stardance
|
1792882479.6831336
|
1793746479.6831336
|
|
2355
|
My awesome macropad! by @AshleshaM | Stardance
|
AshleshaM
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @AshleshaM | Starda Title: My awesome macropad! by @AshleshaM | Stardance...
|
1792518561.9507687
|
1793123361.9507687
|
|
2356
|
Healthyme by @Wendy1 | Stardance
|
Wendy1
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Healthyme by @Wendy1 | Stardance
|
1792795924.6717205
|
1793400724.6717205
|
|
2357
|
Untitled by @Sky | Stardance
|
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @Sky | Stardance
|
1792590722.2444947
|
1793195522.2444947
|
|
2358
|
Macropad by @Indian5000 | Stardance
|
Indian5000
|
0
|
0.3
|
0
|
[]
|
[{"post_id": 447, "ts": "2026- [{"post_id": 447, "ts": "2026-06-01T21:34:14Z", "hours": 0.3025, "text": "Macropad Initial Development(No code yet)"}]...
|
Title: Macropad by @Indian5000 | Stardance
Devlog Title: Macropad by @Indian5000 | Stardance
Devlogs:
Macropad Initial Development(No code yet)...
|
1792529429.6987367
|
1793134229.6987367
|
|
2359
|
Wifi/NFC Door Code Lock by @AydenFauteaux | Starda Wifi/NFC Door Code Lock by @AydenFauteaux | Stardance...
|
AydenFauteaux
|
0
|
2.23
|
0
|
[]
|
[{"post_id": 2779, "ts": "2026 [{"post_id": 2779, "ts": "2026-06-05T16:10:40Z", "hours": 1.5778, "text": "Im ready to make a bench test the code is finished and i will be updating you when I run into problems"}, {"post_id": 1688, "ts": "2026-06-03T20:50:00Z", "hours": 0.3703, "text": "I finished the code for the arduino uno and now i am ready to test the real product! i put it into wokwi to test digitaly than i will test with real arduinos!"}, {"post_id": 1559, "ts": "2026-06-03T17:25:15Z", "hours": 0.2842, "text": "I am currently making the esp32 code getting the app ui working and i just got the uno to recieve the commands from the esp32"}]...
|
Title: Wifi/NFC Door Code Lock by @AydenFauteaux | Title: Wifi/NFC Door Code Lock by @AydenFauteaux | Stardance
Devlogs:
I am currently making the esp32 code getting the app ui working and i just got the uno to recieve the commands from the esp32
I finished the code for the arduino uno and now i am ready to test the real product! i put it into wokwi to test digitaly than i will test with real arduinos!
Im ready to make a bench test the code is finished and i will be updating you when I run into problems...
|
1792489791.9076054
|
1793094591.9076054
|
|
2360
|
My first slack bot! by @hughmann | Stardance
|
hughmann
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @hughmann | Stardanc Title: My first slack bot! by @hughmann | Stardance...
|
1792713037.4989154
|
1793317837.4989154
|
|
2361
|
Just a Calendar by @vittal_bigamudra | Stardance
|
vittal_bigamudra
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Just a Calendar by @vittal_bigamudra | Star Title: Just a Calendar by @vittal_bigamudra | Stardance...
|
1792616036.7300596
|
1793220836.7300596
|
|
2362
|
Keyboard Substitution Program by @MaybeMae | Stard Keyboard Substitution Program by @MaybeMae | Stardance...
|
MaybeMae
|
0
|
47.49
|
0
|
[]
|
[{"post_id": 77949, "ts": "202 [{"post_id": 77949, "ts": "2026-10-08T22:34:25Z", "hours": 10.8767, "text": "Devlog 11- Mae here! The wiring for all the inputs as gone through its first pass! . It doesnt work… . Somewhere, in that mess of wiring, was a short circuit. I had no idea where it could be or why it was happening. My current best theory is that I needed a diode between the main power bus and the power for the potentiometers on the joystick and throttle. . I am currently working on a fix for it, and once I have the primary flight inputs (joystick, throttle, stability assist) wired up it shouldn’t take nearly as long to wire the secondary flight controls, and the displays."}, {"post_id": 73761, "ts": "2026-09-25T21:34:32Z", "hours": 4.5992, "text": "Devlog 10- Mae again! The top cover is completely assembled (except for the displays)! Now, I can start the process of printing the bottom case and doing final integration to get the controller to talk to KSP. . Additionally, the second circuit board is finished! Unfortunately, now the first circuit board is broken… Im thinking about scrapping the circuit board idea entirely and connecting each button to its own pin on the arduino. . It’s the final strech now to get it done and shipped, but i think i can do it!"}, {"post_id": 71921, "ts": "2026-09-21T19:34:57Z", "hours": 3.1833, "text": "TW: Awful circuit design, electrical engineers beware . Devlog 9- Mae here! “I’ll post the next devlog tonight” she said, blissfully unaware of everything related to circuit design… . The good news is the first circuit board is finished! Below is the mess of wires and diodes that come together to let (some of) the buttons on the controller talk to the arduino! This board specifically lets the 10 individual SAS modes be controlled by their own buttons, while only needing 6 output wires! This saves on ports on the arduino, making the programming much easier. . Creating this board was a huge pain, but now that I know what to do, the next one should be quicker. After that, all thats needed is to print the outer shell, wire everything up. and do the last little bit of integration programming. I know I’m running very short on time, so I’ve laid out a schedule for myself, and as long as the next circuit board doesnt take 4 days I should be fine!"}, {"post_id": 69885, "ts": "2026-09-18T00:22:37Z", "hours": 5.1431, "text": "Devlog 8 - Mae here! The first real piece of the controller is “finished”! Below is the first revision of the top cover of the controller, fully CNCed, painted, and laser engraved! It doesn’t look so great (for reasons I’ll get into later), but it lets me start assembly, as the cover can be swapped out later! . Okay, so first things first, the text looks bad. I am (very) aware of this, and the issue stems from one mistake I made when planning. In my infinite wisdom, I decided it would be a good idea to laser engrave a perfectly white object….. As you can imagine, it failed to cut proper;y, so I had to do a very high power pass, making the text look sloppy. Additionally, between the first and second passes, I inadvertently bumped the laser head, making the text ofset from where it should be. . To fix this, the next version (already in the works) will engrave the text on the CNC mill. This should provide a much better color and better contrast for the text, as well as removing any issue with the text being offset. . Finally, while the second cover is being machined, I’ve started work creating the circuit boards which connect the buttons to the arduinos! I procrastinated on this devlog a little, so that devlog will be coming later tonight!"}, {"post_id": 64770, "ts": "2026-09-09T12:52:33Z", "hours": 9.1317, "text": "Devlog 7 - Mae here! My apologies for the (very) large delay, I was caught up in some other responsibilities. That doesn’t mean nothing got done, though. In fact, two huge parts have been finished! . First, all of the parts have arrived, and I have finished machining the top cover! Now, all the top cover needs is a coat of paint and some laser engraving of the text, then assembly can begin! . Second, I’ve FINALLY got the displays to work! Below is a video of one of the controller’s display “banks”, displaying the rocket’s altitude, and updating it in real time! There is just a small bit of code left to integrate the two other display banks."}, {"post_id": 25093, "ts": "2026-07-09T02:24:28Z", "hours": 2.7333, "text": "Devlog 6 - Mae here! I spent today implementing a slider for throttle control. In theory, it should have been an easy task, no more than 45 minutes. Unfortunately, unlike the potentiometers on the joystick, the slider’s potentiometer was not linear. That meant moving the slider half way increased the throttle to 75%, making using it very unintuitive. So i had to spend quite a bit of time figuring out how to work around it. . Below is a video of my first actual flight using the “controller”. It’s quite intuitive, but I’m not the best pilot lol. . Up next, I’m designing a small case to mount the throttle, stick, and a few buttons. Hopefully this should be the first actual prototype of the controller, which should be very nice to see."}, {"post_id": 24446, "ts": "2026-07-08T00:31:13Z", "hours": 3.2119, "text": "Devlog 5 - Mae here! I’m back! i’m sorry for my absence, it took quite a while for the parts to get here, and they arrived the day I left for vacation. But anyways… . IT WORKS!!! I have now successfully connected a joystick to the system, allowing actual control of a spacecraft in flight! Its actually quite simple too, the code just takes the values from 3 potentiometers mounted in the joystick, remaps the values to be in a range the game can read, and packages them into a message for the Kerbal SimPit mod. The message is then sent to the mod, where it reads it and commands the vessel to turn by the amount specified in the message. It took a while to understand how messages actually work, but i think i get it now. . Next up, I will be implementing data output using a 14 segment display module. Once that’s done, full scale prototyping can begin, using several arduinos at once to control most of the game. And then, once all the parts arrive, the final construction can happen. About half of the required parts have been ordered so afar, so this shouldn’t be too long from now."}, {"post_id": 2031, "ts": "2026-06-04T09:53:56Z", "hours": 3.1547, "text": "Devlog 4 - Mae here! I finished the layout for the controller! It has every button I use in KSP, including all 10 SAS modes, all 10 Action Groups, quick save and load, and so on. The joystick has a button next to it to transition between rotational and translational control, which should make docking so much more interesting. Next up: ordering the parts! . PS; sorry for not getting much work done yesterday, I got distracted playing ksp lol"}, {"post_id": 1199, "ts": "2026-06-03T01:42:42Z", "hours": 0.7453, "text": "Devlog 3- Mae here! IT WORKS! I can now register inputs from external “controllers” (if you want to call one button a controller). This was one of the biggest hurdles I foresaw when I was coming up with the idea for this project, so its success is a great sign for the future. It only took me 3 hours of coding (mostly staring at the docs)! . PS: I know it says I only logged 44 minutes. Guess who forgot to click record on lapse. (its me, i forgot to hit record :C)"}, {"post_id": 642, "ts": "2026-06-02T04:57:59Z", "hours": 3.55, "text": "Devlog 2- Hi again! Mae here! I realized this project cant continue if i cant get inputs and outputs from KSP, so i went ahead and spent about an hour and a half setting up all of the basic configs to get Kerbal Simpit to run. Below is a video of one of the basic test programs running on my arduino uno, receving altitude data from the game. It works! (it only took me till 1 am…) . PS: I’ve made some progress on the controller layout too, but its not in enough of a finished state to show it"}, {"post_id": 433, "ts": "2026-06-01T20:44:17Z", "hours": 1.1619, "text": "Devlog 1- Hi! I’m Mae, I absolutely love the game KSP (Kerbal Space Program), and have been considering making a custom controller for a while. This is gonna be kind of a yap session because I want to set the scene for later devlogs, so I apologize in advance. . I’ve already put together a basic parts list, and am finishing up 3d models of all the basic components (see below). Once all the components are modeled, I’ll start drafting a 3d model for the top cover based on some concept drawings (I seem to have misplaced them, sorry :C ), and then once I’m happy with it, I’ll order the parts and start with the programming. . To actually interface with the game, I’ll be using the Kerbal SimPit Revamped Mod, and the whole controller will be run off of several arduino boards (the details for this section will be worked out more once the controller is built). . The plan for the controller is pretty simple: . Construction- The base construction of the controller will be quite simple. It will be in a 3d printed PETG case. The top cover will be a black ABS sheet, with holes for the buttons and switches CNCed out. The sheet will then be spray painted white, and finally a laser cutter will do some quick passes over the sheet to burn away the paint and create labels for all the inputs. . Input- Use one joystick for rotation/translation, big button with covering for staging, probably the same button but red for abort, latching blue switches for toggles, keyboard keys for momentary switches, and keylock switches to lock out throttle/ joystick to prevent accidental input as well as act as the power switch (bc who doesn’t love the feeling of turning on a device with a switch) The lights in the latching switches are (thankfully) not controlled by the button itself. This gives them the added benefit of being able to update themselves when switching to a different vessel, with different settings enabled on it. . Display- Have 3-4 rows of 7 or 14 segment displays showing mission information (apoapsis, velocity, altitude, delta v remaining, etc.) The displays have different modes that show different information , swapped using buttons (ie. orbital, surface/landing, rendezvous/docking, and maneuver information) One or two additional displays would be nice to keep time warp info separate, but not strictly required. The coolest idea (but also the most expensive and difficult to program) would be to have a small display to show the navball and/or the current orbit visually. . Thanks for reading my first, and hopefully not my last, devlog!"}]...
|
Title: Keyboard Substitution Program by @MaybeMae Title: Keyboard Substitution Program by @MaybeMae | Stardance
Devlogs:
Devlog 1- Hi! I’m Mae, I absolutely love the game KSP (Kerbal Space Program), and have been considering making a custom controller for a while. This is gonna be kind of a yap session because I want to set the scene for later devlogs, so I apologize in advance. . I’ve already put together a basic parts list, and am finishing up 3d models of all the basic components (see below). Once all the components are modeled, I’ll start drafting a 3d model for the top cover based on some concept drawings (I seem to have misplaced them, sorry :C ), and then once I’m happy with it, I’ll order the parts and start with the programming. . To actually interface with the game, I’ll be using the Kerbal SimPit Revamped Mod, and the whole controller will be run off of several arduino boards (the details for this section will be worked out more once the controller is built). . The plan for the controller is pretty simple: . Construction- The base construction of the controller will be quite simple. It will be in a 3d printed PETG case. The top cover will be a black ABS sheet, with holes for the buttons and switches CNCed out. The sheet will then be spray painted white, and finally a laser cutter will do some quick passes over the sheet to burn away the paint and create labels for all the inputs. . Input- Use one joystick for rotation/translation, big button with covering for staging, probably the same button but red for abort, latching blue switches for toggles, keyboard keys for momentary switches, and keylock switches to lock out throttle/ joystick to prevent accidental input as well as act as the power switch (bc who doesn’t love the feeling of turning on a device with a switch) The lights in the latching switches are (thankfully) not controlled by the button itself. This gives them the added benefit of being able to update themselves when switching to a different vessel, with different settings enabled on it. . Display- Have 3-4 rows of 7 or 14 segment displays showing mission information (apoapsis, velocity, altitude, delta v remaining, etc.) The displays have different modes that show different information , swapped using buttons (ie. orbital, surface/landing, rendezvous/docking, and maneuver information) One or two additional displays would be nice to keep time warp info separate, but not strictly required. The coolest idea (but also the most expensive and difficult to program) would be to have a small display to show the navball and/or the current orbit visually. . Thanks for reading my first, and hopefully not my last, devlog!
Devlog 2- Hi again! Mae here! I realized this project cant continue if i cant get inputs and outputs from KSP, so i went ahead and spent about an hour and a half setting up all of the basic configs to get Kerbal Simpit to run. Below is a video of one of the basic test programs running on my arduino uno, receving altitude data from the game. It works! (it only took me till 1 am…) . PS: I’ve made some progress on the controller layout too, but its not in enough of a finished state to show it
Devlog 3- Mae here! IT WORKS! I can now register inputs from external “controllers” (if you want to call one button a controller). This was one of the biggest hurdles I foresaw when I was coming up with the idea for this project, so its success is a great sign for the future. It only took me 3 hours of coding (mostly staring at the docs)! . PS: I know it says I only logged 44 minutes. Guess who forgot to click record on lapse. (its me, i forgot to hit record :C)
Devlog 4 - Mae here! I finished the layout for the controller! It has every button I use in KSP, including all 10 SAS modes, all 10 Action Groups, quick save and load, and so on. The joystick has a button next to it to transition between rotational and translational control, which should make docking so much more interesting. Next up: ordering the parts! . PS; sorry for not getting much work done yesterday, I got distracted playing ksp lol
Devlog 5 - Mae here! I’m back! i’m sorry for my absence, it took quite a while for the parts to get here, and they arrived the day I left for vacation. But anyways… . IT WORKS!!! I have now successfully connected a joystick to the system, allowing actual control of a spacecraft in flight! Its actually quite simple too, the code just takes the values from 3 potentiometers mounted in the joystick, remaps the values to be in a range the game can read, and packages them into a message for the Kerbal SimPit mod. The message is then sent to the mod, where it reads it and commands the vessel to turn by the amount specified in the message. It took a while to understand how messages actually work, but i think i get it now. . Next up, I will be implementing data output using a 14 segment display module. Once that’s done, full scale prototyping can begin, using several arduinos at once to control most of the game. And then, once all the parts arrive, the final construction can happen. About half of the required parts have been ordered so afar, so this shouldn’t be too long from now.
Devlog 6 - Mae here! I spent today implementing a slider for throttle control. In theory, it should have been an easy task, no more than 45 minutes. Unfortunately, unlike the potentiometers on the joystick, the slider’s potentiometer was not linear. That meant moving the slider half way increased the throttle to 75%, making using it very unintuitive. So i had to spend quite a bit of time figuring out how to work around it. . Below is a video of my first actual flight using the “controller”. It’s quite intuitive, but I’m not the best pilot lol. . Up next, I’m designing a small case to mount the throttle, stick, and a few buttons. Hopefully this should be the first actual prototype of the controller, which should be very nice to see.
Devlog 7 - Mae here! My apologies for the (very) large delay, I was caught up in some other responsibilities. That doesn’t mean nothing got done, though. In fact, two huge parts have been finished! . First, all of the parts have arrived, and I have finished machining the top cover! Now, all the top cover needs is a coat of paint and some laser engraving of the text, then assembly can begin! . Second, I’ve FINALLY got the displays to work! Below is a video of one of the controller’s display “banks”, displaying the rocket’s altitude, and updating it in real time! There is just a small bit of code left to integrate the two other display banks.
Devlog 8 - Mae here! The first real piece of the controller is “finished”! Below is the first revision of the top cover of the controller, fully CNCed, painted, and laser engraved! It doesn’t look so great (for reasons I’ll get into later), but it lets me start assembly, as the cover can be swapped out later! . Okay, so first things first, the text looks bad. I am (very) aware of this, and the issue stems from one mistake I made when planning. In my infinite wisdom, I decided it would be a good idea to laser engrave a perfectly white object….. As you can imagine, it failed to cut proper;y, so I had to do a very high power pass, making the text look sloppy. Additionally, between the first and second passes, I inadvertently bumped the laser head, making the text ofset from where it should be. . To fix this, the next version (already in the works) will engrave the text on the CNC mill. This should provide a much better color and better contrast for the text, as well as removing any issue with the text being offset. . Finally, while the second cover is being machined, I’ve started work creating the circuit boards which connect the buttons to the arduinos! I procrastinated on this devlog a little, so that devlog will be coming later tonight!
TW: Awful circuit design, electrical engineers beware . Devlog 9- Mae here! “I’ll post the next devlog tonight” she said, blissfully unaware of everything related to circuit design… . The good news is the first circuit board is finished! Below is the mess of wires and diodes that come together to let (some of) the buttons on the controller talk to the arduino! This board specifically lets the 10 individual SAS modes be controlled by their own buttons, while only needing 6 output wires! This saves on ports on the arduino, making the programming much easier. . Creating this board was a huge pain, but now that I know what to do, the next one should be quicker. After that, all thats needed is to print the outer shell, wire everything up. and do the last little bit of integration programming. I know I’m running very short on time, so I’ve laid out a schedule for myself, and as long as the next circuit board doesnt take 4 days I should be fine!
Devlog 10- Mae again! The top cover is completely assembled (except for the displays)! Now, I can start the process of printing the bottom case and doing final integration to get the controller to talk to KSP. . Additionally, the second circuit board is finished! Unfortunately, now the first circuit board is broken… Im thinking about scrapping the circuit board idea entirely and connecting each button to its own pin on the arduino. . It’s the final strech now to get it done and shipped, but i think i can do it!
Devlog 11- Mae here! The wiring for all the inputs as gone through its first pass! . It doesnt work… . Somewhere, in that mess of wiring, was a short circuit. I had no idea where it could be or why it was happening. My current best theory is that I needed a diode between the main power bus and the power for the potentiometers on the joystick and throttle. . I am currently working on a fix for it, and once I have the primary flight inputs (joystick, throttle, stability assist) wired up it shouldn’t take nearly as long to wire the secondary flight controls, and the displays....
|
1792522409.2285023
|
1793127209.2285023
|
|
2363
|
My awesome macropad! by @Gaby | Stardance
|
Gaby
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Gaby | Stardance
|
1792684186.5203226
|
1793288986.5203226
|
|
2364
|
Helix by @sidd | Stardance
|
sidd
|
0
|
0.0
|
0
|
[]
|
[{"post_id": 14453, "ts": "202 [{"post_id": 14453, "ts": "2026-06-23T16:08:31Z", "hours": 0.0, "text": "Go t the parts!"}]...
|
Title: Helix by @sidd | Stardance
Devlogs:
Go t t Title: Helix by @sidd | Stardance
Devlogs:
Go t the parts!...
|
1792943555.4738302
|
1793807555.4738302
|
|
2365
|
badass macropad! by @devansmell | Stardance
|
devansmell
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: badass macropad! by @devansmell | Stardance
|
1792713077.3618782
|
1793317877.3618782
|
|
2366
|
My awesome macropad! by @antoninvallonazoulay | St My awesome macropad! by @antoninvallonazoulay | Stardance...
|
antoninvallonazoulay
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @antoninvallonazoul Title: My awesome macropad! by @antoninvallonazoulay | Stardance...
|
1792749242.8562744
|
1793354042.8562744
|
|
2367
|
Jarvis by @meeran | Stardance
|
meeran
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Jarvis by @meeran | Stardance
|
1792731312.7405872
|
1793336112.7405872
|
|
2368
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792882150.7635672
|
1793746150.7635672
|
|
2369
|
Snaky boy by @Lol123rl | Stardance
|
Lol123rl
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-02T17:04:13Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a 3d google snake game. In Godot, I challenged myself to make it all in one node, it was a lot of fun playing with the Camera. I can’t what to see what people think.", "repo": "https://github.com/Lol123rl/snake_game", "demo": "https://papaya-pithivier-456916.netlify.app/"}]...
|
[{"post_id": 422, "ts": "2026- [{"post_id": 422, "ts": "2026-06-01T20:29:49Z", "hours": 0.565, "text": "Updadted the code to you play on the outside and is much smother"}, {"post_id": 363, "ts": "2026-06-01T18:12:47Z", "hours": 0.4933, "text": "a 3d google snake game"}]...
|
Title: Snaky boy by @Lol123rl | Stardance
Devlogs Title: Snaky boy by @Lol123rl | Stardance
Devlogs:
a 3d google snake game
Updadted the code to you play on the outside and is much smother
Ships:
I made a 3d google snake game. In Godot, I challenged myself to make it all in one node, it was a lot of fun playing with the Camera. I can’t what to see what people think....
|
1792983217.8133965
|
1793069617.8133965
|
|
2370
|
First Drone by @Aliexpress_enjoyer | Stardance
|
Aliexpress_enjoyer
|
0
|
45.82
|
0
|
[]
|
[{"post_id": 69505, "ts": "202 [{"post_id": 69505, "ts": "2026-09-17T06:19:48Z", "hours": 0.4597, "text": "Got a battery monitor working (it disarms the drone when the 3s lipo reaches 10v or below)"}, {"post_id": 68431, "ts": "2026-09-15T03:27:06Z", "hours": 2.4386, "text": "I was mostly working on code (its going horribly), but I soldered the battery connector along with a voltage measurement wire."}, {"post_id": 37991, "ts": "2026-07-31T02:46:42Z", "hours": 0.9169, "text": "Cadded a battery compartment in Autodesk Fusion"}, {"post_id": 37373, "ts": "2026-07-30T01:18:04Z", "hours": 1.0425, "text": "Added a calibration mode for easy esc tweaking, and the motor now uses 250hz I needed an input of some sort for calibrating, so I used the battery voltage pin as a temporary solution."}, {"post_id": 37294, "ts": "2026-07-29T22:01:39Z", "hours": 0.6047, "text": "made a custom quadcopter model in blender and added it to the web viewer!!"}, {"post_id": 37158, "ts": "2026-07-29T17:34:20Z", "hours": 3.9661, "text": "Learned threejs so that I could render a cube in the browser that rotates based on the flight controller’s orientation. While doing that, I got distracted and started playing the threejs port of doom for a bit. Anyway, it works really well Also, I suck at math This is a problem because I’m trying to write drone firmware from scratch. Fortunately, there are some pretty good guides out there like the one from Carbon Aeronautics. This session was mostly me trying to learn the math used to measure angles from the accelerometer and gyro. I get some of it, such as the basic trig stuff and integrating the gyro’s readings. I don’t get the more complex stuff like the Kalman Filter because sadly, I only posses 2nd year high school math knowledge. But mark my words, I WILL learn linear algebra and will understand it one day, maybe also what does stardance mean by “please write this yourself, humans can read it!,” right after I pasted in an IMAGE??"}, {"post_id": 36176, "ts": "2026-07-28T02:57:34Z", "hours": 2.8189, "text": "I modded my radio transmitter so it works with the current flight controller I also did some radio testing. I also tried playing around with FreeRTOS but I’m too dumb so I gave up Edit: Forgot to mention I created a holder for the flight controller"}, {"post_id": 32474, "ts": "2026-07-21T17:53:30Z", "hours": 10.6878, "text": "i did a high risk high reward type thing I paid 6 billion dollars to JLC for the flight controller, not even being fully sure if the flight controller would work. It arrived a week ago but I was dying at outpost so I haven’t tested until yesterday. I confirmed that the radio, imu, and motor pins work which are basically the most important parts of the FC"}, {"post_id": 12323, "ts": "2026-06-20T03:22:19Z", "hours": 1.3092, "text": "I’m finalizing the flight controller This means that I had to do a lot of double checking and random tweaks. I didn’t record it since I wasn’t very productive and essentially wasted an entire day half doom scrolling I did other miscellaneous things. Added a silkscreen Assembled part of the frame that arrived Wrote a BOM and tweaked stuff to appease JLCPCB"}, {"post_id": 10430, "ts": "2026-06-17T04:29:05Z", "hours": 0.5406, "text": "I fixed some DRC violations. Most of them were caused by me needing to shrink the default trace sizes for that one sensor. Four errors remain, which I likely won’t bother fixing since they’re just courtyard violations of the esp32s3’s antenna, which is not that integral to my project."}, {"post_id": 10387, "ts": "2026-06-17T02:15:18Z", "hours": 4.2706, "text": "Routed (most of) the Flight Controller. It may not look like much, but it was a lot of suffering. To start off, the magnetometer I’m using has the most annoying package I’ve encountered yet. There are pins buried deep inside the center of it, and I had to adjust trace and via sizes to accommodate for them. I ended up using the absolute minimum sizes that JLCPCB has to offer. Secondly, the radio module I’m using, which could not be moved or oriented differently, has a seriously unlucky pinout, and I ended up needing vias for almost every pin for it. Consequently, most other pins of the other sensors needed vias too, since they had to pass through or be connected to it. I ended up with the worst PCB layout I’ve ever seen. (To be fair, I haven’t seen many PCB layouts, so it probably isn’t as bad as I make it sound) I think it works though, I just need to spend like a day checking over it, and also route the remaining things, which are just ground planes, and power traces. I also cost optimized my board a little by reducing the assortment of header pins, so most of them will use the same parts, reducing JLC’s unique extended component fee. Here are some takeaways Don’t wire GND and power wires first, they have nonzero chances of needing to be moved later on, meaning you’ll have wasted your time JLCPCB allows smaller minimum trace sizes the more layers your boards have Never ever ever use WLCSP if you’re dumb like me There were probably more takeaways but I forgot"}, {"post_id": 9331, "ts": "2026-06-15T17:31:19Z", "hours": 1.9758, "text": "I did more component placing. I think it’s almost ready to route, but I want to make sure I didn’t make any mistakes, namely using a forbidden pin. I also did some component testing with the parts I already have, such as seeing if multiple motors could run at once, while the radio was transmitting, etc."}, {"post_id": 7781, "ts": "2026-06-13T00:10:19Z", "hours": 3.53, "text": "Before continuing with the PCB, I wanted to do a quick and stress free session where I tested firmware that would make the motors run. Safe to say, it was not quick and stress free. I initially tested the servo code on a mini mg90 servo since it was safer than testing with the esc which is powered by a big scary LiPo battery. I wasted 45 minutes with the firmware only to learn that the battery pack I used was drained. (All 4 AA batteries fell to 0.9v…) Then I managed to get the espservo library to work, but for some reason it kept crashing the entire code whenever I tried using pinMode(). I still don’t know why that happened. I switched to controlling the servo using the ledc api instead, which worked much better, and was quite fun to figure out. After succeeding in moving the mini servo, the ESC + motor gave me some issues. For safety purposes, ESCs have to be armed before they spin. To learn exactly how to calibrate it, I dug up a datasheet of the ESC, and finally got the ESC to spin the motor. Overall I learned: ESCs aren’t as dumb as I thought they were ledc api exists I still hate programming"}, {"post_id": 7011, "ts": "2026-06-11T19:21:35Z", "hours": 1.9411, "text": "I started working on component placements of the PCB. It was harder than I thought it would be. Firstly, I had over-estimated the size of flight controllers in general, so I had less space to work with as anticipated. Secondly, I forgot to add some decoupling capacitors in the schematic, so after doing so, I had much more components to wire. Thirdly, the connectors were bigger than I thought, especially the ones for the radio module I plan to attach to it. I’m still deciding some things, such as how big I want the board to be, (I’m thinking somewhere around 50x50mm, excluding the protruding antenna and usb port) and whether the PCB will be a 2 or 4 layer pcb."}, {"post_id": 6573, "ts": "2026-06-11T01:17:08Z", "hours": 0.7056, "text": "I assigned some footprints Not many interesting things happened, just mostly browsing LCSC and JLCPCB’s parts. I also spent some effort figuring out how to import footprints from componentsearchengine"}, {"post_id": 6553, "ts": "2026-06-11T00:23:09Z", "hours": 0.8667, "text": "I finished the schematic. I still have some warnings to fix, but I’ve reviewed the connections, and they seem correct. The current schematic has: An ESP32-S3 An IMU, which is the BMI270 + BMM150 Connectors for the ESC signals Extra GPIOs that are broken out A USB-C port A BMP338 barometer Some connectors for attaching the RF24s I have A connector for measuring battery voltage An LED :)"}, {"post_id": 6354, "ts": "2026-06-10T18:08:08Z", "hours": 3.1303, "text": "I hate working on the flight controller so I decided to work on something else instead. This is supposed to be a webpage that tests drone sensors where you can see the drone’s orientation in real time. I’ve been dying to try out the web serial api for a while now, but I never got to it. Fortunately, I finally got to use it to receive data from the microcontroller. I managed to make the webpage receive serial data from the receiver that I built in the last devlog."}, {"post_id": 5409, "ts": "2026-06-09T05:02:07Z", "hours": 1.6242, "text": "I took on a little sidequest from working on the schematic of the flight controller. I plan to use a set of nrf24l01’s as the radio, since I already have them. Therefore, I wanted to test them before putting it on the schematic. I hooked one up to a brand new esp32-s3, and the other to an esp32-wroom1. The process of sending data between each one was relatively straightforward, thanks to a helpful instructable I found. However, I did get some issues with the default SPI pins with the s3, but that got sorted out after some pin switching. Eventually I got the two devices to remotely talk to each other and was overjoyed. Also somewhere in between all of that, I realized I ran out of male to female jumper wires so that sucks :("}, {"post_id": 5300, "ts": "2026-06-09T00:55:22Z", "hours": 1.1764, "text": "I made some more progress on the flight controller. I may have forgotten some of what I did since the lapse was recorded like a day ago, but I added some connectors to the four escs, and connected most things to the main microcontroller."}, {"post_id": 3301, "ts": "2026-06-06T05:00:54Z", "hours": 1.81, "text": "I started researching/designing a custom flight controller! I began by choosing an IMU for it. I was initially going to use an MPU-6500, but learned it was trash for drones. I eventually settled on the BMI270 since it was relatively cheap but still powerful. Another benefit of that chip was that it could be hooked up to a magnetometer, so I looked into the BMM150, which was recommended. I also wasted my time with another random magnetometer that I keep forgetting the name of. Anyway I added those to the schematic, which wasn’t too bad. I’m pretty new to KiCad so I needed to figure out how to import symbols into it. I discovered the lifesaver known as the componentsearchengine, which is an extensive database of symbols that KiCad or other cad programs may not have. I also chose a microcontroller for the FC. I wanted to use an ESP32 chip since I’m most familiar with them, and ended up choosing an ESP32-S3 Wroom 1 (mostly arbitrarily)"}]...
|
Title: First Drone by @Aliexpress_enjoyer | Starda Title: First Drone by @Aliexpress_enjoyer | Stardance
Devlogs:
I started researching/designing a custom flight controller! I began by choosing an IMU for it. I was initially going to use an MPU-6500, but learned it was trash for drones. I eventually settled on the BMI270 since it was relatively cheap but still powerful. Another benefit of that chip was that it could be hooked up to a magnetometer, so I looked into the BMM150, which was recommended. I also wasted my time with another random magnetometer that I keep forgetting the name of. Anyway I added those to the schematic, which wasn’t too bad. I’m pretty new to KiCad so I needed to figure out how to import symbols into it. I discovered the lifesaver known as the componentsearchengine, which is an extensive database of symbols that KiCad or other cad programs may not have. I also chose a microcontroller for the FC. I wanted to use an ESP32 chip since I’m most familiar with them, and ended up choosing an ESP32-S3 Wroom 1 (mostly arbitrarily)
I made some more progress on the flight controller. I may have forgotten some of what I did since the lapse was recorded like a day ago, but I added some connectors to the four escs, and connected most things to the main microcontroller.
I took on a little sidequest from working on the schematic of the flight controller. I plan to use a set of nrf24l01’s as the radio, since I already have them. Therefore, I wanted to test them before putting it on the schematic. I hooked one up to a brand new esp32-s3, and the other to an esp32-wroom1. The process of sending data between each one was relatively straightforward, thanks to a helpful instructable I found. However, I did get some issues with the default SPI pins with the s3, but that got sorted out after some pin switching. Eventually I got the two devices to remotely talk to each other and was overjoyed. Also somewhere in between all of that, I realized I ran out of male to female jumper wires so that sucks :(
I hate working on the flight controller so I decided to work on something else instead. This is supposed to be a webpage that tests drone sensors where you can see the drone’s orientation in real time. I’ve been dying to try out the web serial api for a while now, but I never got to it. Fortunately, I finally got to use it to receive data from the microcontroller. I managed to make the webpage receive serial data from the receiver that I built in the last devlog.
I finished the schematic. I still have some warnings to fix, but I’ve reviewed the connections, and they seem correct. The current schematic has: An ESP32-S3 An IMU, which is the BMI270 + BMM150 Connectors for the ESC signals Extra GPIOs that are broken out A USB-C port A BMP338 barometer Some connectors for attaching the RF24s I have A connector for measuring battery voltage An LED :)
I assigned some footprints Not many interesting things happened, just mostly browsing LCSC and JLCPCB’s parts. I also spent some effort figuring out how to import footprints from componentsearchengine
I started working on component placements of the PCB. It was harder than I thought it would be. Firstly, I had over-estimated the size of flight controllers in general, so I had less space to work with as anticipated. Secondly, I forgot to add some decoupling capacitors in the schematic, so after doing so, I had much more components to wire. Thirdly, the connectors were bigger than I thought, especially the ones for the radio module I plan to attach to it. I’m still deciding some things, such as how big I want the board to be, (I’m thinking somewhere around 50x50mm, excluding the protruding antenna and usb port) and whether the PCB will be a 2 or 4 layer pcb.
Before continuing with the PCB, I wanted to do a quick and stress free session where I tested firmware that would make the motors run. Safe to say, it was not quick and stress free. I initially tested the servo code on a mini mg90 servo since it was safer than testing with the esc which is powered by a big scary LiPo battery. I wasted 45 minutes with the firmware only to learn that the battery pack I used was drained. (All 4 AA batteries fell to 0.9v…) Then I managed to get the espservo library to work, but for some reason it kept crashing the entire code whenever I tried using pinMode(). I still don’t know why that happened. I switched to controlling the servo using the ledc api instead, which worked much better, and was quite fun to figure out. After succeeding in moving the mini servo, the ESC + motor gave me some issues. For safety purposes, ESCs have to be armed before they spin. To learn exactly how to calibrate it, I dug up a datasheet of the ESC, and finally got the ESC to spin the motor. Overall I learned: ESCs aren’t as dumb as I thought they were ledc api exists I still hate programming
I did more component placing. I think it’s almost ready to route, but I want to make sure I didn’t make any mistakes, namely using a forbidden pin. I also did some component testing with the parts I already have, such as seeing if multiple motors could run at once, while the radio was transmitting, etc.
Routed (most of) the Flight Controller. It may not look like much, but it was a lot of suffering. To start off, the magnetometer I’m using has the most annoying package I’ve encountered yet. There are pins buried deep inside the center of it, and I had to adjust trace and via sizes to accommodate for them. I ended up using the absolute minimum sizes that JLCPCB has to offer. Secondly, the radio module I’m using, which could not be moved or oriented differently, has a seriously unlucky pinout, and I ended up needing vias for almost every pin for it. Consequently, most other pins of the other sensors needed vias too, since they had to pass through or be connected to it. I ended up with the worst PCB layout I’ve ever seen. (To be fair, I haven’t seen many PCB layouts, so it probably isn’t as bad as I make it sound) I think it works though, I just need to spend like a day checking over it, and also route the remaining things, which are just ground planes, and power traces. I also cost optimized my board a little by reducing the assortment of header pins, so most of them will use the same parts, reducing JLC’s unique extended component fee. Here are some takeaways Don’t wire GND and power wires first, they have nonzero chances of needing to be moved later on, meaning you’ll have wasted your time JLCPCB allows smaller minimum trace sizes the more layers your boards have Never ever ever use WLCSP if you’re dumb like me There were probably more takeaways but I forgot
I fixed some DRC violations. Most of them were caused by me needing to shrink the default trace sizes for that one sensor. Four errors remain, which I likely won’t bother fixing since they’re just courtyard violations of the esp32s3’s antenna, which is not that integral to my project.
I’m finalizing the flight controller This means that I had to do a lot of double checking and random tweaks. I didn’t record it since I wasn’t very productive and essentially wasted an entire day half doom scrolling I did other miscellaneous things. Added a silkscreen Assembled part of the frame that arrived Wrote a BOM and tweaked stuff to appease JLCPCB
i did a high risk high reward type thing I paid 6 billion dollars to JLC for the flight controller, not even being fully sure if the flight controller would work. It arrived a week ago but I was dying at outpost so I haven’t tested until yesterday. I confirmed that the radio, imu, and motor pins work which are basically the most important parts of the FC
I modded my radio transmitter so it works with the current flight controller I also did some radio testing. I also tried playing around with FreeRTOS but I’m too dumb so I gave up Edit: Forgot to mention I created a holder for the flight controller
Learned threejs so that I could render a cube in the browser that rotates based on the flight controller’s orientation. While doing that, I got distracted and started playing the threejs port of doom for a bit. Anyway, it works really well Also, I suck at math This is a problem because I’m trying to write drone firmware from scratch. Fortunately, there are some pretty good guides out there like the one from Carbon Aeronautics. This session was mostly me trying to learn the math used to measure angles from the accelerometer and gyro. I get some of it, such as the basic trig stuff and integrating the gyro’s readings. I don’t get the more complex stuff like the Kalman Filter because sadly, I only posses 2nd year high school math knowledge. But mark my words, I WILL learn linear algebra and will understand it one day, maybe also what does stardance mean by “please write this yourself, humans can read it!,” right after I pasted in an IMAGE??
made a custom quadcopter model in blender and added it to the web viewer!!
Added a calibration mode for easy esc tweaking, and the motor now uses 250hz I needed an input of some sort for calibrating, so I used the battery voltage pin as a temporary solution.
Cadded a battery compartment in Autodesk Fusion
I was mostly working on code (its going horribly), but I soldered the battery connector along with a voltage measurement wire.
Got a battery monitor working (it disarms the drone when the 3s lipo reaches 10v or below)...
|
1792774196.4867506
|
1793378996.4867506
|
|
2371
|
My first slack bot! by @Username | Stardance
|
Username
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Username | Stardanc Title: My first slack bot! by @Username | Stardance...
|
1792554531.2090507
|
1793159331.2090507
|
|
2372
|
My first slack bot! by @sofiakmetova16 | Stardance
|
sofiakmetova16
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @sofiakmetova16 | St Title: My first slack bot! by @sofiakmetova16 | Stardance...
|
1792792360.9102566
|
1793397160.9102566
|
|
2373
|
fightstick by @kakenbutter | Stardance
|
kakenbutter
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: fightstick by @kakenbutter | Stardance
|
1792572783.0438595
|
1793177583.0438595
|
|
2374
|
My awesome macropad! by @Jenna | Stardance
|
Jenna
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Jenna | Stardance
|
1792515254.301263
|
1793120054.301263
|
|
2375
|
My awesome macropad! by @Alf | Stardance
|
Alf
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Alf | Stardance
|
1792745463.16869
|
1793350263.16869
|
|
2376
|
Cargador 18250 by @jupeme6 | Stardance
|
jupeme6
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Cargador 18250 by @jupeme6 | Stardance
|
1792914900.7725873
|
1793778900.7725873
|
|
2377
|
Space "land" by @Celine | Stardance
|
Celine
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-15T08:31:08Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a website where you can scan for aliens and chat with them too, it’s more of a game cause it’s completly bogus , i’m proud cause i used a lot of my creativity and i’ll be making something more real in my next project", "repo": "https://github.com/AlphaFifteen/Galaxy_Interact", "demo": "https://alphafifteen.github.io/my-website"}]...
|
[{"post_id": 9124, "ts": "2026 [{"post_id": 9124, "ts": "2026-06-15T08:27:23Z", "hours": 0.9522, "text": "I added a few responses in the intergalactic chat page When i clicked send on the Neptune planet message it wasn’t sending , i dicovered that it was because i hadn’t typed in the name correctly🤦♂️"}, {"post_id": 8697, "ts": "2026-06-14T13:28:41Z", "hours": 0.3778, "text": "Its a website made from html, css and javascript that has a “Alien radar scan “site, an “intergalactic chat site” and an Alien analyzer site where you decribe what you saw and it gives you the probability of it being an alien encounter"}]...
|
Title: Space "land" by @Celine | Stardance Title: Space "land" by @Celine | Stardance
Devlogs:
Its a website made from html, css and javascript that has a “Alien radar scan “site, an “intergalactic chat site” and an Alien analyzer site where you decribe what you saw and it gives you the probability of it being an alien encounter
I added a few responses in the intergalactic chat page When i clicked send on the Neptune planet message it wasn’t sending , i dicovered that it was because i hadn’t typed in the name correctly🤦♂️
Ships:
I made a website where you can scan for aliens and chat with them too, it’s more of a game cause it’s completly bogus , i’m proud cause i used a lot of my creativity and i’ll be making something more real in my next project...
|
1792993890.0700037
|
1793080290.0700037
|
|
2378
|
My awesome macropad! by @bali0531 | Stardance
|
bali0531
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @bali0531 | Stardan Title: My awesome macropad! by @bali0531 | Stardance...
|
1792925280.026908
|
1793789280.026908
|
|
2379
|
My first slack bot! by @mulkiyenurky | Stardance
|
mulkiyenurky
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @mulkiyenurky | Star Title: My first slack bot! by @mulkiyenurky | Stardance...
|
1792766969.147499
|
1793371769.147499
|
|
2380
|
My first slack bot! by @talia | Stardance
|
talia
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @talia | Stardance
|
1792601288.9210856
|
1793206088.9210856
|
|
2381
|
My awesome macropad! by @Aryan_goel | Stardance
|
Aryan_goel
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Aryan_goel | Stard Title: My awesome macropad! by @Aryan_goel | Stardance...
|
1792587000.080592
|
1793191800.080592
|
|
2382
|
Roblox Tower Obby by @evansuri20 | Stardance
|
evansuri20
|
0
|
5.09
|
0
|
[]
|
[{"post_id": 5975, "ts": "2026 [{"post_id": 5975, "ts": "2026-06-10T00:38:58Z", "hours": 0.5836, "text": "Roblox Tower Obby This is a small portion of the tower we are working on"}, {"post_id": 4957, "ts": "2026-06-08T16:21:39Z", "hours": 1.2183, "text": "Roblox Tower Obby Have coded kill blocks to make it harder! Next devlog I will show you the whole thing"}, {"post_id": 1946, "ts": "2026-06-04T06:08:29Z", "hours": 2.7172, "text": "ROBLOX TOWER OBBY"}, {"post_id": 491, "ts": "2026-06-01T23:19:57Z", "hours": 0.5681, "text": "Roblox Tower Obby! This is only the beggening"}]...
|
Title: Roblox Tower Obby by @evansuri20 | Stardanc Title: Roblox Tower Obby by @evansuri20 | Stardance
Devlogs:
Roblox Tower Obby! This is only the beggening
ROBLOX TOWER OBBY
Roblox Tower Obby Have coded kill blocks to make it harder! Next devlog I will show you the whole thing
Roblox Tower Obby This is a small portion of the tower we are working on...
|
1792655606.8815255
|
1793260406.8815255
|
|
2383
|
My first slack bot! by @Ishmael_Is_Goated | Starda My first slack bot! by @Ishmael_Is_Goated | Stardance...
|
Ishmael_Is_Goated
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Ishmael_Is_Goated | Title: My first slack bot! by @Ishmael_Is_Goated | Stardance...
|
1792525762.0232408
|
1793130562.0232408
|
|
2384
|
A Cyber Tool by @NikosApfel | Stardance
|
NikosApfel
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: A Cyber Tool by @NikosApfel | Stardance
|
1792651662.5891268
|
1793256462.5891268
|
|
2385
|
Bio controlled arm by @Scott | Stardance
|
Scott
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Bio controlled arm by @Scott | Stardance
|
1792637585.5219278
|
1793242385.5219278
|
|
2386
|
My first slack bot! by @Jenna | Stardance
|
Jenna
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Jenna | Stardance
|
1792586894.074239
|
1793191694.074239
|
|
2387
|
Project Macropad by @theycantseemeyall | Stardance
|
theycantseemeyall
|
0
|
1.48
|
0
|
[]
|
[{"post_id": 32014, "ts": "202 [{"post_id": 32014, "ts": "2026-07-20T21:35:07Z", "hours": 1.4844, "text": "Today i finally finsihed with the schematic of project macro and assigning the appropriate footnotes to each component. It was pretty easy going but took sm onger than I had actually expected. I think debugging the errors and warnings took the longets part as I had to learn how to manually assign footnotes, how to do global nets to avoid a cluster of wires, close parts I wasn’t using and adding power flags to parts. The bad thing was that as I was trying to figure out how to assign the footnotes I decided to just place the footnotes in a different folder and then use that so it readjusts but I also changed the symbols library by accident now I can’t even ctrl Z and I doin’t remember what was there originally. But thats a problem for tmr me."}]...
|
Title: Project Macropad by @theycantseemeyall | St Title: Project Macropad by @theycantseemeyall | Stardance
Devlogs:
Today i finally finsihed with the schematic of project macro and assigning the appropriate footnotes to each component. It was pretty easy going but took sm onger than I had actually expected. I think debugging the errors and warnings took the longets part as I had to learn how to manually assign footnotes, how to do global nets to avoid a cluster of wires, close parts I wasn’t using and adding power flags to parts. The bad thing was that as I was trying to figure out how to assign the footnotes I decided to just place the footnotes in a different folder and then use that so it readjusts but I also changed the symbols library by accident now I can’t even ctrl Z and I doin’t remember what was there originally. But thats a problem for tmr me....
|
1792637571.0241857
|
1793242371.0241857
|
|
2388
|
My awesome macropad! by @ianparedes | Stardance
|
ianparedes
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @ianparedes | Stard Title: My awesome macropad! by @ianparedes | Stardance...
|
1792486063.7871094
|
1793090863.7871094
|
|
2389
|
My awesome macropad! by @eunchanh325 | Stardance
|
eunchanh325
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @eunchanh325 | Star Title: My awesome macropad! by @eunchanh325 | Stardance...
|
1792608885.6013255
|
1793213685.6013255
|
|
2390
|
Custom Slack Command that teaches Spanish by @lee2 Custom Slack Command that teaches Spanish by @lee264 | Stardance...
|
lee264
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Custom Slack Command that teaches Spanish b Title: Custom Slack Command that teaches Spanish by @lee264 | Stardance...
|
1792767011.786843
|
1793631011.786843
|
|
2391
|
My awesome macropad! by @Mirac | Stardance
|
Mirac
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Mirac | Stardance
|
1792767287.9682374
|
1793372087.9682374
|
|
2392
|
Untitled by @CY3er | Stardance
|
CY3er
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @CY3er | Stardance
|
1792615682.343097
|
1793220482.343097
|
|
2393
|
Untitled by @itzstt | Stardance
|
itzstt
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @itzstt | Stardance
|
1792680946.0833383
|
1793285746.0833383
|
|
2394
|
My first slack bot! by @antoninvallonazoulay | Sta My first slack bot! by @antoninvallonazoulay | Stardance...
|
antoninvallonazoulay
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @antoninvallonazoula Title: My first slack bot! by @antoninvallonazoulay | Stardance...
|
1792565625.9527822
|
1793170425.9527822
|
|
2395
|
My awesome macropad! by @Sgattix | Stardance
|
Sgattix
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Sgattix | Stardanc Title: My awesome macropad! by @Sgattix | Stardance...
|
1792583596.684529
|
1793188396.684529
|
|
2396
|
My first slack bot! by @bali0531 | Stardance
|
bali0531
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @bali0531 | Stardanc Title: My first slack bot! by @bali0531 | Stardance...
|
1792929096.3428986
|
1793793096.3428986
|
|
2397
|
Drone by @Kynetic | Stardance
|
Kynetic
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Drone by @Kynetic | Stardance
|
1792936307.7351282
|
1793800307.7351282
|
|
2398
|
Dots by @Ivan | Stardance
|
Ivan
|
1
|
30.46
|
127
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-05T18:24:51Z", "hours": 28.0, "multiplier": 4.62, "payout": 127, "blessing": "neutral", "text": "I coded Dots, a paper-and-pen game that I loved playing as a kid! The game features several game modes including PvP and PvE. The game engine uses algorithms such as Minimax and Alpha-beta pruning that I learned from Sebastian Lague’s series on Chess programming.", "repo": "https://github.com/IvanMishin1/dots-pygame", "demo": "https://ivannn06.itch.io/dots"}]...
|
[{"post_id": 28326, "ts": "202 [{"post_id": 28326, "ts": "2026-07-14T14:40:14Z", "hours": 2.4639, "text": "I’ve been wanting to learn how to use Blender for quite a while which is why I decided to make an icon for Dots using this software. I found it quite complicated a first but quickly learnt the basics of how it works. Choosing the right shades of red and blue took quite a lot of time."}, {"post_id": 23001, "ts": "2026-07-05T18:16:59Z", "hours": 2.6153, "text": "Worked on the readme file and polished the game for its first ship!"}, {"post_id": 22819, "ts": "2026-07-05T12:35:52Z", "hours": 1.9203, "text": "Added a few menus to make launching the game more straightforward. Also included a short guide."}, {"post_id": 22736, "ts": "2026-07-05T09:57:45Z", "hours": 8.3325, "text": "I got inspired by Sebastian Lague’s series on Chess engines so I decided to create my own engine but for Dots. I implemented the Minimax algorithm with Alpha-beta pruning which is often used in Chess bots. It is worth mentioning that despite it’s simple nature, the computational complexity of a dots engine is WAY higher than that of a chess engine: there are about 10^40 possible positions in chess compared to 10^120 in Dots. Furthermore, there is very little documentation on Dots engines, except for one article from 2002. The image attached is a game between a depth 2 and a depth 4 engine."}, {"post_id": 5811, "ts": "2026-06-09T18:58:47Z", "hours": 2.1308, "text": "Implemented the ability to have more than 2 players! This is not part of the classical game rules but I found this variation to be very fun to play. Currently it supports up to 6 players. Implementing this functionality required me to change the way players are handled which made the code clearer."}, {"post_id": 3581, "ts": "2026-06-06T16:10:26Z", "hours": 2.8408, "text": "Fully separated the game logic from the Pygame graphical interface. I am now considering making a web version of the game using Django"}, {"post_id": 2333, "ts": "2026-06-04T19:27:44Z", "hours": 1.0664, "text": "Lost against my little sister TWICE"}, {"post_id": 2185, "ts": "2026-06-04T15:26:58Z", "hours": 1.8442, "text": "Significantly increased the precision of the dot-capturing algorithm and added a scoreboard."}, {"post_id": 1478, "ts": "2026-06-03T15:00:56Z", "hours": 5.3764, "text": "Implemented the dot-capturing algorithm. A dot is captured when it is completely surrounded by opponents’ dots. This turned out to be much more complicated than expected."}, {"post_id": 367, "ts": "2026-06-01T18:20:46Z", "hours": 1.4261, "text": "I decided to start off Stardance by coding a pen-and-paper strategy game that I loved playing as a child: Dots (aka Kropki or Tochki). First, I created a grid layout and implemented the ability to place dots."}]...
|
Title: Dots by @Ivan | Stardance
Devlogs:
I decid Title: Dots by @Ivan | Stardance
Devlogs:
I decided to start off Stardance by coding a pen-and-paper strategy game that I loved playing as a child: Dots (aka Kropki or Tochki). First, I created a grid layout and implemented the ability to place dots.
Implemented the dot-capturing algorithm. A dot is captured when it is completely surrounded by opponents’ dots. This turned out to be much more complicated than expected.
Significantly increased the precision of the dot-capturing algorithm and added a scoreboard.
Lost against my little sister TWICE
Fully separated the game logic from the Pygame graphical interface. I am now considering making a web version of the game using Django
Implemented the ability to have more than 2 players! This is not part of the classical game rules but I found this variation to be very fun to play. Currently it supports up to 6 players. Implementing this functionality required me to change the way players are handled which made the code clearer.
I got inspired by Sebastian Lague’s series on Chess engines so I decided to create my own engine but for Dots. I implemented the Minimax algorithm with Alpha-beta pruning which is often used in Chess bots. It is worth mentioning that despite it’s simple nature, the computational complexity of a dots engine is WAY higher than that of a chess engine: there are about 10^40 possible positions in chess compared to 10^120 in Dots. Furthermore, there is very little documentation on Dots engines, except for one article from 2002. The image attached is a game between a depth 2 and a depth 4 engine.
Added a few menus to make launching the game more straightforward. Also included a short guide.
Worked on the readme file and polished the game for its first ship!
I’ve been wanting to learn how to use Blender for quite a while which is why I decided to make an icon for Dots using this software. I found it quite complicated a first but quickly learnt the basics of how it works. Choosing the right shades of red and blue took quite a lot of time.
Ships:
I coded Dots, a paper-and-pen game that I loved playing as a kid! The game features several game modes including PvP and PvE. The game engine uses algorithms such as Minimax and Alpha-beta pruning that I learned from Sebastian Lague’s series on Chess programming....
|
1792983321.350108
|
1793069721.350108
|
|
2399
|
AI Robot by @Ibrahim-Khurram | Stardance
|
Ibrahim-Khurram
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: AI Robot by @Ibrahim-Khurram | Stardance
|
1792529582.3287795
|
1793134382.3287795
|
|
2400
|
My first slack bot! by @itzstt | Stardance
|
itzstt
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @itzstt | Stardance
|
1792594366.0800436
|
1793199166.0800436
|