Creature Camp is now on itch.io, free. The whole game is one HTML file of about 240 KB that never contacts a server.
I have already written about how the creatures are drawn and about the test suite that stayed green while four things were broken in front of it. This post is about the packaging: the game started as a Chrome side panel, and the same build now runs in three different shapes of window.
What is Creature Camp?
A camp you keep, not a game you beat. Woodland creatures arrive on their own schedule, wander the clearing, and comment on each other in an activity feed. You pet them, hand out snacks, wash them, throw a ball, and watch what they do about it. There is no fail state, no timer, no ending and no leaderboard.
Twenty-five species across six body plans, ten hats and twelve colour tints, all drawn as SVG by code at the moment a creature appears. The generator is its own post. The sound is synthesised in the browser, so there are no audio files in the download either.
Which three windows?
A Chrome side panel: narrow, tall, and resized by whoever is using it. An ordinary page on my own arcade at play.dhseadev.online, where it is one of ten cabinets. And an embed on itch.io, which hands the game an iframe and a hosting page I do not control.
Those are three different widths, three different amounts of surrounding chrome, and three different answers to “what is the top of the window”. The build detects which one it is in rather than being compiled three ways.
Why is the whole game one HTML file?
Every additional file is one more thing that can arrive late, arrive at the wrong path, or not arrive. A single file has none of that, and it is the same single file in all three places above — no per-venue bundle, no build step, no server.
The art paid for this. A folder of PNGs for twenty-five species in twelve tints is a lot of bytes and a lot of files; a generator that draws them is neither. Same for the audio. What is left is markup, code and a save file.
Does it collect any data?
No accounts, no ads, no analytics, no purchases, and no calls of any kind while you play. Save the page to your disk and it keeps working with the network off. That is not a privacy posture bolted on at the end — it is the reason the file is small enough to be one file.
Where do saves live, and when do they vanish?
In your browser’s local storage, written automatically. Nothing is uploaded anywhere, which is the good news and also the catch: clearing your browser’s site data clears the camp with it.
There is a sharper edge on iPhone and iPad. Safari’s “Prevent Cross-Site Tracking” treats storage written inside an embedded frame as third-party, so a save can look like it worked and then quietly be dropped between visits. This is not specific to my game — it affects every browser game embedded on a page like this one. If you play on iOS, open Settings and use Download a backup every so often. Restore a backup sits next to it, so a camp can also move between browsers or machines that way.
Is it accessible?
It was a build goal rather than a pass at the end. Everything is reachable by keyboard, the interface is labelled for screen readers, and an automated WCAG 2.2 AA scan reports no violations on any of the six tabs. Animation respects your system’s reduced-motion setting, and Day and Night is a real theme switch rather than a filter laid over the same art.
Automated scans catch a specific and limited class of problem, and a green suite here still missed four defects that turned up the moment a person opened the thing, which is its own post too. If something is unusable for you, tell me and I will fix it.
Where can I play it?
On itch.io, or on the arcade, both free. The project page has the longer write-up, the feature list and the privacy detail: Creature Camp.
