npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@netforge/template-platformer

v0.2.0

Published

Multiplayer platformer game template for Net Forge: races to the flag with coyote time, jump buffering, dashes, springs and moving platforms (SKYLEDGE).

Readme

@netforge/template-platformer

A multiplayer platformer game template for Net Forge: a side-view race to the flag for up to 8 players over cliffside courses (SKYLEDGE).

Climbers run, jump (hold for height, tap for a hop), dash across gaps, ride moving platforms, bounce off springs and stay off the thorns. Each climber collects their own coins. A round is one course, and the next round runs the next course. Seat bots fill empty places, so one person alone still has a race.

The simulation is the engine's deterministic platform mode: swept box movement on a 1/1024 m grid at 60 Hz, so a predicting client replays its own climber bit for bit. Climbers are ghosts to each other and coins are per climber, so nothing another player does can make your prediction wrong.

Jump feel: coyote time (0.1 s), a jump buffer (0.13 s), variable jump height, a lighter apex while Jump is held, a heavier fall, ceiling corner nudges and an air dash.

The race runner owns rounds (countdown, race, results, next course). It pays player.finished for your own finish, and race.won and race.podium only with another person in the round. Seat bots run routes found by the route planner and never earn. Every course must have a planner route to the flag, or the build fails.

Install

npm install @netforge/template-platformer

You normally do not import this package yourself. kit play runs it on your own computer, and the Net Forge MCP server and studio copy its src/game.ts as the starting point for a new game.

Play it locally

mkdir -p my-game/src && cd my-game
npm init -y && npm install @netforge/kit-play @netforge/engine @netforge/template-platformer
cp node_modules/@netforge/template-platformer/src/game.ts src/
echo '{"template":"platformer"}' > netnet.json
npx kit-play        # opens http://127.0.0.1:4663

Coins are play money and nothing pays out. Real-token earning, stakes and claims run only on the hosted Net Forge server.

Change the game

Courses run three minutes and three seat bots fill the room. Field more bots and give each course a little longer:

players: { prefab: "style.lowpoly.rogue", max: 8, bots: 5 },
round: { seconds: 210 },

Save src/game.ts and run npx kit-play again.

Files

| Path | What | |---|---| | src/game.ts | The game, declarations only: three courses, three round upgrades, earn rules, stake, store. | | src/manifest.ts | Loads and compiles the game; platformerAdapter() and platformerGame() for the room host and the client. | | src/store.ts | Store hooks on the Kit's names: three round upgrades (40, 40, 60 coins), two outfits (300, 500) and the shield charm gear (120). | | client/ | The browser client: a side-view three.js scene in every art style, HUD, input (keys, gamepad, touch), game feel. | | scripts/plan.ts | The route planner run on every course (how long a good run takes). | | test/ | Playtest bots through engine.test.run, the race rules, prediction, the local host and the store. | | llms.txt | How to change the game, for agents. |

Controls

Keys: A D or arrows run, Space W or Up jump, Shift dash, Down plus Jump drops through a ledge, R or Enter readies the next course. The backquote key shows stats.

For AI agents

Read AGENTS.md and llms.txt in this package before changing the game. llms-full.txt adds the whole src/game.ts as a worked example.

Agents can also drive this template through the Net Forge MCP server: run npx -y @netforge/mcp (package @netforge/mcp, bin netforge-mcp). Its tools are netforge_list_templates, netforge_create_game, netforge_explain_api, netforge_search_docs, netforge_validate_game, netforge_run_playtest and netforge_play_locally.

To set up a coding agent in a game project, run npx netforge setup agent. It writes AGENTS.md, CLAUDE.md, Cursor rules and .mcp.json into the project. In Claude Code you can also add the server directly with claude mcp add netforge -- npx -y @netforge/mcp.

Docs

  • https://forge.netnet.capital/docs/templates/platformer
  • llms.txt and llms-full.txt in this package (also exported as @netforge/template-platformer/llms.txt and @netforge/template-platformer/llms-full.txt)

License

MIT. See LICENSE and NOTICE.