|
1591
|
cake game by @yashwaghmare9766 | Stardance
|
yashwaghmare9766
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: cake game by @yashwaghmare9766 | Stardance
|
1793447504.9098318
|
1794052304.9098318
|
|
55277
|
cafe web by @DARKKNIGHT | Stardance
|
DARKKNIGHT
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: cafe web by @DARKKNIGHT | Stardance
|
1793803687.0849469
|
1794408487.0849469
|
|
54529
|
cafe order program by @kshitijjj | Stardance
|
kshitijjj
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: cafe order program by @kshitijjj | Stardanc Title: cafe order program by @kshitijjj | Stardance...
|
1793544889.4651773
|
1794149689.4651773
|
|
50696
|
cacosa by @Anamelgar182011 | Stardance
|
Anamelgar182011
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: cacosa by @Anamelgar182011 | Stardance
|
1793357508.6195843
|
1793962308.6195843
|
|
14000
|
caSTMio by @kitchencel | Stardance
|
kitchencel
|
0
|
4.23
|
0
|
[]
|
[{"post_id": 6865, "ts": "2026 [{"post_id": 6865, "ts": "2026-06-11T14:50:49Z", "hours": 2.1856, "text": "Devlog 2 Hello everyone! Welcome to my project, caSTMio. It’s a Casio W-59, but with an STM32. I’ve been working on the firmware more, and I am getting closer and closer to finishing the first prototype (outputs to console). I’m still working on the timer, but I think it’s almost there. I’ll then make the PCB, order the parts, and build the watch. Pic alt text: The method responsible for updating the display. Right now, it outputs to serial, but I’ll hook it up to my LCD once I get it working."}, {"post_id": 6256, "ts": "2026-06-10T14:48:21Z", "hours": 2.0458, "text": "Devlog 1 This is the start of caSTMio. It’s a Casio W-59, but with an STM32 in there that can do a bunch of cool stuff!! It’s gonna have a few different modes; Clock Self-explanatory. Shows the time, date and the day of the week. Press Button A to turn on the backlight, Button B to switch modes (always), and Button C to toggle between 12 and 24 hour mode. Alarm Also pretty intuitive. Allows you to set an alarm and/or an hourly reminder (ALM and SIG). Press Button A to adjust the time and Button C to cycle between 4 states (no ALM/no SIG, ALM/no SIG, no ALM/SIG, ALM/SIG). Timer I replaced the stopwatch with this, because it’s simply better and move versatile. Also, I sometimes forget that I made tea, and I think this is the perfect way to remind myself :’) Press Button A to select the length (I’ll either have a few presets or a limit) and press Button C to start/pause the timer. When the timer has been paused, press button A to reset it. Water tracker Again, I made it for myself, because I forget to drink water… Press Button A to adjust the goal (up to 10L), or press Button C to increment the goal by 50ml. Adjust Press Button A to cycle through everything you can adjust (seconds, hours, minutes, month, date, day of the week), and press Button C to increment it by one. This is all in progress, and I still don’t have the hardware… But my plan so far is: Reverse engineer the watch’s LCD Write the firmware Make a custom PCB Order it Put it all together So far, I’m starting work on the firmware, and only a basic version that runs in serial. But I’m sure with the next 3 months almost free, I’ll finish it for sure."}]...
|
Title: caSTMio by @kitchencel | Stardance
Devlogs Title: caSTMio by @kitchencel | Stardance
Devlogs:
Devlog 1 This is the start of caSTMio. It’s a Casio W-59, but with an STM32 in there that can do a bunch of cool stuff!! It’s gonna have a few different modes; Clock Self-explanatory. Shows the time, date and the day of the week. Press Button A to turn on the backlight, Button B to switch modes (always), and Button C to toggle between 12 and 24 hour mode. Alarm Also pretty intuitive. Allows you to set an alarm and/or an hourly reminder (ALM and SIG). Press Button A to adjust the time and Button C to cycle between 4 states (no ALM/no SIG, ALM/no SIG, no ALM/SIG, ALM/SIG). Timer I replaced the stopwatch with this, because it’s simply better and move versatile. Also, I sometimes forget that I made tea, and I think this is the perfect way to remind myself :’) Press Button A to select the length (I’ll either have a few presets or a limit) and press Button C to start/pause the timer. When the timer has been paused, press button A to reset it. Water tracker Again, I made it for myself, because I forget to drink water… Press Button A to adjust the goal (up to 10L), or press Button C to increment the goal by 50ml. Adjust Press Button A to cycle through everything you can adjust (seconds, hours, minutes, month, date, day of the week), and press Button C to increment it by one. This is all in progress, and I still don’t have the hardware… But my plan so far is: Reverse engineer the watch’s LCD Write the firmware Make a custom PCB Order it Put it all together So far, I’m starting work on the firmware, and only a basic version that runs in serial. But I’m sure with the next 3 months almost free, I’ll finish it for sure.
Devlog 2 Hello everyone! Welcome to my project, caSTMio. It’s a Casio W-59, but with an STM32. I’ve been working on the firmware more, and I am getting closer and closer to finishing the first prototype (outputs to console). I’m still working on the timer, but I think it’s almost there. I’ll then make the PCB, order the parts, and build the watch. Pic alt text: The method responsible for updating the display. Right now, it outputs to serial, but I’ll hook it up to my LCD once I get it working....
|
1793433305.2217143
|
1794038105.2217143
|
|
67238
|
cLOCK-IN by @uddinsyed604 | Stardance
|
uddinsyed604
|
0
|
7.93
|
0
|
[]
|
[{"post_id": 84950, "ts": "202 [{"post_id": 84950, "ts": "2026-10-30T16:25:39Z", "hours": 1.2094, "text": "DOCUMENTED THE PROJECT!!!"}, {"post_id": 84417, "ts": "2026-10-29T16:36:11Z", "hours": 4.0703, "text": "WORKED ON CAD DESIGNING AND FINALLY COMPLETED :)))"}, {"post_id": 83818, "ts": "2026-10-28T17:41:14Z", "hours": 0.8644, "text": "Done with routing of PCB Of cLOCK-IN That’s it I guess, for now :)"}, {"post_id": 83306, "ts": "2026-10-27T17:34:01Z", "hours": 1.7894, "text": "STARTED THIS PROJECT!! first, went through the blare guide and assigned and planned which components i shd use for this project. they are 4 keys, xiao-esp32-c3, buzzer, 2.25 tht screen and 4 holes. Second, went through the guide and took inspiration and then completed the schematic! Third, Placement of components in pcb (routing still needs to be done!) Fourth, Assigning 3d models to the footprint components! that’s IT! for now :)"}]...
|
Title: cLOCK-IN by @uddinsyed604 | Stardance
Devl Title: cLOCK-IN by @uddinsyed604 | Stardance
Devlogs:
STARTED THIS PROJECT!! first, went through the blare guide and assigned and planned which components i shd use for this project. they are 4 keys, xiao-esp32-c3, buzzer, 2.25 tht screen and 4 holes. Second, went through the guide and took inspiration and then completed the schematic! Third, Placement of components in pcb (routing still needs to be done!) Fourth, Assigning 3d models to the footprint components! that’s IT! for now :)
Done with routing of PCB Of cLOCK-IN That’s it I guess, for now :)
WORKED ON CAD DESIGNING AND FINALLY COMPLETED :)))
DOCUMENTED THE PROJECT!!!...
|
1793728529.8983314
|
1794333329.8983314
|
|
68200
|
c8emu by @Grodzia91 | Stardance
|
Grodzia91
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: c8emu by @Grodzia91 | Stardance
|
1793738971.8568673
|
1794343771.8568673
|
|
6974
|
c00lRadio by @picelboi | Stardance
|
picelboi
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: c00lRadio by @picelboi | Stardance
|
1793638113.6308022
|
1794242913.6308022
|
|
109
|
c by @variidian | Stardance
|
variidian
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: c by @variidian | Stardance
|
1793389789.294559
|
1793994589.294559
|
|
11109
|
c by @diaxx | Stardance
|
diaxx
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: c by @diaxx | Stardance
|
1793922489.4404526
|
1794527289.4404526
|
|
32334
|
c by @Cris | Stardance
|
Cris
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: c by @Cris | Stardance
|
1793929826.6331897
|
1794793826.6331897
|
|
1062
|
c by @AboEl5yr | Stardance
|
AboEl5yr
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: c by @AboEl5yr | Stardance
|
1793414873.5003304
|
1794019673.5003304
|
|
69951
|
byscaine by @jckstnd | Stardance
|
jckstnd
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: byscaine by @jckstnd | Stardance
|
1793958675.4879093
|
1794822675.4879093
|
|
60092
|
byeclicky by @thewildchip | Stardance
|
thewildchip
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: byeclicky by @thewildchip | Stardance
|
1793641656.80539
|
1794246456.80539
|
|
60093
|
byeclicky by @thewildchip | Stardance
|
thewildchip
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: byeclicky by @thewildchip | Stardance
|
1793641657.7082713
|
1794246457.7082713
|
|
61325
|
bye by @hritik | Stardance
|
hritik
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: bye by @hritik | Stardance
|
1793648994.1610837
|
1794253794.1610837
|
|
13004
|
bye by @Ajay22 | Stardance
|
Ajay22
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: bye by @Ajay22 | Stardance
|
1793915507.4302778
|
1794779507.4302778
|
|
13007
|
bye by @Ajay22 | Stardance
|
Ajay22
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: bye by @Ajay22 | Stardance
|
1793857724.7481005
|
1794721724.7481005
|
|
26397
|
bye by @Ajay22 | Stardance
|
Ajay22
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: bye by @Ajay22 | Stardance
|
1793922475.3855617
|
1794786475.3855617
|
|
69240
|
burger timer by @g8mero | Stardance
|
g8mero
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: burger timer by @g8mero | Stardance
|
1793764068.8343718
|
1794368868.8343718
|
|
47598
|
burden by @Voxi0 | Stardance
|
Voxi0
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: burden by @Voxi0 | Stardance
|
1793890548.417145
|
1794495348.417145
|
|
38831
|
bunniesin.love by @miniaturity | Stardance
|
miniaturity
|
1
|
43.8
|
636
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-28T19:04:59Z", "hours": 33.0, "multiplier": 19.13, "payout": 636, "blessing": "neutral", "text": "I made a web-based daily puzzle game inspired by enclose.horse, centered around reuniting two bunny lovers, whose hearts are tethered together! It was incredibly difficult creating my own tile rendering system, and I had to makeshift an auto-tile/rule-tile system for the editor, and to make creating levels easy. I also had to figure out how to animate the tiles, which is harder than it seems. Creating the editor was the hardest part; without a game engines help, I had to create a lot manually. I am definitely proud of what I made though, and now all I have to do is get more levels to put in! Make sure to check out the editor and tutorial while you test :) they’re the best parts.", "repo": "https://github.com/miniaturity/lovebunny", "demo": "https://bunniesin.love"}]...
|
[{"post_id": 59905, "ts": "202 [{"post_id": 59905, "ts": "2026-09-01T22:38:13Z", "hours": 4.9831, "text": "carrots, and an A* algorithm! carrot game mechanic! new entity type: carrots! they can be placed on top of existing tiles. carrots subtract 3 from your move count, when a bunny consumes a carrot! consume a carrot by moving a bunny on top of a carrot. optimized solving algorithm, accounting for carrots instead of the O(N^2 * 2^C * C) BFS solver, I made a O(N^2 * 2^C * (C + log N)) A* algorithm! to avoid doing a linear scan over the board for every carrot, i implemented a bigint bitmask and used brian kernighan’s bit trick to efficiently read carrots in O(1) time. although the BFS technically has a better worse case, A* uses a distance heuristic to prioritize paths that lead towards goals, avoiding dead paths. finally, ive implemented creating a web worker to solve the solution on a different thread, preventing the UI from freezing while the solver tries to solve the level. undo/redo in editor used stacks for undoing/redoing in editor, available through ctrl + z or cmd + z/ctrl + y or cmd + y"}, {"post_id": 58835, "ts": "2026-08-31T12:44:54Z", "hours": 5.8164, "text": "more QoL features and guidance!! date traversal you can now move between puzzles from previous dates. added undo feature you can now undo your last move, but only one undo at a time. added extra guidance through dialogue if you are a new user, it shows you where the editor and tutorial are (for clarity) added confirm submission you now have to confirm the submission of your solution, so you don’t accidently submit a bad solution. added solution history if you solved the puzzle, and decided to reset, you can now always go back to the best solution you previously had. editor QoL you now have to confirm your upload. also gives you the option to change the name/author directly in the modal."}, {"post_id": 56816, "ts": "2026-08-28T18:58:41Z", "hours": 7.1142, "text": "full editor and user uploading! upload levels directly to database; share w/ links You can now upload your levels to the database and easily share them! Anyone can play user-made levels if they have the link. Keep in mind, though, there are rate limits to uploading and you can get your IP restricted for the day. added author/level naming User-made levels can now be renamed using the editor, instead of direct file changing in an exported file. polished win modal Stylized the histogram and made it easy to understand the statistics. Also added a share feature that copies text to your clipboard."}, {"post_id": 39257, "ts": "2026-08-02T03:31:27Z", "hours": 2.5056, "text": "beta release!! connected cloudflare’s R2 bucket for daily levels I can now easily add daily levels by directly adding them to the database. You can only solve the daily level once per day, kept through a unique user ID stored in localStorage (which can be easily overridden, but I don’t really care.) connected import/export type to bucket for easy drop-in User-made levels can be export in a JSON format, and imported. mobile compatibility Added on-screen buttons for mobile users, since they don’t have a keyboard. sickass domain Purchased the bunniesin.love domain for $7! Totally worth it"}, {"post_id": 38165, "ts": "2026-07-31T12:53:21Z", "hours": 7.9661, "text": "bunny level editor! created a full level editor. You can now navigate to the level editor (top left button) and create a level! Control the board size, bunny locations, and every tile in the board. Export and import levels to save them. You can also see whether your puzzle is solvable or not, and how many moves it takes."}, {"post_id": 34433, "ts": "2026-07-25T04:19:37Z", "hours": 3.5133, "text": "tutorial guide dude :3 interactive tutorial levels There are now 3 total tutorial levels, with me guiding the user through all of them. Each level progressively gets harder, and teaches the user how to solve a puzzle. optimized for phone The board is now optimized for display on phones; controls are WIP. overhauled entity handling Entity infrastructure can now be easily extended for feature such as buttons or other items. However, the solver can’t use these features, so I’m holding off on implementing them."}, {"post_id": 33884, "ts": "2026-07-24T05:01:28Z", "hours": 3.5675, "text": "improved UI; added level creator page and more tiles. added an introduction modal for new players Players that have never visited the website before are now shown an intro modal. This can direct them to play without guides, or play the tutorial. level creator page Full implementation WIP, but I created an editor version of the game so that the user can click to paint tiles. It was pretty annoying to figure out how to detect mouse events and cast them to a tile, and mutate the board state. Also really difficult to add a grid and hover effects. moar tiles More tiles, more fun :3. Added variations of grass and walls. improved ui Now displays the day and level name, inside a carrot. Probably the most creative and original idea I’ve ever had. I’m really the best web designer that has ever lived."}, {"post_id": 33651, "ts": "2026-07-23T18:49:16Z", "hours": 8.6053, "text": "functional rule tile/tilemap system using canvas + game state machine tilemap system Created a full tilemap/tileset painting system from scratch. Uses HTML5 canvas to paint the tilemap, and a spritesheet for the textures. Pretty difficult to implement, but since I know how game engines work, I can infer on how to implement it in svelte, using state runes. game state machine The game now relies on a single instance of the state machine as a source of truth (class Game). Can be easily extended for future features."}]...
|
Title: bunniesin.love by @miniaturity | Stardance
Title: bunniesin.love by @miniaturity | Stardance
Devlogs:
functional rule tile/tilemap system using canvas + game state machine tilemap system Created a full tilemap/tileset painting system from scratch. Uses HTML5 canvas to paint the tilemap, and a spritesheet for the textures. Pretty difficult to implement, but since I know how game engines work, I can infer on how to implement it in svelte, using state runes. game state machine The game now relies on a single instance of the state machine as a source of truth (class Game). Can be easily extended for future features.
improved UI; added level creator page and more tiles. added an introduction modal for new players Players that have never visited the website before are now shown an intro modal. This can direct them to play without guides, or play the tutorial. level creator page Full implementation WIP, but I created an editor version of the game so that the user can click to paint tiles. It was pretty annoying to figure out how to detect mouse events and cast them to a tile, and mutate the board state. Also really difficult to add a grid and hover effects. moar tiles More tiles, more fun :3. Added variations of grass and walls. improved ui Now displays the day and level name, inside a carrot. Probably the most creative and original idea I’ve ever had. I’m really the best web designer that has ever lived.
tutorial guide dude :3 interactive tutorial levels There are now 3 total tutorial levels, with me guiding the user through all of them. Each level progressively gets harder, and teaches the user how to solve a puzzle. optimized for phone The board is now optimized for display on phones; controls are WIP. overhauled entity handling Entity infrastructure can now be easily extended for feature such as buttons or other items. However, the solver can’t use these features, so I’m holding off on implementing them.
bunny level editor! created a full level editor. You can now navigate to the level editor (top left button) and create a level! Control the board size, bunny locations, and every tile in the board. Export and import levels to save them. You can also see whether your puzzle is solvable or not, and how many moves it takes.
beta release!! connected cloudflare’s R2 bucket for daily levels I can now easily add daily levels by directly adding them to the database. You can only solve the daily level once per day, kept through a unique user ID stored in localStorage (which can be easily overridden, but I don’t really care.) connected import/export type to bucket for easy drop-in User-made levels can be export in a JSON format, and imported. mobile compatibility Added on-screen buttons for mobile users, since they don’t have a keyboard. sickass domain Purchased the bunniesin.love domain for $7! Totally worth it
full editor and user uploading! upload levels directly to database; share w/ links You can now upload your levels to the database and easily share them! Anyone can play user-made levels if they have the link. Keep in mind, though, there are rate limits to uploading and you can get your IP restricted for the day. added author/level naming User-made levels can now be renamed using the editor, instead of direct file changing in an exported file. polished win modal Stylized the histogram and made it easy to understand the statistics. Also added a share feature that copies text to your clipboard.
more QoL features and guidance!! date traversal you can now move between puzzles from previous dates. added undo feature you can now undo your last move, but only one undo at a time. added extra guidance through dialogue if you are a new user, it shows you where the editor and tutorial are (for clarity) added confirm submission you now have to confirm the submission of your solution, so you don’t accidently submit a bad solution. added solution history if you solved the puzzle, and decided to reset, you can now always go back to the best solution you previously had. editor QoL you now have to confirm your upload. also gives you the option to change the name/author directly in the modal.
carrots, and an A* algorithm! carrot game mechanic! new entity type: carrots! they can be placed on top of existing tiles. carrots subtract 3 from your move count, when a bunny consumes a carrot! consume a carrot by moving a bunny on top of a carrot. optimized solving algorithm, accounting for carrots instead of the O(N^2 * 2^C * C) BFS solver, I made a O(N^2 * 2^C * (C + log N)) A* algorithm! to avoid doing a linear scan over the board for every carrot, i implemented a bigint bitmask and used brian kernighan’s bit trick to efficiently read carrots in O(1) time. although the BFS technically has a better worse case, A* uses a distance heuristic to prioritize paths that lead towards goals, avoiding dead paths. finally, ive implemented creating a web worker to solve the solution on a different thread, preventing the UI from freezing while the solver tries to solve the level. undo/redo in editor used stacks for undoing/redoing in editor, available through ctrl + z or cmd + z/ctrl + y or cmd + y
Ships:
I made a web-based daily puzzle game inspired by enclose.horse, centered around reuniting two bunny lovers, whose hearts are tethered together! It was incredibly difficult creating my own tile rendering system, and I had to makeshift an auto-tile/rule-tile system for the editor, and to make creating levels easy. I also had to figure out how to animate the tiles, which is harder than it seems. Creating the editor was the hardest part; without a game engines help, I had to create a lot manually. I am definitely proud of what I made though, and now all I have to do is get more levels to put in! Make sure to check out the editor and tutorial while you test :) they’re the best parts....
|
1793825386.1577895
|
1793911786.1577895
|
|
54300
|
bullseye by @kiyotakaayanokoji406 | Stardance
|
kiyotakaayanokoji406
|
0
|
0.27
|
0
|
[]
|
[{"post_id": 54600, "ts": "202 [{"post_id": 54600, "ts": "2026-08-25T17:00:06Z", "hours": 0.2667, "text": "I have just started writing a website"}]...
|
Title: bullseye by @kiyotakaayanokoji406 | Stardan Title: bullseye by @kiyotakaayanokoji406 | Stardance
Devlogs:
I have just started writing a website...
|
1793533994.9146543
|
1794138794.9146543
|
|
1201
|
buku manis 𐔌՞. .՞𐦯⋆. 𐙚 ˚ by @luftacen | Stardance
|
luftacen
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: buku manis 𐔌՞. .՞𐦯⋆. 𐙚 ˚ by @luftacen | Sta Title: buku manis 𐔌՞. .՞𐦯⋆. 𐙚 ˚ by @luftacen | Stardance...
|
1793969866.64799
|
1794574666.64799
|
|
15205
|
build your villain lair by @Neph | Stardance
|
Neph
|
0
|
0.83
|
0
|
[]
|
[{"post_id": 7156, "ts": "2026 [{"post_id": 7156, "ts": "2026-06-11T23:10:47Z", "hours": 0.8333, "text": "I worked a little on it before I added hackatime, but during the time I had hackatime on the project, I changed some code I had errors in and added the two starting rooms, along with adding a gold amount. I have a small ui to just test the code out, nothing permanent yet :D"}]...
|
Title: build your villain lair by @Neph | Stardanc Title: build your villain lair by @Neph | Stardance
Devlogs:
I worked a little on it before I added hackatime, but during the time I had hackatime on the project, I changed some code I had errors in and added the two starting rooms, along with adding a gold amount. I have a small ui to just test the code out, nothing permanent yet :D...
|
1793537690.6124697
|
1794142490.6124697
|
|
49831
|
build your keyboard by @Ajith | Stardance
|
Ajith
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: build your keyboard by @Ajith | Stardance
|
1793307047.3648252
|
1793911847.3648252
|
|
35474
|
build a wifi jammer by @ali_hossain_muhit | Starda build a wifi jammer by @ali_hossain_muhit | Stardance...
|
ali_hossain_muhit
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: build a wifi jammer by @ali_hossain_muhit | Title: build a wifi jammer by @ali_hossain_muhit | Stardance...
|
1793559302.3615813
|
1794164102.3615813
|
|
62038
|
bug pad by @AyushKushwaha | Stardance
|
AyushKushwaha
|
0
|
8.89
|
0
|
[]
|
[{"post_id": 73603, "ts": "202 [{"post_id": 73603, "ts": "2026-09-25T13:46:52Z", "hours": 1.1047, "text": "devlog-9 Still working on cad only , many time I forgot to lapse yah , thanks to @Jacube1234 , he helped me a lot and also i learned so many thing from him."}, {"post_id": 71000, "ts": "2026-09-20T05:53:06Z", "hours": 0.8172, "text": "devlog-7 finally completed the cad and also added keycaps , literally it was hard for me but anyhow i took help form my friends nemo and jacube they helped me a lot . many time i forget to lapse my work"}, {"post_id": 69991, "ts": "2026-09-18T06:32:08Z", "hours": 1.585, "text": "devlog-6 I just got to know by @Jacube1234 my pcb was to big , so i redisgned it with guidence with jacube ."}, {"post_id": 69653, "ts": "2026-09-17T14:43:34Z", "hours": 1.6506, "text": "devlog-5 completed the gerber file and completed the simple cad design it is lil bit hard to use fusion for me , and tried watching tutorials and it is still hard for me . also my pc is lil bit lagging in fusion software."}, {"post_id": 69205, "ts": "2026-09-16T16:22:53Z", "hours": 1.2339, "text": "devlog-4 moved the type-c port outside the pcb and also correct the wiring and add all the 3d components . I can’t believe that this all was done by me . . . A special thanks to @Nemo_Donut who helped me a lot."}, {"post_id": 69098, "ts": "2026-09-16T11:25:00Z", "hours": 0.9006, "text": "devlog -3 resolved some important warnings and also learned to add images and text on pcb."}, {"post_id": 68585, "ts": "2026-09-15T11:01:17Z", "hours": 1.1172, "text": "devlog-2 done the structure and, also adjust all the component and wired it . I dont know weather it is correct or not."}, {"post_id": 68473, "ts": "2026-09-15T05:23:10Z", "hours": 0.4836, "text": "devlog-1 finally started hardware , this is my first hardware project , i don’t know any thing just watched a tutorial and asked @Nemo_Donut for help . and then started . I don’t even know weather it is correct or not."}]...
|
Title: bug pad by @AyushKushwaha | Stardance
Devl Title: bug pad by @AyushKushwaha | Stardance
Devlogs:
devlog-1 finally started hardware , this is my first hardware project , i don’t know any thing just watched a tutorial and asked @Nemo_Donut for help . and then started . I don’t even know weather it is correct or not.
devlog-2 done the structure and, also adjust all the component and wired it . I dont know weather it is correct or not.
devlog -3 resolved some important warnings and also learned to add images and text on pcb.
devlog-4 moved the type-c port outside the pcb and also correct the wiring and add all the 3d components . I can’t believe that this all was done by me . . . A special thanks to @Nemo_Donut who helped me a lot.
devlog-5 completed the gerber file and completed the simple cad design it is lil bit hard to use fusion for me , and tried watching tutorials and it is still hard for me . also my pc is lil bit lagging in fusion software.
devlog-6 I just got to know by @Jacube1234 my pcb was to big , so i redisgned it with guidence with jacube .
devlog-7 finally completed the cad and also added keycaps , literally it was hard for me but anyhow i took help form my friends nemo and jacube they helped me a lot . many time i forget to lapse my work
devlog-9 Still working on cad only , many time I forgot to lapse yah , thanks to @Jacube1234 , he helped me a lot and also i learned so many thing from him....
|
1793652705.3619375
|
1794257505.3619375
|
|
62039
|
bug pad by @AyushKushwaha | Stardance
|
AyushKushwaha
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: bug pad by @AyushKushwaha | Stardance
|
1793652706.5745604
|
1794257506.5745604
|
|
2441
|
budget-friendly, no compromises sim racing shifter budget-friendly, no compromises sim racing shifter by @andrei | Stardance...
|
andrei
|
0
|
10.42
|
0
|
[]
|
[{"post_id": 24820, "ts": "202 [{"post_id": 24820, "ts": "2026-07-08T17:06:50Z", "hours": 0.3256, "text": "spent a little bit more time doing lego instructions and cleaning the github page up :)"}, {"post_id": 18328, "ts": "2026-06-29T13:09:22Z", "hours": 0.7167, "text": "took 40 mins to make a parts page for the lego instructions but its fine yk :)"}, {"post_id": 18298, "ts": "2026-06-29T12:21:21Z", "hours": 0.2739, "text": "lost like an hour of time because idk how to use lookout lmao but its fine because i have finished writing the instructions to build the product and have also uploaded all the parts to thingiverse BUT have to wait 24hrs to publish to the public - so when that is done i will finally submit to get funding! in the meantime, might make some visual lego-like instructions to make it easier to visualise the assembly!"}, {"post_id": 18263, "ts": "2026-06-29T10:50:58Z", "hours": 0.4772, "text": "made a desk clamping system with parts to be 3d printed, will finish making the instructions for the demo link and then will submit for funding :)"}, {"post_id": 10617, "ts": "2026-06-17T13:45:43Z", "hours": 1.2936, "text": "im back from exams and the full shifter is finished! added the limit switches and slots for each of them to be glued down when i build it. the pcb has also arrived, now all i need is to buy the components (hopefully can get them hardware funded) and 3d print the rest of the components (hopefully can get that funded too cause i dont have a printer)"}, {"post_id": 1329, "ts": "2026-06-03T08:30:51Z", "hours": 0.9336, "text": "exported a 3d model of the pcb from kicad and added it into the cad model with mounting hardware and mounting holes. also created a shift knob that has an m10 internal thread so it can be screwed on to the threaded rod. will be slowing down a lot over the next week and a bit because i have a full week of exams - but will come back with more updates than ever afterwards!"}, {"post_id": 1010, "ts": "2026-06-02T20:02:51Z", "hours": 0.8567, "text": "main pcb designed and routed using an atmega32u4 and through-hole slots to wire each momentary switch to the board individually :) if anyone sees mistakes in my pcb - it would be greatly appreciated to point them out for me as it is my first time making one! update: the pcb has been ordered!"}, {"post_id": 865, "ts": "2026-06-02T16:07:12Z", "hours": 1.8844, "text": "finished every mechanical mechanism for the shifter! used a roller cam-on-center mechanism to simulate the tactility from a real h-pattern. added some colour to the 3d model as well. next up is the fun - but stressful part, electronics!"}, {"post_id": 785, "ts": "2026-06-02T13:28:26Z", "hours": 1.1267, "text": "looks like i finished the first revision of the centering mechanism, using springs on each side of the y-axis movement mechanism to be completely balanced in the middle of the 2nd and 3rd gear column. now, as the actual movement is finished - now i need to add a bit of tactile feedback - probably with cams or a dedent mechanism. :)"}, {"post_id": 753, "ts": "2026-06-02T11:58:22Z", "hours": 1.4883, "text": "finished designing all of the main mechanical parts and final rotational mechanism of the h-pattern shifter using axles and bearings. now time to model some centering springs and maybe research into a dedent system for a better mechanism feel!"}, {"post_id": 448, "ts": "2026-06-01T21:35:24Z", "hours": 1.0425, "text": "started and finished the designing for my first revision of the shifter shaft and shift plate :) most of the time spent here was in obsidian taking notes and designing with excalidraw, but i think that wakatime didnt pick up all the time on obsidian - but doesnt matter cause i spent a lot of time on onshape anyway!"}]...
|
Title: budget-friendly, no compromises sim racing Title: budget-friendly, no compromises sim racing shifter by @andrei | Stardance
Devlogs:
started and finished the designing for my first revision of the shifter shaft and shift plate :) most of the time spent here was in obsidian taking notes and designing with excalidraw, but i think that wakatime didnt pick up all the time on obsidian - but doesnt matter cause i spent a lot of time on onshape anyway!
finished designing all of the main mechanical parts and final rotational mechanism of the h-pattern shifter using axles and bearings. now time to model some centering springs and maybe research into a dedent system for a better mechanism feel!
looks like i finished the first revision of the centering mechanism, using springs on each side of the y-axis movement mechanism to be completely balanced in the middle of the 2nd and 3rd gear column. now, as the actual movement is finished - now i need to add a bit of tactile feedback - probably with cams or a dedent mechanism. :)
finished every mechanical mechanism for the shifter! used a roller cam-on-center mechanism to simulate the tactility from a real h-pattern. added some colour to the 3d model as well. next up is the fun - but stressful part, electronics!
main pcb designed and routed using an atmega32u4 and through-hole slots to wire each momentary switch to the board individually :) if anyone sees mistakes in my pcb - it would be greatly appreciated to point them out for me as it is my first time making one! update: the pcb has been ordered!
exported a 3d model of the pcb from kicad and added it into the cad model with mounting hardware and mounting holes. also created a shift knob that has an m10 internal thread so it can be screwed on to the threaded rod. will be slowing down a lot over the next week and a bit because i have a full week of exams - but will come back with more updates than ever afterwards!
im back from exams and the full shifter is finished! added the limit switches and slots for each of them to be glued down when i build it. the pcb has also arrived, now all i need is to buy the components (hopefully can get them hardware funded) and 3d print the rest of the components (hopefully can get that funded too cause i dont have a printer)
made a desk clamping system with parts to be 3d printed, will finish making the instructions for the demo link and then will submit for funding :)
lost like an hour of time because idk how to use lookout lmao but its fine because i have finished writing the instructions to build the product and have also uploaded all the parts to thingiverse BUT have to wait 24hrs to publish to the public - so when that is done i will finally submit to get funding! in the meantime, might make some visual lego-like instructions to make it easier to visualise the assembly!
took 40 mins to make a parts page for the lego instructions but its fine yk :)
spent a little bit more time doing lego instructions and cleaning the github page up :)...
|
1793505045.261688
|
1794109845.261688
|
|
58594
|
buddybot by @shrr | Stardance
|
shrr
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: buddybot by @shrr | Stardance
|
1793501314.718495
|
1794106114.718495
|
|
58351
|
buddy by @yosefabunassar3 | Stardance
|
yosefabunassar3
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: buddy by @yosefabunassar3 | Stardance
|
1793487182.6146333
|
1794091982.6146333
|
|
72668
|
buddy by @meorilandau | Stardance
|
meorilandau
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: buddy by @meorilandau | Stardance
|
1793558842.5154147
|
1794163642.5154147
|
|
57940
|
bubbly wubbly by @nesix | Stardance
|
nesix
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: bubbly wubbly by @nesix | Stardance
|
1793616572.9753463
|
1794480572.9753463
|
|
57941
|
bubbly wubbly by @nesix | Stardance
|
nesix
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: bubbly wubbly by @nesix | Stardance
|
1793616573.843403
|
1794480573.843403
|
|
29585
|
bubblescript by @elliottm | Stardance
|
elliottm
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: bubblescript by @elliottm | Stardance
|
1793339889.176483
|
1793944689.176483
|
|
21719
|
bs-odin by @Ankush | Stardance
|
Ankush
|
0
|
132.0
|
0
|
[]
|
[{"post_id": 31805, "ts": "202 [{"post_id": 31805, "ts": "2026-07-20T14:10:21Z", "hours": 6.0, "text": "Preformance Checkup + Audio System Things I did: I stress tested my game to work with 512 & 1024 entities. Ran under 3ms and 5ms . The difference maker was the number of entities currently in the screen (rendering). Profiled all the “slow” parts Implemented sound system , for menu and game Recorded the sounds myself!! (both in-game and ui)! Performance I tried my best to find ways to increase speed in my game. Unfortunately, all the things that I thought were “slow” weren’t actually slow. Orui UI build was like under 50micro seconds . Orui Rendering was under 250micro seconds . Animation system ran under 50micro for all entities combined iirc So, for now, there has been done no performance improvements this devlog Sound System First I made the sound system simple, for the menu. It worked and I was happy. I made 6 different similar sounds for the hover and click actions, and I play one of them randomly when clicked. menu_hover_sounds : [ 6 ] rl . Sound loadMenuSounds :: proc () { for i in 0 ..< len ( menu_hover_sounds ) { path : = fmt . ctprintf ( \"res/audio/menu/menu_click_%d.wav\" , i + 1 ) menu_click_sounds [ i ] = rl . LoadSound ( path ) } } playMenuHoveredSound :: proc () { i : = rand . int_max ( len ( menu_hover_sounds )) rl . PlaySound ( menu_hover_sounds [ i ]) } When I went on to make the Player sounds, I noticed that I am unable to the same sound twice simultaneously. I needed that so that I can simulate multiple enemies and other stuff. So I googled a bit, found this raylib example. And implemented it. For both menu and entities. TOTAL_ALIASES :: 4 Sound :: struct { aliases : [ TOTAL_ALIASES ] rl . Sound , index : int , } loadSound :: proc ( path : cstring ) -> Sound { sound : Sound sound . aliases [ 0 ] = rl . LoadSound ( path ) for i in 1 ..< TOTAL_ALIASES { sound . aliases [ i ] = rl . LoadSoundAlias ( sound . aliases [ 0 ]) } sound . index = 0 return sound } playSound :: proc ( sound : ^ Sound ) { rl . PlaySound ( sound . aliases [ sound . index ]) sound . index = ( sound . index + 1 ) % TOTAL_ALIASES } playMenuClickedSound :: proc () { i : = rand . int_max ( len ( menu_click_sounds )) playSound ( & menu_click_sounds [ i ]) } I also stole borrowed this really great background music from raylib source."}, {"post_id": 30071, "ts": "2026-07-17T11:13:28Z", "hours": 5.0, "text": "Health System, Enemy Attack, 15 new Skin! Summary of Features added: Player/Enemy Attacks Health System (Damage/Heal) Health Bar shown 15 new Skins! Avatar Menu “Set” Selector Avatar Set Selector This took a lot of time than I would like. I first had to scourge through 100s of directories for each Skin (each skin has 3 “tiers”) and get the 0th “idle” animation sprite. The next part was pretty straight forward owing to the time I took to make the architecture great :3 Health Bar This wasn’t hard as per say. But it is mad slow. I realised it earlier but never mentioned it. orui library is slow. UI libraries aren’t meant to be this slow. Probably it is due to the rendering that makes it this much slower. How slow? My renderer could render 50 entities under 1ms, now it takes ~5ms to render 20 entities. Future Todos: Performance. I will track down where orui is slow. If it is in the logic part, we can’t do anything as I am not smart enough to fix logic so complex. But if it is related to rendering, we can work with that. Performance. It’s been a while since I diagnosed the slow parts in my code. I will deep dive into the code. Find out what is slow and try to fix them The next few days, I will work on to squeeze as much performance as I can from this game."}, {"post_id": 29321, "ts": "2026-07-16T05:20:06Z", "hours": 9.0, "text": "Enemy AI done + Tons more! Other things done this time around: Fix: WASM build fixes Feature: Added the back button in Avatar Menu (finally) Fix: The character scale and position in Main/Avatar Menu acted funny in extreme dimentions (when too small) Fix: Physics renderer didn’t render polygons with 4 vertices Feature: Added physics colliders for all enemies! Feature: Y-Sorting enabled Performance: Pushed Data Oriented Design for max performance Architecture: Moved the files around, where they make more sense Feature: Implemented Attacking Feature: Player & Enemy State machine Feature: Enemy AI (super basic tbh) Performance All of these changes were made keeping performance in mind. As of right now the state machines need work to make them even faster! Obstacles State machine logic is very mind numbing, I won’t want to do that…. a lot of edge case problems. A lot of problems I never thought existed. Y-Sorting was also in the harder side because I wanted a fast sort while also not needing to change the whole array of entities. I finally decided to use another array render_list of type []int this essentially sorts the id (or index in this case) of the entities by entity.pos.y . When rendering use the ids to render. This proved to be a more efficient way to do it, than sorting the entire array of entities. Future Todos Implement Enemy attacking Implement health system (with regenability?) Draw the health bar Implement death After these things are done. We I will think of further things like game win/game end amongst many others like game pause."}, {"post_id": 28209, "ts": "2026-07-14T11:03:33Z", "hours": 5.0, "text": "Dozens of small features implemented! Migrated the End screen UI to the new UI library Brought back the physics collider with water from previously deleted code. Removed a rouge sleep call in loading phase. (Which was put there for testing ) Instead of drawing rectangles in when playing. We now draw the characters! With randomly generated skins!! Migrated Playing and loading UI to the new library Code cleanup and refactored for better architecture Culling #bd56fa When adding Culling to player rendering, I got an optimisation of 5ms->2ms. Animation while playing The initial phase was very easy. What I did struggle with was flipping the image. First, I tried flipping the texture themselves. It did work but the offset of the bones were not in place. It was fine when going right, but when I turn left. It all turns bad, the 2nd video is a demonstration of that. It took a lot of tweaks and black magic to find out that I had to also flip the anchor position and angle too 😭 Now it is working as intented :)"}, {"post_id": 26655, "ts": "2026-07-11T16:23:47Z", "hours": 4.0, "text": "Player Customisation Screen!! RAAH, this is really done! TBH this was easier than expected. I had an idea of how this will work out, and implemented just that. The menu includes some smart and fancy mathematics too // gettin the index current_index : = ( int ( curr_type ) * num_tiers ) + int ( curr_tier ) // applying the changes, Lets say user pressed right arrow. new_index : = ( current_index + 1 ) % total_options setPartType ( group , anim . CharacterType ( new_index / num_tiers )) setPartTier ( group , anim . CharacterTier ( new_index % num_tiers )) I am really proud of the UI. Looks great. Honestly I was really lucky with the great reference images I found in the internet :) hosted here"}, {"post_id": 25955, "ts": "2026-07-10T14:06:12Z", "hours": 7.0, "text": "UI Overhaul - Done! So I changed the entire UI , game UI is tough, even more so when you have a lot of moving components. I never had ever use any library like orui so it was fun, but at the same time - confusing at times. Like for example: there are only 2 components for drawing ( container and label ). I mean there’s also element, but that is just an empty container. Also I’ve tried everything but you can’t just get hover information for the container element. I need some color suggestions for the buttons in options menu, they look kinda dull… All the colors are taken from pallets at coolors.co ! Icons!! So while at it, I wanted to add icons. This was hell. A very bad idea. Let me tell you why - orui doesn’t support icons by default, so you’ve got to load another font to draw the icons. Now, Raylib can’t draw icon fonts, until you specify all the individual codepoints…here’s the code required to load a font with 3 icons: icon_codepoints : = [?] rune { 0xe048 , // ICON_LUCIDE_ARROW_LEFT 0xe049 , // ICON_LUCIDE_ARROW_RIGHT 0xe14d , // ICON_LUCIDE_SAVE 0xe18e , // ICON_LUCIDE_TRASH_2 } icon_font = rl . LoadFontEx ( \"./res/fonts/lucide.ttf\" , 32 , & icon_codepoints [ 0 ], len ( icon_codepoints ), ) Animation Blending Made the animation transition buttery smooth!! Look at the video!!"}, {"post_id": 25292, "ts": "2026-07-09T14:18:18Z", "hours": 8.0, "text": "Implemented Animation blending + UI library changed I wanted the player to be rendered in the main_menu and in the avatar menu . But also wanted the animations to be looping randomly. When I implemented random looping I found out that, the animations wouldn’t behave properly due to snapping . So I implemented animation blending . It was not at all easy , had to implement another angle_lerp function specifically for blending angles. Character customisation Due to me working hard earlier, changing character sprites is a cakewalk. In the attatched video. The head sprite is of tier 2 while the rest is from tier 1 GUI I really wanted to like raygui, but it was really bad. A lot of maths required for very simple things! I didn’t like it at all. So in search of a new UI library I found this niche library orui ! This fits my needs perfectly: Immediate mode Super fast (Not what I was looking for but a plus) Uses raylib Doesn’t depend on me to do the maths Actually customisable You can see the updated GUI in the video, looks good right :) it also supports animations and transitions!"}, {"post_id": 24692, "ts": "2026-07-08T13:28:51Z", "hours": 11.0, "text": "Fully functional animation parser and engine! The entire thing started by me searching for assets to use for my game, then I found these super cute chibi characters that too FOR FREE!! I downloaded one of the free ones and saw that they use .scml file for animations. They do have pre-rendered png images in sequence too, but that is too easy, not fun and doesn’t look good! So, I planned to make a .scml parser, my own animation engine. And see how it goes. In the added video there’s the working part and the non-working part, which I found pretty funny. 1. Image loader First I made a image loader that dynamically loads all the sprites that are in use. Later I will add the abitily to drop the sprites from memory when not in use. 2. Mapping the data This was, tough. Very, very tough that I had originally anticipated. Making this parser included me staring at a file with 9k lines for hours. Trying to figure out what each elements do and how to use them interconnectedly. I first made a scml_data.odin where I one by one mapped all the required data to odin structs. 3. .scml parser I created a new file scml_parser.odin and in it I loaded the .scml file with Odin’s built in xml parser. The parsing took a big chunk of time too, as there are not good docs or examples available out here. But there was one single forum post that got me going and I never had any problems thereafter. I parse the file and save the values in my global private data variable defined in scml_data.odin . I read each elements and added all the necessary ones. I observed all the attributes, data and values very carefully earlier so I had an idea of some repetitive values that I could skip. I think almost 50% of the file was repetition, which ofc I didn’t save. 4. The engine Now that I had all the data with me in, the only thing I had to do was use that. With a given time t I have to find the timeline that it lands on and interpolate the time, linearly lerp the values and issue a draw command for the single sprite. I was unable to do two specific things and had to take help from AI: Lerping Angle: angle lerping is different as there can be a case where we have to learp from 350 to 10, normal lerp functions would just lerp it 350->200->10 instead of 350->360->10 Using the parent bones to calculate the final position of the child node. The particular function ai generated is here . Debugging After making the engine, we got to fix the engine. It had bugs, I debugged for a long time and then fixed them. Pretty stupid things like not pushing the timeline keys after initialising them, flipped y-axis, and angle clockwise order. Final thoughts Finally the thing is working now, I still have to polish it and make it play nicely with my entire game. There are other optimisation opportunities available but I’ll put that for later. I will now work on the avatar menu, so user can mix different things."}, {"post_id": 23439, "ts": "2026-07-06T12:29:30Z", "hours": 6.0, "text": "Nothing much this time. Added options menu Added physics collider to the player (finally, phew..) Notify mobile users to play in landscape mode. That’s about it. All of them were relatively easy. What I did try and haven’t pushed to upstream is a failed attempt to detect entry and exit from water bodies by the entities in an economical way."}, {"post_id": 22204, "ts": "2026-07-04T15:44:46Z", "hours": 6.0, "text": "Drops and drops together make an ocean. Did nothing major just some small stuff Added buttons (RayGUI) for navigation #7608e9 Added Loading Screen before match starts. #76c086 , #26ddc4 Made the game fully self-contained. The game executable requires no dlls, no other libraries or assets either. Everything is bundled together in a single executable! For this to work, I used #load(\"file_source\") function. It returns []u8 or in C terms *uint8_t . But this won’t work with the raygui style loader function rl.GuiLoadStyle() that requires the ‘filename’ and not the data. So for that reason. I read the source code of raygui an d implemented their function in Odin since they don’t expose the function to the user. That’s about it tho!"}, {"post_id": 20936, "ts": "2026-07-02T17:49:13Z", "hours": 8.0, "text": "From bare metals to web. A rough road. My game is now available to play in bs-odin.onkush.dev I built my application for the Web and it works. Probably the most dirty work I had to do in this project overall. I probably have read all available Odin / WASM templates. Setting the Sail I knew what WASM is, I once to compile one of my C++ games to WASM too, but seeing more than 500+ errors in the first try took a big toll on me and I didn’t bother. I don’t want this project to end up like that. I didn’t have to search much to find a template that builds Odin + raylib in WASM . So I started to implement ‘ Offline Mode ’ for my game. Didn’t take much time tbh, easy work. So I went to sleep and assigned WASM implementation to future me. Thunderstorm Next morning, I looked at how the {template]( https://github.com/karl-zylinski/odin-raylib-web/ ) works - really simple and straightforward. I copied their code with proper attribution ofc. After fixing some build bugs, I ran my build.sh and…It didn’t work. But nothing works the first time… Spoiler, it didn’t work in the 69th time either. Tsunami By evening, I was able to make it compile, I won’t get into the specifics but it had to do with multiple definition of functions within Odin core libraries. So, after it compiled. I had a huge sigh of relief, I ran it in my browser and bam! A fully dark screen! Wait…What? NOO I opened up the console… and Alas! Errors, not 500 errors, only one error Uncaught (in promise) InternalError: too much recursion I couldn’t find what caused this error, how to fix it, how to narrow it down. Lastly I gave up and went to sleep. After I woke up! I one by one tested each file and their dependency. Lastly I found the culprit…it was Box2D After I dug deeper I found the fix, but it was concerned with changing the source code of Odin…so virtually no one can compile my game to WASM but me… I’ll try to find a workaround for it, till then - if it works, it works. The arrival to the forbidden Island After a lot of hardwork, I got the fruits of my labour. This journey was not as much fun, but seeing my game run in my browser is so much worth it! I fixed few visual glitches and frame time capture fixes. And then I pushed it into my domain :)"}, {"post_id": 19190, "ts": "2026-06-30T13:37:42Z", "hours": 10.0, "text": "Implemented Physics, generated islands form the terrain + Server side Seed generation. Performance Performance is out of the window, the algorithm that generates the islands is O(n^3) !! This disgusts me, but I wasn’t even able to come up with this solution! AI made the entire function…unfortunately I was not able to come up with the solution by myself… I understand how the function works, but I don’t know how I could improve it anyway. The one upside to this is that, this function will only run once - during the game start. My beloved physics engine Box2D can easily handle all these complex islands with no problem at all! So that helps :) Time What took 10hrs? Most of the time was trying to generate the islands, another huge chunk of time was spent making the renderer for Box2D #510535 . IDK how, but the server side seed generation that I though would take less time took about 2hrs… #4bac51 My state of mind I am currently disappointed in myself, multiplayer is hard. Server side seed generation taking so much time destroyed my confidence. Not being able to generate the islands broke me… I am having doubts of being competent enough to complete this project. My current plan is to focus on single player - offline mode. I will handle multiplayer with server later. Currently I will focus on things that are fun and actually have meaning. First I’ll make it work fully in web, then I will do character…"}, {"post_id": 17458, "ts": "2026-06-28T07:42:10Z", "hours": 5.0, "text": "Frame Time so low, we’re drawing the future. Last devlog I said Raylib was slow. It is on me, I am dumb. I didn’t have to look more into it, DrawMesh did the exact thing I required! Currently, the frame renders in my laptop under 0.9ms instead of 3-4ms earlier and in this devlog I document the changes I made. Batch Rendering Earlier I iterated over all the vertices and rendered them. for v in vertices { rlgl . Color4ub ( v . color . r , v . color . g , v . color . b , v . color . a ) rlgl . Vertex2f ( v . pos . x , v . pos . y ) } That was very slow, when I profiled it I saw that just iterating over the vertices took about 1.4ms . Drawing took another 1.5ms . So I changed the vertices data: // old vertex :: struct { pos : rl . Vector2 , color : rl . Color , } vertices : [ dynamic ] vertex // new vertices_pos : [ dynamic ] rl . Vector3 vertices_col : [ dynamic ] rl . Color Then I generate a terrain_mesh using these arrays in this function. And use that to render everything at once! if mesh_initialised && terrain_mesh . vaoId != 0 { rl . DrawMesh ( terrain_mesh , default_material , default_transform ) } Results Went from 3-4ms to 0.5ms . But when we move we have to generate the vertices at each frame! So if we don’ t move it is 0.5ms but if we move it is 4.0+ms !!! Chunking Since our terrain doesn’t change, we can store the results in GPU memory and render them at will. But if we try to render a texture of size 5120x5120 , our gpu will suffer really bad. So we chunk. We divide the terrain in chunks, load them into gpu and show only the parts that are visible currently. Sounds easy. But for stupid ppl like me it is hard, took me a long while to fight the memory, logic and silly mistakes. But finally, it did work. Results It renders about 0.8ms avg and 1ms in high load, sometimes goes down to 0.6ms too! That too while moving!"}, {"post_id": 16739, "ts": "2026-06-27T06:14:54Z", "hours": 6.0, "text": "Reworked my entire Rendering and Windowing System… Raylib - The unfortunate switch I wanted to make a game accessible to many people. And the most accessible platform is Web. So I had to compile my application in WASM . While my previous renderer, SDL_Renderer was able to render in Web it was not meant to be used intensively, it doesn’t support shaders among many other flaws. So I looked for other rendering libraries to use for my game. bgfx - no bindings for Odin sokol - I never used it, I had to ask myself if the complexity it brings with it is worth it. Very sweet option otherwise. Vulkan - No WASM SDL_GPU - No WASM Raylib comes with it’s own downsides tho - It is slow, just changing to it added 2ms to my render time, it was 1ms with SDL Renderer. But it’s simplicity keeps me in awe. Right now I’ve decided to settle with my slower Raylib and focus on important stuff like offline mode , bots , characters ."}, {"post_id": 15624, "ts": "2026-06-25T12:36:30Z", "hours": 7.0, "text": "A massive overhaul of game architecture. Architecture I think it’s safe to say that this time I unscrambled the spaghetti code that I have been writing. These things are hard but very important for a project of this scale. Else, the developer burden piles up and motivation to complete the game is dead. #883172 . Performance I implemented a simple performance hack to my terrain generation. This fix gives almost 100% faster terrain generation and rendering! I’ve documented the fix in the comments of the code here . #f2a07a Camera Till now the camera didn’t follow the player, but now it does. The math again, wasn’t easy. I introduced another bug that I caught days later. #393da8 Others Added a feature to ping server at any moment #da64b7 Enforced naming convention Out of bounds array access fix"}, {"post_id": 14192, "ts": "2026-06-23T05:49:53Z", "hours": 3.0, "text": "Implemented Marching Squares! Brief intro to marching squares This is a technique commonly used in 2d terrain generation models. It converts the rigid ‘blocky’ tiling of squares to smth more organic by adding triangles to the mix. The end result is even more good looking when you add linear interpolation! The implementation Took everything from me. I feel exhausted and tired, I need sleep. The implementation took a lot of hand written logic, here and here . But idk how but the lookup table was perfect, and required no changes! Sure took some time to make it but the results speak for themselves I think. What was indeed the problem… this code in github _bl : = bl > threshold ? 0b0010 : 0 _br : = br > threshold ? 0b0001 : 0 The fix? _bl : = bl > threshold ? 0b0001 : 0 _br : = br > threshold ? 0b0010 : 0 I had these two swapped from what the standard says! Oh my gawd, this took forever to debug. Performance The current implementation is using Painter's Algorithm , this works but there is a heck ton of overdraw! I hate it and probably will try to find a fix to it soon!"}, {"post_id": 13224, "ts": "2026-06-21T17:36:10Z", "hours": 3.0, "text": "Made rendering more than 4000% faster ! Premature optimisation is the root… So initially my renderer drew all the cells, even when not in view. There were only 64x64 cells so it was no problem for my lappy at all! But when I increased it to 512x512 my laptop took huge load (45ms rendering time)! Currently after implementing a camera thingy it is now not an issue. The terrain is generated once and only the visible part (80x45 cells) is rendered in the screen! This change lead to render times go below 1ms again :) The maths behind camera thing was really logical error prone, and took a lot of time + I had a rough time working with dynamic arrays of Odin. Apparently you got to use raw_data(array) function to get the underlying data from the array. This is not documented anywhere neither did LSP find me this function when I did try to find it! Other stuff I also changed the colours of the terrain. Added background to the fps and frame_time texts"}, {"post_id": 12636, "ts": "2026-06-20T17:10:25Z", "hours": 5.0, "text": "Procedural Terrain Generation is working now! Maths I kinda learnt a lot of maths for Perlin and simplex noise generations! Watched a lot of tutorials to get an idea of how it is generally implemented to generate terrain. It is very easy when you don’t have to code the noise functions yourselves… Resources: 1 , 2 Opensource helping while at it I also added imgui as a dependency. When imgui was building I saw a two big libraries (the actual imgui and sdl3 repos) clone. They were more than 100mb each. I made some simple code changes build.py of the original repo which brought it down to 1-2mb each. I made an issue in the original bindings repo. Let’s hope it goes well. Rendering I changed the rendering technique of the tiles of the generated terrain twice. It was real hard work. This probably took most of the time. There were many errors in maths and logic during the making of terrain renderer."}, {"post_id": 11783, "ts": "2026-06-19T05:28:23Z", "hours": 18.0, "text": "Multiplayer setup done! Server and client work flawlessly! This devlog is bigger than my normal work, because I started this project not knowing about Stardance tldr; This is a 9 day blog of my game I am making from scratch using odin lang, sdl3 for window and rendering(will switch to vulkan later on), and ENet for networking. During the 18hrs and 9 days I made functional multiplayer, rendering, game states, input handling and profiling. I spent a lot my time in the architecture and infra, in the later days, I will focus on features itself. When done, I will improve architecture and performance I spent more than 2-3 hours writing and editing the devlog, but it became too long and stardance website didn’t allow me to post it here (stardance has a limit of 4k characters and my devlog was about 6k ). So I had to upload it in my own site here . I am so sorry for the inconveniences caused 🙏"}]...
|
Title: bs-odin by @Ankush | Stardance
Devlogs:
Mu Title: bs-odin by @Ankush | Stardance
Devlogs:
Multiplayer setup done! Server and client work flawlessly! This devlog is bigger than my normal work, because I started this project not knowing about Stardance tldr; This is a 9 day blog of my game I am making from scratch using odin lang, sdl3 for window and rendering(will switch to vulkan later on), and ENet for networking. During the 18hrs and 9 days I made functional multiplayer, rendering, game states, input handling and profiling. I spent a lot my time in the architecture and infra, in the later days, I will focus on features itself. When done, I will improve architecture and performance I spent more than 2-3 hours writing and editing the devlog, but it became too long and stardance website didn’t allow me to post it here (stardance has a limit of 4k characters and my devlog was about 6k ). So I had to upload it in my own site here . I am so sorry for the inconveniences caused 🙏
Procedural Terrain Generation is working now! Maths I kinda learnt a lot of maths for Perlin and simplex noise generations! Watched a lot of tutorials to get an idea of how it is generally implemented to generate terrain. It is very easy when you don’t have to code the noise functions yourselves… Resources: 1 , 2 Opensource helping while at it I also added imgui as a dependency. When imgui was building I saw a two big libraries (the actual imgui and sdl3 repos) clone. They were more than 100mb each. I made some simple code changes build.py of the original repo which brought it down to 1-2mb each. I made an issue in the original bindings repo. Let’s hope it goes well. Rendering I changed the rendering technique of the tiles of the generated terrain twice. It was real hard work. This probably took most of the time. There were many errors in maths and logic during the making of terrain renderer.
Made rendering more than 4000% faster ! Premature optimisation is the root… So initially my renderer drew all the cells, even when not in view. There were only 64x64 cells so it was no problem for my lappy at all! But when I increased it to 512x512 my laptop took huge load (45ms rendering time)! Currently after implementing a camera thingy it is now not an issue. The terrain is generated once and only the visible part (80x45 cells) is rendered in the screen! This change lead to render times go below 1ms again :) The maths behind camera thing was really logical error prone, and took a lot of time + I had a rough time working with dynamic arrays of Odin. Apparently you got to use raw_data(array) function to get the underlying data from the array. This is not documented anywhere neither did LSP find me this function when I did try to find it! Other stuff I also changed the colours of the terrain. Added background to the fps and frame_time texts
Implemented Marching Squares! Brief intro to marching squares This is a technique commonly used in 2d terrain generation models. It converts the rigid ‘blocky’ tiling of squares to smth more organic by adding triangles to the mix. The end result is even more good looking when you add linear interpolation! The implementation Took everything from me. I feel exhausted and tired, I need sleep. The implementation took a lot of hand written logic, here and here . But idk how but the lookup table was perfect, and required no changes! Sure took some time to make it but the results speak for themselves I think. What was indeed the problem… this code in github _bl : = bl > threshold ? 0b0010 : 0 _br : = br > threshold ? 0b0001 : 0 The fix? _bl : = bl > threshold ? 0b0001 : 0 _br : = br > threshold ? 0b0010 : 0 I had these two swapped from what the standard says! Oh my gawd, this took forever to debug. Performance The current implementation is using Painter's Algorithm , this works but there is a heck ton of overdraw! I hate it and probably will try to find a fix to it soon!
A massive overhaul of game architecture. Architecture I think it’s safe to say that this time I unscrambled the spaghetti code that I have been writing. These things are hard but very important for a project of this scale. Else, the developer burden piles up and motivation to complete the game is dead. #883172 . Performance I implemented a simple performance hack to my terrain generation. This fix gives almost 100% faster terrain generation and rendering! I’ve documented the fix in the comments of the code here . #f2a07a Camera Till now the camera didn’t follow the player, but now it does. The math again, wasn’t easy. I introduced another bug that I caught days later. #393da8 Others Added a feature to ping server at any moment #da64b7 Enforced naming convention Out of bounds array access fix
Reworked my entire Rendering and Windowing System… Raylib - The unfortunate switch I wanted to make a game accessible to many people. And the most accessible platform is Web. So I had to compile my application in WASM . While my previous renderer, SDL_Renderer was able to render in Web it was not meant to be used intensively, it doesn’t support shaders among many other flaws. So I looked for other rendering libraries to use for my game. bgfx - no bindings for Odin sokol - I never used it, I had to ask myself if the complexity it brings with it is worth it. Very sweet option otherwise. Vulkan - No WASM SDL_GPU - No WASM Raylib comes with it’s own downsides tho - It is slow, just changing to it added 2ms to my render time, it was 1ms with SDL Renderer. But it’s simplicity keeps me in awe. Right now I’ve decided to settle with my slower Raylib and focus on important stuff like offline mode , bots , characters .
Frame Time so low, we’re drawing the future. Last devlog I said Raylib was slow. It is on me, I am dumb. I didn’t have to look more into it, DrawMesh did the exact thing I required! Currently, the frame renders in my laptop under 0.9ms instead of 3-4ms earlier and in this devlog I document the changes I made. Batch Rendering Earlier I iterated over all the vertices and rendered them. for v in vertices { rlgl . Color4ub ( v . color . r , v . color . g , v . color . b , v . color . a ) rlgl . Vertex2f ( v . pos . x , v . pos . y ) } That was very slow, when I profiled it I saw that just iterating over the vertices took about 1.4ms . Drawing took another 1.5ms . So I changed the vertices data: // old vertex :: struct { pos : rl . Vector2 , color : rl . Color , } vertices : [ dynamic ] vertex // new vertices_pos : [ dynamic ] rl . Vector3 vertices_col : [ dynamic ] rl . Color Then I generate a terrain_mesh using these arrays in this function. And use that to render everything at once! if mesh_initialised && terrain_mesh . vaoId != 0 { rl . DrawMesh ( terrain_mesh , default_material , default_transform ) } Results Went from 3-4ms to 0.5ms . But when we move we have to generate the vertices at each frame! So if we don’ t move it is 0.5ms but if we move it is 4.0+ms !!! Chunking Since our terrain doesn’t change, we can store the results in GPU memory and render them at will. But if we try to render a texture of size 5120x5120 , our gpu will suffer really bad. So we chunk. We divide the terrain in chunks, load them into gpu and show only the parts that are visible currently. Sounds easy. But for stupid ppl like me it is hard, took me a long while to fight the memory, logic and silly mistakes. But finally, it did work. Results It renders about 0.8ms avg and 1ms in high load, sometimes goes down to 0.6ms too! That too while moving!
Implemented Physics, generated islands form the terrain + Server side Seed generation. Performance Performance is out of the window, the algorithm that generates the islands is O(n^3) !! This disgusts me, but I wasn’t even able to come up with this solution! AI made the entire function…unfortunately I was not able to come up with the solution by myself… I understand how the function works, but I don’t know how I could improve it anyway. The one upside to this is that, this function will only run once - during the game start. My beloved physics engine Box2D can easily handle all these complex islands with no problem at all! So that helps :) Time What took 10hrs? Most of the time was trying to generate the islands, another huge chunk of time was spent making the renderer for Box2D #510535 . IDK how, but the server side seed generation that I though would take less time took about 2hrs… #4bac51 My state of mind I am currently disappointed in myself, multiplayer is hard. Server side seed generation taking so much time destroyed my confidence. Not being able to generate the islands broke me… I am having doubts of being competent enough to complete this project. My current plan is to focus on single player - offline mode. I will handle multiplayer with server later. Currently I will focus on things that are fun and actually have meaning. First I’ll make it work fully in web, then I will do character…
From bare metals to web. A rough road. My game is now available to play in bs-odin.onkush.dev I built my application for the Web and it works. Probably the most dirty work I had to do in this project overall. I probably have read all available Odin / WASM templates. Setting the Sail I knew what WASM is, I once to compile one of my C++ games to WASM too, but seeing more than 500+ errors in the first try took a big toll on me and I didn’t bother. I don’t want this project to end up like that. I didn’t have to search much to find a template that builds Odin + raylib in WASM . So I started to implement ‘ Offline Mode ’ for my game. Didn’t take much time tbh, easy work. So I went to sleep and assigned WASM implementation to future me. Thunderstorm Next morning, I looked at how the {template]( https://github.com/karl-zylinski/odin-raylib-web/ ) works - really simple and straightforward. I copied their code with proper attribution ofc. After fixing some build bugs, I ran my build.sh and…It didn’t work. But nothing works the first time… Spoiler, it didn’t work in the 69th time either. Tsunami By evening, I was able to make it compile, I won’t get into the specifics but it had to do with multiple definition of functions within Odin core libraries. So, after it compiled. I had a huge sigh of relief, I ran it in my browser and bam! A fully dark screen! Wait…What? NOO I opened up the console… and Alas! Errors, not 500 errors, only one error Uncaught (in promise) InternalError: too much recursion I couldn’t find what caused this error, how to fix it, how to narrow it down. Lastly I gave up and went to sleep. After I woke up! I one by one tested each file and their dependency. Lastly I found the culprit…it was Box2D After I dug deeper I found the fix, but it was concerned with changing the source code of Odin…so virtually no one can compile my game to WASM but me… I’ll try to find a workaround for it, till then - if it works, it works. The arrival to the forbidden Island After a lot of hardwork, I got the fruits of my labour. This journey was not as much fun, but seeing my game run in my browser is so much worth it! I fixed few visual glitches and frame time capture fixes. And then I pushed it into my domain :)
Drops and drops together make an ocean. Did nothing major just some small stuff Added buttons (RayGUI) for navigation #7608e9 Added Loading Screen before match starts. #76c086 , #26ddc4 Made the game fully self-contained. The game executable requires no dlls, no other libraries or assets either. Everything is bundled together in a single executable! For this to work, I used #load("file_source") function. It returns []u8 or in C terms *uint8_t . But this won’t work with the raygui style loader function rl.GuiLoadStyle() that requires the ‘filename’ and not the data. So for that reason. I read the source code of raygui an d implemented their function in Odin since they don’t expose the function to the user. That’s about it tho!
Nothing much this time. Added options menu Added physics collider to the player (finally, phew..) Notify mobile users to play in landscape mode. That’s about it. All of them were relatively easy. What I did try and haven’t pushed to upstream is a failed attempt to detect entry and exit from water bodies by the entities in an economical way.
Fully functional animation parser and engine! The entire thing started by me searching for assets to use for my game, then I found these super cute chibi characters that too FOR FREE!! I downloaded one of the free ones and saw that they use .scml file for animations. They do have pre-rendered png images in sequence too, but that is too easy, not fun and doesn’t look good! So, I planned to make a .scml parser, my own animation engine. And see how it goes. In the added video there’s the working part and the non-working part, which I found pretty funny. 1. Image loader First I made a image loader that dynamically loads all the sprites that are in use. Later I will add the abitily to drop the sprites from memory when not in use. 2. Mapping the data This was, tough. Very, very tough that I had originally anticipated. Making this parser included me staring at a file with 9k lines for hours. Trying to figure out what each elements do and how to use them interconnectedly. I first made a scml_data.odin where I one by one mapped all the required data to odin structs. 3. .scml parser I created a new file scml_parser.odin and in it I loaded the .scml file with Odin’s built in xml parser. The parsing took a big chunk of time too, as there are not good docs or examples available out here. But there was one single forum post that got me going and I never had any problems thereafter. I parse the file and save the values in my global private data variable defined in scml_data.odin . I read each elements and added all the necessary ones. I observed all the attributes, data and values very carefully earlier so I had an idea of some repetitive values that I could skip. I think almost 50% of the file was repetition, which ofc I didn’t save. 4. The engine Now that I had all the data with me in, the only thing I had to do was use that. With a given time t I have to find the timeline that it lands on and interpolate the time, linearly lerp the values and issue a draw command for the single sprite. I was unable to do two specific things and had to take help from AI: Lerping Angle: angle lerping is different as there can be a case where we have to learp from 350 to 10, normal lerp functions would just lerp it 350->200->10 instead of 350->360->10 Using the parent bones to calculate the final position of the child node. The particular function ai generated is here . Debugging After making the engine, we got to fix the engine. It had bugs, I debugged for a long time and then fixed them. Pretty stupid things like not pushing the timeline keys after initialising them, flipped y-axis, and angle clockwise order. Final thoughts Finally the thing is working now, I still have to polish it and make it play nicely with my entire game. There are other optimisation opportunities available but I’ll put that for later. I will now work on the avatar menu, so user can mix different things.
Implemented Animation blending + UI library changed I wanted the player to be rendered in the main_menu and in the avatar menu . But also wanted the animations to be looping randomly. When I implemented random looping I found out that, the animations wouldn’t behave properly due to snapping . So I implemented animation blending . It was not at all easy , had to implement another angle_lerp function specifically for blending angles. Character customisation Due to me working hard earlier, changing character sprites is a cakewalk. In the attatched video. The head sprite is of tier 2 while the rest is from tier 1 GUI I really wanted to like raygui, but it was really bad. A lot of maths required for very simple things! I didn’t like it at all. So in search of a new UI library I found this niche library orui ! This fits my needs perfectly: Immediate mode Super fast (Not what I was looking for but a plus) Uses raylib Doesn’t depend on me to do the maths Actually customisable You can see the updated GUI in the video, looks good right :) it also supports animations and transitions!
UI Overhaul - Done! So I changed the entire UI , game UI is tough, even more so when you have a lot of moving components. I never had ever use any library like orui so it was fun, but at the same time - confusing at times. Like for example: there are only 2 components for drawing ( container and label ). I mean there’s also element, but that is just an empty container. Also I’ve tried everything but you can’t just get hover information for the container element. I need some color suggestions for the buttons in options menu, they look kinda dull… All the colors are taken from pallets at coolors.co ! Icons!! So while at it, I wanted to add icons. This was hell. A very bad idea. Let me tell you why - orui doesn’t support icons by default, so you’ve got to load another font to draw the icons. Now, Raylib can’t draw icon fonts, until you specify all the individual codepoints…here’s the code required to load a font with 3 icons: icon_codepoints : = [?] rune { 0xe048 , // ICON_LUCIDE_ARROW_LEFT 0xe049 , // ICON_LUCIDE_ARROW_RIGHT 0xe14d , // ICON_LUCIDE_SAVE 0xe18e , // ICON_LUCIDE_TRASH_2 } icon_font = rl . LoadFontEx ( "./res/fonts/lucide.ttf" , 32 , & icon_codepoints [ 0 ], len ( icon_codepoints ), ) Animation Blending Made the animation transition buttery smooth!! Look at the video!!
Player Customisation Screen!! RAAH, this is really done! TBH this was easier than expected. I had an idea of how this will work out, and implemented just that. The menu includes some smart and fancy mathematics too // gettin the index current_index : = ( int ( curr_type ) * num_tiers ) + int ( curr_tier ) // applying the changes, Lets say user pressed right arrow. new_index : = ( current_index + 1 ) % total_options setPartType ( group , anim . CharacterType ( new_index / num_tiers )) setPartTier ( group , anim . CharacterTier ( new_index % num_tiers )) I am really proud of the UI. Looks great. Honestly I was really lucky with the great reference images I found in the internet :) hosted here
Dozens of small features implemented! Migrated the End screen UI to the new UI library Brought back the physics collider with water from previously deleted code. Removed a rouge sleep call in loading phase. (Which was put there for testing ) Instead of drawing rectangles in when playing. We now draw the characters! With randomly generated skins!! Migrated Playing and loading UI to the new library Code cleanup and refactored for better architecture Culling #bd56fa When adding Culling to player rendering, I got an optimisation of 5ms->2ms. Animation while playing The initial phase was very easy. What I did struggle with was flipping the image. First, I tried flipping the texture themselves. It did work but the offset of the bones were not in place. It was fine when going right, but when I turn left. It all turns bad, the 2nd video is a demonstration of that. It took a lot of tweaks and black magic to find out that I had to also flip the anchor position and angle too 😭 Now it is working as intented :)
Enemy AI done + Tons more! Other things done this time around: Fix: WASM build fixes Feature: Added the back button in Avatar Menu (finally) Fix: The character scale and position in Main/Avatar Menu acted funny in extreme dimentions (when too small) Fix: Physics renderer didn’t render polygons with 4 vertices Feature: Added physics colliders for all enemies! Feature: Y-Sorting enabled Performance: Pushed Data Oriented Design for max performance Architecture: Moved the files around, where they make more sense Feature: Implemented Attacking Feature: Player & Enemy State machine Feature: Enemy AI (super basic tbh) Performance All of these changes were made keeping performance in mind. As of right now the state machines need work to make them even faster! Obstacles State machine logic is very mind numbing, I won’t want to do that…. a lot of edge case problems. A lot of problems I never thought existed. Y-Sorting was also in the harder side because I wanted a fast sort while also not needing to change the whole array of entities. I finally decided to use another array render_list of type []int this essentially sorts the id (or index in this case) of the entities by entity.pos.y . When rendering use the ids to render. This proved to be a more efficient way to do it, than sorting the entire array of entities. Future Todos Implement Enemy attacking Implement health system (with regenability?) Draw the health bar Implement death After these things are done. We I will think of further things like game win/game end amongst many others like game pause.
Health System, Enemy Attack, 15 new Skin! Summary of Features added: Player/Enemy Attacks Health System (Damage/Heal) Health Bar shown 15 new Skins! Avatar Menu “Set” Selector Avatar Set Selector This took a lot of time than I would like. I first had to scourge through 100s of directories for each Skin (each skin has 3 “tiers”) and get the 0th “idle” animation sprite. The next part was pretty straight forward owing to the time I took to make the architecture great :3 Health Bar This wasn’t hard as per say. But it is mad slow. I realised it earlier but never mentioned it. orui library is slow. UI libraries aren’t meant to be this slow. Probably it is due to the rendering that makes it this much slower. How slow? My renderer could render 50 entities under 1ms, now it takes ~5ms to render 20 entities. Future Todos: Performance. I will track down where orui is slow. If it is in the logic part, we can’t do anything as I am not smart enough to fix logic so complex. But if it is related to rendering, we can work with that. Performance. It’s been a while since I diagnosed the slow parts in my code. I will deep dive into the code. Find out what is slow and try to fix them The next few days, I will work on to squeeze as much performance as I can from this game.
Preformance Checkup + Audio System Things I did: I stress tested my game to work with 512 & 1024 entities. Ran under 3ms and 5ms . The difference maker was the number of entities currently in the screen (rendering). Profiled all the “slow” parts Implemented sound system , for menu and game Recorded the sounds myself!! (both in-game and ui)! Performance I tried my best to find ways to increase speed in my game. Unfortunately, all the things that I thought were “slow” weren’t actually slow. Orui UI build was like under 50micro seconds . Orui Rendering was under 250micro seconds . Animation system ran under 50micro for all entities combined iirc So, for now, there has been done no performance improvements this devlog Sound System First I made the sound system simple, for the menu. It worked and I was happy. I made 6 different similar sounds for the hover and click actions, and I play one of them randomly when clicked. menu_hover_sounds : [ 6 ] rl . Sound loadMenuSounds :: proc () { for i in 0 ..< len ( menu_hover_sounds ) { path : = fmt . ctprintf ( "res/audio/menu/menu_click_%d.wav" , i + 1 ) menu_click_sounds [ i ] = rl . LoadSound ( path ) } } playMenuHoveredSound :: proc () { i : = rand . int_max ( len ( menu_hover_sounds )) rl . PlaySound ( menu_hover_sounds [ i ]) } When I went on to make the Player sounds, I noticed that I am unable to the same sound twice simultaneously. I needed that so that I can simulate multiple enemies and other stuff. So I googled a bit, found this raylib example. And implemented it. For both menu and entities. TOTAL_ALIASES :: 4 Sound :: struct { aliases : [ TOTAL_ALIASES ] rl . Sound , index : int , } loadSound :: proc ( path : cstring ) -> Sound { sound : Sound sound . aliases [ 0 ] = rl . LoadSound ( path ) for i in 1 ..< TOTAL_ALIASES { sound . aliases [ i ] = rl . LoadSoundAlias ( sound . aliases [ 0 ]) } sound . index = 0 return sound } playSound :: proc ( sound : ^ Sound ) { rl . PlaySound ( sound . aliases [ sound . index ]) sound . index = ( sound . index + 1 ) % TOTAL_ALIASES } playMenuClickedSound :: proc () { i : = rand . int_max ( len ( menu_click_sounds )) playSound ( & menu_click_sounds [ i ]) } I also stole borrowed this really great background music from raylib source....
|
1793926663.0367305
|
1794790663.0367305
|
|
57844
|
bruh! by @krk | Stardance
|
krk
|
0
|
1.54
|
0
|
[]
|
[{"post_id": 61424, "ts": "202 [{"post_id": 61424, "ts": "2026-09-04T10:20:13Z", "hours": 1.5369, "text": "i am working on the work"}]...
|
Title: bruh! by @krk | Stardance
Devlogs:
i am wo Title: bruh! by @krk | Stardance
Devlogs:
i am working on the work...
|
1793458319.4298122
|
1794063119.4298122
|
|
24807
|
browserMCP by @stuff1ee | Stardance
|
stuff1ee
|
1
|
22.26
|
348
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-03T13:29:32Z", "hours": 21.0, "multiplier": 16.94, "payout": 348, "blessing": "neutral", "text": "browserMCP is a QoL browser management tool for MCP clients to manage your browser! It includes major QoL improvements such as: Group-related actions (grouping, ungrouping tabs, properties of groups) Tab-related actions (opening tabs, closing tabs) History actions (getting browser history max 24h, opt-in) This is strictly not an automation tool for page actions. I took so many hours because i had to port things from python to node.js etc..", "repo": "https://gitlab.com/mystuffyt/browserMCP", "demo": "https://gitlab.com/mystuffyt/browserMCP/-/releases"}]...
|
[{"post_id": 36560, "ts": "202 [{"post_id": 36560, "ts": "2026-07-28T19:12:22Z", "hours": 1.2569, "text": "Had a lot of commits and trouble w/ GitLab CI, also created GitLab pages for demo link! It’s just the README but it includes instructions on how to install the client + server quick install. I unironically took 1h for all of this, because i am very slow at things :("}, {"post_id": 21470, "ts": "2026-07-03T13:15:50Z", "hours": 1.9747, "text": "finally done! ive added uh getting active tab contents for the purpose of summarizing text or whatever"}, {"post_id": 18419, "ts": "2026-06-29T15:51:21Z", "hours": 4.2381, "text": "devlog 6 The MCP client has a BUNCH of new features. Opening tabs Closing tabs Unloading tabs Grouping tabs Changing color and name of groups History access (opt-in) Happy with how it’s turning out still. I think its time to fix more bugs now. if i figure out the situation on keeping websocket open w/ the service worker, i might make this work for firefox. Its been tough tho, so much bugs…"}, {"post_id": 16920, "ts": "2026-06-27T14:12:16Z", "hours": 5.0031, "text": "Devlog 5 Created a quick install python script! Right now it only supports adding the mcp to claude code and opencode, and it supports all macos, windows and linux! (someone test it on macos and windows for me pls..) As for the MCP, grouping a tab now returns the group ID normally, and now you can change title of group! Still dont know which customization features to add.. but ill figure it out hopefully (i took 4h 58m because i have never created an installation script, chrome extension or even a node.js server in general.. and i learned alot)"}, {"post_id": 15947, "ts": "2026-06-25T22:11:25Z", "hours": 1.4583, "text": "Devlog 4 finally!!!!!!!!!! The extension now handles closed connections, and reconnects… and the whole server is coded in node.js without python. Now that the app completely works, the only thing left for me is to add more customization and etc features. Right now there is: getting tabs and their titles, and grouping them.. If you want to, suggest any ideas."}, {"post_id": 15827, "ts": "2026-06-25T18:49:45Z", "hours": 2.445, "text": "Devlog 3 Finally finished the core MCP! Really fragile.. but it works. fsr some hours are marked as ai coding even though i did not vibecode the MCP at all :( (because i was testing the MCP using opencode) but the MCP works enough. The server is a bit fragile and will hope for a better server in the future."}, {"post_id": 15358, "ts": "2026-06-24T23:34:42Z", "hours": 1.9975, "text": "dev log 2…. ive recoded how the server works, and made the service worker in my extension keepalive. The project is starting to come together at least. Gonna work on the MCP finally next time."}, {"post_id": 15187, "ts": "2026-06-24T18:03:45Z", "hours": 3.4425, "text": "first devlog!! None of the MCP works yet, but i have gotten the communication between browser and websocket server to work. I might switch to node.js for the mcp server as i personally think it’s easier to handle websocket there. to be fair it is my first time creating a chrome extension and doing anything with websocket in general.."}]...
|
Title: browserMCP by @stuff1ee | Stardance
Devlog Title: browserMCP by @stuff1ee | Stardance
Devlogs:
first devlog!! None of the MCP works yet, but i have gotten the communication between browser and websocket server to work. I might switch to node.js for the mcp server as i personally think it’s easier to handle websocket there. to be fair it is my first time creating a chrome extension and doing anything with websocket in general..
dev log 2…. ive recoded how the server works, and made the service worker in my extension keepalive. The project is starting to come together at least. Gonna work on the MCP finally next time.
Devlog 3 Finally finished the core MCP! Really fragile.. but it works. fsr some hours are marked as ai coding even though i did not vibecode the MCP at all :( (because i was testing the MCP using opencode) but the MCP works enough. The server is a bit fragile and will hope for a better server in the future.
Devlog 4 finally!!!!!!!!!! The extension now handles closed connections, and reconnects… and the whole server is coded in node.js without python. Now that the app completely works, the only thing left for me is to add more customization and etc features. Right now there is: getting tabs and their titles, and grouping them.. If you want to, suggest any ideas.
Devlog 5 Created a quick install python script! Right now it only supports adding the mcp to claude code and opencode, and it supports all macos, windows and linux! (someone test it on macos and windows for me pls..) As for the MCP, grouping a tab now returns the group ID normally, and now you can change title of group! Still dont know which customization features to add.. but ill figure it out hopefully (i took 4h 58m because i have never created an installation script, chrome extension or even a node.js server in general.. and i learned alot)
devlog 6 The MCP client has a BUNCH of new features. Opening tabs Closing tabs Unloading tabs Grouping tabs Changing color and name of groups History access (opt-in) Happy with how it’s turning out still. I think its time to fix more bugs now. if i figure out the situation on keeping websocket open w/ the service worker, i might make this work for firefox. Its been tough tho, so much bugs…
finally done! ive added uh getting active tab contents for the purpose of summarizing text or whatever
Had a lot of commits and trouble w/ GitLab CI, also created GitLab pages for demo link! It’s just the README but it includes instructions on how to install the client + server quick install. I unironically took 1h for all of this, because i am very slow at things :(
Ships:
browserMCP is a QoL browser management tool for MCP clients to manage your browser! It includes major QoL improvements such as: Group-related actions (grouping, ungrouping tabs, properties of groups) Tab-related actions (opening tabs, closing tabs) History actions (getting browser history max 24h, opt-in) This is strictly not an automation tool for page actions. I took so many hours because i had to port things from python to node.js etc.....
|
1793908339.8539307
|
1793994739.8539307
|
|
66344
|
browser-use-agent by @mayoranamianmar | Stardance
|
mayoranamianmar
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: browser-use-agent by @mayoranamianmar | Sta Title: browser-use-agent by @mayoranamianmar | Stardance...
|
1793717399.0513203
|
1794322199.0513203
|
|
44706
|
browser-terminal by @Leon | Stardance
|
Leon
|
0
|
8.85
|
0
|
[]
|
[{"post_id": 48223, "ts": "202 [{"post_id": 48223, "ts": "2026-08-16T15:06:32Z", "hours": 1.8547, "text": "fourthhhhhhhhh videos? whatttt (not really tho) sooo after getting images to render so smoothly i got real confident rendering videos…and made it as far as rendering every frame of the video….well…thats progress…but i have not yet made a way to playback it cleanly….and i dont want to do it now lol, ill leave it as it is and inmplement some way to scroll trough the site…bc rn it tries to render EVERYTHING and that breaks it….so in future there will be smth called visual content…and thats the only part getting rendered…and when pressing up or down…it goes up or down! as for explaining the video part…ill do that when i finalize it :) the 1. image shows 3 frames of this video"}, {"post_id": 47757, "ts": "2026-08-15T21:55:39Z", "hours": 0.9028, "text": "thirdddd oneee, we movingg fastt asf we managed coloredddd images and simple integration of the whole concept (not cleanly working bc sizing is very not nicely done lol sorry) nevertheless i wanted to take time on explaining HOW i am rendering images and how and why its working! How???! pt 1. get the img pretty self explaining….. we load it with http get and then decode it with the golang image thing….ezzzz pt 2. sizing if we look a little into the future….i wanna integrate css…meaning sizes of the diffrent elements…and because of that…ill just say if width and height is given itll js be sized that way, BUT if either one is 0 this value gets calucated with the other and the ratio of the actual image to keep it sized correctly! pt 3. the coloring and asciification of the image finally smth interesting lol this is the part in the scnd image this part will be a little long but ill try to keep it short.. the first thing we need is some characters to represent different brightness levels: const chars = “ .:=+*#%@” the idea here is pretty simple: characters near the beginning are visually “lighter”, while characters near the end are more filling ig and therefore look darker. yayy then we basically iterate trough the entire image…but not in actual pixel size…but in calculated one how we need it…bc of we will have the image in lower resolution…. and then we just yoink that part and take its rgb valuessss but here is the next problem…for the brightness we cannot just use the raw rgb things…we need to convert them to grayscale…because a maxed out green looks brighter than a maxed out blue! (prettyyy simple) now the not so simple part…for the converion i use a so called weighed avg…the same opencv uses….i did not understand a single thing written in those docs tho BUTTT i found a fancy blog post on rgb to grayscale convertion…soooo i just yoinked the formula! so far so good…now just pic a corresponding char to the brightness print that…and you got yourself a niceeee image…but colors tho? now its grayscale WAITT we already have the rgb colors?! so just use some random ass ansii codes (ive copied from stackoverflow) to tell each char to have the fitting rgb of the image…how simple is that after we js tell the terminal to be normal again and we got ourselves a nice and clean ascii generator! love it final words for today thx to anyone actually reading this <3 was really fun to build it and it takes me a huge step to my goal of a working browser in your terminal. i cannot promise that every devlog will be so detailed…and ofc this all did not happen in just these 52 min…most of it already happend last devlog…i just did not want to explain it back then lol"}, {"post_id": 47150, "ts": "2026-08-14T20:36:44Z", "hours": 3.0806, "text": "second of manyyy another 3h…soooo one big future problem ill face will be image or video rendering…soo lets just face it rn…that way I can procrastinate implementing css lol myy current way of wanting to solve that is generating ascii art….soo i am doing that now…only for images currently…but no videos yet, and there is no real coloring yet! but was really fun to implement this until here and I lovee this project! and the second pic is the responsible for loop for converting pixel to ascii/grayscale"}, {"post_id": 42174, "ts": "2026-08-06T19:48:51Z", "hours": 3.0144, "text": "first of many (i hope) its been about 3h…i think its time for a quick devlog we got working: Tab system (like everytime you enter a url a new tab gets opened) html fetching (we take the html via a pretty go libary and recieve so called html nodes…which are getting converted into a object (im sorry if they are not called objects in go) and each and every of these loaded elements then later gets interpreted for the future: i want more html tags supported… i want css? (or basic css) i want (no) javascript i want to refine the tab system i want to (later later) make my old search engine as homepage?"}]...
|
Title: browser-terminal by @Leon | Stardance
Devl Title: browser-terminal by @Leon | Stardance
Devlogs:
first of many (i hope) its been about 3h…i think its time for a quick devlog we got working: Tab system (like everytime you enter a url a new tab gets opened) html fetching (we take the html via a pretty go libary and recieve so called html nodes…which are getting converted into a object (im sorry if they are not called objects in go) and each and every of these loaded elements then later gets interpreted for the future: i want more html tags supported… i want css? (or basic css) i want (no) javascript i want to refine the tab system i want to (later later) make my old search engine as homepage?
second of manyyy another 3h…soooo one big future problem ill face will be image or video rendering…soo lets just face it rn…that way I can procrastinate implementing css lol myy current way of wanting to solve that is generating ascii art….soo i am doing that now…only for images currently…but no videos yet, and there is no real coloring yet! but was really fun to implement this until here and I lovee this project! and the second pic is the responsible for loop for converting pixel to ascii/grayscale
thirdddd oneee, we movingg fastt asf we managed coloredddd images and simple integration of the whole concept (not cleanly working bc sizing is very not nicely done lol sorry) nevertheless i wanted to take time on explaining HOW i am rendering images and how and why its working! How???! pt 1. get the img pretty self explaining….. we load it with http get and then decode it with the golang image thing….ezzzz pt 2. sizing if we look a little into the future….i wanna integrate css…meaning sizes of the diffrent elements…and because of that…ill just say if width and height is given itll js be sized that way, BUT if either one is 0 this value gets calucated with the other and the ratio of the actual image to keep it sized correctly! pt 3. the coloring and asciification of the image finally smth interesting lol this is the part in the scnd image this part will be a little long but ill try to keep it short.. the first thing we need is some characters to represent different brightness levels: const chars = “ .:=+*#%@” the idea here is pretty simple: characters near the beginning are visually “lighter”, while characters near the end are more filling ig and therefore look darker. yayy then we basically iterate trough the entire image…but not in actual pixel size…but in calculated one how we need it…bc of we will have the image in lower resolution…. and then we just yoink that part and take its rgb valuessss but here is the next problem…for the brightness we cannot just use the raw rgb things…we need to convert them to grayscale…because a maxed out green looks brighter than a maxed out blue! (prettyyy simple) now the not so simple part…for the converion i use a so called weighed avg…the same opencv uses….i did not understand a single thing written in those docs tho BUTTT i found a fancy blog post on rgb to grayscale convertion…soooo i just yoinked the formula! so far so good…now just pic a corresponding char to the brightness print that…and you got yourself a niceeee image…but colors tho? now its grayscale WAITT we already have the rgb colors?! so just use some random ass ansii codes (ive copied from stackoverflow) to tell each char to have the fitting rgb of the image…how simple is that after we js tell the terminal to be normal again and we got ourselves a nice and clean ascii generator! love it final words for today thx to anyone actually reading this <3 was really fun to build it and it takes me a huge step to my goal of a working browser in your terminal. i cannot promise that every devlog will be so detailed…and ofc this all did not happen in just these 52 min…most of it already happend last devlog…i just did not want to explain it back then lol
fourthhhhhhhhh videos? whatttt (not really tho) sooo after getting images to render so smoothly i got real confident rendering videos…and made it as far as rendering every frame of the video….well…thats progress…but i have not yet made a way to playback it cleanly….and i dont want to do it now lol, ill leave it as it is and inmplement some way to scroll trough the site…bc rn it tries to render EVERYTHING and that breaks it….so in future there will be smth called visual content…and thats the only part getting rendered…and when pressing up or down…it goes up or down! as for explaining the video part…ill do that when i finalize it :) the 1. image shows 3 frames of this video...
|
1793292617.5840247
|
1793897417.5840247
|
|
21331
|
browse-cli by @parthv | Stardance
|
parthv
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: browse-cli by @parthv | Stardance
|
1793393458.4135044
|
1793998258.4135044
|
|
61138
|
brownianmotionwithstatisticalforces by @vavrup | S brownianmotionwithstatisticalforces by @vavrup | Stardance...
|
vavrup
|
0
|
5.69
|
0
|
[]
|
[{"post_id": 68845, "ts": "202 [{"post_id": 68845, "ts": "2026-09-15T21:05:14Z", "hours": 5.6928, "text": "My hours are wrong, please help! Also I just started my project and I can explain it more. First I can explain my project. So essentially Brownian Motion is briefly a random walk process that puts stochastic noise with physical restraints on any kind of object, here being a molecule. In the example shown here in Wikipedia, its really just a arbitrary particle like a dust particle in a sea of many many many vibrating molecules. You see there it traces out a “random walk” and thats what a random walk means, a path traced from stochastic equations that are random. Imagine that on the 3D Scale for Proteins or DNA! We can essentially represent them by 3 coordinates per basic unit (amino acid or nucleotide). So right now there are alot of models that try to predict these 3D structures using Machine Learning models. And after some work and math, I have seen that these machine learning models especially one named Boltz-2 use a stochastic element called a gradient log potential. This is similar to a gradient force potential used in MD (only difference: MD molecular dynamics is scaled by thermal factor) and it has been proved they are proportional, and in the same direction. So I thought, maybe I could make a little barebones app! So far, I was able to get through half the physics engine. I have yet to design the GUI but its probably going to be via TKinter. Now to the real problem. Hackatime is faking my hours! I did NOT do that many hours. I would think maybe a max of 1 hours. And also it is looking at other folders that are not related to my project from an earlier vibe coding obsession of mine that I have stopped. Anyone have any ideas or suggestions to get my real hours? Thanks!"}]...
|
Title: brownianmotionwithstatisticalforces by @vav Title: brownianmotionwithstatisticalforces by @vavrup | Stardance
Devlogs:
My hours are wrong, please help! Also I just started my project and I can explain it more. First I can explain my project. So essentially Brownian Motion is briefly a random walk process that puts stochastic noise with physical restraints on any kind of object, here being a molecule. In the example shown here in Wikipedia, its really just a arbitrary particle like a dust particle in a sea of many many many vibrating molecules. You see there it traces out a “random walk” and thats what a random walk means, a path traced from stochastic equations that are random. Imagine that on the 3D Scale for Proteins or DNA! We can essentially represent them by 3 coordinates per basic unit (amino acid or nucleotide). So right now there are alot of models that try to predict these 3D structures using Machine Learning models. And after some work and math, I have seen that these machine learning models especially one named Boltz-2 use a stochastic element called a gradient log potential. This is similar to a gradient force potential used in MD (only difference: MD molecular dynamics is scaled by thermal factor) and it has been proved they are proportional, and in the same direction. So I thought, maybe I could make a little barebones app! So far, I was able to get through half the physics engine. I have yet to design the GUI but its probably going to be via TKinter. Now to the real problem. Hackatime is faking my hours! I did NOT do that many hours. I would think maybe a max of 1 hours. And also it is looking at other folders that are not related to my project from an earlier vibe coding obsession of mine that I have stopped. Anyone have any ideas or suggestions to get my real hours? Thanks!...
|
1793645939.9103057
|
1794250739.9103057
|
|
27973
|
broamp exg by @not-willem | Stardance
|
not-willem
|
0
|
16.2
|
0
|
[]
|
[{"post_id": 49334, "ts": "202 [{"post_id": 49334, "ts": "2026-08-18T03:05:59Z", "hours": 0.2833, "text": "daguhdaughdagouh i feel so dumb odaghoudaghuoa okay so you dont need a hot plate to SMD solder anyway i tried to submit a funding request for a heat plate but i did some reasearch just now and realized i do not need it at all and i can just use my dad’s heat gun adugdoahgouhag anyway sorry stardance team for wasting your time here’s little timmy for time compensation"}, {"post_id": 46727, "ts": "2026-08-14T05:44:28Z", "hours": 0.4667, "text": "okay!!! so i got all the parts, assembled but then broke one of the chips trying to solder it using a cheap iron… so i have submitted a request for a hot plate yay!!! everyone cheer!!! hooray!!! burger for everyone!!! nah im kidding but have a good day!"}, {"post_id": 41150, "ts": "2026-08-05T05:40:36Z", "hours": 0.35, "text": "the parts arrived!!!!!!!! i put the components on the pcb and recorded it but i dont actually have a soldering iron at my mum’s house so i’ll have to bring it down to my dad’s… anyway i’m just very happy i got it. i also got a camera battery a while ago and it arrived just a day apart so that was fun!!! but yeah i hope everyone has a great day and I WILL MAYBE STOP YELLING AT YOU WITH MY REALLY LOUD MEGAPHONE BUT PROBABLY NOT anyway you can check out the time lapse here"}, {"post_id": 38595, "ts": "2026-08-01T02:25:03Z", "hours": 0.3506, "text": "ok guys the lcsc order is taking forever so heres a white square while we wait"}, {"post_id": 33881, "ts": "2026-07-24T04:50:25Z", "hours": 0.5519, "text": "Hooray! A bunch of parts arrived!!!! I got the PCB, some electrodes and a stencil but it’s super cool to see my design on a pcb. anyway I’m still waiting on some more parts to come so bear with me here but I think it’s starting to come together. I also gotta figure out how to solder on the chip, i’ve done SMD soldering before but I had to use a friend’s hot plate so i might need to buy one for myself. if anyone has any suggestions of a cheap and small hot plate pls let me know in the comments. But yeah i hope everyone has a good day. also pls follow this project if you think it’s cool, it makes me happy :3"}, {"post_id": 28580, "ts": "2026-07-14T22:22:25Z", "hours": 0.92, "text": "hooray! I got the funding yay!! I’ve gone and bought all the parts I need including gel electrodes to test it once it arrives. the most expensive thing right now is the parts but even after being shipped down here to NZ it costs around 13 dollars per amp which is really good and i think I’d be willing to pay that even if I hadn’t built it. ANYWAY I NEED TO GO NOW GOODBYE"}, {"post_id": 27481, "ts": "2026-07-13T02:41:17Z", "hours": 0.6106, "text": "I worked on the website a while longer but i’m still waiting for funding. anyway i hope everyone has a good day today!"}, {"post_id": 27022, "ts": "2026-07-12T05:19:15Z", "hours": 2.1489, "text": "woohoo! My design got submitted! Hooray! I’ll keep this page updated when for when I get the parts!! 0ijfh0dfau09adu0gadhu0gdu0 i am sooo excited!!!!!!!!!!!!! also do you like this logo it is so cool"}, {"post_id": 24543, "ts": "2026-07-08T05:11:16Z", "hours": 1.0722, "text": "made a little case while i wait for funding. I can just print it on my printer so it shouldn’t need to be added to the money I need. Also did I mention funding? I am hopefully gonna get the parts I need to make it, then I’ll solder it all together myself :D also the case kinda looks like a sort of game cartridge. or not and im just sleep deprived. also i got a new megaphone and ANYWAY I HOPE YOU HAVE A GOOD DAY DO YOU LIKE MY NEW MEGAPHONE ITS REALLY HANDY ESPECIALLY WHEN TELLING YOU TO HAVE A GOOD DAY ANYWAY I’M GOING TO EAT DINNER NOW. GOODBYE."}, {"post_id": 24500, "ts": "2026-07-08T02:36:42Z", "hours": 1.2106, "text": "hurrah! I’ve created a very cool website here ! I think it looks excellent and my website design is alright but I shouldn’t get over my head. Anyway I know I probably haven’t made enough devlogs or at least I feel like I haven’t but that’s because I think most of my time was spent on the devlogs and such and I really just forget to post about what I’m doing. Anyway I think I’m compensating fine by just writing A LOT about it. ANYWAY it is time for me to go now goodbye I hope everybody has a good day GOODBYE I AM LEAVING IT’S ALRIGHT DON’T MISS ME I WON’T BE GONE LONG"}, {"post_id": 24444, "ts": "2026-07-08T00:20:14Z", "hours": 0.9383, "text": "Here is an obligatory message just to say i am working on a demo website and hopefully should be finished soonish. I’m of course gonna graphic design it to an insane level but yeah it should be cool. (picture is unrelated)"}, {"post_id": 23858, "ts": "2026-07-07T01:27:24Z", "hours": 1.8722, "text": "I have gone and become legal hooray everyone cheer wow you’re so cool wow anyway I fixed the issues with the CERN-OHL-S-2.0 license and added a link to the source design on the board itself even though i didn’t need to do that i still did and i feel very cool. i am the ice in your fridge. im very cool. anyway i hope everyone has a good day goodbye. goodbye okay you can go now. HURRY UP AND LEAVE no actually nothing good comes from anger okay i will see you all later"}, {"post_id": 22604, "ts": "2026-07-05T04:41:02Z", "hours": 2.1642, "text": "Hello again everyone! I’ve created a boring spreadsheet and found out how much it’s going to cost to create 5 of them. dividing that by 5 gives me 15.5 NZD so I think that’s reasonably cheap and I think my target audience would be fine paying that price for it as to get two of them it costs 69 dollars (for pre-order!), divided by 2 is 34.5 and in NZD is 60.42 dollars. so to get mine is 15.5 and theirs is 60.42 and you HAVE to buy 2. Of course I still don’t know where i’d be without their research so I probably shouldn’t roast them but yeah.. Anyway I hope everyone who sees this post has a great day and remembers to eat food and drink water. I made some banana bread today. Anyways goodbye :D P.S if you don’t belive my absurd claims take a look for youself https://www.crowdsupply.com/upside-down-labs/bioamp-exg-pill#products"}, {"post_id": 19786, "ts": "2026-07-01T05:23:09Z", "hours": 1.5214, "text": "I think I’ve finished the bioamp or maybe not idk. I’ve 3d printed a test version to see the size and i think its pretty good sized. not too big to be useless but not too small to have to buy tiny capacitors and resistors. i still need to make a BOM but I’ve finished the readme on the github and put in some wiring diagrams BUT DONT MAKE IT NOW sorry i shouldn’t yell i need to use my inside voice but I have not found the microchip that they used so any help would be good but yeah do not make it until i say so okay? (stalagmite for scale btw)"}, {"post_id": 18919, "ts": "2026-06-30T03:07:55Z", "hours": 1.4508, "text": "look at my “beautiful” routing! anyway i did the routing and added some labels and made the board pretty. It is ready to go and I could make it right now but knowing myself i’m gonna go back a few times and keep changing it until i like it :)"}, {"post_id": 18177, "ts": "2026-06-29T06:58:40Z", "hours": 0.2836, "text": "I’m working on a electroencephalography bio amp so it basically (or at least what I’m going to use it for) is it converts the neuron firing in your brain and reads it through your head and detects it then converts it to a bigger signal which could be read by something like an Arduino. you can also use this for things like your muscles and whatnot but I’m gonna use this for a bigger project later :)"}]...
|
Title: broamp exg by @not-willem | Stardance
Devl Title: broamp exg by @not-willem | Stardance
Devlogs:
I’m working on a electroencephalography bio amp so it basically (or at least what I’m going to use it for) is it converts the neuron firing in your brain and reads it through your head and detects it then converts it to a bigger signal which could be read by something like an Arduino. you can also use this for things like your muscles and whatnot but I’m gonna use this for a bigger project later :)
look at my “beautiful” routing! anyway i did the routing and added some labels and made the board pretty. It is ready to go and I could make it right now but knowing myself i’m gonna go back a few times and keep changing it until i like it :)
I think I’ve finished the bioamp or maybe not idk. I’ve 3d printed a test version to see the size and i think its pretty good sized. not too big to be useless but not too small to have to buy tiny capacitors and resistors. i still need to make a BOM but I’ve finished the readme on the github and put in some wiring diagrams BUT DONT MAKE IT NOW sorry i shouldn’t yell i need to use my inside voice but I have not found the microchip that they used so any help would be good but yeah do not make it until i say so okay? (stalagmite for scale btw)
Hello again everyone! I’ve created a boring spreadsheet and found out how much it’s going to cost to create 5 of them. dividing that by 5 gives me 15.5 NZD so I think that’s reasonably cheap and I think my target audience would be fine paying that price for it as to get two of them it costs 69 dollars (for pre-order!), divided by 2 is 34.5 and in NZD is 60.42 dollars. so to get mine is 15.5 and theirs is 60.42 and you HAVE to buy 2. Of course I still don’t know where i’d be without their research so I probably shouldn’t roast them but yeah.. Anyway I hope everyone who sees this post has a great day and remembers to eat food and drink water. I made some banana bread today. Anyways goodbye :D P.S if you don’t belive my absurd claims take a look for youself https://www.crowdsupply.com/upside-down-labs/bioamp-exg-pill#products
I have gone and become legal hooray everyone cheer wow you’re so cool wow anyway I fixed the issues with the CERN-OHL-S-2.0 license and added a link to the source design on the board itself even though i didn’t need to do that i still did and i feel very cool. i am the ice in your fridge. im very cool. anyway i hope everyone has a good day goodbye. goodbye okay you can go now. HURRY UP AND LEAVE no actually nothing good comes from anger okay i will see you all later
Here is an obligatory message just to say i am working on a demo website and hopefully should be finished soonish. I’m of course gonna graphic design it to an insane level but yeah it should be cool. (picture is unrelated)
hurrah! I’ve created a very cool website here ! I think it looks excellent and my website design is alright but I shouldn’t get over my head. Anyway I know I probably haven’t made enough devlogs or at least I feel like I haven’t but that’s because I think most of my time was spent on the devlogs and such and I really just forget to post about what I’m doing. Anyway I think I’m compensating fine by just writing A LOT about it. ANYWAY it is time for me to go now goodbye I hope everybody has a good day GOODBYE I AM LEAVING IT’S ALRIGHT DON’T MISS ME I WON’T BE GONE LONG
made a little case while i wait for funding. I can just print it on my printer so it shouldn’t need to be added to the money I need. Also did I mention funding? I am hopefully gonna get the parts I need to make it, then I’ll solder it all together myself :D also the case kinda looks like a sort of game cartridge. or not and im just sleep deprived. also i got a new megaphone and ANYWAY I HOPE YOU HAVE A GOOD DAY DO YOU LIKE MY NEW MEGAPHONE ITS REALLY HANDY ESPECIALLY WHEN TELLING YOU TO HAVE A GOOD DAY ANYWAY I’M GOING TO EAT DINNER NOW. GOODBYE.
woohoo! My design got submitted! Hooray! I’ll keep this page updated when for when I get the parts!! 0ijfh0dfau09adu0gadhu0gdu0 i am sooo excited!!!!!!!!!!!!! also do you like this logo it is so cool
I worked on the website a while longer but i’m still waiting for funding. anyway i hope everyone has a good day today!
hooray! I got the funding yay!! I’ve gone and bought all the parts I need including gel electrodes to test it once it arrives. the most expensive thing right now is the parts but even after being shipped down here to NZ it costs around 13 dollars per amp which is really good and i think I’d be willing to pay that even if I hadn’t built it. ANYWAY I NEED TO GO NOW GOODBYE
Hooray! A bunch of parts arrived!!!! I got the PCB, some electrodes and a stencil but it’s super cool to see my design on a pcb. anyway I’m still waiting on some more parts to come so bear with me here but I think it’s starting to come together. I also gotta figure out how to solder on the chip, i’ve done SMD soldering before but I had to use a friend’s hot plate so i might need to buy one for myself. if anyone has any suggestions of a cheap and small hot plate pls let me know in the comments. But yeah i hope everyone has a good day. also pls follow this project if you think it’s cool, it makes me happy :3
ok guys the lcsc order is taking forever so heres a white square while we wait
the parts arrived!!!!!!!! i put the components on the pcb and recorded it but i dont actually have a soldering iron at my mum’s house so i’ll have to bring it down to my dad’s… anyway i’m just very happy i got it. i also got a camera battery a while ago and it arrived just a day apart so that was fun!!! but yeah i hope everyone has a great day and I WILL MAYBE STOP YELLING AT YOU WITH MY REALLY LOUD MEGAPHONE BUT PROBABLY NOT anyway you can check out the time lapse here
okay!!! so i got all the parts, assembled but then broke one of the chips trying to solder it using a cheap iron… so i have submitted a request for a hot plate yay!!! everyone cheer!!! hooray!!! burger for everyone!!! nah im kidding but have a good day!
daguhdaughdagouh i feel so dumb odaghoudaghuoa okay so you dont need a hot plate to SMD solder anyway i tried to submit a funding request for a heat plate but i did some reasearch just now and realized i do not need it at all and i can just use my dad’s heat gun adugdoahgouhag anyway sorry stardance team for wasting your time here’s little timmy for time compensation...
|
1793433013.1646206
|
1794037813.1646206
|
|
66365
|
broadcast log by @anushkasahabkp | Stardance
|
anushkasahabkp
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: broadcast log by @anushkasahabkp | Stardanc Title: broadcast log by @anushkasahabkp | Stardance...
|
1793717442.714511
|
1794322242.714511
|
|
69826
|
bro do not speak by @Jazil | Stardance
|
Jazil
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: bro do not speak by @Jazil | Stardance
|
1793584508.5927784
|
1794189308.5927784
|
|
47529
|
brightward by @ishan_karpe | Stardance
|
ishan_karpe
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: brightward by @ishan_karpe | Stardance
|
1793886659.0987637
|
1794491459.0987637
|
|
3190
|
breakpoint by @harsht7 | Stardance
|
harsht7
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: breakpoint by @harsht7 | Stardance
|
1793836102.9069848
|
1794440902.9069848
|
|
64280
|
bread&bair by @devlx | Stardance
|
devlx
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T23:35:28Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made Bread & Bair, a terminal-based fantasy text adventure where players explore Morrowfen’s haunted forest to rescue Bair, a missing baker’s apprentice. I’m proud of the branching choices, random travel events, item-based progression, and multiple endings. The main challenge was just designing the game although nothing major.", "repo": "https://github.com/DevanshLath/bread-bair", "demo": "https://pypi.org/project/bread-bair/"}]...
|
[{"post_id": 71503, "ts": "202 [{"post_id": 71503, "ts": "2026-09-20T23:03:56Z", "hours": 1.4019, "text": "Devlog #1 Welcome to Bread & BairBread & Bair is a small fantasy text adventure set in the shadowy woods around Morrowfen Village.The story follows Bair, a baker’s apprentice who disappears after chasing strange lights into the forest. Players must explore dangerous paths, gather key items, uncover the River Hag’s weakness, and return Bair home before the third sunrise.This first version focuses on branching choices, limited inventory, random travel events, multiple discoveries, score tracking, and two possible successful endings. The true ending requires finding both the Amber Tear and the Moonstone, then awakening the star arch.The game is written in Python and runs directly in the terminal with no external dependencies. Future updates could add more locations, character interactions, additional endings, and richer consequences for player choices."}]...
|
Title: bread&bair by @devlx | Stardance
Devlo Title: bread&bair by @devlx | Stardance
Devlogs:
Devlog #1 Welcome to Bread & BairBread & Bair is a small fantasy text adventure set in the shadowy woods around Morrowfen Village.The story follows Bair, a baker’s apprentice who disappears after chasing strange lights into the forest. Players must explore dangerous paths, gather key items, uncover the River Hag’s weakness, and return Bair home before the third sunrise.This first version focuses on branching choices, limited inventory, random travel events, multiple discoveries, score tracking, and two possible successful endings. The true ending requires finding both the Amber Tear and the Moonstone, then awakening the star arch.The game is written in Python and runs directly in the terminal with no external dependencies. Future updates could add more locations, character interactions, additional endings, and richer consequences for player choices.
Ships:
I made Bread & Bair, a terminal-based fantasy text adventure where players explore Morrowfen’s haunted forest to rescue Bair, a missing baker’s apprentice. I’m proud of the branching choices, random travel events, item-based progression, and multiple endings. The main challenge was just designing the game although nothing major....
|
1793832963.2086227
|
1793919363.2086227
|
|
67985
|
brazo mecanico by @zury | Stardance
|
zury
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: brazo mecanico by @zury | Stardance
|
1793735714.031823
|
1794340514.031823
|