from Hacker News

Show HN: Sprig, open-source game console and engine, by teenagers for teenagers

by apexedison on 11/3/22, 2:04 PM with 79 comments

  • by kleiba on 11/3/22, 2:33 PM

    This obvious age discrimination against non-teenagers is preposterous! Where are the lawers when you need them?

    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

    Hack Club is awesome, I highly recommend it to anyone with teenage kids.

    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

    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.

    Awesome work!

  • by bdickason on 11/3/22, 4:32 PM

    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.

    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

    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.
  • by cedric-h on 11/3/22, 2:54 PM

    Hey everyone, I'm Cedric and part of the Sprig team. I'm 19. I've been trying to make games since middle school.

    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

    Except for the bare pcb thing, it looks cool..

    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

    I’ve seem many a front page HN article about teenage engineering—but I’ve gotta admit, this might be the first one about teenagers engineering.
  • by sdrothrock on 11/3/22, 3:04 PM

    There's a dead comment from one of the creators that needs some vouches: https://news.ycombinator.com/item?id=33451938
  • by zach_garwood on 11/3/22, 5:52 PM

    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!
  • by pjmlp on 11/3/22, 2:37 PM

    In a way it is funny to see JavaScript vs Python competing for the next BASIC in this kind of platforms.

    Good work, it looks cool.

  • by stefanvdw1 on 11/3/22, 4:09 PM

    Love it! Sent it to my two teenage brothers who’ve I been trying to get interested in technical stuff like this
  • by apexedison on 11/3/22, 4:27 PM

    If you want to check out some of the games people have made you can find them here: https://sprig.hackclub.com/gallery
  • by reesericci on 11/3/22, 2:15 PM

    I've been loving my Sprig so far - great project from Hack Club!
  • by asicsp on 11/3/22, 3:02 PM

    See also:

    "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

    Curious, what's the thinking behind making projects like this?
  • by z3 on 11/3/22, 9:17 PM

    Great project! Well done boys, that’s a true hacker spirit
  • by culi on 11/4/22, 1:31 AM

    Wow they even got Nicky case to make a game for it. Really cool project!
  • by ofrzeta on 11/3/22, 4:23 PM

    So teenagers don't like housings? :)
  • by evolve2k on 11/3/22, 11:19 PM

    Is this restricted to US teens only?
  • by _lucas_honda on 11/3/22, 4:06 PM

    nice idea! :)
  • by scandox on 11/3/22, 3:46 PM

    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.