TomLabs Apps
← All applications

ForestWalk

A gentle walk through the forest for children aged 3–6: find the animals, feed them and fill the atlas — alone, together at one keyboard or online.

web game kids education multiplayer typescript Public Homepage

ForestWalk

A gentle walk through a living forest for children aged 3–6. The child walks about a forest clearing, meets rabbits, squirrels, hedgehogs, roe deer, wild boars and foxes, picks up carrots, apples, acorns, hazelnuts and earthworms and feeds each animal what it likes. Every game takes place in its own big forest world made from a random seed, in the spirit of Don't Starve — meadows, oak and spruce woods, lakes and rocks, with a map (M) that opens up only where the children have walked. Every animal met goes into the shared atlas, with a short fact read aloud in Czech for children who cannot read yet.

Everything is drawn in the look of Rascals — thick ink outlines, flat colours, chunky characters — and the forest is dressed for the season of the calendar (?season=winter shows another one).

Play alone, with several children at one keyboard (or with gamepads), or online with friends through an invite link — in the browser, on a computer or a phone. Live at https://forestwalk.tomlabs.xyz.

The brief and the vision behind the game are in docs/VISION.md.

How to play

Keyboard Phone
Walk arrows or W A S D (more children: IJKL, numpad, gamepads) drag a finger on the left half
Give food Space or Enter the big basket button
Throw from the backpack (hold to throw further) Q or right Shift the smaller button next to it

Walking over food puts it into the basket (three pieces fit). Animals are shy: one that sees a child running up runs off, but a child who stands still with food the animal likes makes it come closer, curious. Hand it the food, and from then on it trusts that child and follows it for a while.

Where it came from

  • Engine: built on the engine of Rascals (version 0.7.1, commit 7649f77), a browser arena game by the same author — its server-authoritative room at 30 Hz that also runs in the browser for offline play, client prediction with snapshot interpolation, keyboard / gamepad / touch input with several players at one keyboard, rooms with four-letter codes, the tile map, the bot framework (pathfinding, plan lock, stuck detection) now driving the animals, the character editor, the sound channels, the sprite fallback and the VPS delivery. Everything violent was left behind; the room was rewritten as a clean core. This repository has its own history and is not a fork.
  • Ideas: the successor of ForestEcosystem — its species, what they eat and whom they fear. Its full ecosystem simulation (plants growing, animals breeding and hunting) comes later. No picture was carried over: all art is drawn in code until real art exists (prompts in docs/PROMPTS.md).

Development

Node 22+.

npm install
npm run dev        # server on :3100, Vite client on :5251
npm test           # simulation tests
npm run typecheck
npm run build      # dist/public (client) + dist/server.mjs
npm run icon       # regenerate the PNG icons from scripts/icon.svg

Layout:

  • shared/src — the simulation both sides run: room.ts (the authoritative forest), worldgen.ts (the big world made from a seed; map id les-<seed>), animals.ts (animal minds), species.ts (animals and food), maps.ts (tile maps and pathfinding), sim.ts (movement), protocol.ts.
  • server/src — HTTP + WebSocket server, rooms, /health, the application log.
  • Debug mode: add ?debug to the address (the whole map open, without fog, the doggy and the pussycat go out every few seconds); ?world=<seed> opens one particular forest, ?season=winter another season.
  • client/src — menu, game loop, renderer (the ground painted in chunks at screen resolution), the world map with fog, input, sound and speech, the Logs page.

Sprites

Pictures listed in client/public/sprites/manifest.json are loaded from client/public/sprites/<name>.png and replace their drawing in code (animal/<species>, food/<kind>, tree/<kind>, bush, feeder, boulder).

