Skip to content
PN Scripts

Game templates

Moonpull Game Template

The complete TypeScript and three.js source of Moonpull, a one-control tide puzzle game: the player is the moon, and one drag sets the tide for boats and walkers. Every level is proven solvable.

  • TypeScript
  • three.js
  • Vite 8
  • Web Audio
  • Vitest and Playwright
  • Coming soon

Coming soon

Not published on its store yet, so there is no buy or download link. PN Scripts does not take payment for it here.

Moonpull in play: a harbour diorama with a sandbar between two islets, a boat waiting for high water and a warning marker over it

What it solves

The gap

Puzzle games live or die by their levels, and hand-made levels need endless testing to be sure each one can be solved. Building the game loop, saving, sound and layouts on top takes weeks before the first level is fun.

What it is

A finished, tested puzzle game whose levels are generated and proven by a solver, with its look, rules and difficulty curve in one config file.

How you use it

Unzip, run npm ci and npm run dev, then edit src/game.config.ts; npm test re-proves every level.

Source code of a real, playable game to reskin and learn from, with the level proof built in. Not an engine or a drag-and-drop builder.

Who it is for

Use it when

  • Publishing your own reskinned one-control puzzle on itch.io, web portals or your site.
  • Learning how to generate and prove puzzle levels in TypeScript.
  • Building a branded browser game for a client.

Built for

  • Web and indie game developers who know some TypeScript.
  • Studios and freelancers who make branded browser games.

What you get

One config file

Title, logo, save key, every colour of the harbour, hearts and tolerance, level names and the difficulty curve: boats, walkers, causeways, reefs and the moon's speed per level.

Levels with a proof

Each level is drawn around an intended tide and then checked by an exact solver. The autopilot clears every level without losing anyone, and from level 3 no single fixed tide can.

A finished game

24 levels and a daily level, three hearts and stars, a gauge that shows the safe tide, warnings over travellers about to be caught, saves, and layouts for desktop and phones.

Tests and a guide

37 unit tests and Playwright browser runs, a size budget, an upload zip for itch.io or any static host, and a guide to reskinning, tuning the campaign and adding new rules.

Specs

Availability
Coming soon
Vendor
PN Scripts
Type
Template
Platforms
JavaScript
Pricing
One-time purchase Price to be announced.
License
PN Scripts Template Licence 1.0
Deployment
Download (ZIP of source code)
Maturity
v1.0.0

Compatibility

Platform or runtime Supported versions Tested up to
Node.js 22.12 or newer Not stated

Stack

  • TypeScript
  • three.js
  • Vite 8
  • Web Audio
  • Vitest and Playwright

The Moonpull template is coming soon

The template is finished and tested. It is not on sale yet; this page will say where to get it when it is.

Coming soon

Not published on its store yet, so there is no buy or download link. PN Scripts does not take payment for it here.

Questions

Make and sell any number of your own games from it, and build games for clients. You may not resell or share the source code itself (PN Scripts Template Licence 1.0).

Node.js 22.12 or newer and some TypeScript. Google Chrome runs the browser tests.

No ad or portal SDK, and English only. It is tested in desktop Chrome and Chrome's Pixel 7 emulation, not yet on iOS Safari, Firefox or a real phone.

The code was written with AI assistance and checked by PN Scripts with automated tests. All visuals and sounds are generated by code; there are no AI-generated image or audio files.

It is not on sale yet. When it is, this page will link to the store; PN Scripts does not take payment on this site.