This obvious age discrimination against non-teenagers is preposterous! Where are the lawers when you need them?<p>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!
Hack Club is awesome, I highly recommend it to anyone with teenage kids.<p>There is a playable version on the home page at: <a href="https://sprig.hackclub.com/" rel="nofollow">https://sprig.hackclub.com/</a><p>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.
Love to see the combo of hardware and software being offered up to aspiring young game developers! I'm a huge fan of Pico-8 and other "fantasy consoles" so always welcome to see another one.<p>Awesome work!
This is very cool. I love the focus on builders and do think there's a gap in easy to use 2d web-friendly game engines currently.<p>Phaser still requires a ton of boilerplate code compared to the example games here.<p>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).
I am a big fan of Sprigs. It is kind of crazy that my game is on the front page. Sprig is really easy to make games with, but it is also capable enough to make more complex things.
Hey everyone, I'm Cedric and part of the Sprig team. I'm 19. I've been trying to make games since middle school.<p>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]).<p>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.<p>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.<p>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.<p>[0] - <a href="https://lingdong.works/" rel="nofollow">https://lingdong.works/</a>
[1] - Lingdong's game. Keep in mind the controls are all WASD and IJKL because the device only has 8 buttons. <a href="https://editor.sprig.hackclub.com/?file=https://raw.githubusercontent.com/hackclub/sprig/main/games/generic_dungeon_crawler.js" rel="nofollow">https://editor.sprig.hackclub.com/?file=https://raw.githubus...</a>
[2] - github.com/hackclub/spade
Except for the bare pcb thing, it looks cool..<p>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..<p>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.
There's a dead comment from one of the creators that needs some vouches: <a href="https://news.ycombinator.com/item?id=33451938" rel="nofollow">https://news.ycombinator.com/item?id=33451938</a>
Man, I wish something like this would have existed back when I was trying to make choose-your-own-adventure games in QBASIC back in my teens! This is really awesome!
If you want to check out some of the games people have made you can find them here: <a href="https://sprig.hackclub.com/gallery" rel="nofollow">https://sprig.hackclub.com/gallery</a>
Slightly OT: I've been wondering recently if the word teenager and it's use has been a bad thing for people between 12 and 20. If we didn't have this word I'm guessing we wouldn't view them as such a distinct lump and be less ready to generalize about them.