Skip to content
PN Scripts

Game templates

Ringhollow Game Template

The complete source of Ringhollow, a tower defence with three turning rings of towers, four tower types, six enemy types and twenty waves.

  • JavaScript
  • Canvas 2D
  • Web Audio
  • 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.

The hollow in the middle, three stone rings and the first bolt towers

What it solves

The gap

Tower defence games quickly become a matter of filling every slot, after which the player only watches.

What it is

This template puts the towers on turning rings and shows the next wave's lanes, so there is always a decision to make between and during waves.

How you use it

Unzip, serve the folder and open index.html, then edit game.js; npm test plays it again in headless Chrome.

Source code of a real, playable game to reskin and learn from, with a smoke test whose bot plays it.

Who it is for

Use it when

  • Publishing a tower defence game with a twist of its own, or any radial game where things move on rings and lanes.
  • Learning how a complete ring-rotation tower defence is built in plain JavaScript and Canvas 2D.
  • Building a branded mini-game for a client.

Built for

  • Web and indie game developers who know some JavaScript.
  • Developers who want a finished, tested game to build on instead of a blank canvas.

What you get

Everything in polar coordinates

An enemy is a lane angle and a radius, a ring is a single angle; positions, ranges and drawing all come from those few numbers, which keeps the rules short.

Waves from a seed

Each wave is generated from its number: how many lanes, which enemies, how fast they come and how tough they are, with one new enemy introduced at a time.

No build step

Plain JavaScript and Canvas 2D; open index.html through any static server and edit game.js.

A smoke test

A headless Chrome test loads the game, checks the console, presses keys and taps, and lets the built-in bot play a run to its result screen.

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

  • JavaScript
  • Canvas 2D
  • Web Audio
  • Playwright

The Ringhollow 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).

Any static web server to run the game, and some JavaScript. Node.js 22.12 or newer and Google Chrome run the smoke test.

No ad or portal SDK. The game text is in English and Bulgarian, chosen from the browser language. It is tested in desktop Chrome and a phone-sized Chrome viewport with touch, 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.