https://github.com/hackclub/sprig Skip to content Toggle navigation Sign up * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code + Explore + All features + Documentation + GitHub Skills + Blog * Solutions + By Plan + Enterprise + Teams + Compare all + By Solution + CI/CD & Automation + DevOps + DevSecOps + Case Studies + Customer Stories + Resources * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles + Repositories + Topics + Trending + Collections * Pricing [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this organization All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} hackclub / sprig Public * Notifications * Fork 124 * Star 275 Learn to code by making games in a JavaScript web-based game editor. sprig.hackclub.com License MIT license 275 stars 124 forks Star Notifications * Code * Issues 14 * Pull requests 8 * Actions * Projects 0 * Security * Insights More * Code * Issues * Pull requests * Actions * Projects * Security * Insights hackclub/sprig This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags Name already in use A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch? Cancel Create 59 branches 6 tags Code * Clone HTTPS GitHub CLI [https://github.com/h] Use Git or checkout with SVN using the web URL. [gh repo clone hackcl] Work fast with our official CLI. Learn more. * Open with GitHub Desktop * Download ZIP Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching Xcode If nothing happens, download Xcode and try again. Launching Visual Studio Code Your codespace will open once ready. There was a problem preparing your codespace, please try again. Latest commit @leomcelroy leomcelroy Update README.md ... 3304f1d Nov 3, 2022 Update README.md 3304f1d Git stats * 1,740 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time api/thumbnail Fix gallery previews Oct 14, 2022 codemirror removed share popout, added scroll to popout Nov 2, 2022 color-picker choose a color Oct 20, 2022 deprecated_games.js Ruin Leo's fun Aug 22, 2022 dispatches Fix saveGame Oct 25, 2022 docs Add width and height to docs Oct 31, 2022 engine Semicolon after use strict Oct 22, 2022 events Fix drop upload' Oct 26, 2022 games Optimize 2D_life for running on device Nov 2, 2022 libs init sprig repo Jul 14, 2022 map-editor Add color picker Oct 20, 2022 mobile Use mobile pointerdown event Oct 12, 2022 pixel-editor Fix #407 Oct 20, 2022 sequencer Fix audio sequencer dragging issue on Firefox (#304) Sep 19, 2022 views Fix bitmap editor perf issues Oct 7, 2022 .gitattributes Initial commit Jan 3, 2022 .gitignore Ignore yarn-error.log Aug 30, 2022 CONTRIBUTING.md Create CONTRIBUTING.md Oct 4, 2022 LICENSE init sprig repo Jul 14, 2022 README.md Update README.md Nov 3, 2022 bg.svg Green Aug 26, 2022 challenges.js Update challenges.js Jul 22, 2022 dispatch.js Remove some useless code Oct 28, 2022 events.js Do nothing on save shortcut Oct 21, 2022 global_state.js Fix saveGame Oct 25, 2022 index.css removed share popout, added scroll to popout Nov 2, 2022 index.html Make the favicon square Sep 15, 2022 index.js init sprig repo Jul 14, 2022 manifest.json cleaned up mobile css slightly Aug 17, 2022 package.json Fix packages Oct 19, 2022 palette.js Add color picker Oct 20, 2022 pico-os.uf2 sprig os that prolly doesnt write over its own code Nov 3, 2022 s3.js init sprig repo Jul 14, 2022 upload.js Let's not upload engine anymore Oct 31, 2022 view.js Merge branch 'main' of https://github.com/hackclub/sprig Nov 2, 2022 vite.config.js Make "games" a public dir Sep 9, 2022 words.js Finish polishing saving system Oct 21, 2022 View code [ ] Hack Club Sprig Sprig is a Fully open source You Ship, We Ship Philosophy Development Acknowledgements License README.md Hack Club Sprig Online Editor: Make a game | Gallery: Find games | Website Sprig is a game console where every user is a creator. It can only be obtained by building a tile-based game in the web-based game editor and shipping it in the community gallery. It's made by Hack Club. Screen Shot 2022-08-22 at 4 02 04 PM You should be able to get started in Sprig with very little programming experience. Even if you're an expert, you should still be able to have fun. Sprig games are designed to be shared and hacked on with friends. Every game submitted is easily viewable and editable in our gallery allowing people to learn from and build off each other. Sprig is a custom handheld game console built by Hack Club. Fall of 2022, we are giving a Sprig (valued at over $100 in components alone) to every teenage hacker that successfully shares a game they create in our community gallery. Screen Shot 2022-08-22 at 4 02 04 PM web-based game editor that transforms learning to code from studying language syntax to making small creative projects. The Sprig game engine exposes a small construction kit for making tile-based games. This construction kit helps you focus on being creative instead of learning big APIs. The games are just JavaScript and we built a custom system to run that same JavaScript on the microcontroller! Screen Shot 2022-08-22 at 4 04 08 PM hardware development kit. It's not just for gaming! The Sprig console is designed to be assembled and disassembled. Each kit includes parts needed for getting started with hardware engineering and embedded systems programming. This includes a Raspberry Pi Pico, a TFT7735 screen, a MAX98357A I2S class D audio amplifier, a whole bunch of buttons, LEDs, a speaker, and a carrier board which wires all these components together while exposing the remaining pins on the microcontroller. It's a complete system for generating graphics, sound, and handling tactile inputs which is reprogrammable at the touch of a button. Screen Shot 2022-08-22 at 4 04 08 PM Fully open source Sprig is open source. Shipping a game to the Sprig Gallery is contributing to an open-source project. Everything about Sprig is transparent and editable. That includes the hardware designs, the game engine for the web (this repo), the embedded game engine for the RP2040 chip, the web-editor itself (this repo), and even the gallery and intro pages! We did some fun engineering to get Sprig to work and to make your games run the same on your desktop computer and a $4 microcontroller. That involved custom JS runtimes with optimizations in C and even PIO assembly. We also documented some behind-the-scenes . You Ship, We Ship Make a game - Share it with the community - Receive your device - Play Sprig games on it - Hack on the device for more projects Only teenagers and younger can receive Sprigs! All are welcome to submit to the gallery though. Make your first Sprig game! Philosophy People learn best when they make things that they care about, which they can then share with others. This type of learning philosophy is called constructionism, and Sprig is a type of microworld. A microworld is an environment where you can discover programming by using it to express yourself. Development Join the #sprig channel on the Hack Club Slack where you can join the development discussion and ask for help, and to learn more about how to make games with Sprig check out the docs. We use vite for development. Clone repo: $ git clone https://github.com/hackclub/sprig/ To run: cd sprig yarn yarn dev Visit http://localhost:3000 in your web browser and it should work! Acknowledgements The Sprig was developed by a team at Hack Club with assistance from Brian Silverman (who helped develop Scratch and the precursor to Lego Mindstorms), Vadim Gerasimov (engineer at Google who helped create Tetris when he was 15), and Quentin Bolsee (researcher at MIT and Vrije University Brussels), and dozens contributions from teenage open-source developers! We're also grateful for amazing open-source projects that make this possible like Kaluma, JerryScript, uhtml, and CodeMirror. License The Hack Club Sprig is open source and licensed under the MIT License . Fork, remix, and make it your own! Pull requests and other contributions greatly appreciated. About Learn to code by making games in a JavaScript web-based game editor. sprig.hackclub.com Topics game learning puzzle game-engine game-development hacktoberfest Resources Readme License MIT license Code of conduct Code of conduct Stars 275 stars Watchers 9 watching Forks 124 forks Releases 5 0.2.3 Latest Jul 6, 2022 + 4 releases Packages 0 No packages published Used by 8 * @James-Discord * @axelmukwena * @ftdebugger * @ErikHumphrey * @crabbydavis * @PatrickJS * @bengler Contributors 93 * @leomcelroy * @cedric-h * @LucasHT22 * @kognise * @maxwofford * @Omay238 * @sampoder * @cjdenio * @SamDev-7 * @zachlatta * @YodaLightsabr + 82 contributors Languages * JavaScript 99.2% * Other 0.8% Footer (c) 2022 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.