#DHSeaDev — Chrome MV3 — Side Panel or Window — Virtual Pet

Creature Camp

Creature Camp is a small woodland camp that lives beside whatever else you are doing. One shy fox kit is watching the fire when you arrive. Give it a name, and over the days that follow nineteen more friends find their way in — a chipmunk with a seed for everyone, a firefly carrying its own lantern, a stump spirit older than the clearing. They wander, they meet each other, and the camp keeps a short diary of what happened while you were away.

Emberfox kit
Juniperfawn

Every friend is drawn in code — no image files anywhere in the package. These two are the game’s own renderer running on this page.

What you actually do

Very little, on purpose, and all of it is optional. You pet a friend, share a snack, throw a ball. You open the playground and scrub someone with soap until the suds pop, then dry them off with a cloth and watch the whole-body shake that follows. You play one of five camp games when you want something with a score in it. Then you close the panel, and the camp carries on without you.

Snacks are won, not conjured

The bowl fills by playing a camp game, so the one currency in the camp is something you did. A friend who has just eaten, or who has just been petted, politely waits rather than accepting an endless stream.

Days you actually visit

Camp days count visits, not calendar days. Skip a week and nothing is lost, nothing decays and nobody is disappointed in you. The camp has no streaks and never asks you to come back.

Twenty friends, each earned

Nothing about who joins is random. Every friend has a visible goal with a progress bar — clear a game, turn over stones, visit at night, look after the ones already here.

Ten hats and a keepsake each

Hats are earned by playing and any friend can wear any of them. Care for one friend long enough and they bring you something of their own: a pressed leaf, a smooth stone, a feather.

Five places to sit

The clearing, a creek, a hollow, a meadow and the shore, drifting in parallax layers. Pick one, or let the camp choose a different view each camp day.

Build a visitor, send the code

Design a creature, name it, and hand a friend a short code. Their camp gets your creation as a visitor — good company, and deliberately worth no progress, so a code can never hand anyone a shortcut.

A camp that holds still when nobody is watching

The thing lives in a side panel, which means it can be open all day, which means its idle cost is a design problem rather than a footnote. Measured with twenty friends on screen: a watched camp uses about fifteen per cent of one core; when the tab is hidden, or has been unfocused for twenty seconds, that falls to about one per cent. The animations pause, the movement loop stops writing, and the whole thing goes quiet until you look at it again.

After a few quiet minutes in full screen the interface fades away and leaves just the camp — a resting view you can leave on a second monitor. Camp sounds are synthesised in the browser from oscillators and filters: wind, water, crickets and a few soft notes, with no audio files in the package and nothing to load. They are off until you ask for them.

Built to be fair to itself

Progress is earned in play, and the save says so. Saves and backups are sealed, so an edited save restores the last good copy rather than loading; where no good copy exists, every friend and every counter has to be backed by the progress that earns it or it is set aside. Game rounds that finish faster than a person could play them are not counted, and only real input — a genuine click or keypress, never a synthesised one — advances anything.

Questions

Does Creature Camp need an account or an internet connection?

Neither. Everything is stored in your own browser. There is no account, no sign-in, and the extension cannot make a network request at all: its content policy forbids outbound connections, so this is enforced by the browser rather than promised by me.

Can a creature get sick, run away, or die if I stop visiting?

No. Nothing decays into a guilt trip, nobody leaves, and there is no fail state anywhere in the game. A quiet week is just a quiet week; when you come back, a short note tells you what everyone got up to without you.

What is the share code, exactly?

A short line of text that describes a creature you built: its silhouette, its colour, its hat and the name you gave it. It carries nothing else — no save data, no progress, no link back to you. A creature that arrives by code is a visitor: it can be looked after, and it earns nothing toward your own camp.

Does it read the pages I visit?

No. It asks for three permissions — storage, unlimitedStorage and sidePanel — and none of them can see a web page. There is no content script, no host permission, and no tab or page URL is read anywhere in the source.


Privacy

The short version: Creature Camp saves your camp in your own browser, contacts nothing, and has no way to contact anything.

What Answer
Data collected None. The game collects and transmits no data about you.
Accounts or sign-in None. No account system, no login, no email field.
Network requests None, and they are impossible: the extension page policy sets connect-src to none, so the browser itself blocks any outbound connection.
Analytics or telemetry None. No events, no page views, no crash reporting, no third-party scripts.
Permissions requested Three: storage, unlimitedStorage and sidePanel. No host permissions, no tabs, no activeTab.
Where your camp lives chrome.storage.local in this browser only. There is no storage.sync, so nothing is copied to another machine or to a Google account.
Browsing history and page content Never read. No content script, no page capture, no URL of yours is read or stored.
Share codes A code is a short piece of text you copy and send yourself. Nothing is uploaded, no server is involved, and a code holds only the creature: silhouette, colour, hat and name.
Names people type Stripped of control characters and direction overrides and capped in length before they are ever shown, including a name arriving inside someone else’s code.
Audio Synthesised in the browser with the Web Audio API. There are no sound files in the package and nothing is streamed.
Remote code None. No eval, no dynamically built functions, no remote scripts, no CDN libraries, no remote fonts.
Selling or sharing data There is no data to sell, share or transfer, to anyone, for any purpose.
Deleting your camp Removing the extension deletes it. You can also start over from Settings, or download a backup first.
Children There is no chat, no multiplayer and no contact with anyone. Because it collects nothing, it holds no information about anyone, of any age.
The three permissions, and why each exists
Permission Why
storage Saves your camp — your friends, their names, your progress and your settings — in this browser.
unlimitedStorage The save is local-only; this removes an arbitrary ceiling on it so a long-running camp can never fail to write. Nothing is transmitted.
sidePanel Shows the camp in Chrome’s side panel so it can stay open beside whatever else you are doing. The same app also runs in an ordinary window.
Host permissions None requested. The game runs on no website and reads no page.

What was deliberately not built: a leaderboard, a daily-login reward, and any message that tells you a friend missed you. All three are ways of making someone feel watched by a thing that is supposed to be restful.

Questions about any of this: dhseadev@gmail.com


Credits

Built by #DHSeaDev. Every creature, hat, keepsake and scene is drawn in code — twenty-five species, ten hats, five scenes and not one image file. The soundtrack and every sound effect are synthesised at run time. Engine, renderer, art, audio, interface and test suites are hand-written for this project with no bundler, no framework and zero third-party runtime dependencies.

Built by #DHSeaDev — dhseadev@gmail.com