Operations

  • GET /health → { "status": "Healthy", "version": "0.1.0", "name": "forest-walk", "entries": {…} }; Degraded when the log folder cannot be written.
  • Logs page at /logs (administrators only; ADMIN_TOKEN): the latest events live, filtered by level, source and text, and the daily log files with a tail view and download. Configuration: LOG_DIR (default logs), LOG_LEVEL (info), LOG_LEVELS (per source, e.g. room=debug), LOG_RETENTION_DAYS (14).
  • Analytics: GA4 through the shared consent banner tomlabs-consent.js; the measurement ID comes from the pipeline (web-analytics variable group) and nothing is sent before the visitor accepts.
  • Deployment: azure-pipelines.yml builds and tests, then ships the sources to the VPS, where Docker builds the image (docker-compose.production.yml, port 5250 on localhost) behind nginx (nginx.forestwalk.tomlabs.xyz.conf, Let's Encrypt via certbot). The release is verified through /health and rolled back when it is not healthy. Variable groups: forest-walk-deployment (VPS_SSH_PRIVATE_KEY_B64, FORESTWALK_ADMIN_TOKEN), appstore-publish, web-analytics. All of them, the pipeline and its authorizations are set up by pwsh tools/Setup-Pipeline.ps1 [-SshKeyPath <codexdeploy key>] from the TomLabs vault.

Changelog

0.30.0 — 2026-10-12

  • Added: background music "Enchanted Woodland", playing over and over (Hudba volume); it replaces the music box.

0.29.0 — 2026-10-05

  • Added Ježibaba's life at home: she stirs a green potion bubbling in her cauldron ("Bublej, bublej, lektvárku…"), sweeps the floor with her broom, feeds Mourek, her black tomcat ("Na, Mourku, papej!"), counts the gingerbread hearts at her table and rests in her chair. At night, or with a child in her cage, she dozes in the chair.
  • Added creeping into her house while she is at home: busy with a chore she leaves the door on the latch, and a child can sneak in behind her back. Whoever comes into her sight she spots after a moment ("Hm? Copak to šramotí?" first), says "Aha! Tak ty jsi u mě doma!" and shuts in her cage. Resting in her chair she keeps the door locked, and a knock brings her out as before.
  • Added taking a gingerbread heart off her table with E; she may hear it ("Kdo mi bere perníčky?!") and then spots a child in her sight sooner.

0.28.0 — 2026-10-04

  • Added little front paws to the squirrel: held up before its chest, holding the nut while it eats.
  • Added Blůjinka, a little blue girl dog who walks on two legs, with pointy black ears (yellow inside), a black patch over each eye, a muzzle yellow underneath, a white tummy, white paws and a black tip to her tail, and her little house with a red roof and a wooden porch (a path leads to it in every forest). By day she rests on her porch; when a child comes by she runs up with her ball in her paws and puts it down at its feet ("Hoď mi míček!"), then waits by it, wagging her tail. Press E (or throw) and the ball flies: she dashes after it and brings it back ("Haf! Ještě!"). Left waiting too long, she takes the ball home and has a rest. Now and then she pops in to her bowl, and at night she sleeps curled up in her basket.
  • Added Blůjinka's daddy, who looks just like her, only bigger (both with white eyebrows): he stands on the porch, strolls round the lawn, says hello to a child who comes up, praises Blůjinka when she brings the ball back ("Šikovná holčička!") and now and then goes in to read the paper in his armchair. At night he sleeps in his big bed.
  • Added Blůjinka's mummy and her little sister, both light brown with dark brown patches over the eyes and dark brown ears, a white tummy, white paws and a white tail tip. Mummy strolls round the lawn and looks out of the window; the little sister runs about and dashes after the ball with Blůjinka ("Já taky! Já taky!"). Each says hello to a child who comes up. At night mummy and daddy sleep side by side in their big bed, the little sister in her basket next to Blůjinka's.
  • Added their room: walk in through the door to see the two baskets, the toy box, mummy and daddy's bed, daddy's armchair, the bowl and the rug.
  • Added the ball to the backpack: it can be picked up and thrown like anything else, and a child holding it throws the ball first.

0.27.1 — 2026-10-04

  • Changed the narration so that only the narrator and Ježibaba speak aloud; the children, the animals, the doggy and the pussycat, the big dog and the pigs say their lines in speech bubbles only. Their recordings stay, so they can come back.

0.27.0 — 2026-10-04

  • Removed reading aloud with the browser's speech synthesis (it sounded robotic).
  • Added recorded narration, ready for the recordings: every line the game says has its speaker — the narrator telling what happens, and the characters and animals saying their own lines (their speech bubbles) in their own voices: the doggy, the pussycat, the big dog, granny Anča, grandpa Láďa, Ježibaba, the four pigs, each kind of animal, and the child. An animal met for the first time now says hello itself ("Ahoj, já jsem liška!"). The lines play one after another; one not recorded yet is simply not heard. The menu offers switching the narration off once there are recordings.
  • Added the narrator's voice: all 154 narrator lines recorded with ElevenLabs (voice "Honza Bílek", a deep fairy-tale voice of an older man).
  • Added the animals' voices: all their lines recorded with ElevenLabs (voice "Denisa", soft and tender).
  • Added the children's voices: all their lines recorded for a girl (voice "Marketa") and for a boy (voice "Spitfire").
  • Added the voices of the characters: Ježibaba ("Grandma Titina"), the doggy ("Kuba"), the pussycat ("Katy", evened out to be a little louder), the big dog ("Radan - Deep") and the pig family — daddy ("Matej"), mummy ("Eliska"), Růženka ("Piku") and Kubík ("Teddy Twinkle"). Granny Anča and grandpa Láďa are not recorded yet.
  • Changed the narrator to keep quiet about what the child sees on the screen ("Veverka papá oříšek.", "Začíná pršet!", what granny is cooking, what the pigs are playing): he still says what to do, warns of danger and tells what cannot be seen. The muted lines stay recorded and are marked in the list of lines.
  • Added a voice choice to the character editor: a child speaks with a little girl's or a little boy's voice (looks saved before guess it from the hair). The few sentences that told a boy from a girl ("Snědl jsi…", "Ty ses mi schoval…") are now said so that they fit both.
  • Added the recording script: npm run narration writes docs/NARRATION.md (every line by speaker, with the file name its recording needs) and docs/narration.csv, and the manifest of the recordings in client/public/narration/; pwsh tools/Narrate.ps1 -Speaker <who> generates a speaker's missing lines with ElevenLabs (the API key comes from the TomLabs vault).

0.26.0 — 2026-10-04

  • Added jumping: Space makes your child hop up (smiling) and land again, its shadow staying on the ground; landing in a puddle or the pigs' mud splashes properly. The other keyboard layouts jump with right Ctrl (arrows), H (IJKL) and Num , (numpad); a gamepad with A; on a phone there is a jump button above the yellow one.
  • Changed the action key (giving food, peeling gingerbread, asking granny for a buchta, rolling a snowman) from Space to E on the WASD keyboard, and to B on a gamepad (right trigger still works). Enter stays for the arrow keys.

0.25.0 — 2026-10-04

  • Added feelings on the children's faces: happy (eyes squeezed into arcs, a wide smile) when they feed an animal, meet a new one, eat a treat, build a snowman or are let out of the cage; laughing when they splash in a puddle or the mud; scared (wide eyes, raised brows, an "oh!" mouth) when Ježibaba is after them or granny storms out; sad (brows up in the middle, a frown and a tear) when swatted, turned away, when an animal does not want what they hold, or in the cage; surprised when they find the gingerbread house or are turned into an animal; and sleepy at night when they stand still a while (heavy lids, now and then a yawn).

0.24.0 — 2026-10-04

  • Added the pig family's yellow house on its little green hill, with a big muddy puddle by the door: big round daddy in blue-green with his glasses and a soft beard, mummy in an orange dress, Růženka in a red dress and little Kubík in a blue striped T-shirt, all with rounded ears — our own pigs, drawn like everyone else in the game.
  • Added the pigs' games: Růženka and Kubík jump in the muddy puddle ("Hop do louže!", ŠPLÍCH!), then mummy and daddy join in ("Všichni do louže!"), everyone jumps and they all fall on their backs laughing ("Chro chro chro!"), and go home spattered with mud. They also throw a ball to each other in the yard, and the whole family walks round their hill. In the rain they go jumping in the mud more often.
  • Added splashing in the pigs' muddy puddle yourself — with the piglets in it they cheer ("Ty taky skáčeš do louží!").
  • Added the inside of the pigs' house: mint wallpaper, a picture of the family, the kitchen stove where mummy makes pancakes ("Kdo chce palačinky?"), Růženka's pink and Kubík's blue bed, the table with a stack of pancakes, the orange sofa, mummy and daddy's big bed, toys, and four pairs of muddy boots by the door. You can visit them ("Ahoj, pojď dál!"); at night they all sleep.

0.23.0 — 2026-10-03

  • Added eggs: granny's hens now and then lay an egg in the yard ("Kvok kvok!"). Pick it up and bring it to granny: she takes it ("Vajíčka! Děkuju, upeču z nich buchty.") and bakes buchty soon. A fox or a hedgehog would love an egg too.
  • Added buchty to take: in granny's cottage the feed button asks her for one off the plate ("Tu máš, dobrou chuť!"); with none baked yet she asks you to bring her an egg. A buchta (or a piece of gingerbread) you can eat yourself with the feed button when no animal is about — or give it to a wild boar or a fox.
  • Added day and night: a whole day goes round in about twelve minutes. In the evening the light turns warm and then a soft blue night falls, with light round every child and round the lit windows of the houses, and fireflies on summer nights. The animals of the day (rabbits, squirrels, roe deer) go home and sleep (z z z); the hedgehog, the fox and the wild boar are about at night. Granny and grandpa go to bed ("Dobrou noc!"), the doggy and the pussycat sleep in their beds (her doll tucked in beside her), Ježibaba dozes, the hens sleep and lay no eggs, and grandpa does not go hunting. At night the owl hoots and the crickets chirp; in the morning the rooster crows ("Kykyryký!") and everyone gets up. The windows of the rooms show the night sky with the moon.
  • Added weather: fair spells and now and then a shower of rain (in winter snow), the same for everyone in the forest. While it rains the light turns grey, the rain patters and puddles fill round the children, rings rippling on them; run into one and it splashes (ČVACHT!). After the rain the puddles slowly dry up.
  • Added snowmen: in winter, where no animal is about, the feed button rolls a big snowball; press again by it for the middle, then the head — and with a carrot in your backpack it gets a carrot nose.
  • Added ?time=morning|day|evening|night and ?weather=rain|snow|clear to start the forest at another time of day or in another weather (for trying things out).
  • Fixed granny's buchty being left unbaked when grandpa came home with a pheasant meanwhile: the pheasant now waits on the table until the buchty are out of the oven, and baking broken off by a chase is picked up again when she is back.

0.22.0 — 2026-10-02

  • Added the inside of granny Anča's cottage: the green tiled stove, the dresser with plates, a cuckoo clock, grandpa's gun on its hooks and granny's fly swatter on its nail, grandpa's bed with a checked featherbed, the table by the window, granny's rocking chair and her couch, the bucket by the door.
  • Added visiting granny and grandpa: walk in through their door and granny welcomes you ("Pojď dál, dítě!", or offers buchty when she has baked some). A child who threw things at the cottage is shooed off at the door, and one hiding inside when granny comes back from chasing someone is found and sent out.
  • Changed granny and grandpa's stories to go on indoors: grandpa takes his gun off the wall before he goes hunting and hangs it back, takes the bucket to scrub the walls and puts it back; home with a pheasant he hands it to granny, who roasts it in the stove while he waits at the table; they eat it together, and then grandpa naps in his bed and granny on her couch (snoring). Granny knits in her rocking chair, bakes buchty now and then, stands at the window when someone throws things at the cottage, and hangs her fly swatter up when she comes back in.
  • Changed granny's cooking to go step by step: for the pheasant she fetches her roasting pan from the dresser, puts the bird in it at the table, salts it and adds butter and caraway, slides it into the oven, bastes it halfway ("Ještě ho poliju šťávou."), takes it out golden and serves it on a platter; for buchty she kneads the dough in a bowl at the table, puts the tray into the oven and takes it out golden. The oven door swings open while she does it, and you can see what is inside.
  • Changed the table: granny and grandpa sit side by side on proper chairs behind it, grandpa gnawing a pheasant leg he holds in his hand, granny eating with her spoon.
  • Added grandpa's life at home: he reads his newspaper at the table, and now and then puts a log on the fire (the firebox open, flames leaping), winds the cuckoo clock or looks out of the window ("Jakpak je venku?"). A child visiting the cottage counts as someone to watch, so he goes hunting then too.
  • Changed grandpa's gun to his home-made one: an old Colt 1911 with a silencer he made himself (wrapped in tape, a hose clamp round it) and a folding wire stock — unfolded when he aims, folded when he carries it or it hangs on its hooks.
  • Fixed grandpa at the window: he now looks like grandpa outside (grey hair, no moustache).
  • Fixed granny stopping for a moment at the table (and anyone else catching on the corner of a piece of furniture or a wall): walkers now slide along the edge.
  • Fixed grandpa jumping from the table straight into his bed: he walks over to it first.
  • Fixed Ježibaba looking out of her window while she was outside chasing someone (or asleep by the oven).
  • Fixed grandpa sitting at the table for ever while the only child about was visiting inside the cottage.
  • Inside the cottage granny and grandpa are the same figures as outside: granny sits knitting in her rocking chair, grandpa sits behind the table, and asleep they lie with their eyes shut — grandpa under his featherbed, granny on the couch under a blanket.

0.21.0 — 2026-10-02

  • Added creeping into Ježibaba's house while she is out (chasing someone, or walking round to look): her door is only locked while she is at home. When she comes back and finds a child inside, she shuts it in her cage ("Aha! Ty ses mi schoval doma!"); any other child in there she chases out of the door. A child she is chasing that runs into her house is followed straight home.
  • Changed the cage: a child shut in it can shuffle about a little behind the bars.
  • Added a sound for knocking at Ježibaba's door (ťuk ťuk).
  • Added teleporting in debug mode (?debug): a click into the forest, or onto the big map, puts your child there.
  • Fixed knocking at Ježibaba's door (or walking into the doggy and pussycat's house) from far away, anywhere in line with the door above the house.

