---
title: "Animals with their own minds"
description: "How the animals in Professor Oops notice noise, shaking, movement and smells for themselves, follow scent trails, and are never hurt."
source_name: "Game Tailors"
source_url: "https://professoroops.com/en/inside/creatures/"
site_home: "https://professoroops.com/"
source_description: "The drawing app where the paper is real. No ads. No accounts. No personal data: only anonymous counts, which you can switch off."
locale: "en"
legal:
  - "Game Tailors · Schieweg 15Y-40, 2627 AN Delft (NL)"
  - "KvK 92437702 · VAT NL866044474B01"
  - "info@gametailors.com · +31 6 4227 5919"
copyright: "© 2026 Game Tailors"
published_at: "2026-11-10T12:03:43.344Z"
modified_at: "2026-11-10T12:03:43.344Z"
---

# Animals with their own minds

## A cat, a puppy, ants, flies, a pigeon and a snail notice the world for themselves

A cat, a puppy, ants, flies, a pigeon and a snail live on the paper. Bang a hammer and the pigeon hears it the way a pigeon hears. Leave food out and its smell drifts on the air until flies come up it. Ants lay an invisible scent line that a pinch of flour can break. And whatever a child does, no animal is ever hurt: each one gets out of the way in its own manner.

[For engineers](<#hood-engineers>)

![Painted illustration of the painter watching a line of ants march to a drop of honey through a magnifying glass, with a snail, sprouting cress and a watering can](<https://professoroops.com/_assets/entity_XCmzGeDgcKJYjPH9Felr.webp>)

## A hammer blow near a pigeon sends it flying, and nothing in the hammer's code says so

Hit the paper with the hammer near a pigeon and it takes off. Hit it across the page and the pigeon keeps pecking, and an automated test checks both. A dog's bark sends it up too, and so does another pigeon taking off beside it. Nowhere in the hammer's code, or the dog's, is there a line that says "scare the pigeon".

Instead, everything that happens on the page leaves a trace in three shared layers: how loud it is, how much the paper shakes, and how much is moving. A bang writes a burst of loudness that is strongest where it happened and fades within a fraction of a second. A blow writes a jolt. A hand swept across the page writes movement. Each animal stands somewhere on those layers and reads them through its own senses.

Those senses differ, and the table below shows by how much. Ants and snails are deaf in the game; they feel the paper shake. A fly is most alert to movement. A pigeon jumps at noise and movement alike. The cat and dog sit in between, and a dog hardly minds the ground shaking.

It used to be done the old way. Until October 2026 the game had about 45 hand-written calls that scared a particular animal from a particular tool, and they disagreed with each other: a crayon scattered ants and a swiping hand didn't. One change replaced them all with these three layers. Now anything that makes a sound, a jolt or a movement on the page reaches every animal, and nobody has to write the pairing in.

A cat, a puppy, ants, flies, a pigeon and a snail notice the world for themselves

For engineers

### A cat, a puppy, ants, flies, a pigeon and a snail notice the world for themselves

Every sound, blow and moving thing writes into three shared, quickly fading fields laid over the air's grid: noise, vibration and motion. Each species reads them through its own sensitivities and a rectified first-order high-pass, so it reacts to change and gets used to what stays. Smells are gases carried by the same wind solver as smoke. Ants lay a pheromone on a finer grid and steer by the difference between left and right over the total, the form measured in real ants. Every press in the game is one shared contact; an animal that minds that pressure is slid clear or dodges, by rule. No creature has a health variable.

[Under the hood](<#hood-alarm>)

A hammer blow near a pigeon sends it flying, and nothing in the hammer's code says so

Under the hood

### A hammer blow near a pigeon sends it flying, and nothing in the hammer's code says so

Three shared fields lie over the air's grid, one value per air cell, so a few thousand per channel on a full page. A write is peak-hold: strongest at the source, falling off smoothly to its edge, and it keeps the larger of what was there and what is new, so many small sources never add up to a bang.

Each channel fades within a fraction of a second, a little slower for shaking than for noise, and goes to sleep when there's nothing left in it. Who writes:

- **Noise:** every sound with a place, and a louder sound reaches further. Each sound has its own loudness: a bark or a bonk is loud, a flap or a pat a little less, a peck or a sniff hardly anything.
- **Vibration:** a blow writes by its energy and its size; a hand rubbing writes by its speed; a bumped table shakes the whole page.
- **Motion:** anything moving, by its size and speed, with a ceiling, and nothing written below a floor.

Each creature reads the fields through one function, the same for all six species, and startles when its threat passes its own threshold. A few things stay direct: the oven and freezer take every animal off the table first, touching a snail with the snail tool tucks it in, and your hand on a cat or dog strokes it.

Try it: one bang, six listeners The game's own rulePick something to happen and tap the page, or press Make it happen. Blue is noise, orange is shaking, pink is movement. Each animal's bar shows how alarming the change is for it; past the notch it startles. **What to look for:** a bark sends up the pigeon and the cat while the ant and snail don't hear it; the hammer's jolt scatters the ant, snail and fly nearby, while the pigeon and dog sit it out \(in the game it is the hammer's bang that puts a pigeon up\). Turn on *Keep it going* and they startle once, then get used to it. The game's field, falloff, decay and threat rule on a full 512 × 384 page, with the animals held still.

![A page seen from above with six animals; tapping makes a noise, a jolt or a movement that spreads as a fading coloured field, and each animal shows how alarming it was for it](<https://professoroops.com/_assets/entity_EaszrTMrRRrBaqZOJoXv.png>)

- pigeon
- fly
- ant
- snail
- cat
- dog
- startled\!
- startled\!
- startled\!
- startled\!
- startled\!
- startled\!
- can't hear it
- can't hear it
- woof\!
- pat\!
- peck
- bang\!
- swish
- page 512 × 384 cells · field grid 8 cells

Tap to makeBarkHand patPeckHammer joltHand swipe

last—

animals startled just now—

### How big a change each animal needs before it jumps

Each cell compares that animal's threshold with its sensitivity to that channel alone, from the game's own species settings. Movement has a ceiling, so an ant never jumps at movement alone. These say how much something alarms the animal, not how well it hears: they were chosen after real animals and tuned, not measured.

| Animal | Noise | Shaking | Movement |
| --- | --- | --- | --- |
| Pigeon | jumpy | calm | jumpy |
| Fly | calm | jumpy | very jumpy |
| Ant | deaf | very jumpy | never, from movement alone |
| Snail | deaf | very jumpy | jumpy |
| Cat | jumpy | steady | jumpy |
| Dog | steady | calm | jumpy |

## A fan that keeps blowing is soon ignored; a cat's sudden rush still startles

Hold a fan blowing next to a pigeon. It startles once when the fan comes on, then stays put. Something louder right after startles it again. Animals notice change and stop noticing what keeps going, and the game's animals do the same. An automated test checks it.

That costs one number per animal: how quickly it gets used to things. A pigeon, a cat or a dog gets used to something within a second or two. Each animal keeps a running memory of how loud, shaky and busy its surroundings have lately been, and only what rises above that memory counts as alarming. A steady sound fades out of its attention by itself. Something that creeps up slowly never rises far above it.

That second rule is how the cat hunts. Movement counts by size and speed, with slow speeds counted far less. A cat creeping slowly shows too little movement to make a pigeon look up. When it breaks into a rush the number shoots past the pigeon's threshold, and the pigeon is in the air before the cat arrives. A test lets a cat stalk a pecking pigeon and checks both halves: the creep goes unnoticed, the pounce doesn't, and the pigeon is never touched. The cat ends its creep a little way off, so it never sneaks right up.

Flies and the pigeon can also have had enough. Every fright adds to their fear, and fear drains away at a steady rate. Wave a hand at a fly a few times in quick succession and it leaves the table; the same waves spread out and it stays; a test pins that too. One pigeon taking off frightens the pigeon next to it, because its wings make noise and movement the other one picks up. The idea came from a study of crested pigeons, a different species, whose wings whistle an alarm as they take off <sup>[Hingee 2009](<https://professoroops.com/en/inside/research-real/#hingee-2009>)</sup>. In the game it is simply something loud and sudden nearby.

[Under the hood](<#hood-creep>)

A fan that keeps blowing is soon ignored; a cat's sudden rush still startles

Under the hood

### A fan that keeps blowing is soon ignored; a cat's sudden rush still startles

Per creature and per channel, every tick, the game takes what the field says now, minus what the creature made itself \(so a pigeon isn't frightened by its own wings\), and compares it with a running memory of what it has said lately. Only the rise above that memory counts, weighted by how sensitive the species is to that channel.

That is a rectified first-order high-pass filter. A steady level fades out of attention over the species' own adaptation time. A slow ramp levels off at a small, steady value, which is why a creep stays under the threshold.

Movement counts by size and speed, and below a walking pace it counts far less than in proportion: that is the creep. Something coming down looks bigger as it nears.

Fear, for the pigeon and the fly only: each fright adds to it, more the further it passed the threshold; fear drains at a steady rate; past a limit the animal leaves. For a moment after a fright only growth above the last burst counts, so a blast that builds over a few ticks is one fright. Cat, dog, ant and snail have no fear store: fright never makes them leave.

Creeping hardly shows; rushing shows at onceAn automated test checks that the creep goes unnoticed and the pounce does not.

A creeping cat at 30 cells a second shows 0.37, under the floor of 0.25; rushing at 150 it shows 1.50, past the pigeon's 0.5. A hand at 150 shows 1.05, a pigeon 0.79.

- cat \(size 35\)
- hand \(size 12\)
- pigeon \(size 9\)
- tennis ball \(size 7\)

Data table

Creeping hardly shows; rushing shows at once

| speed \(cells per second\) | cat \(size 35\) | hand \(size 12\) | pigeon \(size 9\) | tennis ball \(size 7\) |
| --- | --- | --- | --- | --- |
| 0 | 0 | 0 | 0 | 0 |
| 5 | 0.0175 | 0.006 | 0.0045 | 0.0035 |
| 10 | 0.0613 | 0.021 | 0.0158 | 0.0123 |
| 15 | 0.1225 | 0.042 | 0.0315 | 0.0245 |
| 20 | 0.196 | 0.0672 | 0.0504 | 0.0392 |
| 25 | 0.2784 | 0.0955 | 0.0716 | 0.0557 |
| 30 | 0.3675 | 0.126 | 0.0945 | 0.0735 |
| 35 | 0.4617 | 0.1583 | 0.1187 | 0.0923 |
| 40 | 0.56 | 0.192 | 0.144 | 0.112 |
| 45 | 0.6615 | 0.2268 | 0.1701 | 0.1323 |
| 50 | 0.7656 | 0.2625 | 0.1969 | 0.1531 |
| 55 | 0.8719 | 0.2989 | 0.2242 | 0.1744 |
| 60 | 0.98 | 0.336 | 0.252 | 0.196 |
| 65 | 1.0896 | 0.3736 | 0.2802 | 0.2179 |
| 70 | 1.2005 | 0.4116 | 0.3087 | 0.2401 |
| 75 | 1.3125 | 0.45 | 0.3375 | 0.2625 |
| 80 | 1.4255 | 0.4887 | 0.3665 | 0.2851 |
| 85 | 1.5 | 0.5277 | 0.3958 | 0.3078 |
| 90 | 1.5 | 0.567 | 0.4252 | 0.3307 |
| 95 | 1.5 | 0.6065 | 0.4549 | 0.3538 |
| 100 | 1.5 | 0.6462 | 0.4846 | 0.3769 |
| 105 | 1.5 | 0.686 | 0.5145 | 0.4002 |
| 110 | 1.5 | 0.726 | 0.5445 | 0.4235 |
| 115 | 1.5 | 0.7661 | 0.5746 | 0.4469 |
| 120 | 1.5 | 0.8064 | 0.6048 | 0.4704 |
| 125 | 1.5 | 0.8468 | 0.6351 | 0.494 |
| 130 | 1.5 | 0.8872 | 0.6654 | 0.5176 |
| 135 | 1.5 | 0.9278 | 0.6959 | 0.5412 |
| 140 | 1.5 | 0.9685 | 0.7264 | 0.5649 |
| 145 | 1.5 | 1.0092 | 0.7569 | 0.5887 |
| 150 | 1.5 | 1.05 | 0.7875 | 0.6125 |
| 155 | 1.5 | 1.0909 | 0.8181 | 0.6363 |
| 160 | 1.5 | 1.1318 | 0.8488 | 0.6602 |
| 165 | 1.5 | 1.1728 | 0.8796 | 0.6841 |
| 170 | 1.5 | 1.2138 | 0.9103 | 0.708 |
| 175 | 1.5 | 1.2549 | 0.9412 | 0.732 |
| 180 | 1.5 | 1.296 | 0.972 | 0.756 |
| 185 | 1.5 | 1.3372 | 1.0029 | 0.78 |
| 190 | 1.5 | 1.3784 | 1.0338 | 0.804 |
| 195 | 1.5 | 1.4196 | 1.0647 | 0.8281 |
| 200 | 1.5 | 1.4609 | 1.0957 | 0.8522 |
| 205 | 1.5 | 1.5 | 1.1266 | 0.8763 |
| 210 | 1.5 | 1.5 | 1.1576 | 0.9004 |
| 215 | 1.5 | 1.5 | 1.1886 | 0.9245 |
| 220 | 1.5 | 1.5 | 1.2197 | 0.9486 |
| 225 | 1.5 | 1.5 | 1.2507 | 0.9728 |
| 230 | 1.5 | 1.5 | 1.2818 | 0.997 |
| 235 | 1.5 | 1.5 | 1.3129 | 1.0211 |
| 240 | 1.5 | 1.5 | 1.344 | 1.0453 |
| 245 | 1.5 | 1.5 | 1.3751 | 1.0695 |
| 250 | 1.5 | 1.5 | 1.4063 | 1.0937 |
| 255 | 1.5 | 1.5 | 1.4374 | 1.118 |
| 260 | 1.5 | 1.5 | 1.4686 | 1.1422 |
| 265 | 1.5 | 1.5 | 1.4997 | 1.1664 |
| 270 | 1.5 | 1.5 | 1.5 | 1.1907 |
| 275 | 1.5 | 1.5 | 1.5 | 1.215 |
| 280 | 1.5 | 1.5 | 1.5 | 1.2392 |
| 285 | 1.5 | 1.5 | 1.5 | 1.2635 |
| 290 | 1.5 | 1.5 | 1.5 | 1.2878 |
| 295 | 1.5 | 1.5 | 1.5 | 1.3121 |
| 300 | 1.5 | 1.5 | 1.5 | 1.3364 |
| 305 | 1.5 | 1.5 | 1.5 | 1.3607 |
| 310 | 1.5 | 1.5 | 1.5 | 1.385 |
| 315 | 1.5 | 1.5 | 1.5 | 1.4093 |
| 320 | 1.5 | 1.5 | 1.5 | 1.4336 |
| 325 | 1.5 | 1.5 | 1.5 | 1.4579 |
| 330 | 1.5 | 1.5 | 1.5 | 1.4823 |
| 335 | 1.5 | 1.5 | 1.5 | 1.5 |
| 340 | 1.5 | 1.5 | 1.5 | 1.5 |
| 345 | 1.5 | 1.5 | 1.5 | 1.5 |
| 350 | 1.5 | 1.5 | 1.5 | 1.5 |
| 355 | 1.5 | 1.5 | 1.5 | 1.5 |
| 360 | 1.5 | 1.5 | 1.5 | 1.5 |
| 365 | 1.5 | 1.5 | 1.5 | 1.5 |
| 370 | 1.5 | 1.5 | 1.5 | 1.5 |
| 375 | 1.5 | 1.5 | 1.5 | 1.5 |
| 380 | 1.5 | 1.5 | 1.5 | 1.5 |
| 385 | 1.5 | 1.5 | 1.5 | 1.5 |
| 390 | 1.5 | 1.5 | 1.5 | 1.5 |
| 395 | 1.5 | 1.5 | 1.5 | 1.5 |
| 400 | 1.5 | 1.5 | 1.5 | 1.5 |

Source: The game's own movement rule, counting size and speed with a ceiling, and nothing below a floor; sizes for the cat, the hand, a pigeon and a ball.

## Food smells drift on the real wind, and flies follow them in

Food in the game smells. Honey, peanut butter, a banana or ice cream gives off a sweet smell; cheese and droppings a foul one; vinegar and lemon a sour one; mustard, pepper and cinnamon a sharp one. Each smell is a gas in the same air that carries smoke and the fan's breeze, so it drifts downwind and fades over several seconds.

Every animal follows its nose the same way. It heads toward where the smell grows stronger, judged as a share of how strong it already is, so a faint smell far off pulls as clearly as a strong one close by. In a breeze it also heads into the wind. Real flies turn upwind within a fraction of a second of meeting an odour <sup>[Vanbreugel 2014](<https://professoroops.com/en/inside/research-real/#vanbreugel-2014>)</sup>; we found that study after the rule was written, and on heading upwind it agrees. Each animal has its own likes. Flies love sweet, foul and sour. Ants are put off by sour and sharp smells. Everyone keeps away from smoke and hot air.

The stories then write themselves. Set a steady breeze past a banana, as the test does, and flies arrive from the downwind side, flying up the smell; an automated test checks it. In play the fan blows only while it's held, out all round from where it's aimed, so what a child sees is simpler. Food left out on the page draws flies by itself within minutes. The puppy finds peanut butter upwind by its nose, well beyond what it can see. A sleeping dog's breath has a faint smell of its own, and a fly downwind of it picks the dog's nose to land on; a dog that's awake then goes cross-eyed and sneezes. Bread dough with live yeast, kept warm, smells sweeter the busier its yeast is, and a fly comes for that too.

Flies aren't a tool, and nobody puts them on the page. When something smells, a fly may turn up after a minute or two, most often coming in from the edge where the smell is strongest.

[Under the hood](<#hood-smell>)

Food smells drift on the real wind, and flies follow them in

Under the hood

### Food smells drift on the real wind, and flies follow them in

Each food material has its own smell, sweet, foul, sour or sharp, at its own strength. The game samples the page sparsely, row by row on the air's grid, and turns what it finds into a level per air cell and smell that saturates, so a heap of food doesn't smell endlessly stronger. Bleach in a cell cancels its smells. The air's wind solver then carries each gas with the wind, spreads it, and fades it over several seconds.

Steering is the same for every species, with its own likes and dislikes per smell. It follows the relative gradient, ∇c/c, roughly ∇ln c, so it works at any concentration. In a breeze it also heads upwind, and smells it dislikes push it away. Each species has a floor below which it smells nothing; the dog's nose is far finer than a fly's.

Flies arrive on their own. Every few seconds the game rolls a chance that grows with how much there is to smell, which gives a wait of a minute or two. The entry point is picked along the page edge in proportion to the smell there. A fly lands only in a gentle wind, and a strong one lifts it off.

Try it: a banana, a fan and flies IllustrationA banana sits on the page with the fan blowing from the left. The yellow haze is its smell; the arrows show the way a fly would steer at each spot. **What to look for:** flies come in on the downwind side and fly up the smell. Turn the fan off and the smell spreads round; push the wind up and they can't land. The steering arrows, the fly's landing limits and the edge where flies come in follow the game's rules; the air here is a simple stand-in for the game's wind solver, and flies arrive far sooner than in the game. The steady breeze is the test's set-up; in the game the fan blows only while it's held.

![A banana on the page with a fan blowing from the left; its smell drifts downwind as a yellow haze, arrows show the way a fly steers, and flies come in and land on the banana](<https://professoroops.com/_assets/entity_unUSVPcQryn2Ck4QNN4N.png>)

Wind16 cells/s

flies on the banana—

on their way—

wind—

landing—

![Two flies sitting on a banana and a third on a puddle of honey, beside two more bananas on the paper](<https://professoroops.com/_assets/entity_2z320MDywqU5g2JDR5QC.webp>)

Flies found the food by themselves. The released game, seven minutes after three bananas and a drizzle of honey were left on the page: nobody placed these flies.

## Ants follow a scent line, and a pinch of flour breaks it

Tap the page with the ants and a scout walks in from the nearest edge to that spot. Behind it comes a line of ants, single file, each carrying a crumb home and coming back for another. The ants are the free gift every player gets on their second launch.

What holds the line together is a scent nobody can see. Every ant lays it as it walks, more when it comes home carrying food. Each one feels for it with its antennae, and if there's more on the left, it turns left. The scent fades within a minute or so unless ants keep walking it, so the trail is wherever ants really went.

Because the trail is real, a child can break it. Sift flour or baking soda across it and no ant crosses: fine powder is something they won't walk on, and it wipes the scent off underneath. An automated test checks each of these. A smear of dish soap is different. It doesn't stop them, but it wipes the scent off, so they reach it, stop, feel about and some lose their way. In the test fewer than half as many get past. Pour a puddle across and they walk round it, and the new path round is laid by the ants coming home. A dab of mustard on the trail turns them before they touch it, because they smell it ahead. A ring of soda round some ice cream and nobody reaches it; they give up and go home.

The turning rule is short. It has the same form as the rule measured in real Argentine ants, the difference between left and right divided by the total <sup>[Perna 2012](<https://professoroops.com/en/inside/research-real/#perna-2012>)</sup>. That's a match we point out; the code doesn't claim to follow the paper. One thing the ants don't do is search. The scout is told where the food is, and the trail forms along the way it walked. Leave honey out and skip three days, and the ants are there on a trail the scout's own steering laid, step by step.

[Under the hood](<#hood-ants>)

Ants follow a scent line, and a pinch of flour breaks it

Under the hood

### Ants follow a scent line, and a pinch of flour breaks it

The scent lives on its own grid, finer than the air's, made only the first time an ant lays and faded only where there is any. It has a cap and fades within a minute or so.

Each ant lays as it walks: a little going out, more as the scout, most coming home with a crumb. Nothing is laid while it is fleeing, lost, or going round something, unless it carries a crumb.

Three feelers, left, centre and right, a little ahead of the head. The turn is the difference between left and right divided by the total of all three, the form measured in real ants. On top come a pull toward the goal it was given and a gentle wander, both weaker on the trail. Turning and speed have limits that differ for a scout, a laden ant, a searching one and a bolting one.

What stops ants and what wipes the scent are two separate lists. Water, fine dust, bleach and acid do both; hot paper and deep sticky goop only stop them; soap only wipes. The wipe is checked lazily, when an ant reads or lays there. An ant that has been stuck a long while slowly braves stickier goop, so a fresh ring of wet paint never keeps one in for good, pinned by a test.

Try it: break the ants' trail The game's own ruleAnts are already walking in from the edges to two drops of honey. The green haze is their scent, which the game never draws. Pick flour, soap, water or mustard and draw across the trail, or pick *Call ants* and tap to send a scout somewhere else; Draw across the trail does the same with a button. **What to look for:** flour stops them dead and they walk its edge; soap lets them walk on but they lose the scent and wander; water they go round; mustard turns them before they touch it. These are the game's rules for scent, feelers, turning, speed, barriers and wipes, on a 160 × 120 cell page instead of 512 × 384. The mustard's smell spread is simplified.

![Ants walking in single file from the left edge to a drop of honey along a green haze of scent; drawing flour, soap, water or mustard across the trail changes what they do](<https://professoroops.com/_assets/entity_0gsI7u0i7y6TLz0BaZuS.png>)

Draw withFlourDish soapWaterMustardCall ants

ants on the page—

crumbs home—

lost the trail—

scent on the paper—

![A single-file line of ants walking from the edge of the paper to a drop of honey, some carrying crumbs back](<https://professoroops.com/_assets/entity_PvSC1I0bvLZcsjgke8q8.webp>)

A trail the ants laid themselves. The released game, half a minute after calling ants to a drop of honey.

![A line of flour across the ant trail, with ants stopped at it and walking along its edge](<https://professoroops.com/_assets/entity_cTnKxZi3w0ej6a0DwHkl.webp>)

Flour across the trail. No ant crosses the white line; the scent under it is gone.

## No animal is ever hurt, whatever a child does

This is a game for young children, full of hammers, irons, rolling pins and fire, and it also has animals. We decided that no animal in it can ever be squashed, burnt or harmed, by anything, so the store ratings can say "no violence". Tools are for doing things to things, never to creatures.

The animals don't stay safe by being quick. Every press in the game, from a sponge to a hammer, goes through one shared channel that records how hard it presses and where. Each animal has a number for how much pressure it minds. A pigeon's toes put an ant to flight but don't bother a snail. A dog's paw on a cat's back is something the cat puts up with. When something presses harder than an animal minds, the animal gets out from under it at that moment, each in its own way \(below\). The harder the press, the faster it goes, up to a limit.

What every animal does instead of getting hurt

- **Fly** darts off fast, and a near miss is a big fright.
- **Ant** scurries out from under and bolts for a moment, then looks for the trail again.
- **Pigeon** flaps up out of the way.
- **Snail** can't run, so it tucks into its shell and is slid clear in it.
- **Cat and dog** jump aside; asleep, they wake with a start first.

Read from one shared contact, and held to it by an automated test. This is a guarantee we wrote, not something the physics happens to produce, and we say so.

Usually they're gone before then anyway, because the hand coming down or the hammer's swing is movement they can see. The rule at the moment of the press is the guarantee behind that. None of the animals has a health value, so the code has nowhere to store an injury.

A test holds the game to it. In the released version it puts the animals, in eight set-ups, through 61 kinds of trouble, from a hammer and a rolling pin to a fire lit beside it and the oven, and fails if anything presses on an animal that minds it, burns under it, or makes it vanish. In the next update next update it grows to 10 set-ups and 97 kinds, and a hammer or a slap coming down on a cat or dog waits in the air until the animal has moved; if it hasn't moved within two seconds, it never comes down.

A few things are scripted on purpose. Before the oven or the freezer does its work, every animal is taken off the table. A snail that comes to salt turns back. The puppy sniffs chocolate, sits drooling, looks at you and leaves it, and the game says once why chocolate is bad for dogs.

[Under the hood](<#hood-no-harm>)

No animal is ever hurt, whatever a child does

Under the hood

### No animal is ever hurt, whatever a child does

Every press, shear and impact in the game is one shared contact: where, how big, how hard and how high. One rule reads the contact, never the tool. The contact does say who made it, but that is there for sounds and debugging only, and no rule reads it.

For each creature under the footprint and below its top, if the pressure is more than it bears:

1. Small bodies \(pigeon, snail\): slid out at once, away from the footprint's middle, then it dodges.
2. Bigger ones \(cat, dog\): it dodges itself; asleep, it is first bumped awake.
3. Flies and ants handle their own: slid clear, then a dart or a bolt.

Escape speed grows with how far the press goes past what the animal bears, up to a cap. There are three levels of bearing: flies and ants mind almost anything, the pigeon and snail mind a light touch, the cat and dog only a firm press. Each presser sets its own pressure from its own physics: a pigeon's toes are light, a sponge a little more, a paw more, an iron more again, a rolling pin more still, and a hammer far beyond all of them.

The test crosses creature set-ups with harms \(8 × 61 = 488 full-engine runs at release\), watching every press and every flame. "Unhurt" has no variable: it means no press or flame under it, still on the page or gone off by itself, and moved if something came at it.

Try it: press anything near the animals The game's own rulePick what comes down and tap anywhere, on an animal or beside it, or press Press it down. The strip at the bottom shows its pressure against how much each animal minds; under the canvas, what each one did. **What to look for:** a sponge sends the fly, ant, pigeon and snail out from under it, while the cat and dog don't mind; an iron or a hammer moves everyone, and the pigeon, snail, cat and dog go faster the harder it presses. This is the game's pressure test and escape-speed rule; footprints are drawn as discs, and what each animal does afterwards is simplified.

![A fly, an ant, a pigeon, a snail, a cat and a dog on the page; something presses down where you tap, and each animal either gets out from under it or, if the pressure is below what it minds, stays](<https://professoroops.com/_assets/entity_ZlFLP4vRBgN7mT6vK6NB.png>)

- pigeon
- fly
- ant
- snail
- cat
- dog
- 0.01
- 0.1
- 1
- 10
- fly, ant
- pigeon, snail
- cat, dog
- pressure →

Comes downSponge 0.4Cat paw 0.5Dog paw 0.6Iron 1Slap ≈1.9Rolling pin 2.5Hammer ≈22

pressure—

fly—

ant—

pigeon—

snail—

cat—

dog—

## Paws pick up paint and leave tracks that fade out

Walk the puppy through a puddle of paint and it leaves a track across the page, darker at first, fainter with every step, until its paws are clean. A cat leaves neat prints with no claw marks unless it digs in; a dog's always show four claw dots. A pigeon's toes push wet paint aside into little ridges. A fly that walks through oil carries it off on its feet.

Every foot uses the same rule as a toy car's wheels or a rolling ball. It picks up some of what it steps in, and each print puts down a share of what it carries: a fly's sticky feet give up the most, a pigeon's foot the least. Paint is moved about and never made or lost, with one small exception: a clean paw leaves a very faint grubby print, like a real one. Spray paint over a dog, a pigeon and a cat and a test finds all of it again, on the page or on them, to within 2 %. A dog that walks through ketchup or gets squirted shakes itself, and every drop that flies off is a real drop carrying a share of its coat.

Feet are also how the cat and dog meet the ground. Honey slows the dog by the same stickiness rule that slows an ant. Each paw grips only so hard, and the cat's grip is more than twice the dog's. Chase the laser dot round a sharp corner and the cat skids, and a skidding paw drags and scratches the paper.

Behind the feet sit two characters. Their energy and boredom run down and recover, so a cat chasing the laser lies down tired after 45 seconds to two and a half minutes, as a test measures. A tired cat finds a warm spot on the paper by itself, such as the ring round a hot cup, by reading the paper's temperature. Who backs off when the dog noses up to the cat is settled by weight: a cat stands its ground, hissing and swatting, at any much heavier creature that comes close, and the dog, 20 kg to the cat's 4, backs off when the swat lands. What a cat or dog chooses to do next is written as scripts with priorities and a roll of the dice, and the cat and dog know flies and pigeons by name when they hunt them. How the world answers, and how the prey gets away, is computed.

[Under the hood](<#hood-paws>)

Paws pick up paint and leave tracks that fade out

Under the hood

### Paws pick up paint and leave tracks that fade out

One carrier serves paws, wheels, balls, rollers, coats and fly feet alike. It carries goop with its colour and how set it is, lifted pigment, water, dye and dust, plus a top layer for things that float. Each touch picks up a share of what is underfoot, and wet colour only off wet paper. Each print puts down a share of what is carried, so a track fades geometrically: a paw's runs out in about a dozen prints, a pigeon's in twenty-odd, a fly's in under ten.

One rule slows every walker on sticky goop, from how tacky, how deep and how set it is: glue is the tackiest, then honey, then slime.

Pets steer with a grip limit and skid when the sideways or braking force passes it at speed. From a standstill the cat's claws dig in and the dog's paws spin. Feet land ahead of the body by half the distance it covers while a foot is down, a placement rule borrowed from legged robots <sup>[Raibert 1986](<https://professoroops.com/en/inside/research-real/#raibert-1986>)</sup> and used here for animation only. Every footfall is a real press, a pick-up and a print.

Mood: energy drains with running and play and recovers with rest; boredom builds while playing. Time skips use a closed form.

Each print spends a share of what the foot carriesA test shows the paint is conserved on the way, for drops landing on animals.

Down to 5 % left, a fly's foot takes 9 prints, a paw 13 and a pigeon's foot 24.

- fly foot, 30 % a print
- paw, 22 % a print
- pigeon foot, 12 % a print

Data table

Each print spends a share of what the foot carries

| prints since the paint | fly foot, 30 % a print | paw, 22 % a print | pigeon foot, 12 % a print |
| --- | --- | --- | --- |
| 0 | 100 | 100 | 100 |
| 1 | 70 | 78 | 88 |
| 2 | 49 | 61 | 77 |
| 3 | 34 | 47 | 68 |
| 4 | 24 | 37 | 60 |
| 5 | 17 | 29 | 53 |
| 6 | 12 | 23 | 46 |
| 7 | 8 | 18 | 41 |
| 8 | 6 | 14 | 36 |
| 9 | 4 | 11 | 32 |
| 10 | 3 | 8 | 28 |
| 11 | 2 | 7 | 25 |
| 12 | 1 | 5 | 22 |
| 13 | 1 | 4 | 19 |
| 14 | 1 | 3 | 17 |
| 15 | 0 | 2 | 15 |
| 16 | 0 | 2 | 13 |
| 17 | 0 | 1 | 11 |
| 18 | 0 | 1 | 10 |
| 19 | 0 | 1 | 9 |
| 20 | 0 | 1 | 8 |
| 21 | 0 | 1 | 7 |
| 22 | 0 | 0 | 6 |
| 23 | 0 | 0 | 5 |
| 24 | 0 | 0 | 5 |
| 25 | 0 | 0 | 4 |

Source: Curves are \(1 − share\)<sup>n</sup>, with each foot's own share in the game. The shares are tuned; no test pins them.

![A track of puppy paw prints in blue paint leading away from a puddle, each print fainter than the last, the puppy at the far end](<https://professoroops.com/_assets/entity_GNYPJPfpfgm7fhRidN23.webp>)

A track that runs out. The released game: the puppy has walked through blue paint, and each print puts down a share of what is left on its paws.

## Candles, hot cups and bumped tables reach the animals with no special rules

None of the chains below was written as a pair. Each runs through a layer every system shares.

3 layers

Noise, shaking and movement. Sounds, blows and moving things write into them and every animal reads them, one value per air cell.

6 species

Pigeon, fly, ant, snail, cat and dog, each with its own senses, all reading the same three layers through one rule.

488

Harm checks in one test run of the released game: 8 animal set-ups against 61 kinds of trouble.

2 %

The most paint a test lets go missing when it is sprayed over a dog, a pigeon and a cat. Paws and coats carry paint; they never make or lose it.

2.6 mm

An ant's length at the page's scale. Insects are near true size; the cat and dog are toys.

Shared: sweet smell in the air \+ wind

### A steady breeze past a banana, as the test sets it up

Flies arrive from downwind and fly up the smell. Pinned by a test.

*[Air that really moves](<https://professoroops.com/en/inside/air/>)*

Shared: moving bodies stir the air

### Let the dog trot past a lit candle

The flame blows out, because the dog's body stirs the air. Standing beside it, nothing. Pinned by a test.

*[Heat and fire](<https://professoroops.com/en/inside/heat/>)*

Shared: warm paper temperature

### Put a hot cup on the page

A tired cat goes and sleeps by it. No cup is named in the cat's code. Pinned by a test.

*[Heat and fire](<https://professoroops.com/en/inside/heat/>)*

Shared: sweet smell × how busy the yeast is

### Keep yeast dough warm

A fly comes for it. Pinned by a test.

*[Dough, mould and time](<https://professoroops.com/en/inside/living/>)*

Shared: one vibration write

### Bump the table

The pigeon flies, the snail tucks in and the ants scatter, from one shake with no list of who. Pinned by a test.

*[Sound and shaking](<https://professoroops.com/en/inside/sound/>)*

Shared: the paw's pressure against the yolk's skin

### Let a cat's paw land on an egg yolk

The yolk bursts under its paw and runs. Pinned by a test.

*[Things that push things](<https://professoroops.com/en/inside/pushing/>)*

## Each animal runs on a few numbers, chosen so that what a child sees points the right way

Real animals have nervous systems, colonies and bodies the size of the paper. Ours have a few numbers each, chosen so that what a child sees points the right way.

**In real life.** Sound is a pressure wave that echoes and is blocked by things; eyes face one way

**In the game.** Noise is a quickly fading field on the air's grid, where the louder source wins instead of adding up. Movement is a field too, counted by size and speed, readable from all round

**Why that's enough.** An animal only needs "how alarming, and from where". Lost: delay, echoes and shadows, and a pigeon "sees" behind it. Only the pets' search for food has a field of view

**In real life.** Getting used to things is learning in a nervous system

**In the game.** One first-order filter per channel, with one time constant per species, a second or two

**Why that's enough.** It recovers by itself and tunes with one number. Lost: anything learnt for longer than a few seconds

**In real life.** A scout ant searches for food by exploring

**In the game.** The scout is given the food's position and steers to it, like a sense of direction

**Why that's enough.** A tap has to bring ants to that spot. Lost: search, and any choice of the shortest of two paths, which nothing tests

**In real life.** Trail scent lasts on average about 47 minutes in garden ants <sup>[Beckers 1993](<https://professoroops.com/en/inside/research-real/#beckers-1993>)</sup>, and once food is found, foragers lay about as much going out as coming back <sup>[Beckers 1992](<https://professoroops.com/en/inside/research-real/#beckers-1992>)</sup>

**In the game.** One scent on a fine grid that fades within a minute or so, dozens of times faster. Ants lay several times more coming home laden than going out

**Why that's enough.** A trail must clear within one play session, and a strong homeward trail reads well. Lost: real persistence and real laying; wind doesn't move the scent

**In real life.** A fly surges upwind on meeting a plume and casts sideways when it loses it <sup>[Vanbreugel 2014](<https://professoroops.com/en/inside/research-real/#vanbreugel-2014>)</sup>

**In the game.** A unit vector upwind plus the relative gradient while it smells anything; no casting

**Why that's enough.** One rule, and it reads right. Lost: casting and the timing of the turns

**In real life.** A fly plans its escape jump about 200 ms after seeing a threat <sup>[Card 2008](<https://professoroops.com/en/inside/research-real/#card-2008>)</sup>

**In the game.** Like every animal it flees straight away from what alarmed it; under a press it is slid clear at once and darts off

**Why that's enough.** It matches the paper on direction only. Lost: the posture and timing, and a fly can never be caught, by our rule

**In real life.** Cats and dogs are bigger than a sheet of paper

**In the game.** Toy scale: about 6 and 8 cm long, yet counted as 4 and 20 kg. Their hops use a stronger gravity than the page's

**Why that's enough.** They must fit, and a hop must keep time with the gait. Lost: real speeds; we claim none

**In real life.** Personality and decisions

**In the game.** Scripts with priorities and dice: a cat sometimes ignores a call, a dog sometimes keeps the ball. Timings come from our research notes on real cats and dogs, not our own measurements

**Why that's enough.** It reads as character. The reactions are computed; the acting is authored
