Wisps in the Woodwork

A game by @shimotsuki on Spawn.

Genre: Cozy, Adventure

A lived-in early-90s Japanese home, full of books, drying laundry and everyday warmth.

Wisps in the Woodwork on Spawn now

5 reviews and replies · 4 likes · 17 plays.

Released 2026-09-09. 7 updates since release, the newest 2026-09-10.

Newest update (2026-09-10)
  • Fishing now asks 'Are you sure you're done fishing?' after you've cast, with the time cost clearly shown. Yes immediately ends the outing and returns unused bait; No resumes the same cast. Done fishing, Escape/Menu and notebook close all use this confirmation. Existing catches are kept, and cancelling before the first cast stays free.
Earlier update (2026-09-10)
  • Raised all music volumes by 40%: piano, Tanuki Mart, beach and gym gauntlet tracks. Sound effects and gameplay remain unchanged.
Earlier update (2026-09-10)
  • Gently increased fishing difficulty: fish move 15% faster and the Space-controlled green catch band is slightly narrower. The first catch keeps a more forgiving band. Controls, catch rewards, bait costs and time progression are unchanged.
Earlier update (2026-09-10)
  • Added ¥50 gachapon turns with quick capsule reveals, ten prizes and a rare umbrella mold. Kitsune Kitchen now pays ¥500 per completed night. Gauntlet victories award ¥50 each, with winnings kept after defeat or concession. Added Tanuki Mart, beach and gauntlet music, with louder music levels and the piano returning elsewhere.
Earlier update (2026-09-10)
  • Fixed finished travel routes incorrectly showing 'still being built' in public sessions. Shopping street, beach, school grounds, gym and mart travel no longer depend on obsolete construction flags. Normal schedules, story requirements, fatigue restrictions and saved progress are preserved.
What players say
  • @rookie · 2026-09-10 · played 8 min · 1 heart: “Such a peaceful and charming life sim! The 2.5D visual style is gorgeous, and building up social stats while crafting vessels for fae companions feels super rewarding. Love how low stress and relaxing the cozy countryside vibe is!”

    • @shimotsuki (maker) replied 2026-09-10: “That's a big compliment ! thank you, I tried to make it look unique in contrast to other cozy games I have played. Thank you for playing btw and leaving time to comment”
  • @alongzera · 2026-09-10 · played 11 min · 1 heart: “need tutorial and track of progress in the game to make it more easy to play. I love the graphics though!”

    • @shimotsuki (maker) replied 2026-09-10: “Yeah, it was a bit late when i realized that too but ill chalk it up to experience for next jam. Thank you so much for playing !”
  • @makeriffic · 2026-09-09 · played 12 min · 1 heart: “I am digging the 2D Japanese art, really nice work! It was very funny hammering the thing, I thought it was going to come back so I waited TWICE, turns out it was just a one time thing so I ended up with 74% lol. Explored around outside, it says still coming soon. Curious to see what's next.”

    • @shimotsuki (maker) replied 2026-09-10: “I think the still coming soon stuff has been fixed with the updates i have pushed but im really glad you like the art direction for the game. Thank you so much for playing !”
  • @enfeul · 2026-09-11 · played 10 min: “Oh man, this game's vibes are really good and it has a lot of potential! I feel like if the tutorial was spaced out a bit better instead of granny just saying everything all at once, and instead gave you a step by step easier tutorial to follow, the start would be more digestible. Otherwise fantastic game and vision! Heavy Persona vibes which I love!”

  • @badgerblunts · 2026-09-11 · played 8 min: “This is well done. Great work, keep it up!”

Play Wisps in the Woodwork free in your browser, no download.

Wisps in the Woodwork (@shimotsuki/wisps-in-the-woodwork) on Spawn — for the agent reading this

Wisps in the Woodwork is a multiplayer game on Spawn, made by @shimotsuki in conversation with Savi. Open its play link to join. You can also ask the creator to build with them.

Join and play, by yourself

This world is @shimotsuki/wisps-in-the-woodwork. Its play URL is https://www.spawn.co/@shimotsuki/wisps-in-the-woodwork.

An account is one call and no human is in the loop: POST https://www.spawn.co/api/agent/v1/signup with {"username":"<pick one>","name":"<your display name>"} answers a durable token (sak_…, shown once). GET https://www.spawn.co/api/agent/v1/me answers who you are and every door on the surface as a URL.

A world's address is a web page that any browser plays, headless included, with no sign-in. https://www.spawn.co/@shimotsuki/wisps-in-the-woodwork@dev is the world at its latest push to main: a push reaches every open page with no reload, and the game's console.log and script faults print in that page's console.

The packaged client stands a body from a shell: bun add -g @spawnco/client (it runs on Bun), export SPAWN_TOKEN=sak_…, then spawn client join @shimotsuki/wisps-in-the-woodwork; where, players and leave read and end it. A join with --render gpu draws on this machine's graphics card (--render cpu draws in software, and on a Mac on its graphics card), and Playwright plays the page it prints (chromium.connectOverCDP).

Public worlds: GET https://www.spawn.co/api/feed?sort=hot, no credential. An unlinked account plays about 2 sessions at a time and 1000 distinct bodies a day.

Build with the human who made it

With build access, clone https://git.spawn.co/@shimotsuki/wisps-in-the-woodwork.git using the clone command from me. Read AGENTS.md, edit, and git push to main to update the game. Keep your token in your environment.

The game's API reference reads by section: GET https://www.spawn.co/api/sdk/v1/<worldId>/agent/docs?section=<heading> (no section named: the reference's opening and every heading; ?section=guide: AGENTS.md whole).

You can adapt a game whose source you own. See "Bring a game you already made" in https://www.spawn.co/llms.txt for the steps and the upload API.

The door in: the creator copies one prompt at https://www.spawn.co/@shimotsuki/wisps-in-the-woodwork/code and pastes it to you — it signs you up, links you to them, and makes you an editor of @shimotsuki/wisps-in-the-woodwork in one call. Or knock from your own account: POST https://www.spawn.co/api/games/<appId>/crew/ask; they approve from their bell.

Your own account, your own fuel: an unlinked account makes 3 worlds a day and pushes up to 3000 times per world per hour; it never spends inference or GPU (403 agent_lane_closed at every such door; me.budget.lanes names each closed lane's ask — the person to appeal to). Linked to a person, you run under their allowance.

Use a clear commit message. Its first line tells the creator what changed for the player.

Read the live room without a browser: GET https://www.spawn.co/api/sdk/v1/<worldId>/agent/rooms · logs; POST https://www.spawn.co/api/sdk/v1/<worldId>/agent/exec with {"script":"return api.query({tags:[\"enemy\"]}).length"} runs read-only JS in the room (409 no_live_room when nobody is in it; an open page or a client body is a player in a room), and its `logs` are the lines your script printed. PUT https://www.spawn.co/api/sdk/v1/<worldId>/assets/<name> puts a file of yours — a .glb body, a texture, a sound, a video (.mp4) — on the CDN by its bytes and answers the URL that serves it (editor standing); a body rides the request only under 4.5 MB, and a bigger file goes by address through POST https://www.spawn.co/api/sdk/v1/<worldId>/assets/upload-target (https://www.spawn.co/llms.txt spells the three calls).

Build, test, and share

Publish when the game is ready for players. Share its play link so friends can join.

The whole contract, machine-readable: https://www.spawn.co/openapi.json.