0.20.0 — 2026-10-02

  • Changed the doggy and the pussycat's stories so that one thing leads to the next, indoors and out — you can watch them from inside their house too:
    • The floor: the doggy fetches water in the bucket and carries it home; there the pussycat washes the floor with the doggy, then the doggy with the pussycat, and the two of them, wet through, go out to dry hanging on the clothesline.
    • The cake: they mix the dough at their table, the doggy bakes it in the stove and carries it out to cool by the door — and the story goes on as before (the big bad dog eats it while they walk in the forest).
    • The walk: the pussycat takes her doll from her bed, and puts it back when they are home again.
  • Changed the welcome when you walk in: the doggy and the pussycat greet you wherever they are in the room.
  • Fixed Ježibaba dozing in her chair with her eyes open: asleep, her eyes are shut.

0.19.0 — 2026-10-02

  • Added the inside of Ježibaba's gingerbread house: gingerbread walls trimmed with icing and studded with sweets, a round window onto the dark forest, the big brick oven with the fire going, her rocking chair, a cupboard of jars of sweets, a table with gingerbread hearts, her broom — and the cage.
  • Changed what happens to a child Ježibaba catches: she leads it inside and shuts it in her cage, then dozes off in her chair by the oven ("z z z"); the child sees itself behind the bars ("Pusťte mě ven!"). The animal that comes to help slips in through the door on tiptoe ("Pst! Hned tě pustím."), works at the cage's padlock, and then the child and the animal come out together.
  • Added knocking at Ježibaba's door (it is locked): "Ťuk ťuk!" — and she comes out to see who it is.

