Hi, Jinks!

Jinks icon

Jinks is a lightweight multi-platform game engine, an interactive development environment, and more besides. I’m building it around one wonderful idea: write the engine core once, then run it everywhere—and have it behave identically wherever it runs.

As with everything I make, it started with a personal need. I make games, mostly the arcade sort, and I want them to run on the machines I care about—new ones and old ones—without writing each game again for every one of them. So the core knows nothing about any platform at all. Each platform gets a thin shell that draws what the core tells it to draw.

That shifts the work away from reinventing the wheel and onto the game itself: the systems, the mechanics, the rules, the scoring, the gameplay. The parts that are actually fun!

As of today, over fifty arcade, puzzle, and action games run on that single core, side by side. They share the same tick loop, the same collision system, the same renderer, with no per-game engine code. And each one is small and readable.

One of them is BELTRUNNER, and you can play it right now.

One Core, Every Platform

Every shell reads the same per-frame contract: the core says what to draw and what to play, and the shell just draws it. Nothing is reimplemented per platform, so nothing can drift.

Jinks, the Language

Underneath all of this is a language, also called Jinks, built for one thing only: making games.

It’s small and succinct, and it keeps the work on the art of making games. Of everything here, it’s the part I’m most pleased with.

How small? Pong is 145 lines. Frogger is 263. Breakout 353, Asteroids 475, Arkanoid 962. BELTRUNNER, up above, is 1,278.

There’s a lot more to say about it, and I’ll say it closer to release.

Always Playable

A game comes up in minutes and stays playable at every step. No build-and-wait, no dead time between having an idea and seeing it move.

Better still, you can inspect and modify a game while it runs. Tune a speed. Tweak a property. Have it work out the theoretical maximum score. And since the IDE on macOS can connect to a game running on a nearby device, you can do all of that with one hand to a game being played on the phone in your other hand.

Same Every Time

The simulation runs on a fixed 120 Hz tick, quite separate from the display refresh, so a game plays the same on a 60 Hz laptop as it does on a 120 Hz phone. And any run can be reproduced exactly, from a random seed plus the input that followed it.

That one property pays for itself many times over. Replays are exact rather than approximate. The tests replay whole games, frame for frame. And the native and WebAssembly builds—the same core compiled two very different ways—are checked against each other to produce identical output, tick for tick.

Built for Arcade Games


Status

Jinks is in active development and not yet released. I’m bringing it up one platform at a time, and it’s getting closer to release with every one. If you’d like to know when it’s ready, sign up for my monthly newsletter.

Game development has never felt this focused and fun.

jinks.gg

Jinks. Good game!


Matt Sephton,
July 2026


Investors and Partners

Jinks has already come a long way, and I’d like to take it further: more platforms, more polish, the tool battle-tested by devs, and more games in players’ hands.

If you’re an investor or a potential partner, do get in touch.

apps@gingerbeardman.com