A downloadable game

Set the angle and velocity, compensate for terrain and wind. Simple.

A fun little physics toy for a single player, best enjoyed against a human opponent.

-Excellent work around maths and physics; very elegant layout... This could have been a perfect example of use of computers in the 80s for studying at school. Very good work!
IvanBasic, worldofspectrum.org forum (BASIC coding supremo)
-A fun little game... For a BASIC game I thought it was brilliant!
retro robbins, youtube.com

I tried unsuccessfully to make this game in the early 1990s. A lack of physics knowledge and the challenge of drawing the trajectories at a reasonable speed defeated me. Over two decades later, and inspired by the ZX Spectrum nostalgia of the recent Black Mirror special Bandersnatch, I decided to have another crack at it. I used Wikipedia to model the physics, and with some design choices I got the trajectory traces and collision detection fast enough to make the game viable.

This work is free to download, but it remains protected by copyright, and I offer no licence to the user.


I started this Sinclair BASIC game around 25 years ago using a Spectrum +2 and a C15 cassette tape. I wrote the bulk of it during a couple of weeks of late nights in February 2019, using Fuse for macOS in 48K mode with a Recreated ZX Spectrum bluetooth keyboard for the authentic keyword typing experience. The tool listbasic from fuse-utils was invaluable for allowing code review on a decent resolution screen.

Artillery by Kirk Crawford on a black and white screen Macintosh Classic in 1991 for the original inspiration

BMP2SCR 2.11a by Leszek Daniel Chmielewski was used to create the loading screen

Source code available on GitHub

Rated 4.0 out of 5 stars
(1 total ratings)
Tagsbasic, Turn-Based Combat, ZX Spectrum
Average sessionA few minutes
MultiplayerLocal multiplayer
Player count1 - 2


Artillery 1.4.4.tap 26 kB
Artillery 1.4.4.bas.txt (BASIC program listing) 17 kB
Variables.csv (naming reference) 2 kB

Install instructions

TAP virtual tape file for Sinclair ZX Spectrum 48K/128K, works on emulators or on real hardware via DivMMC or similar.

Alternatively you can play the game directly in your web browser via the qaop javascript emulator here.

BASIC program listing and variables table provided for reference

Development log