0.18.3 — 2026-10-02

  • Fixed Ježibaba not seeing children right in front of her house: from her doorway she looked out through her own wall. She now looks along the ground, so a child in the open near her is seen, while one behind the house or a tree still is not.

0.18.2 — 2026-10-02

  • Fixed the backpack bar not showing what was in the backpack after throwing something or peeling gingerbread (it showed old things while the backpack was in fact empty, or missed the gingerbread): it now follows every change.

0.18.1 — 2026-10-02

  • Fixed Ježibaba vanishing the moment she cast her spell when she stood at her door: she now stays out a moment, turned to the child she has bewitched, shaking her fist and cackling, before she goes in.

0.18.0 — 2026-10-02

  • Added Ježibaba's spell: hit her with something you throw and she gets cross ("Ty jeden! Čáry máry, ať jsi zvířátkem!") and turns you into one of the forest animals — a rabbit, a squirrel, a hedgehog, a roe deer, a wild boar or a fox — for ten seconds, with a shimmer of magic round you, then cackles her way home. As an animal you can walk about but not pick up, feed or throw anything; then the spell wears off.
  • Changed Ježibaba to chase a child she sees for longer and further: she gives up 20 tiles from her house, after 25 seconds, or when she has not seen the child for 5 seconds.

0.17.0 — 2026-10-02

  • Changed Ježibaba to look before she chases. Peeling her roof or — new — throwing something at her house brings her out of the door to look round. A child she can see (near enough, with no tree or house between them) she chases, and she gives up on one she has lost sight of for a few seconds; so hiding behind the house or a tree works.
    • After a throw, seeing nobody, she shakes her fist ("Počkejte, já vás najdu!") and goes back in.
    • After peeling she asks "Kdo mi to tu loupe perníček?" out of her door, and seeing nobody she goes back in ("Hm, nikde nikdo.") — or, now and then, walks round the house to look and chases whoever she spots.
  • Added the pussycat's doll in the doggy and pussycat's room, sitting on her bed (unless she has it with her on a walk).

