by apexedison on 11/3/22, 2:04 PM with 79 comments
by kleiba on 11/3/22, 2:33 PM
Just kidding, this is an awesome project! I wish I would have been that creative and competent in my teenage years... or even now, for that matter. Respect!
by linsomniac on 11/3/22, 5:31 PM
There is a playable version on the home page at: https://sprig.hackclub.com/
Aside: The game you play on that one was written by my 13yo son. He has become super involved in Hack Club over the last few months, since I showed him that "Sine Rider" game announced on HN (another Hack Club project), and I left it up to him to discover Hack Club from that. As someone who used to run and attend Hacking Society meetings, I was pretty happy to see him dig into Hack Club.
by threesided on 11/3/22, 3:19 PM
Awesome work!
by bdickason on 11/3/22, 4:32 PM
Phaser still requires a ton of boilerplate code compared to the example games here.
Both Godot and Unity are very similar to each other and aren't great for say.. hacking together a quick js prototype and sharing it with your friends on the web (or with a lil' device).
by omay on 11/3/22, 5:54 PM
by cedric-h on 11/3/22, 2:54 PM
Right now I'm working on getting Lingdong Huang's - who has made a bunch of really cool interactive experiences[0] (like a human face eating simulator) - he made a Sprig game for us[1], I'm trying to get it working on the physical device - but there's a problem, since the device is Raspberry Pi 2040 based and only has 256kb of available RAM (yet the games are written in JavaScript - we run them using our own little JerryScript based runtime[2]).
The runtime also runs on personal computers, not just arm-eabi-none, to help us test the games to get better error messages than the physical hardware can give (because no operating system). We call this our Sprig emulator, even though it's just the runtime compiled to a different architecture, hooked up to CoreAudio and a minifb window. Thanks to the emulator, we know Lingdong's game theoretically only uses 180kb of RAM, so we should be fine. And it actually works great in the emulator, but when I try to run it on the device it doesn't get past the startup screen ... which hurts because the entire reason we made the emulator was to get better error messages.
All I can do now is puts("") debug everything and figure out what code is reading or writing out of bounds and making the device freeze. I probably configured the heap to be too small again.
I have always loved finding excuses to figure out how things _actually work_, which is why every time I sit down to make a game, one thing leads to another and I'm making a game engine. Working on Sprig has taken this to a whole 'nother level because it's essentially our own operating system, too. Nobody tells you if you overflow the stack, the stack guard is only 32 bytes and disabled by default. It all started as a module for Kaluma, but we hit so many performance, RAM and flash constraints that we found it was better to write our own JS runtime. Apologies to Kaluma which is also trying to frontpage HN right now! We both use JerryScript heavily, but Kaluma connects you directly to the GPIOs and IRQs. We just connect you to the screen and the buttons through the same API as in the web browser, which is handy for making tile-based games.
[0] - https://lingdong.works/ [1] - Lingdong's game. Keep in mind the controls are all WASD and IJKL because the device only has 8 buttons. https://editor.sprig.hackclub.com/?file=https://raw.githubus... [2] - github.com/hackclub/spade
by dusted on 11/3/22, 2:46 PM
I cringe thinking about long-term exposure to bare PCBs, sure RoHS is a thing, but it's R(eduction), not E(liminiation).. And those guidelines are under the assumption that the electronics are packaged and not touched to bare skin..
PCBs are still made with fibers which can penetrate the skin, and I'd be worried about exposure to soldermask, solder and what other chemicals are involved.
by riwsky on 11/3/22, 8:09 PM
by sdrothrock on 11/3/22, 3:04 PM
by zach_garwood on 11/3/22, 5:52 PM
by pjmlp on 11/3/22, 2:37 PM
Good work, it looks cool.
by stefanvdw1 on 11/3/22, 4:09 PM
by apexedison on 11/3/22, 4:27 PM
by reesericci on 11/3/22, 2:15 PM
by asicsp on 11/3/22, 3:02 PM
"Some Assembly Required: An approachable introduction to assembly" - https://github.com/hackclub/some-assembly-required
https://news.ycombinator.com/item?id=31909183 (587 points | 4 months ago | 125 comments)
by sampoder on 11/3/22, 2:17 PM
by z3 on 11/3/22, 9:17 PM
by culi on 11/4/22, 1:31 AM
by ofrzeta on 11/3/22, 4:23 PM
by evolve2k on 11/3/22, 11:19 PM
by _lucas_honda on 11/3/22, 4:06 PM
by scandox on 11/3/22, 3:46 PM