A retro Jetpac game with Entity Component System architecture, WebGL CRT scanline effects, and a Python high-score server.
This is a remaster of the classic 1983 ZX Spectrum game Jetpac. The jetman collects rocket parts, fights aliens, and refuels — but now with WebGL post-processing that recreates the CRT scanline and phosphor glow of a real Spectrum display.
The architecture uses an Entity Component System (ECS) — a well-known game pattern where entities are IDs, components are data, and systems process entities with matching components. Separate systems handle Physics, Collision, and Rendering. The code organisation reflects this cleanly: core (Engine, GameLoop, Input), ecs, entities, systems, rendering, audio, config, ui.
The ZX Spectrum colour palette is authentic. The WebGL post-processing pipeline layers scanlines, phosphor glow, and slight curvature on top of the Canvas 2D game rendering.
There's a Python high-score server and a "newtime" directory with a modernised version of the game. Two versions in one repo — retro faithful and modern take.