0.16.0 — 2026-10-02

  • Changed the address to https://forestwalk.tomlabs.xyz.

  • Added going into the doggy and pussycat's house (the first house to visit): walk up into its door and you are in their room — bigger inside than it looks from outside, as in a fairy tale — with the wallpapered wall, a window onto the forest in its season, a picture of their cake, their two beds, the stove with a pot steaming on it, the cupboard, the table with a checked cloth and a chair each, a rag rug and a broom. When they are at home they stand at their table and welcome you ("Ahoj, pojď dál!" – "Mňau, vítej!"); when they are out on an outing the room is empty. While a child visits, they stay at home. Walk down out of the door to be back in front of the house.

  • Inside, footsteps sound on the wooden floor and the forest is heard through the walls, much quieter.

0.15.2 — 2026-10-02

  • Changed grandpa to roast his pheasant for a while (the chimney smokes) before he sits down at the window to eat it.
  • Changed granny's and grandpa's faces at the windows to show more: granny with her curls, big round glasses with a glint and hands on the sill, smiling at first, then pursing her lips, then red and shouting with a fist raised; grandpa with a bald crown and grey hair round it, bushy brows, eyes shut with pleasure, a red nose, a big grey moustache going up and down as he chews, and a napkin tucked into his collar.

0.15.1 — 2026-10-02

  • Added the short commit next to the version at the bottom (v0.15.1 · 1a2b3c4, with a + while there are changes not committed yet), and to GET /health, so it is clear which build is running.
  • Added the pheasant cock's call now and then and the whirr of a pheasant taking off.

