The gap
A naval battle game is only fun if the computer opponent can be both easy and genuinely sharp, and the screen fits both seas on a phone.
Game templates
The complete source of Shoalfire, a naval battle with four AI admirals from random fire to a probability map, a sonar ping and arcing shells.
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 gap
A naval battle game is only fun if the computer opponent can be both easy and genuinely sharp, and the screen fits both seas on a phone.
What it is
This template has four named targeting styles, including a probability density over every legal placement.
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.
Use it when
Built for
Every placement of every unsunk ship that fits the misses and hits adds weight to its squares; the admiral fires at the heaviest square.
A shot is a shell in a queue; the result is applied when it lands, so animation and rules never drift apart.
Plain JavaScript and Canvas 2D; open index.html through any static server and edit game.js.
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.
1 of 3
| Platform or runtime | Supported versions | Tested up to |
|---|---|---|
| Node.js | 22.12 or newer | Not stated |
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.