I made vibe coded a thing this afternoon:
It's a turn based puzzle game! The details of the game itself aren't so important, as it was mostly an excuse to have something to attach ATProto to.
The main idea was for you to be able to create a puzzle, and store it on your PDS. They are also randomly generated but that's not very fleshed out.
Game text format looks like this:
🧱🧱🧱🧱🧱🧱🧱🧱
🧱🟢🍎🔵🟢🍎🧱🧱
🧱🟢🍎🍎🟢🟢🧱🧱
🧱🟢🧱🍎🟢🧱🟢🧱
🧱🟢🟢🧱🧱🟢🍎🧱
🧱🟢🟢🟢🟢🟢🧱🧱
🧱🧱🟢🟢🧱🟢🏆🧱
🧱🧱🧱🧱🧱🧱🧱🧱Records look like this:
{
"uri": "at://did:plc:oxdlsmnvpk2riyyuvq5jtdkd/run.val.qbat.game.v1/3lyy3mmgq562m",
"cid": "bafyreih3p7n23vgswpaq3vayp4snldg3bfpnar7zxdy673572xeeqgjkbe",
"value": {
"name": "something",
"$type": "run.val.qbat.game.v1",
"gameText": "🧱🧱🧱🧱🧱🧱🧱🧱\n🧱🟢🟢🟢🟢🧱🍎🧱\n🧱🟢🧱🧱🟢🟢🟢🧱\n🧱🟢🧱🟢🟢🟢🧱🧱\n🧱🟢🧱🟢🟢🟢🟢🧱\n🧱🟢🍎🟢🧱🟢🧱🧱\n🧱🟢🧱🧱🟢🟢🔵🧱\n🧱🧱🧱🧱🧱🧱🧱🧱",
"createdAt": "2025-09-16T19:47:49.649Z"
}
}Features:
Play a game
Share/load a game via text
Share/load a game via url
Save/load games to/from a PDS
Post your results to BlueSky
Social sharing looks like this:
I won this #QBAT level in 5 moves! Can you beat my score?
QBAT - Level 7x7
Score: 15 points in 5 moves. Try to beat this score!
Future ideas
Make a feed of created games
High scores (prior work @baileytownsend.dev's 2048.blue)
WASM client stored in a blob?? 👀