0.15.0 — 2026-10-02

  • Added pheasants round granny Anča's cottage, cocks (green head, red face, long tail) and brown speckled hens, as in Rascals: they wander and peck on the meadows and in the bushes, burst up and fly off when a child comes near, and new ones turn up.
  • Added grandpa Láďa going hunting now and then: out he comes with his old double-barrelled gun ("Půjdu na bažanta."), creeps up on a pheasant, aims and — BUM! — shoots it, but only with no child anywhere near the bird or the line of fire. He picks it up ("Ten bude dobrý!"), plucks it outside by the corner of the cottage with the feathers flying, carries it in, and then sits at the open window eating it, the smell of the roast curling out. Hit him with something while he is out with the gun and he only grumbles "Neplaš mi bažanty!".
  • Changed the chimneys of all three houses to smoke only in autumn and winter, when the stoves are lit — and at granny's while grandpa roasts his pheasant or granny is cross.

0.14.2 — 2026-10-02

  • Added the roe deer barking (now and then, and when scared off) and granny Anča's own shout when she storms out of her cottage, the recording from Rascals.

0.14.1 — 2026-10-02

  • Changed the sound words (PLESK!, KŘUP!, …) to calmer ones: just yellow letters with a dark outline that come up, rise a little and fade, without the red letters, the burst behind them and the shaking.

0.14.0 — 2026-10-02

  • Added real recordings to the forest, heard from where things happen (quieter further off, from the left or the right):
    • the forest itself: birdsong in spring and summer, crickets in summer, the wind in autumn and winter, water lapping near a lake, and now and then a blackbird, cuckoo, woodpecker, crows or an owl, as fits the season;
    • footsteps on grass, the path, leaves (in autumn and under spruces) and snow, leaves rustling in a bush;
    • the doors of all three houses creaking open and banging shut;
    • granny's fly swatter and grandpa's brush, splats on the cottage, grandpa scrubbing, the hens clucking and squawking;
    • the doggy barking and the pussycat meowing, the big dog growling, barking and whimpering, Ježibaba cackling;
    • rabbits thumping, the hedgehog, the squirrel, the fox and the wild boar calling now and then and when scared off;
    • animals munching, gingerbread crunching, the whoosh of a throw, fruit landing.
  • Added a Příroda (nature) volume in the menu for the forest sounds.
  • Changed the music box to play without the synthesised bird chirps.

0.13.2 — 2026-10-02

  • Changed sound words (PLESK!, PLÁC!, KOKODÁK!, KŘUP!, MŇAM!) to look like in a comic: heavy red capitals with a thick outline on a jagged yellow burst, tilted, popping up and gone in a second. What someone says stays in a speech bubble.

0.13.1 — 2026-10-02

  • Fixed splats showing over granny Anča's open window: a thing thrown in through it leaves no splat (she still minds it), and splats on the glass hide while she leans out.
  • Changed the "Nový kamarád" card to a small one in the top right corner, under the atlas, instead of a big one at the bottom of the screen; on a phone it stays clear of the backpack.

0.13.0 — 2026-10-02

  • Added grandpa Láďa and granny's three hens to her cottage, as in Rascals.
    • Splats thrown on the cottage now stay on the wall until grandpa comes out with his bucket and scrubbing brush ("Zase to umývat…") and scrubs them off one by one; then he goes back in. He also comes out when granny storms out, and waits by the door until she is back.
    • Hit grandpa with something and he gets cross ("Hej! Já ti dám!"), goes after the thrower and gives one swat of his brush (PLÁC!), then back to work.
    • The hens strut about the yard, peck and scatter from a child who comes close. Hit one and it runs off cackling (KOKODÁK!) — and granny is out of her door at once, after whoever threw.
  • Changed the cottage door to open only while someone goes in or out.

0.12.0 — 2026-10-02

  • Added granny Anča's cottage from Rascals on a meadow, with a path to its door: the same timber-framed cottage with a scalloped tile roof, pink curtains and flower boxes, and the same granny Anča with her brown curls, big glasses, purple polka-dot dress and fly swatter. It shows on the map once found.
    • Things the children throw at the cottage make it shake and leave a splat on the wall (red apple, orange carrot, …) that fades after a while.
    • Every hit fills the anger meter over the roof, which has 5 pips; granny throws the window open and leans out, redder and crosser with each one, and the chimney smokes thicker. Left alone for a few seconds, she calms down again.
    • At 5 she storms out of the door ("Vy jedni darebáci!") after the child who threw. She is a little slower than a child, so running away works; whoever she reaches gets a swat of the fly swatter (PLESK! — "Au!") that sends it a step back, nothing worse. After three swats she has had her say ("A máš to!") and goes home ("Hmpf!"), and she gives up after a while anyway.

