Bifteki Taxi radioMEZE RUN
The same pixel-art cottage scene rendered with different hardware-inspired palettes.Same scene · different constraints

Tooling / active extraction

retro-kit

Reusable pieces. Not another engine.

Our browser games kept rebuilding the same things: seeded randomness, pixel painters, palettes, tiny fonts and synthesized sound. retro-kit pulls those pieces out so the next experiment can start with the interesting question.

Implementation in progress. The package is not published yet; this page records what exists today.

Inside the toolkit ↓
DeterministicSeeded generation and repeatable output
DOM-free paintersNode, workers and browser consumers
Generated mediaPixels, light maps, voices and effects

Implementation map

The useful bits between idea and game.

Small modules with explicit inputs and outputs. Use a painter without adopting an audio engine, or a sequencer without taking a renderer.

01 / Pixels

Author small. Render precisely.

PixelBuffer keeps painting independent of the DOM. ScaledPainter lets a scene use a low-resolution authoring grid while reserving finer operations for details. The same painters can run in Node, a worker or the browser.

02 / Randomness

A seed should be a promise.

Seeded generators and named, serializable random streams make results reproducible. Deterministic hashes help check whether a change actually altered the output. A new sound should not accidentally rearrange the landscape.

03 / Colour

Constraints with teeth.

Profiles apply palette limits, dithering and attribute-cell colour restrictions. Palette ramps shift shadows and highlights as well as brightness. C64, Game Boy, Amiga and VGA-inspired constraints give the same scene different visual rules.

04 / Sound

Notes in. Oscillators out.

An audio engine handles buses, ducking and browser gesture unlock. Chiptune and named-note sequencers drive synthesized voices; a separate effects layer handles short game sounds. Formant speech experiments add voiced glides and shaped-noise consonants.

05 / Type and light

Small systems that finish a scene.

A 5×7 bitmap font supplies measurement, wrapping and drawing. Light maps use the same pixel buffers for additive and multiplicative lighting, with posterization when smooth gradients would break the style.

06 / Output

Keep the renderer at the edge.

Canvas, ImageBitmap and Phaser adapters consume the generated output. The core does not need Phaser. A Node-only PNG encoder uses zlib to turn RGBA pixels into files without an image-processing dependency.

Scope & release status

Not a complete game framework—and not pretending to be one.

There is no all-in-one scene editor or required entity system here. Game rules, world structure and rendering remain the experiment’s responsibility. Shared dialogue, quest and save-state systems are future work, not features to rely on today.

The current work is extraction and integration: separating reusable code from its original games without losing their behaviour. There is no public package or installation command yet.

← Back to Build