An open-source, browser-first achievement engine. Define achievements in JSON, drop the SDK into any web game, persist progress to localStorage.
Achievements are defined in a JSON manifest. Edit and refresh to iterate.
View manifest →The whole thing — SDK, manifests, demo, and Pages workflow — is in this repo.
Repo →import { createSubako, loadManifest } from "./subako-sdk/dist/index.js";
const manifest = await loadManifest("./manifests/example-quest.json");
const sdk = createSubako({ gameId: manifest.gameId, manifest });
sdk.on("unlock", ({ achievement }) => console.log("Unlocked:", achievement.name));
// in your game:
sdk.emit("enemy_killed");
sdk.updateStat("coins", (n) => n + 1);
sdk.unlock("first_blood");