0.11.2 — 2026-10-02

  • Fixed the door of the doggy and pussycat's house staying open after they came home; it now shuts behind whoever goes in last.

0.11.1 — 2026-10-01

  • Changed Ježibaba's face to show more: bushy grey brows frowning over small yellowish eyes, a big hooked nose with a wart, wrinkles, a crooked grin with one tooth, grey wisps of hair under a spotted headscarf tied under her chin.
  • Changed the doors of the gingerbread house and of the doggy and pussycat's house to swing open and shut on their hinges instead of jumping. Behind the gingerbread door glows Ježibaba's oven, behind the other one lies a rag rug. Ježibaba, the doggy and the pussycat come out once the door is open, and the door closes behind whoever went in.

0.11.0 — 2026-10-01

  • Added Ježibaba coming out of her gingerbread house. A child who peels her roof hears "Kdo mi to tu loupe perníček?" from the window, and a moment later she runs out of the door, shakes her fist and tries to catch the child.
    • A child who runs away gets away: she gives up and goes home ("Příště tě chytím!").
    • A child she catches she leads by the hand into her house and shuts the door; the child cannot walk while she has it.
    • Then the nearest forest animal comes running ("Běžím na pomoc!"), opens the door and lets the child out ("Utíkej!" — "Děkuju!").
    • After that she stays at home for a while, however much of her roof is peeled.
  • The door of the gingerbread house opens while she goes in and out.

0.10.1 — 2026-10-01

  • Changed the pussycat's doll to a proper rag doll about half her size: yellow pigtails with red ribbons, a face with rosy cheeks and a smile, a red dress with white dots and a collar, little legs with black shoes. She carries it on her arm beside her instead of hiding it against her body.

0.10.0 — 2026-10-01

  • Added outings of the doggy and the pussycat: now and then, while a child is about, they come out of their house, walking upright as in Josef Čapek's book, and do one of four things:
    • bake a cake, leave it by the door to cool and go for a walk in the forest; meanwhile the big bad dog comes, eats the whole cake and then lies under the nearest tree with a tummy ache ("Už nikdy cizí dort!"), and the two of them come home asking where their cake went;
    • the doggy takes the bucket to the nearest water, scoops it full and carries it home;
    • after washing the floor they hang by their paws on the clothesline in front of the house to dry, dripping;
    • they go for a walk through the forest, the pussycat carrying her doll.
  • They greet a child they meet outside, talk in bubbles and the voice tells what they are doing when a child is near. The door opens as they go in and out, and the bucket is gone from beside the house while the doggy has it.
  • Changed debug mode (?debug) to send them out every few seconds, to try the outings out.

0.9.0 — 2026-10-01

  • Added the little house of the doggy and the pussycat from Josef Čapek's stories on a meadow near the start, with a path to its door and the bucket and brush they washed the floor with. When a child comes up, they open the green shutters and wave from the window — the brown doggy says "Haf, ahoj!", the white pussycat "Mňau, ahoj!" — then shut them again, until a child comes anew. The house shows on the map once found.

0.8.2 — 2026-10-01

  • Changed the trees and the ground to be copied onto the screen pixel for pixel, without scaling, which is the fastest way when the browser draws without a graphics card: a dense oak wood on a 2000 × 1040 screen now takes about 4 ms a frame to draw.
  • Changed the trees to stand still instead of swaying (leaning every tree picture each frame was costly); the autumn leaves still fall.

0.8.1 — 2026-10-01

  • Changed the trees to be drawn once into pictures and only placed each frame: in an oak wood a frame took 21 ms to draw (fewer than 50 frames a second), now it takes under 2 ms.
  • Changed the ground to keep in memory only what is on the screen, which stopped stalls while walking through the big forest; the ground is painted at most at three times the world's size, the trees and characters stay at full sharpness.
  • Added the frame rate and drawing time to the debug mode (?debug).

0.8.0 — 2026-10-01

  • Added throwing from the backpack (Q, right Shift, O, Num +, gamepad X, or the second button on a phone): a tap puts the last thing down in front of the child, holding throws it further — up to five tiles — and a dotted arc shows where it will land.
  • Added animals coming to food thrown to them: a shy deer that will not let a child close eats an apple tossed from afar, and that counts as the child feeding it.

