blitOS turns one sentence into a playable game at a live url, with the full source. every character, world and effect on this page is drawn from code at runtime. there is not a single image file here.
one prompt, three things you keep.
the game is already running when the link opens. share it, embed it, play it on any screen.
one zip. plain html5 and canvas. open it in any editor, host it on anything, change whatever you want.
sprites, levels, particles and ui are rendered by the game itself at runtime. one file, instant load, and it looks the same everywhere.
a game is too big to write in one breath. so blitOS writes a small contract before any code, and every pass reads that contract instead of the previous pass.
// game.spec.json { "genre": "arcade-rpg", "loop": { "hz": 60, "seed": 20260907 }, "entities": ["knight", "slime", "goblin", "brute", "orb"], "systems": ["input", "movement", "combat", "loot", "waves", "levelup"], "input": { "keyboard": true, "pointer": "drag" }, "tuning": "tuning.json", "deliver": ["url", "zip"] }
because every number lives in one file, most changes are one field. the game redeploys to the same url with the same seed.
> make the slimes slower and give the sword more reach // tuning.json - "slime.speed": 44, + "slime.speed": 32, - "knight.reach": 62, + "knight.reach": 78, // harness 600 frames seed 20260907 wave 4 reached at frame 2210 was 2640 hp at end 81 was 52
different genres, same pipeline. each of these is running right now, drawn by its own code.