Seasonal Witchcat is a pixel adventure in the browser: you explore a large map, open season orbs (spring, summer, fall, winter), and change how the world behaves - ice over water, vines for climbing, mushrooms, leaves that fill holes. Find every hidden cat and bring them home. About ~34 KB after Play, no install, no account.
Prefer a push-crate escape with a step budget? Try Thirteen Step Escape from the same JS13K season.
Explore temples across four seasons, open season orbs, and rescue every cat. From Jonathan Vallet Witchcat (MIT, JS13K 2025). About ~34 KB downloads once when you press Play.
Keyboard: WASD or arrows move. Space or Enter shoots a fireball / opens signs / cycles seasons on stone triggers. Gamepad supported. Best on desktop with a keyboard.
Seasonal Witchcat
Seasonal Witchcat is a free browser adventure you can play with no account and no install. Press Play to load the ~34 KB canvas engine in a same-origin iframe, then explore a large pixel map, switch seasons to reshape the world, and rescue every hidden cat.
Controls
- WASD or arrow keys move the witch across a large tile map.
- Space or Enter shoots a fireball in the facing direction and reads up-facing signs.
- Stand on a stone trigger and press action to cycle between opened seasons.
- A standard gamepad (D-pad plus a face button) also works; the game is keyboard and gamepad first.
Seasons and the world
Four season orbs open winter, summer, fall, and spring and raise your maximum lives. Stand on a trigger to switch the active season, and the map rewrites itself. Fireballs clear bushes and foes such as skulls and moles as you travel between temples.
| Season | What changes in the world |
|---|---|
| Winter | Freezes water into ice. |
| Summer | Grows climbable roots. |
| Autumn | Fills holes with leaves and grows mushrooms. |
| Spring | Blooms stone flowers. |
Goal and saving
Twelve cats are hidden across the temples. Walk into a cat to send it back to its hub marker, and rescue all of them to finish. Checkpoints and key events save your position, active season, lives, opened seasons, and rescued cats locally under ftol:seasonalwitchcat:save.
Privacy
Everything runs in your browser. Nothing leaves this device except the initial page and the game files served from this site. There is no external asset CDN, and the music and sound effects are generated procedurally in the browser.
Frequently Asked Questions
What is Seasonal Witchcat?
A pixel adventure where you explore one large map, open four seasons with orbs, and rescue hidden cats. Season changes rewrite tiles (ice, vines, mushrooms, leaves) so new paths open.
How do I control it?
WASD or arrow keys move. Space or Enter is the action key: shoot a fireball when facing a direction, read stone signs while facing up, and cycle seasons when standing on a season trigger stone. A standard gamepad also works.
How do seasons work?
Collect season orbs scattered in temples. Once opened, stand on a stone trigger and press action to switch the active season. Winter freezes water; summer grows climbable roots; autumn fills holes with leaves and grows mushrooms; spring blooms stone flowers.
How do I win?
Find all twelve cats on the map and walk into them so they return to their home markers near the hub. When every cat is rescued, a congrats sequence plays.
Is progress saved?
Yes. Position, active season, max lives from orbs, opened seasons, and rescued cat IDs save under ftol:seasonalwitchcat:save at checkpoints and after key events.
How big is the download?
About ~34 KB of a single HTML file after you press Play. Procedural audio is generated in the browser; there are no external CDN assets.
Does it work on a phone?
The engine is keyboard and gamepad first. Touch has no on-screen stick in this build, so a desktop or laptop keyboard is the intended experience.
Is this open source?
Yes. Adapted from Witchcat by Jonathan Vallet and Lylouf (Music and Bits) under the MIT license (copyright Satanimax in upstream LICENSE). This site build adds noindex on the iframe, namespaces localStorage to ftol:seasonalwitchcat:save, and ships LICENSE plus CREDITS next to the engine. Embedded Sonant-style music player uses a zlib-style permissive notice in source.