0.7.0 — 2026-10-01

  • Added fruit falling from the trees in its season: acorns from the oaks in autumn, hazelnuts from the hazels at the end of summer and in autumn, apples in summer and autumn, and spruce cones in autumn, winter and spring. It can be picked up once it lands, with a soft knock.
  • Added spruce cones as food: the squirrel gnaws them like corn on the cob.
  • Changed what lies in the forest to follow the season: out of season a fruit is not there at all (or only a few left from autumn lie in the snow), earthworms hardly come up in winter, and the forester's feeder has the most carrots in winter.
  • Changed the forest to keep changing: food lying long where no child is around is eaten by other animals, and new fruit falls more often near the children.
  • Changed the season to be decided by the forest itself, so everyone in an online game sees the same one.

0.6.0 — 2026-10-01

  • Changed the trees to look like the real species: an oak with a massive short trunk, crooked limbs and a broad lobed crown; a narrow spruce of drooping tiers with a leader on top; an apple tree forking low under a wide flat crown; a hazel growing as a shrub of straight stems. Each changes with the seasons (fresh green and blossom in spring, autumn colours, bare branches with snow and hazel catkins in winter).
  • Changed trees to stand among the children and animals: a child in front of a tree is drawn in front of it, and a tree turns see-through while a child is behind it.

0.5.1 — 2026-10-01

  • Added a debug mode (?debug in the address) with the whole map open, without fog.

0.5.0 — 2026-10-01

  • Added Ježibaba's gingerbread house on a clearing in every forest, with a path to its door and its own sign on the map once found.
  • Added Ježibaba looking out of the window now and then.
  • Added peeling gingerbread off the roof (the feeding button next to the house): the piece goes into the backpack, a bitten hole stays in the roof until it grows back, and Ježibaba asks "Kdo mi to tu loupe perníček?" — the child answers "To nic, to jen větříček!". No animal eats gingerbread.

0.4.1 — 2026-10-01

  • Added switches in the menu (Zvuk, hlas a nápisy) to hide the speech bubbles with text and the name tags under the children; the choice is remembered and applies at once, also during a walk.
  • Removed the coloured ring under the children.

0.4.0 — 2026-10-01

  • Changed the basket to a backpack for nine pieces of food, shown as a 3 × 3 grid.
  • Added the child turning to the animal and stretching out an arm with the food in the hand when feeding it.

0.3.1 — 2026-09-30

  • Fixed square blocks of dark thicket in the middle of the forest: a place closed in by trees now gets a way cut to it, and an island in a lake grows trees.
  • Fixed lakes, ponds and the edge of the forest following the square tiles: their shores are now round and wavy.
  • Fixed faint grid lines showing on the ground.
  • Added ?world=<number> to walk through one particular forest again.

0.3.0 — 2026-09-30

  • Changed the whole game to the look of Rascals: thick dark-brown ink outlines, flat colours with one highlight, chunky children with big heads, inked animals, food, trees, bushes, boulders, lakes and feeders, and the Rascals menu with cream cards and dark panels in the game.
  • Added the seasons of the calendar: blossom in spring, green in summer, coloured trees and falling leaves in autumn, bare trees, snow and frozen lakes in winter.
  • Changed paths to winding trodden tracks and the edge of the forest to a thicket of young spruces.
  • Removed the first painted rabbit: the prompts for pictures are rewritten in the Rascals style, so real art will match.

0.2.0 — 2026-09-30

  • Added a big forest world, about ten times the size of the first clearing, made anew for every game in the spirit of Don't Starve: meadows, oak woods, spruce woods with needles, lakes, rocky places with boulders, feeders and winding paths between them.
  • Added the map of the forest (the Map button or M): it shows only where the children have walked, the rest stays under the fog.
  • Added animals living where they belong: rabbits and deer on the meadows, squirrels in the trees, hedgehogs by the hazel bushes, boars in the oak woods and foxes deep in the forest.
  • Changed the ground to be drawn at the full resolution of the screen, so it is sharp on every display, and the borders between grass, paths and forest floor to wave instead of following the tile grid.
  • Changed online games to send each device only what is round its own children.

0.1.0 — 2026-09-29

First walk through the forest.

  • Added a forest clearing with a pond, paths, a feeder, oaks, apple trees, spruces and hazel bushes.
  • Added six animals that live there: rabbits, squirrels, a hedgehog, roe deer, wild boars and a fox. They wander round their homes, graze, rest, hide in bushes and run from a child running up.
  • Added food to find and carry in a basket (carrots, apples, acorns, hazelnuts and earthworms) and feeding: an animal comes closer to a child who stands still with its favourite food, eats from their hand and then trusts and follows them.
  • Added the atlas of animals met, with facts read aloud in Czech.
  • Added play alone, with up to four children at one keyboard or with gamepads, and online with friends through an invite link.
  • Added a character editor with ready-made children, hair, hats and extras.
  • Added gentle music, sounds, and a phone layout with a touch joystick and a basket button.