|
151
|
Untitled by @Vimthusiast | Stardance
|
Vimthusiast
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @Vimthusiast | Stardance
|
1792716889.2220933
|
1793321689.2220933
|
|
152
|
Untitled project by @sinismylastname | Stardance
|
sinismylastname
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @sinismylastname | Star Title: Untitled project by @sinismylastname | Stardance...
|
1792752602.576735
|
1793616602.576735
|
|
153
|
SCP - Secure Channel Protocol by @kingvon | Starda SCP - Secure Channel Protocol by @kingvon | Stardance...
|
kingvon
|
1
|
25.0
|
392
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-23T16:42:26Z", "hours": 25.0, "multiplier": 15.56, "payout": 392, "blessing": "neutral", "text": "Secure Channel Protocol (SCP) is a TLS-inspired protocol with its own ciphersuite and handshake sequence made in Go. It comes in a go package so anyone can use this protocol to build their projects upon. i made this project as a challenge to myself because i wanted to make “my own protocol” so i decided to go for a security protcol, this was a really fun experience it taught me applied cryptography more deeply and i learnt about various things in TLS. this project right now is just a handshake implementation with minimal crypto wrappers i wrote around already made functions, this is just the first version, i will be implementing my own crypto primitives like key exchange and stuff in future versions. you can try this project in THREE different ways!: watching a live handshake simulation @ scp.pratiksingh.xyz trying the small encrypted cli chat app i made on top of the protocol (check out github readme) creating your own app on top of my protocol! i have made simple wrapper functions to make it easier for curious devs to try it. there are documentation too! check out the specs page on demo site and readme for details :3", "repo": "https://github.com/pratiksingh94/scp/", "demo": "https://scp.pratiksingh.xyz/"}]...
|
[{"post_id": 32551, "ts": "202 [{"post_id": 32551, "ts": "2026-07-21T20:09:05Z", "hours": 1.3506, "text": "Wrote docs yeah, wrote docs, thats it bye lol golang docs system is nice at first i was writing everything in another docs readme but it was so damn boring and i started looking around for automated docs like its in fastapi of python, then i found out i can write comments and stuff and people can use go doc command and there are also crawlers by pkg.go.dev which can show my go docs on the website so yeah that dont focus on screenshot, i am waiting for it to detect the license so it can show docs"}, {"post_id": 32244, "ts": "2026-07-21T09:04:10Z", "hours": 0.4667, "text": "Readme update one more step closer towards shipping didnt mention the SPEC.md in it, i wont use that since i have made /spec page in visualizer site"}, {"post_id": 32228, "ts": "2026-07-21T08:16:32Z", "hours": 0.4619, "text": "Fixed go modules gonna push it as package soon so had to fix some go module problems or go get command wont work and did some over the internet testing"}, {"post_id": 31937, "ts": "2026-07-20T19:03:39Z", "hours": 3.0483, "text": "Added Spec page yes, added a page for ALL details you made need about it, PLEASE READ IT i have put so much efforts into that so you better read it includes this table of contents: 1.Overview 2.Packet Format 3.Message Types 4.Handshake Protocol 5.Key Derivation 6.Data Phase 7.Cryptographic Primitives 8.Wire Format Reference"}, {"post_id": 30288, "ts": "2026-07-17T18:53:22Z", "hours": 5.8408, "text": "Handshake Simulation Visualizer completed the entire bomboclat visualizer so its a website with go backend which is running a totally real handshake sequence, which is a simulation ofc but the crypto stuff is real, no packets are being sent tho after asking multiple people in #stardance i decided to go with monotone default colors of tailwind, and someone suggested CRT line effect so i added that too which made it hella cool. it features a 26 step sequence showing everything from keypair generation to data phase, shows from both client and server sides with cool cards, i love this so much yes i did it all in one devlog, its a just a small dev log server and not the main thing of this project, the main is still the protocol and the package so i will do on that with some documentations and specs page. will be hosted soon on my nest container"}, {"post_id": 28520, "ts": "2026-07-14T20:40:26Z", "hours": 3.8081, "text": "Visualizer WebSocket Server so not just that, i also changed the folder structure a bit, and some other very small things which i couldnt dev log cuz they were too small but yes the main thing i did was making a visualize backend, it uses websockets and simulates an entire handshake and data transfer, all the crypto work is real in the server but no packet is being sent, so its just steps one by one explaining the work that is being done. been a bit busy for a while so couldnt code properly :("}, {"post_id": 24989, "ts": "2026-07-08T21:39:58Z", "hours": 0.9981, "text": "First app: Encrypted Chat i am so happy, i have wrote the FIRST thingy on top of secure channel protocol!!! my own damn lil TLS. this is a very basic client server chat, server listens on a port and client connects, they it reads input from stdin the server connects using command: ./scp listen --port 2008 --psk test the client connects using command: ./scp connect --host localhost:2008 --psk test the PSK is pre-shared (well, duh) using the --psk flag well this is a very basic terminal chat app, i can ship the project as it is rn as its a nice MVP but i want to make a visualizer cuz i know damn well NO one gonna run it like this lol, and i want to make a cool visualizer that shows every step of handshake the first screenshot shows the chat, top one is the server and bottom is client the second screenshot shows the wireshark capture of this beautiful exchange, ofc its encrypted hehe i love this"}, {"post_id": 24881, "ts": "2026-07-08T18:48:10Z", "hours": 0.6858, "text": "Session Functions wow this made it complete on a function definition level, like i just have to make some wrappers around it so, i made 3 functions for the Session struct Send() -> takes plaintext, encrypts it with the session key and nonce from session, sends it Receive() -> decodes MsgData packet, decrypts using session key and nonce received FROM the packet (so nonces dont go out of sync) and returns plaintext Close() -> what do you think lmao in the screenshot you can see the plaintext and ciphertext being logged, thats an exchange between client and server!"}, {"post_id": 24587, "ts": "2026-07-08T09:11:33Z", "hours": 3.4375, "text": "Handshake 🤝 so i made the handshake sequence its the same one from SPEC.md where i decided first, didnt change anything for some reason cant paste here pls check SPEC.md on github lmao but in short it goes like this: client and server exchange hello messages with their PSK Proof, Public Key, Nonce (16 bytes) and then key exchange and some session key derivation happens, then Done messages are exchanged which is encrypted with the session key, so it proves both party derived same session key at the end the handshake functions returns the session (which i have to work on) there are some things left to do like cleaning up the code, its a bit messy right now i will make it a bit more modular and easy to read later for testing i used net.Pipe , it gives nice two mock connections type shit, i thought of using real tcp connection first but found this better thing while going through GoLang net library docs not much to see in image tbh, it just shows the debug print statements i added, those are exchanges between client and server"}, {"post_id": 23028, "ts": "2026-07-05T19:16:11Z", "hours": 2.9708, "text": "Crypto Functions so i wrote all the crypto functions or helpers whatever you want to call it. i did that because see for me TLS or even this project is just a group of cipher suites and we are using them to perform a handshake, so the cipher suite is the most important part, and ofc my project will only have one cipher suite, so i first implemented those functions Functions implemented: GenerateKeypair() -> generates an X25519 public and private key pair SharedSecret() -> takes private key and peer public key and performs ECDH using those keys ComputePSKProof() -> outputs the HMAC result of a psk and the given data DeriveSessionKey() -> the final function which uses HKDF and outputs a session key, which will be used to encrypt/decrypt Encrypt() -> encrypts using the given session key, it uses ChaCha20-Poly1305 to encrypt plaintext Decrypt() -> decrypts the ciphertext from given key and i also wrote tests for them, writing tests for me is an uncommon thing i wont lie lol but this time i am testing these functions from tests is because this is a protocol library, if another project wants to use my protocol to build on they can easily import and thats why i dont wanna test in random cmd and build things like it is intended for my planned project only, so i am treating it as a proper library and writing function and their tests, and so far things are doing really good. had some problems in ECDH because i was messing up the output parameters order but i fixed it after a while. ignore the weird ahhh numbers output, thats the nonce counter helper function i made i forgot to remove the debug prints lol"}, {"post_id": 22165, "ts": "2026-07-04T14:18:15Z", "hours": 2.1317, "text": "Packet Envelop and Payload Encoders/Decoders hiii SPEC.md so at first i made SPEC.md where i have decided on everything that it will have, all structures, handshake sequence, etc (please read it :3) Packet structure then i made a basic packet envelop struct [1 byte: msg type] [4 bytes: payload length] [N bytes: payload] that will be the structure, and i wrote WritePacket() and ReadPacket() functions for it, and also some tests Payload structures and i decided on payload structures for each message type and wrote encoder and decoder for all those types, except Done message type because its just one thing in payload you can check in SPEC.md the payload structures since i dont have anything ready to show, i will show the test output"}]...
|
Title: SCP - Secure Channel Protocol by @kingvon | Title: SCP - Secure Channel Protocol by @kingvon | Stardance
Devlogs:
Packet Envelop and Payload Encoders/Decoders hiii SPEC.md so at first i made SPEC.md where i have decided on everything that it will have, all structures, handshake sequence, etc (please read it :3) Packet structure then i made a basic packet envelop struct [1 byte: msg type] [4 bytes: payload length] [N bytes: payload] that will be the structure, and i wrote WritePacket() and ReadPacket() functions for it, and also some tests Payload structures and i decided on payload structures for each message type and wrote encoder and decoder for all those types, except Done message type because its just one thing in payload you can check in SPEC.md the payload structures since i dont have anything ready to show, i will show the test output
Crypto Functions so i wrote all the crypto functions or helpers whatever you want to call it. i did that because see for me TLS or even this project is just a group of cipher suites and we are using them to perform a handshake, so the cipher suite is the most important part, and ofc my project will only have one cipher suite, so i first implemented those functions Functions implemented: GenerateKeypair() -> generates an X25519 public and private key pair SharedSecret() -> takes private key and peer public key and performs ECDH using those keys ComputePSKProof() -> outputs the HMAC result of a psk and the given data DeriveSessionKey() -> the final function which uses HKDF and outputs a session key, which will be used to encrypt/decrypt Encrypt() -> encrypts using the given session key, it uses ChaCha20-Poly1305 to encrypt plaintext Decrypt() -> decrypts the ciphertext from given key and i also wrote tests for them, writing tests for me is an uncommon thing i wont lie lol but this time i am testing these functions from tests is because this is a protocol library, if another project wants to use my protocol to build on they can easily import and thats why i dont wanna test in random cmd and build things like it is intended for my planned project only, so i am treating it as a proper library and writing function and their tests, and so far things are doing really good. had some problems in ECDH because i was messing up the output parameters order but i fixed it after a while. ignore the weird ahhh numbers output, thats the nonce counter helper function i made i forgot to remove the debug prints lol
Handshake 🤝 so i made the handshake sequence its the same one from SPEC.md where i decided first, didnt change anything for some reason cant paste here pls check SPEC.md on github lmao but in short it goes like this: client and server exchange hello messages with their PSK Proof, Public Key, Nonce (16 bytes) and then key exchange and some session key derivation happens, then Done messages are exchanged which is encrypted with the session key, so it proves both party derived same session key at the end the handshake functions returns the session (which i have to work on) there are some things left to do like cleaning up the code, its a bit messy right now i will make it a bit more modular and easy to read later for testing i used net.Pipe , it gives nice two mock connections type shit, i thought of using real tcp connection first but found this better thing while going through GoLang net library docs not much to see in image tbh, it just shows the debug print statements i added, those are exchanges between client and server
Session Functions wow this made it complete on a function definition level, like i just have to make some wrappers around it so, i made 3 functions for the Session struct Send() -> takes plaintext, encrypts it with the session key and nonce from session, sends it Receive() -> decodes MsgData packet, decrypts using session key and nonce received FROM the packet (so nonces dont go out of sync) and returns plaintext Close() -> what do you think lmao in the screenshot you can see the plaintext and ciphertext being logged, thats an exchange between client and server!
First app: Encrypted Chat i am so happy, i have wrote the FIRST thingy on top of secure channel protocol!!! my own damn lil TLS. this is a very basic client server chat, server listens on a port and client connects, they it reads input from stdin the server connects using command: ./scp listen --port 2008 --psk test the client connects using command: ./scp connect --host localhost:2008 --psk test the PSK is pre-shared (well, duh) using the --psk flag well this is a very basic terminal chat app, i can ship the project as it is rn as its a nice MVP but i want to make a visualizer cuz i know damn well NO one gonna run it like this lol, and i want to make a cool visualizer that shows every step of handshake the first screenshot shows the chat, top one is the server and bottom is client the second screenshot shows the wireshark capture of this beautiful exchange, ofc its encrypted hehe i love this
Visualizer WebSocket Server so not just that, i also changed the folder structure a bit, and some other very small things which i couldnt dev log cuz they were too small but yes the main thing i did was making a visualize backend, it uses websockets and simulates an entire handshake and data transfer, all the crypto work is real in the server but no packet is being sent, so its just steps one by one explaining the work that is being done. been a bit busy for a while so couldnt code properly :(
Handshake Simulation Visualizer completed the entire bomboclat visualizer so its a website with go backend which is running a totally real handshake sequence, which is a simulation ofc but the crypto stuff is real, no packets are being sent tho after asking multiple people in #stardance i decided to go with monotone default colors of tailwind, and someone suggested CRT line effect so i added that too which made it hella cool. it features a 26 step sequence showing everything from keypair generation to data phase, shows from both client and server sides with cool cards, i love this so much yes i did it all in one devlog, its a just a small dev log server and not the main thing of this project, the main is still the protocol and the package so i will do on that with some documentations and specs page. will be hosted soon on my nest container
Added Spec page yes, added a page for ALL details you made need about it, PLEASE READ IT i have put so much efforts into that so you better read it includes this table of contents: 1.Overview 2.Packet Format 3.Message Types 4.Handshake Protocol 5.Key Derivation 6.Data Phase 7.Cryptographic Primitives 8.Wire Format Reference
Fixed go modules gonna push it as package soon so had to fix some go module problems or go get command wont work and did some over the internet testing
Readme update one more step closer towards shipping didnt mention the SPEC.md in it, i wont use that since i have made /spec page in visualizer site
Wrote docs yeah, wrote docs, thats it bye lol golang docs system is nice at first i was writing everything in another docs readme but it was so damn boring and i started looking around for automated docs like its in fastapi of python, then i found out i can write comments and stuff and people can use go doc command and there are also crawlers by pkg.go.dev which can show my go docs on the website so yeah that dont focus on screenshot, i am waiting for it to detect the license so it can show docs
Ships:
Secure Channel Protocol (SCP) is a TLS-inspired protocol with its own ciphersuite and handshake sequence made in Go. It comes in a go package so anyone can use this protocol to build their projects upon. i made this project as a challenge to myself because i wanted to make “my own protocol” so i decided to go for a security protcol, this was a really fun experience it taught me applied cryptography more deeply and i learnt about various things in TLS. this project right now is just a handshake implementation with minimal crypto wrappers i wrote around already made functions, this is just the first version, i will be implementing my own crypto primitives like key exchange and stuff in future versions. you can try this project in THREE different ways!: watching a live handshake simulation @ scp.pratiksingh.xyz trying the small encrypted cli chat app i made on top of the protocol (check out github readme) creating your own app on top of my protocol! i have made simple wrapper functions to make it easier for curious devs to try it. there are documentation too! check out the specs page on demo site and readme for details :3...
|
1792824886.3058681
|
1792911286.3058681
|
|
154
|
Test by @obay | Stardance
|
obay
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-09T12:34:36Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "nothing :)", "repo": "https://github.com/hackclub/stardance/", "demo": "https://review.hackclub.com/"}]...
|
[{"post_id": 17955, "ts": "202 [{"post_id": 17955, "ts": "2026-06-28T22:20:56Z", "hours": 0.6539, "text": "hi"}]...
|
Title: Test by @obay | Stardance
Devlogs:
hi
Shi Title: Test by @obay | Stardance
Devlogs:
hi
Ships:
nothing :)...
|
1792828129.3407524
|
1792914529.3407524
|
|
155
|
1 by @joshi | Stardance
|
joshi
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: 1 by @joshi | Stardance
|
1792784985.3477209
|
1793389785.3477209
|
|
156
|
Untitled by @imu | Stardance
|
imu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @imu | Stardance
|
1792896741.6564639
|
1793760741.6564639
|
|
157
|
Portfolio CLI by @ghastly | Stardance
|
ghastly
|
1
|
2.0
|
8
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-04T06:59:47Z", "hours": 2.0, "multiplier": 4.97, "payout": 8, "blessing": "neutral", "text": "I made my own portfolio in the cli style. Usage: Put this command in your terminal and replace `yourname with your actual name ssh yourname@2a01:4f9:3081:399c::307 -p 2222 Hosted on Nest!", "repo": "https://github.com/bhatrichit10-ux/ssh-folio", "demo": "https://github.com/bhatrichit10-ux/ssh-folio#usage"}]...
|
[{"post_id": 1967, "ts": "2026 [{"post_id": 1967, "ts": "2026-06-04T06:55:13Z", "hours": 0.3744, "text": "So i finally deployed it, IT had alot of errors, but i finally managed to deploy it on nest server, It was pretty much easy but some port stuff gave me headache, Also i had to change the code from the standard 0.0.0.0 to :: because nest only has IPv6 and not IPv4. Also i added the demo instructions in the README"}, {"post_id": 1939, "ts": "2026-06-04T05:51:38Z", "hours": 0.9311, "text": "Added some cool commands! Well it is for sure that no one wants to read some boring stuff, so i decided to make sure that my content is kinda interesting, although my projects might not be. So I have added some cool stuff like a little bit of coloring , a banner image and a username kinda handler which will let me fetch your username so that when you do ssh yourname@ip-of-my-portfolio -p 2222 i can fetch the yourname part which will make it very cool! I believe"}, {"post_id": 181, "ts": "2026-06-01T06:19:16Z", "hours": 0.3747, "text": "The jumpstart So i planned that i will be making a kind of portfolio where you could ssh into. I got this idea from zrl’s sshtron game which is very fun and is a ssh based snake game. So i just started learning about how ssh2 works and how to make a server using it. The documentation was kind of very complex for me, so i saw the examples. I created a module called ‘ready.js’ , which would handle everything after the client was authenticated. I had some PTY errors, so i figured out if i accept everything, there will be no errors. So i just added pty.accept() for all cases no matter what. I did the same for authentication which allowed me to login without any password or username. To test it finally worked, i tried to send a raw ’Welcome!” stream. So far looks good"}]...
|
Title: Portfolio CLI by @ghastly | Stardance
Devl Title: Portfolio CLI by @ghastly | Stardance
Devlogs:
The jumpstart So i planned that i will be making a kind of portfolio where you could ssh into. I got this idea from zrl’s sshtron game which is very fun and is a ssh based snake game. So i just started learning about how ssh2 works and how to make a server using it. The documentation was kind of very complex for me, so i saw the examples. I created a module called ‘ready.js’ , which would handle everything after the client was authenticated. I had some PTY errors, so i figured out if i accept everything, there will be no errors. So i just added pty.accept() for all cases no matter what. I did the same for authentication which allowed me to login without any password or username. To test it finally worked, i tried to send a raw ’Welcome!” stream. So far looks good
Added some cool commands! Well it is for sure that no one wants to read some boring stuff, so i decided to make sure that my content is kinda interesting, although my projects might not be. So I have added some cool stuff like a little bit of coloring , a banner image and a username kinda handler which will let me fetch your username so that when you do ssh yourname@ip-of-my-portfolio -p 2222 i can fetch the yourname part which will make it very cool! I believe
So i finally deployed it, IT had alot of errors, but i finally managed to deploy it on nest server, It was pretty much easy but some port stuff gave me headache, Also i had to change the code from the standard 0.0.0.0 to :: because nest only has IPv6 and not IPv4. Also i added the demo instructions in the README
Ships:
I made my own portfolio in the cli style. Usage: Put this command in your terminal and replace `yourname with your actual name ssh yourname@2a01:4f9:3081:399c::307 -p 2222 Hosted on Nest!...
|
1792842596.8849823
|
1792928996.8849823
|
|
158
|
My Portfolio by @imu | Stardance
|
imu
|
0
|
2.46
|
0
|
[]
|
[{"post_id": 271, "ts": "2026- [{"post_id": 271, "ts": "2026-06-01T14:25:20Z", "hours": 1.8289, "text": "updated but under devlopmnt"}, {"post_id": 163, "ts": "2026-06-01T01:14:07Z", "hours": 0.6294, "text": "Project: My portfolio Current Phase: Prototype Imu — Portfolio Website Personal portfolio website presenting My skills and projects Overview This repository contains the source code for my portfolio website. The site includes: This project is built with HTML and CSS This project is my personal portfolio website Made meme style dedicated pages containner Responsive design Tech stack HTML5 CSS3 Vanilla JavaScript (I love vanilla ice cream :)) Repository structure index.html | Main projects page style.css | Stylesheet Thankyou for reading :)"}]...
|
Title: My Portfolio by @imu | Stardance
Devlogs:
Title: My Portfolio by @imu | Stardance
Devlogs:
Project: My portfolio Current Phase: Prototype Imu — Portfolio Website Personal portfolio website presenting My skills and projects Overview This repository contains the source code for my portfolio website. The site includes: This project is built with HTML and CSS This project is my personal portfolio website Made meme style dedicated pages containner Responsive design Tech stack HTML5 CSS3 Vanilla JavaScript (I love vanilla ice cream :)) Repository structure index.html | Main projects page style.css | Stylesheet Thankyou for reading :)
updated but under devlopmnt...
|
1792903882.313452
|
1793767882.313452
|
|
159
|
Untitled by @imu | Stardance
|
imu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @imu | Stardance
|
1791824916.3918858
|
1792688916.3918858
|
|
160
|
Personal site by @keyaan | Stardance
|
keyaan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Personal site by @keyaan | Stardance
|
1792784850.010117
|
1793389650.010117
|
|
161
|
Untitled by @imu | Stardance
|
imu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @imu | Stardance
|
1792882151.5759895
|
1793746151.5759895
|
|
162
|
Untitled by @imu | Stardance
|
imu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @imu | Stardance
|
1792882400.4073832
|
1793746400.4073832
|
|
163
|
Untitled project by @danielzanthosh | Stardance
|
danielzanthosh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @danielzanthosh | Stard Title: Untitled project by @danielzanthosh | Stardance...
|
1792622875.3525996
|
1793227675.3525996
|
|
164
|
Untitled by @imu | Stardance
|
imu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @imu | Stardance
|
1791820935.3134098
|
1792684935.3134098
|
|
165
|
Untitled by @imu | Stardance
|
imu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @imu | Stardance
|
1792893069.6563153
|
1793757069.6563153
|
|
166
|
Hexhand by @Hridya | Stardance
|
Hridya
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Hexhand by @Hridya | Stardance
|
1792785161.3772266
|
1793389961.3772266
|
|
167
|
Untitled by @imu | Stardance
|
imu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @imu | Stardance
|
1792900455.9683235
|
1793764455.9683235
|
|
168
|
Untitled by @imu | Stardance
|
imu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @imu | Stardance
|
1791821068.4351683
|
1792685068.4351683
|
|
169
|
HTML in canvas experiments by @Hridya | Stardance
|
Hridya
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: HTML in canvas experiments by @Hridya | Sta Title: HTML in canvas experiments by @Hridya | Stardance...
|
1792810201.865271
|
1793415001.865271
|
|
170
|
Neurobits by @Hridya | Stardance
|
Hridya
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Neurobits by @Hridya | Stardance
|
1792504146.4174116
|
1793108946.4174116
|
|
171
|
My first slack bot! by @Gopinath | Stardance
|
Gopinath
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Gopinath | Stardanc Title: My first slack bot! by @Gopinath | Stardance...
|
1792695205.7363846
|
1793300005.7363846
|
|
172
|
Frictionless by @Flux3tor | Stardance
|
Flux3tor
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @Flux3tor | Stardance
|
1792489706.1912186
|
1793353706.1912186
|
|
173
|
Untitled project by @youssef | Stardance
|
youssef
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @youssef | Stardance
|
1792648438.9183664
|
1793253238.9183664
|
|
174
|
Untitled project by @anirudh | Stardance
|
anirudh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @anirudh | Stardance
|
1791825832.7386832
|
1792689832.7386832
|
|
175
|
Test project by @frog | Stardance
|
frog
|
0
|
0.34
|
0
|
[]
|
[{"post_id": 56851, "ts": "202 [{"post_id": 56851, "ts": "2026-08-28T20:08:52Z", "hours": 0.3408, "text": "Dont read this i just wanna buy stuff from shop"}]...
|
Title: Test project by @frog | Stardance
Devlogs: Title: Test project by @frog | Stardance
Devlogs:
Dont read this i just wanna buy stuff from shop...
|
1792651945.9287548
|
1793256745.9287548
|
|
176
|
My first slack bot! by @starr | Stardance
|
starr
|
0
|
0.69
|
0
|
[]
|
[{"post_id": 4738, "ts": "2026 [{"post_id": 4738, "ts": "2026-06-08T05:41:31Z", "hours": 0.6867, "text": "Setting up commands"}]...
|
Title: My first slack bot! by @starr | Stardance
Title: My first slack bot! by @starr | Stardance
Devlogs:
Setting up commands...
|
1792756334.8842132
|
1793361134.8842132
|
|
177
|
WarioWare Game by @MostLime | Stardance
|
MostLime
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: WarioWare Game by @MostLime | Stardance
|
1792504257.9213805
|
1793109057.9213805
|
|
178
|
A roguelike game by @A41K | Stardance
|
A41K
|
0
|
0.6
|
0
|
[]
|
[{"post_id": 4148, "ts": "2026 [{"post_id": 4148, "ts": "2026-06-07T11:08:34Z", "hours": 0.6036, "text": "I made the isometric layers and started working on the character movement, the fall off logic and how to stack the layers"}]...
|
Title: A roguelike game by @A41K | Stardance
Devl Title: A roguelike game by @A41K | Stardance
Devlogs:
I made the isometric layers and started working on the character movement, the fall off logic and how to stack the layers...
|
1792770810.9941957
|
1793375610.9941957
|
|
179
|
SnappyStrike by @Swapnil | Stardance
|
Swapnil
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: SnappyStrike by @Swapnil | Stardance
|
1792781422.136735
|
1793386222.136735
|
|
180
|
BEE by @elite_punith | Stardance
|
elite_punith
|
0
|
0.27
|
0
|
[]
|
[{"post_id": 101, "ts": "2026- [{"post_id": 101, "ts": "2026-05-31T18:41:23Z", "hours": 0.2706, "text": "This is my first project in stardance , i am working on a 3D website using Three.js. this is my first – Commit !"}]...
|
Title: BEE by @elite_punith | Stardance
Devlogs:
Title: BEE by @elite_punith | Stardance
Devlogs:
This is my first project in stardance , i am working on a 3D website using Three.js. this is my first – Commit !...
|
1792518831.1680408
|
1793123631.1680408
|
|
181
|
Trulles Minion by @trulle123 | Stardance
|
trulle123
|
2
|
4.0
|
9
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-02T03:16:30Z", "hours": 2.0, "multiplier": 4.61, "payout": 5, "blessing": "neutral", "text": "I made a simple slack bot that sends my daily updates (to replace slackbot reminders). It has a simple comand to check my local weather using an API, it also has a welcome message for people joining my channel, a command to get the join link to my priv channel. And last but not least if you ping it responds with some random garbage (as a kinda mock ai this intentionally really stupid)", "repo": "https://github.com/Trulle1234/Trulles-Minion-Slack-bot", "demo": "https://hackclub.enterprise.slack.com/archives/C0945H3P2GN"}, {"ship_num": 2, "ts": "2026-06-20T21:35:28Z", "hours": 2.0, "multiplier": 2.15, "payout": 4, "blessing": "neutral", "text": "I made a simple slack bot that sends my daily updates (to replace slackbot reminders). It also has a simple comand to check my local weather using an API.", "repo": "https://github.com/Trulle1234/Trulles-Minion-Slack-bot", "demo": "https://hackclub.enterprise.slack.com/archives/C0945H3P2GN"}]...
|
[{"post_id": 14316, "ts": "202 [{"post_id": 14316, "ts": "2026-06-23T12:26:36Z", "hours": 0.7997, "text": "Added integration with HC AI to rearrange the words in a more logical order / change the grammar of words This to introduce some logic while still keep the randomness It uses ai.hackclub.com with Gemini 2.5 Flash Lite Preview 09-2025 as its really fast. Unfortunetly HC AI is currently down so I’ll have to wait with subbmitting untill its up again"}, {"post_id": 13077, "ts": "2026-06-21T12:06:42Z", "hours": 0.9778, "text": "Added a random reply when bot is pinged and a command to get the workflow to join my priv channel The random reply checks for the app_mention event and then uses a random word API to give random words (1-5). The /enter-trulles-basement commad just sends an “Only vissable to you” message with the link to the workflow."}, {"post_id": 13032, "ts": "2026-06-21T09:48:50Z", "hours": 0.405, "text": "Added a welcome messege for people joining #trulleathon This replaces an old winterflows workflow I was using. It uses the event member_joined_channel and then checks is the channel is the target one. Finaly it sends a messge using app.client.chat.postMessage() ( event.user is used to know who joined)."}, {"post_id": 12753, "ts": "2026-06-20T21:05:47Z", "hours": 0.5233, "text": "Hosted the bot on Nest and added a daily and weekly update prompt. My nest application got aproved so now the bot is there. I have long been using a Slackbot reminder for this so i thought now that im making a bot is an amazing opportunity to replace that. The reminders are sent on a regular schedule to my channel using a cron job."}, {"post_id": 11806, "ts": "2026-06-19T06:48:33Z", "hours": 1.3019, "text": "Added the help and ping commands from the tutorial + a command to check my local weather. /trulles-minion-ping checks latency. /trulles-minion-help shows all comands and what they do. /trulles-weather shows my local temperature. It uses the SMHI weather API from apiverket.se ."}]...
|
Title: Trulles Minion by @trulle123 | Stardance
D Title: Trulles Minion by @trulle123 | Stardance
Devlogs:
Added the help and ping commands from the tutorial + a command to check my local weather. /trulles-minion-ping checks latency. /trulles-minion-help shows all comands and what they do. /trulles-weather shows my local temperature. It uses the SMHI weather API from apiverket.se .
Hosted the bot on Nest and added a daily and weekly update prompt. My nest application got aproved so now the bot is there. I have long been using a Slackbot reminder for this so i thought now that im making a bot is an amazing opportunity to replace that. The reminders are sent on a regular schedule to my channel using a cron job.
Added a welcome messege for people joining #trulleathon This replaces an old winterflows workflow I was using. It uses the event member_joined_channel and then checks is the channel is the target one. Finaly it sends a messge using app.client.chat.postMessage() ( event.user is used to know who joined).
Added a random reply when bot is pinged and a command to get the workflow to join my priv channel The random reply checks for the app_mention event and then uses a random word API to give random words (1-5). The /enter-trulles-basement commad just sends an “Only vissable to you” message with the link to the workflow.
Added integration with HC AI to rearrange the words in a more logical order / change the grammar of words This to introduce some logic while still keep the randomness It uses ai.hackclub.com with Gemini 2.5 Flash Lite Preview 09-2025 as its really fast. Unfortunetly HC AI is currently down so I’ll have to wait with subbmitting untill its up again
Ships:
I made a simple slack bot that sends my daily updates (to replace slackbot reminders). It also has a simple comand to check my local weather using an API.
I made a simple slack bot that sends my daily updates (to replace slackbot reminders). It has a simple comand to check my local weather using an API, it also has a welcome message for people joining my channel, a command to get the join link to my priv channel. And last but not least if you ping it responds with some random garbage (as a kinda mock ai this intentionally really stupid)...
|
1792846157.728581
|
1792932557.728581
|
|
182
|
rayjam by @logabe | Stardance
|
logabe
|
0
|
0.55
|
0
|
[]
|
[{"post_id": 17, "ts": "2026-0 [{"post_id": 17, "ts": "2026-05-31T07:58:22Z", "hours": 0.5472, "text": "Hello Stardance! Here’s a very quick devlog so I can test this out before I go to bed haha. I threw together a music player program in C w/ Raylib. You drag in the file you want to play and it will loop it until you close the program or drag in another one. Happy hacking!!"}]...
|
Title: rayjam by @logabe | Stardance
Devlogs:
Hel Title: rayjam by @logabe | Stardance
Devlogs:
Hello Stardance! Here’s a very quick devlog so I can test this out before I go to bed haha. I threw together a music player program in C w/ Raylib. You drag in the file you want to play and it will loop it until you close the program or drag in another one. Happy hacking!!...
|
1792795725.6119006
|
1793400525.6119006
|
|
183
|
vejas.zip by @vejas | Stardance
|
vejas
|
0
|
10.65
|
0
|
[]
|
[{"post_id": 7349, "ts": "2026 [{"post_id": 7349, "ts": "2026-06-12T08:02:58Z", "hours": 3.4861, "text": "Loads of changes and a new contact form!! Contact Page So, on my previous site, I had a contact form that would send me a message on Slack when somebody filled it out. This time, I was thinking that it would be much easier to just have the messages come as emails straight into my inbox! I used Resend to easily send POST requests that would then send an email to me with the filled out form. I honestly wasn’t able to decide, or think of a cool design so i kinda went for my previous design, and made it more modern looking by using elements like shadcn/ui buttons with lucide icons. I added a link section with links to my socials and where people can find me on the right side of the page, (i’m pretty sure some of the links are still empty lol) and used had a huge headache with the icons. Since I have started using CloudFlare CDN, I wanted to host all the assets over there for caching stuff. This is a good idea, but it kinda didn’t work for svg icons. I would always use lucide icons since they look great, but they don’t have brand icons like discord or slack, which is why I had to find svg icons of those brands. I currently have the icons hardcoded into the page, but I will probably transfer them to the CDN at some point. The rest included a bunch of small UI tweaks and things like that. I have yet to make the About page, the Guestbook and the blog, but I think progress is good! Changelog added simple headings for pages that didn’t have them, added a contact form, that sends emails to me ( a8ccf63 ) fix maybe? ( 9331357 ) more tiny changes ( 861709b ) clumsy me ( 3ee4c63 ) couple quick fixes ( 53c74c6 )"}, {"post_id": 6271, "ts": "2026-06-10T15:17:14Z", "hours": 3.1886, "text": "I build the projects page I used markdown files to keep records of the projects and display them on the page, so each card can look similar but have diff content. I’m making the cards open a popup with a longer description about each project which is located in each respective md file. It was pretty hard to set everything up correctly, but I got it working in the end. I am trying to add a ‘blueprint’ (as in the YSWS) variant to the button element im using from shadcn/ui and lowk failing bcs ive forgotten how to use tailwind custom colour classes. Bugs The description text in the popout card, is stuck in dark mode so the text is still white in light mode as well."}, {"post_id": 5498, "ts": "2026-06-09T09:37:51Z", "hours": 1.2078, "text": "I started work on the website!! So, the first thing I did, was create the navbar, to make life easier in the future. Having already made the entire desing in Figma, is making the process of coding SOOO much easier! I have a clear plan of what I want to implement and how I want things to look, which really helps me. I imported the hero section from the figma and stuck that dead center on the page, which looks pretty good I’d say, the sides are a little plain but I will have stickers that people will be able to drag around. Plan create the section under the hero section design about page design contact page brainstorm and think about projects page host on cloudflare I’d say that was a pretty good hour of work."}, {"post_id": 4520, "ts": "2026-06-07T21:12:36Z", "hours": 2.7708, "text": "Design in Figma Link to figma page I layed the whole thing out (not yet done) on my figma, so that I would have a clear plan for this version. I also learned how to use autolayout and I hope that that will make it easier to layout in the future, when I start coding the site. My design process So this time around, I wanted to polish my site, and give it a nice modern look. This time, I will be using big headings and a nice font, for a nice modern, clean aesthetic, for all my stuff to live on. I am planning to keep the fun aspect with the guestbook, and i will be adding things like stickers on the homepage to make it fun. This is also so that the site looks good to formal ppl and that i can get a job someday. The guestbook I was browsing the interwebs one day, when I came across Ky Decker’s Guestbook which really caught my eye. I have a guestbook in place on my old page but now that I’m redesigning, I thought that making a super nice guestbook would be the way. I’m opting to make a postcard design that I got inspired from Ky.fyi since I feel like the postcards that I have made will really let people express themselves. I also got started by setting up the astro site with installing shadcn/ui so that I could benefit from the rrly nice UI components they provide."}]...
|
Title: vejas.zip by @vejas | Stardance
Devlogs:
D Title: vejas.zip by @vejas | Stardance
Devlogs:
Design in Figma Link to figma page I layed the whole thing out (not yet done) on my figma, so that I would have a clear plan for this version. I also learned how to use autolayout and I hope that that will make it easier to layout in the future, when I start coding the site. My design process So this time around, I wanted to polish my site, and give it a nice modern look. This time, I will be using big headings and a nice font, for a nice modern, clean aesthetic, for all my stuff to live on. I am planning to keep the fun aspect with the guestbook, and i will be adding things like stickers on the homepage to make it fun. This is also so that the site looks good to formal ppl and that i can get a job someday. The guestbook I was browsing the interwebs one day, when I came across Ky Decker’s Guestbook which really caught my eye. I have a guestbook in place on my old page but now that I’m redesigning, I thought that making a super nice guestbook would be the way. I’m opting to make a postcard design that I got inspired from Ky.fyi since I feel like the postcards that I have made will really let people express themselves. I also got started by setting up the astro site with installing shadcn/ui so that I could benefit from the rrly nice UI components they provide.
I started work on the website!! So, the first thing I did, was create the navbar, to make life easier in the future. Having already made the entire desing in Figma, is making the process of coding SOOO much easier! I have a clear plan of what I want to implement and how I want things to look, which really helps me. I imported the hero section from the figma and stuck that dead center on the page, which looks pretty good I’d say, the sides are a little plain but I will have stickers that people will be able to drag around. Plan create the section under the hero section design about page design contact page brainstorm and think about projects page host on cloudflare I’d say that was a pretty good hour of work.
I build the projects page I used markdown files to keep records of the projects and display them on the page, so each card can look similar but have diff content. I’m making the cards open a popup with a longer description about each project which is located in each respective md file. It was pretty hard to set everything up correctly, but I got it working in the end. I am trying to add a ‘blueprint’ (as in the YSWS) variant to the button element im using from shadcn/ui and lowk failing bcs ive forgotten how to use tailwind custom colour classes. Bugs The description text in the popout card, is stuck in dark mode so the text is still white in light mode as well.
Loads of changes and a new contact form!! Contact Page So, on my previous site, I had a contact form that would send me a message on Slack when somebody filled it out. This time, I was thinking that it would be much easier to just have the messages come as emails straight into my inbox! I used Resend to easily send POST requests that would then send an email to me with the filled out form. I honestly wasn’t able to decide, or think of a cool design so i kinda went for my previous design, and made it more modern looking by using elements like shadcn/ui buttons with lucide icons. I added a link section with links to my socials and where people can find me on the right side of the page, (i’m pretty sure some of the links are still empty lol) and used had a huge headache with the icons. Since I have started using CloudFlare CDN, I wanted to host all the assets over there for caching stuff. This is a good idea, but it kinda didn’t work for svg icons. I would always use lucide icons since they look great, but they don’t have brand icons like discord or slack, which is why I had to find svg icons of those brands. I currently have the icons hardcoded into the page, but I will probably transfer them to the CDN at some point. The rest included a bunch of small UI tweaks and things like that. I have yet to make the About page, the Guestbook and the blog, but I think progress is good! Changelog added simple headings for pages that didn’t have them, added a contact form, that sends emails to me ( a8ccf63 ) fix maybe? ( 9331357 ) more tiny changes ( 861709b ) clumsy me ( 3ee4c63 ) couple quick fixes ( 53c74c6 )...
|
1792727707.9573631
|
1793332507.9573631
|
|
184
|
Untitled project by @neha | Stardance
|
neha
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @neha | Stardance
|
1792550950.381057
|
1793155750.381057
|
|
185
|
Tormentown by @Slugarius | Stardance
|
Slugarius
|
0
|
92.11
|
0
|
[]
|
[{"post_id": 26019, "ts": "202 [{"post_id": 26019, "ts": "2026-07-10T16:24:06Z", "hours": 9.5511, "text": "I modeled a building in Blender using the buildify addon. I also worked on the fracturing more and made every mesh in a model its own static mesh and the fracture now makes a sphere cast and targets every mesh found in a certain radius."}, {"post_id": 21417, "ts": "2026-07-03T10:58:11Z", "hours": 10.1756, "text": "I mostly made editor improvements and modeling roads and buildings."}, {"post_id": 13064, "ts": "2026-06-21T11:26:04Z", "hours": 8.5297, "text": "I added voronoi fracturing to the game. I added CGAL and boost to the dependencies to help with the math. Shooting the gun will shoot a ray cast in front of the camera and whatever object is hit is dismantled (fractured)."}, {"post_id": 9468, "ts": "2026-06-15T20:29:23Z", "hours": 2.5758, "text": "Grass culling! All grass objects are now divided into chunks and sub chunks and sub chunks of those sub chunks. If a chunk is not in the view frustum, then it is culled. This greatly saves on performance. The grass is also a different color now. So is the ground."}, {"post_id": 9147, "ts": "2026-06-15T09:58:19Z", "hours": 3.0117, "text": "Grass! I added a grass renderer component, and every entity with it is looped and their transform is added to a vector of grass matrices which are fed to the grass shader and drawn using instancing. You can also add grass through the map editor which is pretty cool. The grass vertex shader generates a random vector using simplex noise and uses that as the sway direction for the blade of grass. The grass fragment shader uses a gradient with three colors applied from bottom to top."}, {"post_id": 8713, "ts": "2026-06-14T14:01:11Z", "hours": 10.2147, "text": "Map editor! I added an editor bool to the global engine state and that controls whether the editor GUI is drawn and whether the player system runs or not. I also added some stuff like moving objects by clicking on them and adding stuff to the scene like grass blades. The way that the mouse to world space conversion works is that the cursor position is multiplied with the inverse of the projection matrix and this gives a direction in world space which is used as a raycast and if it hits anything, the object will be spawned at the hit position."}, {"post_id": 5925, "ts": "2026-06-09T22:03:49Z", "hours": 3.085, "text": "I added fog and a sky texture. Most of the time in this devlog was spent on modelling an enemy but I felt like it wasn’t inspired enough and was too generic so I’ll come up with a better design tomorrow."}, {"post_id": 5206, "ts": "2026-06-08T22:09:13Z", "hours": 3.8958, "text": "Inventory! The inventory system procedurally generates item slots and checks if the slots are hovered and if they are and there’s an item inside them, then clicking them will make the item follow the cursor and on release, they will check if the hovered slot can fit the item and adds it to that slot."}, {"post_id": 4495, "ts": "2026-06-07T20:32:25Z", "hours": 1.6181, "text": "I fixed the texture importing from the FBX file. I was using a custom shader in blender for the skin and it wasn’t exporting the texture because of that. I also needed to adjust the export settings and changed the gamma settings on the texture importer."}, {"post_id": 4291, "ts": "2026-06-07T15:29:34Z", "hours": 3.5358, "text": "I added a gun to the game! It uses the same inverse kinematics structure for the right hand as before but also supplies an aim direction to ApplyArmIK which controls where the hands will point to. The gun transform is directly controlled by the hand and points in the direction of the palm to the tip of the fingers. I also copied my OpenAL implementation from my previous engine and added a shooting sound whenever you shoot the gun."}, {"post_id": 3841, "ts": "2026-06-06T22:03:31Z", "hours": 7.5292, "text": "I added inverse kinematics to the hands! This was pretty difficult to set up as I don’t have a visual viewport to see the bones of my rig in so I had to go in Blender and see all the names of the arm bones and propogate the IK solver points across all of them. There’s also an IK solver class now which takes a base and a target. I also added slerping to the hand target to make it blend smoothly. There are two variables, leftGuard and rightGuard which control whether a hand is affected by IK or not. And there’s also an IK weight factor which controls the transition between animation and IK to make it go between the two smoothly. The left or right guard are disabled whenever you punch to make the arm actually go forward and use the regular animation. I also added a stamina and health bar. They use a shader which fills up the texture with a color based on a number which is the health or stamina. The health does nothing right now but stamina is drained by punching and regenerates on a rate that depends on what state you are in."}, {"post_id": 2785, "ts": "2026-06-05T16:24:27Z", "hours": 2.1981, "text": "I added attacks to the game! You can now raise your guard by pressing G and jab on either side by pressing left or right click. There was a big issue with the animations before in that if you played an animation while an animation was already mid blend, the model would suddenly jerk to the new frame because the lerped position of the bones became different between the two animations. To fix this, I updated it so whenever you play an animation, the current bone matrices are stored in a vector and are used as the starting position of the blend to the new animation."}, {"post_id": 2291, "ts": "2026-06-04T18:12:01Z", "hours": 5.6408, "text": "I added skeletal animation blending! This wasn’t needed before as there was only one animation (running) but I have added an idle and a flying animation. There’s a state machine for the animations that calls PlayBlend on the first frame of the state change. The way the blending works is that there’s a blend factor which goes from 0 to 1. It lerps from 0 to 1 on a set duration which you can specify for how fast or slow you want the animation to blend. It then lerps from all the positions, rotations and scales of the different bones of the two animations according to the blend factor. By the way, the flying animation is one frame pretty much so the blending is doing all the work in transitioning from and to it. The player also smoothly slerps to the direction you’re moving in, except if you’re moving backwards because that looks weird."}, {"post_id": 1552, "ts": "2026-06-03T17:20:20Z", "hours": 7.6022, "text": "There were lots of issues with the model loading before and I managed to import an FBX file that I exported from a blender project and got it animating in the engine. But besides that I made a character controller, there’s a capsule rigidbody attached to the player and two components, a movement component and a camera controller component. The camera controller sets the camera on the player’s head and also a little bit in front of it so you don’t clip in the player’s head and the movement component allows you to move with WASD. The movement is utter garbage however as I only made it with forces, I will improve it and add drag later. Also the thought behind the player being visible is: 1. Because of immersion and 2. I want the game to be multiplayer and adding player models beforehand will be very useful."}, {"post_id": 425, "ts": "2026-06-01T20:33:46Z", "hours": 3.0278, "text": "Physics! I integrated the Jolt physics engine into the project. I’ve used Jolt for my other projects so it was pretty quick to get up and running. I made a debug renderer system which makes and draws a wireframe depending on the collider type. There are four types of colliders currently, box, capsule, sphere and mesh. The mesh collider is unfinished, I will implement that when I actually need to implement terrain meshes and colliders."}, {"post_id": 256, "ts": "2026-06-01T13:15:52Z", "hours": 2.6044, "text": "Skeletal animations! I reused an implementation of skeletal animations from one of my old projects. In the shadow mapping vertex shader, I have also added the transformation of vertices by bone matrices to capture the shadow of animated objects."}, {"post_id": 216, "ts": "2026-06-01T09:34:47Z", "hours": 0.9539, "text": "I’ve finished implementing PBR rendering with the Cook-Torrance BRDF. I’ve also added normal and roughness map support. Other maps are unnecessary for the renderer."}, {"post_id": 134, "ts": "2026-05-31T22:08:03Z", "hours": 6.3622, "text": "I’ve started work on the 3d engine for the game I’ll be making. For the first day, I’ve implemented cascaded shadow maps where there are multiple shadow maps taken at different distances to create a hierarchy of resolution. And I’ve also implemented blinn phong shading. I plan to change this to a PBR pipeline later down the road."}]...
|
Title: Tormentown by @Slugarius | Stardance
Devlo Title: Tormentown by @Slugarius | Stardance
Devlogs:
I’ve started work on the 3d engine for the game I’ll be making. For the first day, I’ve implemented cascaded shadow maps where there are multiple shadow maps taken at different distances to create a hierarchy of resolution. And I’ve also implemented blinn phong shading. I plan to change this to a PBR pipeline later down the road.
I’ve finished implementing PBR rendering with the Cook-Torrance BRDF. I’ve also added normal and roughness map support. Other maps are unnecessary for the renderer.
Skeletal animations! I reused an implementation of skeletal animations from one of my old projects. In the shadow mapping vertex shader, I have also added the transformation of vertices by bone matrices to capture the shadow of animated objects.
Physics! I integrated the Jolt physics engine into the project. I’ve used Jolt for my other projects so it was pretty quick to get up and running. I made a debug renderer system which makes and draws a wireframe depending on the collider type. There are four types of colliders currently, box, capsule, sphere and mesh. The mesh collider is unfinished, I will implement that when I actually need to implement terrain meshes and colliders.
There were lots of issues with the model loading before and I managed to import an FBX file that I exported from a blender project and got it animating in the engine. But besides that I made a character controller, there’s a capsule rigidbody attached to the player and two components, a movement component and a camera controller component. The camera controller sets the camera on the player’s head and also a little bit in front of it so you don’t clip in the player’s head and the movement component allows you to move with WASD. The movement is utter garbage however as I only made it with forces, I will improve it and add drag later. Also the thought behind the player being visible is: 1. Because of immersion and 2. I want the game to be multiplayer and adding player models beforehand will be very useful.
I added skeletal animation blending! This wasn’t needed before as there was only one animation (running) but I have added an idle and a flying animation. There’s a state machine for the animations that calls PlayBlend on the first frame of the state change. The way the blending works is that there’s a blend factor which goes from 0 to 1. It lerps from 0 to 1 on a set duration which you can specify for how fast or slow you want the animation to blend. It then lerps from all the positions, rotations and scales of the different bones of the two animations according to the blend factor. By the way, the flying animation is one frame pretty much so the blending is doing all the work in transitioning from and to it. The player also smoothly slerps to the direction you’re moving in, except if you’re moving backwards because that looks weird.
I added attacks to the game! You can now raise your guard by pressing G and jab on either side by pressing left or right click. There was a big issue with the animations before in that if you played an animation while an animation was already mid blend, the model would suddenly jerk to the new frame because the lerped position of the bones became different between the two animations. To fix this, I updated it so whenever you play an animation, the current bone matrices are stored in a vector and are used as the starting position of the blend to the new animation.
I added inverse kinematics to the hands! This was pretty difficult to set up as I don’t have a visual viewport to see the bones of my rig in so I had to go in Blender and see all the names of the arm bones and propogate the IK solver points across all of them. There’s also an IK solver class now which takes a base and a target. I also added slerping to the hand target to make it blend smoothly. There are two variables, leftGuard and rightGuard which control whether a hand is affected by IK or not. And there’s also an IK weight factor which controls the transition between animation and IK to make it go between the two smoothly. The left or right guard are disabled whenever you punch to make the arm actually go forward and use the regular animation. I also added a stamina and health bar. They use a shader which fills up the texture with a color based on a number which is the health or stamina. The health does nothing right now but stamina is drained by punching and regenerates on a rate that depends on what state you are in.
I added a gun to the game! It uses the same inverse kinematics structure for the right hand as before but also supplies an aim direction to ApplyArmIK which controls where the hands will point to. The gun transform is directly controlled by the hand and points in the direction of the palm to the tip of the fingers. I also copied my OpenAL implementation from my previous engine and added a shooting sound whenever you shoot the gun.
I fixed the texture importing from the FBX file. I was using a custom shader in blender for the skin and it wasn’t exporting the texture because of that. I also needed to adjust the export settings and changed the gamma settings on the texture importer.
Inventory! The inventory system procedurally generates item slots and checks if the slots are hovered and if they are and there’s an item inside them, then clicking them will make the item follow the cursor and on release, they will check if the hovered slot can fit the item and adds it to that slot.
I added fog and a sky texture. Most of the time in this devlog was spent on modelling an enemy but I felt like it wasn’t inspired enough and was too generic so I’ll come up with a better design tomorrow.
Map editor! I added an editor bool to the global engine state and that controls whether the editor GUI is drawn and whether the player system runs or not. I also added some stuff like moving objects by clicking on them and adding stuff to the scene like grass blades. The way that the mouse to world space conversion works is that the cursor position is multiplied with the inverse of the projection matrix and this gives a direction in world space which is used as a raycast and if it hits anything, the object will be spawned at the hit position.
Grass! I added a grass renderer component, and every entity with it is looped and their transform is added to a vector of grass matrices which are fed to the grass shader and drawn using instancing. You can also add grass through the map editor which is pretty cool. The grass vertex shader generates a random vector using simplex noise and uses that as the sway direction for the blade of grass. The grass fragment shader uses a gradient with three colors applied from bottom to top.
Grass culling! All grass objects are now divided into chunks and sub chunks and sub chunks of those sub chunks. If a chunk is not in the view frustum, then it is culled. This greatly saves on performance. The grass is also a different color now. So is the ground.
I added voronoi fracturing to the game. I added CGAL and boost to the dependencies to help with the math. Shooting the gun will shoot a ray cast in front of the camera and whatever object is hit is dismantled (fractured).
I mostly made editor improvements and modeling roads and buildings.
I modeled a building in Blender using the buildify addon. I also worked on the fracturing more and made every mesh in a model its own static mesh and the fracture now makes a sphere cast and targets every mesh found in a certain radius....
|
1792479184.3520005
|
1793083984.3520005
|
|
186
|
zach latta latte cafe by @h | Stardance
|
h
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: zach latta latte cafe by @h | Stardance
|
1792900341.6673632
|
1793764341.6673632
|
|
187
|
:3 by @iau | Stardance
|
iau
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: :3 by @iau | Stardance
|
1792565618.35399
|
1793170418.35399
|
|
188
|
MTCDex by @Niko | Stardance
|
Niko
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: MTCDex by @Niko | Stardance
|
1792604992.8366032
|
1793209792.8366032
|
|
189
|
A pretty cool game by @AymenD | Stardance
|
AymenD
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: A pretty cool game by @AymenD | Stardance
|
1792583451.1100218
|
1793188251.1100218
|
|
190
|
IDK Project by @Rishaan | Stardance
|
Rishaan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: IDK Project by @Rishaan | Stardance
|
1792525872.2531042
|
1793130672.2531042
|
|
191
|
VJS - Vejas' Slackbot by @vejas | Stardance
|
vejas
|
1
|
9.0
|
119
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-04T15:11:26Z", "hours": 9.0, "multiplier": 15.21, "payout": 119, "blessing": "neutral", "text": "I made a Slack bot that has many different features spanning from fun ones like trivia, to useful ones like custom QR code generation! I made the bot so it could lurk in my personal channel #vejas-cant-shut-up.", "repo": "https://github.com/las-vejas/slackbot", "demo": "https://hackclub.enterprise.slack.com/archives/C0B6TNB4BSB"}]...
|
[{"post_id": 2177, "ts": "2026 [{"post_id": 2177, "ts": "2026-06-04T15:09:21Z", "hours": 0.7406, "text": "I added a feedback form which can be triggered using /vjs feedback. I had AI help me with adding the form since I needed to use a view in slack and I didn’t know how to handle the feedback that was received."}, {"post_id": 1122, "ts": "2026-06-02T23:13:15Z", "hours": 0.8425, "text": "i added a feature that switches my slack pfp every 5 minutes, and that took some while to set up, since the api slack uses is rrly weird. but with some help from ai, i finally got it working whichis really cool since now my pfp switches into a different fallout pfp every 5 mins."}, {"post_id": 868, "ts": "2026-06-02T16:14:40Z", "hours": 1.4519, "text": "I ended up adding eightball, trivia and polls. For the eightball, i used this api : https://www.eightballapi.com and it just outputs the text from the api. for trivia, I found an API that provides 4 answers (1 correct, 3 incorrect) and i made buttons that set as the answers. Then i had gemini help with some of the logic and fs file handling for the leaderboard. I noticed that if the leaderboard was gonna send to the channel, everyone on the leaderboard would get pinged, so i made it send a hidden message to the person asking. for the poll, the user enters their question and their answers (all in “quotation” marks so everything gets separated) and then I use slack blocks in pretty much everywhere to display the content nicely. it makes buttons for the answers and people can pick them. i also added a weather function and gemini parses the weather api and you can choose the city and the number of days default to 1. this was kinda easy since the api also has validation and e.g. if u enter a country it auto chooses the capital."}, {"post_id": 766, "ts": "2026-06-02T12:52:26Z", "hours": 0.4719, "text": "I created the logo / icon for the slack app in figma using the anchor guide to remind myself on how to make nice logos."}, {"post_id": 758, "ts": "2026-06-02T12:21:17Z", "hours": 2.2242, "text": "I added the QR code generation feature that lets you add a link or text, and lets you choose things like color or format. I added a stock checker function, but it doesnt work very well. I also added an email checker feature that works, but is kind of shallow information wise (APIs fault) I also added a “-q” flag that would determine if the response would be sent to the whole channel or just you."}, {"post_id": 423, "ts": "2026-06-01T20:31:21Z", "hours": 2.9217, "text": "I made the slack bot. The slack bot has some basic commands like /vjs-meow for catfacts and /vjs-joke for an arbitrary joke, but then I added some more intricate ones like a dictionary and synonym API so people could quickly find the meaning of a word. (I am planning to add a condition that would either ‘whisper’ it or just broadcast to the channel by default. I have also added /vjs-name which would let the user enter a name and it outputs the nationality of the name and the gender of the name according to an API."}]...
|
Title: VJS - Vejas' Slackbot by @vejas | Stard Title: VJS - Vejas' Slackbot by @vejas | Stardance
Devlogs:
I made the slack bot. The slack bot has some basic commands like /vjs-meow for catfacts and /vjs-joke for an arbitrary joke, but then I added some more intricate ones like a dictionary and synonym API so people could quickly find the meaning of a word. (I am planning to add a condition that would either ‘whisper’ it or just broadcast to the channel by default. I have also added /vjs-name which would let the user enter a name and it outputs the nationality of the name and the gender of the name according to an API.
I added the QR code generation feature that lets you add a link or text, and lets you choose things like color or format. I added a stock checker function, but it doesnt work very well. I also added an email checker feature that works, but is kind of shallow information wise (APIs fault) I also added a “-q” flag that would determine if the response would be sent to the whole channel or just you.
I created the logo / icon for the slack app in figma using the anchor guide to remind myself on how to make nice logos.
I ended up adding eightball, trivia and polls. For the eightball, i used this api : https://www.eightballapi.com and it just outputs the text from the api. for trivia, I found an API that provides 4 answers (1 correct, 3 incorrect) and i made buttons that set as the answers. Then i had gemini help with some of the logic and fs file handling for the leaderboard. I noticed that if the leaderboard was gonna send to the channel, everyone on the leaderboard would get pinged, so i made it send a hidden message to the person asking. for the poll, the user enters their question and their answers (all in “quotation” marks so everything gets separated) and then I use slack blocks in pretty much everywhere to display the content nicely. it makes buttons for the answers and people can pick them. i also added a weather function and gemini parses the weather api and you can choose the city and the number of days default to 1. this was kinda easy since the api also has validation and e.g. if u enter a country it auto chooses the capital.
i added a feature that switches my slack pfp every 5 minutes, and that took some while to set up, since the api slack uses is rrly weird. but with some help from ai, i finally got it working whichis really cool since now my pfp switches into a different fallout pfp every 5 mins.
I added a feedback form which can be triggered using /vjs feedback. I had AI help me with adding the form since I needed to use a view in slack and I didn’t know how to handle the feedback that was received.
Ships:
I made a Slack bot that has many different features spanning from fun ones like trivia, to useful ones like custom QR code generation! I made the bot so it could lurk in my personal channel #vejas-cant-shut-up....
|
1792817798.5720832
|
1792904198.5720832
|
|
192
|
Website by @aaradhyarya_srivastava | Stardance
|
aaradhyarya_srivastava
|
1
|
20.0
|
332
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-16T15:17:01Z", "hours": 20.0, "multiplier": 16.83, "payout": 332, "blessing": "neutral", "text": "This is my own portfolio website made using three.js :D I obviously followed a tutorial but I also added a bunch of my own elements and customised the site to my own liking :D I made the music as well :) Overall I spent like 15 hours on this website and im really proud of it I will make changes over time but this seems like a good starting point NOTE: I spent 15 hours and not 20 hours on this for some reason time tracking seems to add another 5 hours to this", "repo": "https://github.com/lemonzwastaken/PortfolioWebsite", "demo": "https://portfolio-website-blush-seven-78.vercel.app/"}]...
|
[{"post_id": 48173, "ts": "202 [{"post_id": 48173, "ts": "2026-08-16T13:54:37Z", "hours": 0.9389, "text": "DEPLOYED IT Also made some small changes like changing the scroll bar, adding small transition animation, some levels of optimisation etc. Also fixed some errors that caused it to not deploy BUT Here’s the website if you are interested https://portfolio-website-blush-seven-78.vercel.app/"}, {"post_id": 47711, "ts": "2026-08-15T20:06:34Z", "hours": 2.7339, "text": "Almost finished with this website :D Here’s the changes made in this recent devlog Added animations to the entire website Added music and it remembers if you wanna play music or not (also i made the music 🆒 ) Small tweaks and bug fixes for better website experience :p (sorry for the bad audio quality obs was tweaking out)"}, {"post_id": 47432, "ts": "2026-08-15T11:18:18Z", "hours": 2.5728, "text": "Worked on mobile compatability for the website. Fixed the Here’s the list of changes done Main Page: Scaled the model, put the icons on the side and added labels Projects: Removed the 3D model so projects are visible clearly About me and Contact me: Scaled the text size so it fits mobile"}, {"post_id": 46836, "ts": "2026-08-14T11:15:42Z", "hours": 2.2803, "text": "A ton of changes made and stuff added Added Stuff: Added the contact me page and linked it with mailjs so contacting me can be done directly via mail Added another model to the front page Changes: Again changed the front page model basically removing the city cuz it looked bad Changed opacity of all images from 100 to 50 Changed the render model to include some more stuff like intensity giving me better control over lighting Changed the model behavior in about me page as well as the lighting Yeah well thats about it"}, {"post_id": 46591, "ts": "2026-08-13T22:40:24Z", "hours": 2.2661, "text": "Finished the about me page(atleast the layout) and added a home button to every page. On top of that I made some QOL changes like backgrounds are completely visible etc. gonna work on contact me page next and more animations"}, {"post_id": 45629, "ts": "2026-08-12T07:46:02Z", "hours": 8.9256, "text": "Finished the Main Page as well as the projects page for my portfolio website :D. The time logged is a little off, its actually supposed to be 5 hours ish but my time was logged into an archived project so . Anyways next im gonna work on About me page and QOL stuff"}]...
|
Title: Website by @aaradhyarya_srivastava | Starda Title: Website by @aaradhyarya_srivastava | Stardance
Devlogs:
Finished the Main Page as well as the projects page for my portfolio website :D. The time logged is a little off, its actually supposed to be 5 hours ish but my time was logged into an archived project so . Anyways next im gonna work on About me page and QOL stuff
Finished the about me page(atleast the layout) and added a home button to every page. On top of that I made some QOL changes like backgrounds are completely visible etc. gonna work on contact me page next and more animations
A ton of changes made and stuff added Added Stuff: Added the contact me page and linked it with mailjs so contacting me can be done directly via mail Added another model to the front page Changes: Again changed the front page model basically removing the city cuz it looked bad Changed opacity of all images from 100 to 50 Changed the render model to include some more stuff like intensity giving me better control over lighting Changed the model behavior in about me page as well as the lighting Yeah well thats about it
Worked on mobile compatability for the website. Fixed the Here’s the list of changes done Main Page: Scaled the model, put the icons on the side and added labels Projects: Removed the 3D model so projects are visible clearly About me and Contact me: Scaled the text size so it fits mobile
Almost finished with this website :D Here’s the changes made in this recent devlog Added animations to the entire website Added music and it remembers if you wanna play music or not (also i made the music 🆒 ) Small tweaks and bug fixes for better website experience :p (sorry for the bad audio quality obs was tweaking out)
DEPLOYED IT Also made some small changes like changing the scroll bar, adding small transition animation, some levels of optimisation etc. Also fixed some errors that caused it to not deploy BUT Here’s the website if you are interested https://portfolio-website-blush-seven-78.vercel.app/
Ships:
This is my own portfolio website made using three.js :D I obviously followed a tutorial but I also added a bunch of my own elements and customised the site to my own liking :D I made the music as well :) Overall I spent like 15 hours on this website and im really proud of it I will make changes over time but this seems like a good starting point NOTE: I spent 15 hours and not 20 hours on this for some reason time tracking seems to add another 5 hours to this...
|
1792850004.3855026
|
1792936404.3855026
|
|
193
|
Persona by @xarber | Stardance
|
xarber
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Persona by @xarber | Stardance
|
1792756470.1825666
|
1793361270.1825666
|
|
194
|
Untitled project by @anchith | Stardance
|
anchith
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @anchith | Stardance
|
1791822178.289052
|
1792686178.289052
|
|
195
|
Chrono Capsule by @Gopinath | Stardance
|
Gopinath
|
0
|
4.98
|
0
|
[]
|
[{"post_id": 19052, "ts": "202 [{"post_id": 19052, "ts": "2026-06-30T07:15:29Z", "hours": 2.3478, "text": "Devlog 2 Currently, I am working only on refactoring the code (may also include changes to terms used) and upgrading the dependencies. Configuring eslint with the right rules took a lot of time than required (I faced lot of errors such as TypeError: Plugin \"\" not found. , A configuration object specifies rule \"@eslint-react/naming-convention/component-name\", but could not find plugin \"@eslint-react/naming-convention\". and so on…) Refactors rename login page to sign in page and update all text instance of login to sign in rename register page to sign up and update all text instance of register to sign up move home.css and index.css into a new styles folder Chores bump shell-quote from 1.8.3 to 1.8.4 ( #75 ) bump vite from 7.3.5 to 8.0.16 ( #79 ) bump node-cron from 4.1.1 to 4.4.1 ( #20 ) bump eslint from 9.33.0 to 10.5.0 ( #59 ) bump @vitejs/plugin-react from 4.6.0 to 6.0.3 as plugin-react did not support vite v8 (that was currently installed) add globals , eslint-plugin-react-hooks , @eslint-react/eslint-plugin , @eslint/js to dev dependencies for eslint configuration add eslint.config.js to configure eslint with appropriate plugins and rules [this step took about 40mins as I took time to figure out the exact configuration fiels and the required rules]"}, {"post_id": 2747, "ts": "2026-06-05T14:49:39Z", "hours": 2.3122, "text": "Devlog 1 Implement Google OAuth successfully (I had stopped working with this at the end of SoM, and now nearly completed it) Before SoM ended, I had already had a buggy but sometimes working google oauth Initially I used react-helmet and the load event listener to load and use google identity services, but later I found it doesn’t work with react-router navigation and only works if I reload the page So I removed react-helmet and used Promise to load the google identity services script by creating a script tag using javascript The confirmation email got sent even if they loggedin using google, although I had set verified true in the database, fixed that although vite loaded the environment variables, it didn’t set them in import.meta.env, took time to set it fix csp settings in backend helmet to allow iframes and some bug fixes…"}, {"post_id": 305, "ts": "2026-06-01T15:51:55Z", "hours": 0.3206, "text": "Chrono Capsule Hey guys! I’ll be restarting to work on my project Chrono Capsule , a web app I started to work on during Summer of Making The project is about creating encrypted time capsules and setting an unlock date on which the receiver receives the capsule at the email. I’ll be improving the UI, adding an option to view capsule on the web instead of only pasting the content in the email (makes sure that it is sent from the right person as anyone can imitate the style of my email and send such an mail), upload media in the right sense, improve authentication methods and much more… I haven’t yet started working, just updating the dependencies and fixing the vulnerabilities as it’s been almost a year."}]...
|
Title: Chrono Capsule by @Gopinath | Stardance
De Title: Chrono Capsule by @Gopinath | Stardance
Devlogs:
Chrono Capsule Hey guys! I’ll be restarting to work on my project Chrono Capsule , a web app I started to work on during Summer of Making The project is about creating encrypted time capsules and setting an unlock date on which the receiver receives the capsule at the email. I’ll be improving the UI, adding an option to view capsule on the web instead of only pasting the content in the email (makes sure that it is sent from the right person as anyone can imitate the style of my email and send such an mail), upload media in the right sense, improve authentication methods and much more… I haven’t yet started working, just updating the dependencies and fixing the vulnerabilities as it’s been almost a year.
Devlog 1 Implement Google OAuth successfully (I had stopped working with this at the end of SoM, and now nearly completed it) Before SoM ended, I had already had a buggy but sometimes working google oauth Initially I used react-helmet and the load event listener to load and use google identity services, but later I found it doesn’t work with react-router navigation and only works if I reload the page So I removed react-helmet and used Promise to load the google identity services script by creating a script tag using javascript The confirmation email got sent even if they loggedin using google, although I had set verified true in the database, fixed that although vite loaded the environment variables, it didn’t set them in import.meta.env, took time to set it fix csp settings in backend helmet to allow iframes and some bug fixes…
Devlog 2 Currently, I am working only on refactoring the code (may also include changes to terms used) and upgrading the dependencies. Configuring eslint with the right rules took a lot of time than required (I faced lot of errors such as TypeError: Plugin "" not found. , A configuration object specifies rule "@eslint-react/naming-convention/component-name", but could not find plugin "@eslint-react/naming-convention". and so on…) Refactors rename login page to sign in page and update all text instance of login to sign in rename register page to sign up and update all text instance of register to sign up move home.css and index.css into a new styles folder Chores bump shell-quote from 1.8.3 to 1.8.4 ( #75 ) bump vite from 7.3.5 to 8.0.16 ( #79 ) bump node-cron from 4.1.1 to 4.4.1 ( #20 ) bump eslint from 9.33.0 to 10.5.0 ( #59 ) bump @vitejs/plugin-react from 4.6.0 to 6.0.3 as plugin-react did not support vite v8 (that was currently installed) add globals , eslint-plugin-react-hooks , @eslint-react/eslint-plugin , @eslint/js to dev dependencies for eslint configuration add eslint.config.js to configure eslint with appropriate plugins and rules [this step took about 40mins as I took time to figure out the exact configuration fiels and the required rules]...
|
1792641277.5659878
|
1793246077.5659878
|
|
196
|
Mellow by @Snxhit | Stardance
|
Snxhit
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Mellow by @Snxhit | Stardance
|
1792630318.0873773
|
1793235118.0873773
|
|
197
|
3D Graphics Engine by @luka_trojan | Stardance
|
luka_trojan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: 3D Graphics Engine by @luka_trojan | Starda Title: 3D Graphics Engine by @luka_trojan | Stardance...
|
1792662705.1241863
|
1793267505.1241863
|
|
198
|
Calamity Engine by @zrl | Stardance
|
zrl
|
1
|
21.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-27T20:24:10Z", "hours": 21.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Calamity Engine Alpha v1.1.0 Calamity Engine is a small, portable, 2D game engine made with retro/underpowered platforms in mind, written in C++. I worked on maintaining and updating Calamity Engine with new features, such as multi-window support, raycasts, collision signals, a bunch of refactoring/restructuring, etc… I also wrote 4 new examples that showcase these new features! I recommend checking out the website where you will find (almost) every example compiled to the web, so you can try them out without leaving your browser! Please consider checking it out, I put a lot of work into it.", "repo": "https://github.com/sl4shed/calamity-engine", "demo": "https://calamity.sl4shed.xyz/"}]...
|
[{"post_id": 16912, "ts": "202 [{"post_id": 16912, "ts": "2026-06-27T13:51:30Z", "hours": 11.8522, "text": "Calamity engine devlog 3 we back baby Fixed the github workflow!! I finally figured out what was going on with the github workflow! The issue was that I was using an outdated version of download-emscripten and the emscripten version being downloaded was fried and that would mess up the loading. In the process of fixing the runner, i also migrated it to an arch container for no specific reason other than I like arch. New examples and refactoring I refactored every example (except graphics-settings and multi-window ) to run on console platforms and work with controllers! The code in the examples is now a better resource for learning the ins and outs of Calamity Engine. Input service fixes You can now see what modifiers are active in a key event now (look at InputEventWithModifiers ) visible and enabled properties on Nodes Before alpha 1.1, components (i.e. sprites) handled visibility individually but I decided that I don’t like that and now visibility a property of the node class! It is also inherited down the node tree to the children of the node. I also added the enabled property to Nodes! While visibility affects the rendering, the enabled property basically stops all lifetime functions such as update , physicsUpdate and input along with render . Full Windows support Windows is now fully supported and every issue I have encountered is ironed out. The console is now hidden in release builds, etc, etc New examples I added the graphics-settings , multi-window , button and raycast examples. You can check these out on the website (except for graphics-settings and multi-window because those are desktop specific)! Alpha 1.1 And with this devlog, I will be publishing Calamity Engine 1.1! i really don’t know what else to say so i attached a video of the new node-tree example"}, {"post_id": 8612, "ts": "2026-06-14T09:50:57Z", "hours": 7.24, "text": "Calamity engine devlog 2 i’m back with another fire devlog Physics changes I made a lot of changes to the Physics service, including adding the SegmentShape, Raycasts and overall tidying up the service by creating the PhysicsBody class. Every physics body (Rigidbody, Staticbody) inherits this class. Also, every physics body now has a signal for when the mouse enters and leaves the shape! This allows the creation of ui elements (i.e. look at the button example)! Windows is supported again You can build the game on Windows either using mingw64 or MSVC! There are a couple of issues though… Windows support isn’t necessarily a top priority for me right now, but I will be working on it and hopefully getting it ready for when I create the next release! (also there’s some edge cases regarding the calamity folder on MSVC and especially on mingw64 where you have to manually copy over the dll of every vendored library) Example changes I’m working on tidying up all the example code and adding console platform support to every example! (for example, the node-tree example didn’t have any console support). I also added two new examples - button and raycast. These demonstrate how to use the new additions to the Physics service! Stuff that’s planned for the next minor release I want to fix the GitHub workflow that runs every push, it compiles every example for emscripten and builds the website. But, for some reason, the examples don’t load properly when the runner pushes the website. It works properly when I do it manually and the workflow runs the exact same commands I do… It’s a pretty weird issue and it’s very hard to debug but I want to get it fixed for alpha 1.1. New minor release After I fix the runner and finish tidying up the examples, I will create a new alpha 1.1 release! I don’t know if I will ship the project yet, I don’t think I have enough hours and I kinda want a bigger payout xD that’s it scooby gang. please like and subscribe and make sure to share this devlog to every family member in your vicinity! That also includes your grandmother."}, {"post_id": 383, "ts": "2026-06-01T18:54:17Z", "hours": 1.7694, "text": "Calamity engine devlog 1 Because of a lot of internal changes (i.e. multi-window support), the node-tree example broke :( Saving and loading sprites and textures was broken however i got it working again! Saving and loading any physics shape was also broken but now it’s also fixed! (i still have to fix loading for animated sprites/animations which will also be a pain in the bum bum but it is what it is…) Changes that occurred between Flavortown and Stardance Added multi-window support Started working on 3DS support (wasn’t able to finish in time unfortunately) Added collision detection signals to every physics body Added mouse hover detection signals to every physics body Made an example project of a button Added tracy support Added some QOL functions, such as lookAt() on Transforms “Fixed” github runner that compiles the website (it’s still broken 😭) Goals with development Primarily, I want to ship a more definitive version of Calamity Engine. I want to expand to more platforms, add networking, improve audio, add a ui library among other smaller things. Instead of one big release (alpha 1.0), i will probably be splitting ships across smaller releases (i.e. i want to release an alpha 1.1 version when i’m done with some smaller fixes and physics additions). When all of my goals are achieved with Calamity Engine, I want to work on a separate project that uses Calamity Engine - a cross-platform Navidrome client! I’ve always wanted to use my PSP as a music player but because I can’t be bothered to keep updating my playlist/redownloading music, I never got around to it… I also want to remake simulator canalizare 2019 in Calamity Engine and ship it to whatever platforms my engine will eventually support (technically, PS2 support is possible! Cross platform support really depends on how good the homebrew SDK’s are though. For each and every platform I want to get Calamity working on, I basically have to port spdlog , cereal , fmt and box2d myself unless i get really lucky and there are already maintained packages for all of those like on the PSP .)"}, {"post_id": 26, "ts": "2026-05-31T08:48:10Z", "hours": 0.4903, "text": "calamity engine will resume development on stardance"}]...
|
Title: Calamity Engine by @zrl | Stardance
Devlog Title: Calamity Engine by @zrl | Stardance
Devlogs:
calamity engine will resume development on stardance
Calamity engine devlog 1 Because of a lot of internal changes (i.e. multi-window support), the node-tree example broke :( Saving and loading sprites and textures was broken however i got it working again! Saving and loading any physics shape was also broken but now it’s also fixed! (i still have to fix loading for animated sprites/animations which will also be a pain in the bum bum but it is what it is…) Changes that occurred between Flavortown and Stardance Added multi-window support Started working on 3DS support (wasn’t able to finish in time unfortunately) Added collision detection signals to every physics body Added mouse hover detection signals to every physics body Made an example project of a button Added tracy support Added some QOL functions, such as lookAt() on Transforms “Fixed” github runner that compiles the website (it’s still broken 😭) Goals with development Primarily, I want to ship a more definitive version of Calamity Engine. I want to expand to more platforms, add networking, improve audio, add a ui library among other smaller things. Instead of one big release (alpha 1.0), i will probably be splitting ships across smaller releases (i.e. i want to release an alpha 1.1 version when i’m done with some smaller fixes and physics additions). When all of my goals are achieved with Calamity Engine, I want to work on a separate project that uses Calamity Engine - a cross-platform Navidrome client! I’ve always wanted to use my PSP as a music player but because I can’t be bothered to keep updating my playlist/redownloading music, I never got around to it… I also want to remake simulator canalizare 2019 in Calamity Engine and ship it to whatever platforms my engine will eventually support (technically, PS2 support is possible! Cross platform support really depends on how good the homebrew SDK’s are though. For each and every platform I want to get Calamity working on, I basically have to port spdlog , cereal , fmt and box2d myself unless i get really lucky and there are already maintained packages for all of those like on the PSP .)
Calamity engine devlog 2 i’m back with another fire devlog Physics changes I made a lot of changes to the Physics service, including adding the SegmentShape, Raycasts and overall tidying up the service by creating the PhysicsBody class. Every physics body (Rigidbody, Staticbody) inherits this class. Also, every physics body now has a signal for when the mouse enters and leaves the shape! This allows the creation of ui elements (i.e. look at the button example)! Windows is supported again You can build the game on Windows either using mingw64 or MSVC! There are a couple of issues though… Windows support isn’t necessarily a top priority for me right now, but I will be working on it and hopefully getting it ready for when I create the next release! (also there’s some edge cases regarding the calamity folder on MSVC and especially on mingw64 where you have to manually copy over the dll of every vendored library) Example changes I’m working on tidying up all the example code and adding console platform support to every example! (for example, the node-tree example didn’t have any console support). I also added two new examples - button and raycast. These demonstrate how to use the new additions to the Physics service! Stuff that’s planned for the next minor release I want to fix the GitHub workflow that runs every push, it compiles every example for emscripten and builds the website. But, for some reason, the examples don’t load properly when the runner pushes the website. It works properly when I do it manually and the workflow runs the exact same commands I do… It’s a pretty weird issue and it’s very hard to debug but I want to get it fixed for alpha 1.1. New minor release After I fix the runner and finish tidying up the examples, I will create a new alpha 1.1 release! I don’t know if I will ship the project yet, I don’t think I have enough hours and I kinda want a bigger payout xD that’s it scooby gang. please like and subscribe and make sure to share this devlog to every family member in your vicinity! That also includes your grandmother.
Calamity engine devlog 3 we back baby Fixed the github workflow!! I finally figured out what was going on with the github workflow! The issue was that I was using an outdated version of download-emscripten and the emscripten version being downloaded was fried and that would mess up the loading. In the process of fixing the runner, i also migrated it to an arch container for no specific reason other than I like arch. New examples and refactoring I refactored every example (except graphics-settings and multi-window ) to run on console platforms and work with controllers! The code in the examples is now a better resource for learning the ins and outs of Calamity Engine. Input service fixes You can now see what modifiers are active in a key event now (look at InputEventWithModifiers ) visible and enabled properties on Nodes Before alpha 1.1, components (i.e. sprites) handled visibility individually but I decided that I don’t like that and now visibility a property of the node class! It is also inherited down the node tree to the children of the node. I also added the enabled property to Nodes! While visibility affects the rendering, the enabled property basically stops all lifetime functions such as update , physicsUpdate and input along with render . Full Windows support Windows is now fully supported and every issue I have encountered is ironed out. The console is now hidden in release builds, etc, etc New examples I added the graphics-settings , multi-window , button and raycast examples. You can check these out on the website (except for graphics-settings and multi-window because those are desktop specific)! Alpha 1.1 And with this devlog, I will be publishing Calamity Engine 1.1! i really don’t know what else to say so i attached a video of the new node-tree example
Ships:
Calamity Engine Alpha v1.1.0 Calamity Engine is a small, portable, 2D game engine made with retro/underpowered platforms in mind, written in C++. I worked on maintaining and updating Calamity Engine with new features, such as multi-window support, raycasts, collision signals, a bunch of refactoring/restructuring, etc… I also wrote 4 new examples that showcase these new features! I recommend checking out the website where you will find (almost) every example compiled to the web, so you can try them out without leaving your browser! Please consider checking it out, I put a lot of work into it....
|
1792824647.271906
|
1792911047.271906
|
|
199
|
Untitled by @luka_trojan | Stardance
|
luka_trojan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @luka_trojan | Stardance
|
1792482943.5654678
|
1793087743.5654678
|
|
200
|
Test by @__grdev | Stardance
|
__grdev
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Test by @__grdev | Stardance
|
1792900216.8579116
|
1793764216.8579116
|