An open-source platform fighter where fighters and stages are portable content packs.
Play in your browser · Good first issues · Join the community
Super Bash Folds is a fast local platform fighter for the web. The engine supports keyboard and controllers, configurable controls, CPU opponents, shields, rolls, air dodges, grabs, throws, ledges, projectiles, items, stock matches, timed matches, and sudden death.
Its defining feature is the content system: a fighter or stage lives in one folder, is validated by the project tools, and joins the game without a manual engine registry edit.
Important
The playable build and this repository contain only original or redistributable content. Third-party franchise assets shown in early private development footage are not included, supported, or required.
The current public preview is a playable foundation, not a finished competitive game. It includes:
- 14 open-licensed fighter prototypes;
- one CC0 stage;
- 20 original items and a redistributable audio library;
- local multiplayer, CPU play, configurable controls, and controller support;
- fighter and stage pack generators, validators, and an Animation Lab;
- automated public-content, history, test, build, and performance checks.
The highest-priority goal is a flagship original fighter with a complete, purpose-built animation set. Artists, animators, game designers, developers, and playtesters are all welcome.
The initial game engine, content-pack tooling, public website, documentation, generated interface art, and launch video edit were produced with GPT-5.6-Sol, directed, tested, and reviewed by Swarek. The project is now an open foundation: new community work is credited through Git history and asset provenance records.
Play the hosted build at super-bash-folds.spry-crumb-3668.chatgpt.site/play.
To run the project locally, install Node.js 20.19+ or 22.12+:
git clone https://github.com/Swarek/Super_Bash_Folds.git
cd Super_Bash_Folds
npm ci
npm run devVite prints the local address, which defaults to
http://localhost:4173/.
| If you enjoy… | A useful first contribution |
|---|---|
| Character art or animation | Help design and animate the first flagship original fighter |
| Game design | Review a move set, hitboxes, knockback, and competitive counterplay |
| TypeScript | Improve pack tooling, engine mechanics, accessibility, or tests |
| Level art | Create a redistributable stage pack |
| Playing platform fighters | Test controllers, movement, match rules, and report reproducible issues |
| Documentation | Turn one pack workflow into a smaller, clearer tutorial |
Start with the contribution guide, browse
good first issue,
or propose an idea in
GitHub Discussions.
The current direction is tracked in ROADMAP.md.
npm run fighter:new -- my-fighter --kind 2d
# complete fighters/my-fighter/fighter.json and render.json
npm run fighter:build -- my-fighter
npm run fighter:checkThe pack directory is the source of truth. The project generates registries,
render manifests, portraits, and atlases from it. The 50-animation contract,
licensing rules, and troubleshooting steps are documented in
fighters/README.md.
npm run stage:new -- my-stage --kind 2d
# complete stages/my-stage/stage.json, PROVENANCE.md, and assets/
npm run stage:build
npm run stage:checkA stage pack owns its collisions, ledges, spawn points, blast zone, rendering,
and license metadata. See stages/README.md.
Install the tools reported by npm run content:doctor, then run the check
closest to your change while iterating. Before opening a pull request, run:
npm run validate:publicThis command validates packs and asset policy, runs the public test suite, checks Git history, builds the game, and verifies the distributable output and performance budgets.
- Code: MIT.
- Original project assets under
public/assets/open/: CC0-1.0. - Third-party assets: credits, licenses, and source links.
- Asset contributions: asset policy.
- Naming and content boundaries: IP and content policy.
Every distributed asset must have a verifiable source and compatible license. Generated files must not be edited directly.
Please read the Code of Conduct. Use Discussions for ideas and design questions, and Issues for reproducible bugs or accepted work.
