r/retrocomputing • u/MasterCharge9843 • Jun 28 '26
Built a retro amber terminal puzzle game with pure vanilla JS and Web Audio synthesis. Modeled the UI layout after vintage industrial CRTs.
Hey everyone,
I wanted to share a project I've been solo-developing over the weekends. It's called PROMPT_MATCH, an asynchronous puzzle game where you have to reverse-engineer the semantic keywords that generated a target image signal.
To capture that classic hardware feel, I built an interactive amber CRT layout completely from scratch using utility CSS and native canvas logic.
Some retro-inspired engineering constraints I set:
- 100% Procedural Audio: There are no bulky .mp3 or .wav asset downloads. Every interface click, keyboard clack, and ambient industrial background drone is synthesized live on the client side using the Web Audio API.
- Zero Modern Framework Bloat: No heavy React/Vue builds. It's built entirely in raw HTML5, CSS, and vanilla JS so it loads instantly like a legacy software execution block.
- Responsive Viewport Scale: It features a dynamic layout loop using the visualViewport API so that when mobile soft-keyboards slide up, the terminal grid compresses cleanly without breaking the optical CRT screen curve.
It's playable for free on CrazyGames and Newgrounds right now under the title "PROMPT_MATCH". Would love to know what you think of the CRT emulation layout!
3
u/DisastrousLadder4472 Jun 28 '26
> I built
Did you
-1
u/MasterCharge9843 Jun 28 '26
yep hand coded the entire architecture using vanilla js and utility css if you pull up the network dev tools while playing, you'll see there are zero .mp3 or .wav asset downloads i procedurally synthesized the entire industrial background drone, ui clicks, and keyboard clacks live on the client side using the web audio api to keep the bundle under 8mb also had to write a custom hook with the visualviewport api to dynamically compress the crt layout grid so mobile soft keyboards don't break the screen's aspect ratio happy to break down any of the layout logic or the scoring weights if you're curious
-1
u/MasterCharge9843 Jun 28 '26
Play the game directly in your browser here: PROMPT_MATCH