---
title: "Gebouwd voor verrassingen"
description: "Hoe Professor Oops verrassende, kloppende uitkomsten haalt uit combinaties die niemand plande: elk systeem schrijft in een paar gedeelde natuurkundige lagen."
source_name: "Game Tailors"
source_url: "https://professoroops.com/binnenin/emergentie/"
site_home: "https://professoroops.com/"
source_description: "De teken-app waarin het papier echt is. Geen reclame. Geen accounts. Geen persoonsgegevens: alleen anonieme tellingen, en die kun je uitzetten."
locale: "nl"
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-11T11:18:55.436Z"
modified_at: "2026-11-11T11:18:55.436Z"
---

# Gebouwd voor verrassingen

## Een bal blaast een kaars uit, al zegt geen regel code dat dat kan

In de meeste spellen bepaalt een programmeur wat er gebeurt als twee dingen elkaar tegenkomen. In Professor Oops komen de dingen elkaar in de code bijna nooit tegen. Een rollende bal duwt alleen de lucht voor zich uit. Een kaars kijkt alleen hoe snel de lucht rond haar vlam beweegt. Rol de bal snel langs de kaars en de vlam gaat uit, omdat ze allebei dezelfde lucht gebruiken. Warmte, water, wat er in het water is opgelost, geluid en ingedrukt worden werken allemaal zo, dus een kind kan iets proberen wat niemand had gepland en toch een kloppend antwoord krijgen.

[Voor technici](<#hood-engineers>)

![Geschilderde illustratie van de schilder die gehurkt bij een oven zit en kijkt hoe een waskrijttekening daarbinnen goudbruin roostert, met een ijsblokjesvorm en een citroen.](<https://professoroops.com/_assets/entity_3kuAoHIjjj2uBbqOOhSg.webp>)

## Alles deelt dezelfde warmte, hetzelfde water, dezelfde lucht en hetzelfde geluid, en reageert op zijn eigen manier

Stel je het papier voor met onzichtbare lagen erop gestapeld. Eén houdt bij hoe heet elk plekje is. Eén houdt bij hoe nat het is. Eén houdt de wind bij die eroverheen waait, één het geluid in de kamer, één wat er in het water is opgelost: zuur, zout, zeep, suiker. Een vlam verwarmt geen kaars, geen waskrijt en geen ei. Hij verwarmt de warmtelaag van het papier, en dat is alles wat hij doet.

Al het andere leest die lagen en beslist zelf. Was wordt zacht bij 60 °C, chocolade bij 32 °C, eiwit stolt bij 63 °C. Een vlieg verlaat een plekje dat te heet voor hem is. Geen van hen vraagt wat de warmte maakte. Dus een kaars, een föhn, een vergrootglas en een strijkijzer laten allemaal waskrijt smelten en eiwit stollen, omdat ze allemaal dezelfde warmte schrijven. Een hete beker doet geen van beide, al maakt hij chocolade nog wel zacht.

Elke stof in het spel is een rij getallen: hoe dun hij is, hoe snel hij intrekt, waar hij kookt, hoe hard je moet drukken voordat hij breekt, wat hij in water afgeeft. Een nieuwe stof doet meestal mee door een rij in te vullen, en komt dan alles tegen wat er al is.

Het ontwerp haalde zijn les uit vallend-zandspellen, waarin eenvoudige regels voor elk plekje verhalen opleveren die niemand schreef, zoals de maker van Noita beschreef in een lezing die we kennen via een verslag <sup>[Purho 2019](<https://professoroops.com/binnenin/onderzoek-simulatie/#purho-2019>)</sup>. Het past die les toe op een keukentafel vol echte dingen.

Een bal blaast een kaars uit, al zegt geen regel code dat dat kan

Voor technici

### Een bal blaast een kaars uit, al zegt geen regel code dat dat kan

Systemen roepen elkaar nooit aan. Ze schrijven in gedeelde lagen: velden per cel op een raster van tot 512 × 384 cellen \(warmte, natheid, smurrie, 12 opgeloste elementen bij de release\), een grover raster voor lucht, geuren, geluid, trilling en beweging, en een handvol knooppunten voor drukken, schrapen en klappen. Elke lezer reageert volgens zijn eigen rij getallen. Een typegecontroleerde scan van de code vindt 689 lees- en schrijfverbindingen, allemaal in het uitgebrachte spel, tussen 33 systemen en 55 gedeelde lagen, en geen enkele regel die twee stoffen bij naam noemt.

[Onder de motorkap](<#hood-idea>)

Alles deelt dezelfde warmte, hetzelfde water, dezelfde lucht en hetzelfde geluid, en reageert op zijn eigen manier

Onder de motorkap

### Alles deelt dezelfde warmte, hetzelfde water, dezelfde lucht en hetzelfde geluid, en reageert op zijn eigen manier

**Drie soorten gedeelde dingen**, allemaal gewone data of één functie, en geen ervan weet wie hem gebruikt:

- **Velden per cel**: één getal per plekje papier voor elke grootheid \(warmte, natheid, staand water, smurrie, zuur…\), 512 × 384 cellen tot 288 × 216 op een telefoon, ongeveer een halve millimeter per cel.
- **Grove velden**: wind, warme lucht en gassen, en geluid, trilling en beweging, op een grover raster over hetzelfde vel.
- **Knooppunten**: voor elk één ingang: drukken, schrapen, een klap die neerkomt, iets wat beweegt, een kanteling of schok van de tafel, en iets wat oplost. Alles kan ze gebruiken; ze kijken nooit wie het deed.

**De eigenschappentabel** begint met haar eigen regel: “Behaviour comes from these numbers, not from per-material code” \(gedrag komt uit deze getallen, niet uit code per materiaal\). 97 stoffen met een naam bij de release \(100 in de volgende update volgende update\), elk beschreven door ongeveer 90 eigenschappen, die de lussen per cel als snelle opzoekingen lezen.

één warmteschaal in °C voor alles  ·  papier ontbrandt bij 230 °C

Elk materiaal verandert bij zijn eigen temperatuur op die ene schaal: was smelt, chocolade wordt zacht, eiwit stolt, papier verkoolt.

### Alles wat iets doet

- een vlam, een föhn, een lens
- een rollende bal, een vallende emmer
- een hamer, een handpalm, een autootje
- azijn, bleekmiddel, thee, as
- een batterij door staalwol

→ schrijft

### Gedeelde lagen

- warmte · *één °C-schaal*
- natheid en water · *in het papier en erop*
- wind, warme lucht, gassen · *een grover raster*
- zuur, zout, zeep, ijzer… · *opgeloste elementen*
- geluid, trilling, beweging · *binnen een tel weg*
- drukken, schuiven, inslag · *één deur, elke drukker*

→ gelezen volgens zijn eigen getallen

### Alles wat reageert

- een kaars: snelle lucht rond de vlam
- een vlieg: beweging, zoete en vieze geuren
- een dooier: breekt bij licht drukken
- schimmel: zuur, zout, suiker, bleekmiddel
- chocolade: wordt zacht bij 32 °C

**Geen van beide kanten kent de andere.** De kaars heeft geen code voor ballen. De bal heeft geen code voor kaarsen. Ze ontmoeten elkaar in de luchtlaag.

Een gedeelde laag maakt van een paar verbindingen veel routes

Smurrie verbindt 55 systemen en opent 754 routes; warmte verbindt er 35 en opent 264; de zesde drukste laag, de drijflaag, verbindt er 29 en opent 154.

- systemen verbonden met de laag \(schrijvers \+ lezers\)
- routes van schrijver naar lezer \(schrijvers × lezers\)

Gegevenstabel

Een gedeelde laag maakt van een paar verbindingen veel routes

|  | systemen verbonden met de laag \(schrijvers \+ lezers\) | routes van schrijver naar lezer \(schrijvers × lezers\) |
| --- | --- | --- |
| smurrie | 55 | 754 |
| water | 39 | 378 |
| natheid | 38 | 352 |
| warmte | 35 | 264 |
| kleur | 31 | 240 |
| drijvend | 29 | 154 |

Bron: Op deze pagina geteld uit de verbindingen van de codescan die in het uitgebrachte spel zitten. Warmte: 11 systemen schrijven het en 24 lezen het, dus 35 verbindingen geven 264 routes. Een route betekent dat A schrijft wat B leest, niet dat je B zou zien reageren.

### Een code-audit maakte van paarregels gedeelde lagen

Het spel was niet altijd zo gebouwd. In oktober 2026 telde een audit van de code ongeveer 26 soorten haakjes en ongeveer 170 plekken waar één gereedschap één doelwit vertelde wat het moest doen. Alleen de hamer al had 20 vertakkingen, één voor elk soort ding dat hij kon raken. Het resultaat was inconsequent op manieren die een kind zou merken: een deegroller van 1 kg kon een tomaat niet pletten, terwijl een autootje van 50 g dat wel kon.

De oplossing was één deur voor elke druk. Een gereedschap zegt nu hoe hard het drukt, en hoe groot en hoe hard zijn oppervlak is. Het ding eronder zegt hoeveel het kan hebben. Een tomaat geeft mee onder een matige druk, een appel alleen onder een harde. De deegroller drukt ergens tussen die twee in, dus hij plet de tomaat en duwt de appel opzij. Het autootje botst nu tegen een tomaat in plaats van hem te pletten, en niemand schreef een autoregel om daar te komen. Dezelfde audit vond ongeveer 45 met de hand geschreven regels waarin een genoemde bron een genoemd dier liet schrikken. Die zijn vervangen door drie gedeelde kanalen, die het deel over de dieren hieronder uitlegt.

[Onder de motorkap](<#hood-press>)

Een code-audit maakte van paarregels gedeelde lagen

Onder de motorkap

### Een code-audit maakte van paarregels gedeelde lagen

Een druk wordt één keer beschreven, in natuurkundige termen: de vorm van wat het papier raakt, hoe hard het duwt, hoe hard en scherp het oppervlak is, hoe heet en hoe zwaar het is, en hoe het beweegt. Dezelfde beschrijving gaat op zijn beurt naar het papier, zeepbellen, schuim, losse stukjes, dieren, bekers, lichamen, planten, ballen, stokjes en schimmel. Wie er drukte, wordt alleen bewaard voor geluiden en debuggen, nooit voor regels.

bewegingsenergie *E* = ½ · *m* · *v*²  →  een piekdruk op dezelfde schaal als elke druk

Eén deur voor alles wat neerkomt. Uit alleen de massa, snelheid en grootte van de klap maakt dezelfde functie een spat, een deuk, een luchtstoot, een schok van de tafel en een geluid, die elk groeien met de energie. In de volgende update dooft hij ook vlammen met de eigen getallen van de klap volgende update; in het uitgebrachte spel doven de hamer en de hand vlammen met hun eigen code. Elk ding breekt boven zijn eigen grens, één kolom van de eigenschappentabel. Beide deuren zijn vastgelegd in automatische tests.

Eén schaal voor drukken en brekenRode stippen: hoe hard elke drukker duwt. Blauwe vierkantjes: wat elk ding kan hebben voordat het meegeeft. Een ding geeft mee waar de druk erop boven zijn eigen getal komt. Eenheden van het spel op een logschaal, een rangorde, geen pascal.

Een spons drukt met 0,4, een strijkijzer met 1, een deegroller met 2,5 en een hamerklap met 22; een zeepvlies geeft mee bij 0,01, een dooier bij 0,3, een tomaat bij 1,5, een appel bij 6 en plastic bij 20.

- drukkers duwen zo hard
- dingen breken boven dit \(pletten\)

Gegevenstabel

Eén schaal voor drukken en breken

|  | drukkers duwen zo hard | dingen breken boven dit \(pletten\) |
| --- | --- | --- |
| zeepvlies | — | 0,01 |
| schuim | — | 0,02 |
| dooier | — | 0,3 |
| spons | 0,4 | — |
| plakje | — | 0,5 |
| bes | — | 0,8 |
| strijkijzer | 1 | — |
| tomaat | — | 1,5 |
| banaan | — | 2 |
| deegroller | 2,5 | — |
| sinaasappel | — | 4 |
| chocolade | — | 5 |
| appel | — | 6 |
| plastic | — | 20 |
| hamerklap | 22 | — |

Bron: De eigen drukkers en eigenschappentabel van het spel; de klap van de hamer is uitgerekend uit zijn gewicht en snelheid.

## Een kaart uit de code laat zien hoe de warmte van vuur 24 systemen bereikt die geen code voor vuur hebben

Hieronder staat de echte bedrading van het uitgebrachte spel. Op de buitenste ring staan de systemen van het spel: vuur, opzuigen, de poes en de hond, het handgereedschap. Op de binnenste ring staan de gedeelde lagen waarin ze elkaar ontmoeten. Een lijn betekent dat een systeem in een laag schrijft of eruit leest, en elke lijn staat voor echte code die dat doet.

Kies een systeem en zie wat het schrijft, wat het leest, en welke andere systemen kunnen voelen wat het doet. Vuur schrijft warmte. Vierentwintig systemen lezen warmte, waaronder de vliegen, de mieren, de planten en de schimmel. Geen van die systemen heeft code voor vuur.

De lijnen worden gevonden door een programma dat de broncode leest, niet met de hand getekend. Het telt een verbinding alleen waar de code de gedeelde laag echt raakt.

[Onder de motorkap: hoe de graaf is gemaakt](<#hood-graph>)

Een kaart uit de code laat zien hoe de warmte van vuur 24 systemen bereikt die geen code voor vuur hebben

Onder de motorkap

### Een kaart uit de code laat zien hoe de warmte van vuur 24 systemen bereikt die geen code voor vuur hebben

De typechecker van de TypeScript-compiler, losgelaten op de code van de simulatie, de dieren en het gereedschap. Een toegang telt alleen als het type laat zien dat hij echt op een gedeelde laag uitkomt, zodat de temperatuur van een druk niet voor de warmte van het papier wordt aangezien. Hij volgt lokale aliassen en waarden die aan hulpfuncties worden doorgegeven. Schrijven en lezen worden uit elkaar gehouden; een laag leegmaken of aanmaken telt niet. Ongeveer veertig verbindingen die via de engine-lus of de gedeelde zintuigen lopen, zijn met de hand toegevoegd, elke regel gelezen.

Controles: een willekeurige steekproef van 45 verbindingen is tegen de code gelezen en alle klopten, en een script bevestigde dat elke geciteerde coderegel staat waar hij wordt aangehaald. Dat bewijst dat de verwijzingen echt zijn, niet dat elke lees- of schrijfactie goed is ingedeeld. Niet gescand: de WebAssembly-kernels \(tweelingen van deze JS-lussen\), het tekenen en de interface.

Aantallen: 689 van de huidige verbindingen zaten al in het uitgebrachte spel; 751 met de volgende update. Het uitgebrachte spel had ook 17 verbindingen die de volgende update weghaalt, en die zijn niet getekend. Nog eens 8 verbindingen komen alleen van gereedschap dat niet in de kast ligt, en zijn hier weggelaten.

Verken de bedrading De eigen regel van het spelTik op een systeem op de buitenste ring, of op een laag op de binnenste, of kies een goed beginpunt uit de lijst, of loop de ringen rond met **Volgend systeem** en **Volgende laag**; **Volgende soort laag** laat één soort tegelijk zien, met de naam op de ring. **Waar je op let:** rode doorgetrokken lijnen zijn schrijfacties, blauwe gestreepte lijnen zijn leesacties. Rood omcirkeld zijn de systemen die lezen wat je keuze schrijft; blauw omcirkeld de systemen die schrijven wat ze leest. Negen stippen hebben hun naam erbij; de verbindingen van elk systeem en elke laag staan met naam in de twee tabellen onder de demo. De systemen Engine en Handgereedschap zijn knooppunten: ze geven veel dingen door, dus ze bereiken bijna alles. Dat blaast de aantallen routes op, en dat is één reden dat routes geen effecten zijn.

![De bedrading van het spel: systemen op de buitenste ring, gedeelde lagen op de binnenste ring, lijnen voor elke lees- of schrijfactie.](<https://professoroops.com/_assets/entity_OtyH7Mc36vqqmYjZetYH.png>)

- Warmte
- Papier en water
- Smurrie
- Scheikunde
- Lucht
- Zintuigen
- Contact
- Beweging
- Licht
- Opgemerkt
- uitgebracht spel
- met de volgende update
- Vuur, warmte
- Kaarsen, stokjes
- Vliegen
- warmte
- CO₂
- geziene beweging
- zuur
- Engine
- Handgereedschap

Goede beginpuntengeenVuur, warmteKaarsen, stokjesVliegenwarmteCO₂geziene bewegingzuur

gekozen—

getoonde lagen—

getoonde verbindingen—

plekken in de code—

systemen—

routes—

verbonden paren systemen—

van—

keuze: schrijft, of wordt geschreven door—

keuze: leest, of wordt gelezen door—

andere systemen lezen wat het schrijft—

andere systemen schrijven wat het leest—

689

Lees- en schrijfverbindingen tussen systemen en gedeelde lagen, allemaal in het uitgebrachte spel, gevonden op 5.539 plekken in de code.

3,269

Routes van schrijver naar lezer die ze openen: voor elke laag het aantal schrijvers maal het aantal lezers. Routes, geen effecten die je zou zien.

882 of 1,056

Geordende paren systemen waarbij het ene iets schrijft wat het andere leest.

0

Regels die twee stoffen bij naam noemen, bij de release en in de volgende update \(methode hieronder\).

[De verbindingen van elk systeem](<#hood-wiring-systems>)

De verbindingen van elk systeem, bij naam

De bedrading

### De verbindingen van elk systeem, bij naam

Het paneel van de graaf hierboven, voor alle systemen tegelijk. Elke laag die het schrijft of leest, met op hoeveel plekken in zijn code dat gebeurt, de meeste eerst; verbindingen die pas met de volgende update komen, zijn gemarkeerd. De laatste kolom noemt de systemen die iets lezen wat het schrijft, in het uitgebrachte spel.

| Systeem | Schrijft | Leest | Te voelen door |
| --- | --- | --- | --- |
| Air: Lucht en wat ze meevoert | goop 17, wind 8, water 6, wetness 3 | wind 23, goop 20, water 12, float layer 8, dye 6, wetness 6, damp air 5 \(volgende update\), cover 4, chlorine 4, foul smell 4, CO₂ 4, sharp smell 4, smoke 4, sour smell 4, spores 4, sweet smell 4, frost 2, holes 1 | 31: Ants, Balls, Bits, stickers, Bodies, Candles, sticks, Cat, dog, Chemistry, Circuit, Contact, Cups, bottles, Dough, Engine, Fire, heat, Flies, Float, grease, Frost, Goop, Hand tools, Lens, laser, Mould, Paper, Pigeon, Pressers, Senses, Sheet shaking, Smells, Snail, Soap, foam, String, Time skips, Wicking |
| Ants: Mieren | goop 6, sugar 1, food 1 | goop 17, bleach 3, sugar 3, food 3, colour 3, acid 2, float layer 2, water 2, press 1, danger 1, soap 1, sharp smell 1, smoke 1, sour smell 1, sweet smell 1, motion seen 1, vibration 1, heat 1 | 28: Air, Balls, Bits, stickers, Bodies, Cat, dog, Chemistry, Circuit, Contact, Dough, Engine, Fire, heat, Flies, Float, grease, Frost, Goop, Hand tools, Lens, laser, Mould, Paper, Pigeon, Pressers, Sheet shaking, Smells, Snail, Soap, foam, String, Time skips, Wicking |
| Balls: Ballen | bodies 1, motion seen 1, wetness 1, wind 1 | slope, jolt 3, bodies 1, press 1, soap 1, float layer 1, goop 1, holes 1, wetness 1, wind 1 | 29: Air, Ants, Bits, stickers, Bodies, Candles, sticks, Cat, dog, Chemistry, Circuit, Contact, Cups, bottles, Engine, Fire, heat, Flies, Float, grease, Frost, Goop, Hand tools, Lens, laser, Mould, Paper, Pigeon, Pressers, Senses, Sheet shaking, Snail, Soap, foam, String, Time skips, Wicking |
| Bits, stickers: Stukjes, deeltjes, neergelegde dingen | colour 26, goop 19, cover 6, wetness 6, dents 4, water 4, heat 3, float layer 2, sugar 1, flame 1, frost 1 | goop 27, colour 21, slope, jolt 16, cover 11, wetness 8, wind 8, heat 6, warm air 5, water 5, dents 4, holes 4, shear 2, float layer 2, press 1, soap 1, frost 1, mould 1, sheet shaking 1, wax 1 | 31: Air, Ants, Balls, Bodies, Candles, sticks, Cat, dog, Chemistry, Circuit, Contact, Cups, bottles, Dough, Engine, Fire, heat, Flies, Float, grease, Frost, Goop, Hand tools, Lens, laser, Mould, Paper, Pigeon, Plants, Pressers, Sheet shaking, Smells, Snail, Soap, foam, String, Time skips, Wicking |
| Bodies: Lichamen \(botsen, kantelen, glijden\) | goop 3, bodies 2 \(volgende update\), press 1, shear 1 \(volgende update\), heat 1 | slope, jolt 27, bodies 11, wind 4, sheet shaking 3 \(volgende update\), heat 3, flame 2, goop 2, holes 2, press 1, float layer 1 | 32: Air, Ants, Balls, Bits, stickers, Candles, sticks, Cat, dog, Chemistry, Circuit, Contact, Cups, bottles, Dough, Engine, Fire, heat, Flies, Float, grease, Frost, Goop, Hand tools, Lens, laser, Mould, Paper, Pigeon, Plants, Pressers, Senses, Sheet shaking, Smells, Snail, Soap, foam, String, Time skips, Wicking |
| Candles, sticks: Stokjes en kaarsen | goop 4, dents 2, holes 2, noticed 1 \(volgende update\), warm air 1 | slope, jolt 8, wind 4, holes 3, CO₂ 2, dents 2, heat 2, bodies 1, press 1, cover 1 \(volgende update\), frost 1 \(volgende update\), warm air 1 \(volgende update\), water 1 \(volgende update\) | 32: Air, Ants, Balls, Bits, stickers, Bodies, Cat, dog, Chemistry, Circuit, Contact, Cups, bottles, Dough, Engine, Fire, heat, Flies, Float, grease, Frost, Goop, Hand tools, Lens, laser, Mould, Paper, Pigeon, Plants, Pressers, Senses, Sheet shaking, Smells, Snail, Soap, foam, String, Time skips, Wicking |
| Cat, dog: Poes en hond | goop 13, shear 4, colour 4, wind 4, motion seen 3, wetness 2, bodies 1, impact 1, press 1, foul smell 1, dents 1, water 1 | goop 21, float layer 6, heat 6, colour 3, noise 3, water 2, wind 2, danger 1, foul smell 1, smoke 1, sour smell 1, sweet smell 1, dents 1, motion seen 1, vibration 1 | 32: Air, Ants, Balls, Bits, stickers, Bodies, Candles, sticks, Chemistry, Circuit, Contact, Cups, bottles, Dough, Engine, Fire, heat, Flies, Float, grease, Frost, Goop, Hand tools, Lens, laser, Mould, Paper, Pigeon, Plants, Pressers, Senses, Sheet shaking, Smells, Snail, Soap, foam, String, Time skips, Wicking |
| Chemistry: Reactietabel en indicatoren | goop 37, noticed 10 \(volgende update\), acid 8, colour 8, bases 6, urea, peroxide 6, bleach 3, dye 2, any element 2, indicators 2, tannin 2, mould 2, water 2, salt crystals 1, iron 1, salt \(in water\) 1, sugar 1, food 1, wetness 1 | goop 98, colour 33, acid 28, bases 25, dye 12, any element 9, water 8, wetness 8, urea, peroxide 7, mould 7, bleach 6, indicators 5, salt \(in water\) 5, heat 4 \(volgende update\), colour hold 3, soap 3, sugar 3, tannin 3, salt crystals 2, dough 2 \(volgende update\), iron 2, food 1, holes 1 \(volgende update\), light 1 \(volgende update\), surface soap 1 \(volgende update\), wax 1 | 29: Air, Ants, Balls, Bits, stickers, Bodies, Cat, dog, Circuit, Contact, Dough, Engine, Fire, heat, Flies, Float, grease, Frost, Goop, Hand tools, Lens, laser, Mould, Paper, Pigeon, Plants, Pressers, Sheet shaking, Smells, Snail, Soap, foam, String, Time skips, Wicking |
| Circuit: Elektrische stroomkring | metal 7, acid 1, bases 1, goop 1, noticed 1 \(volgende update\), motion seen 1, noise 1, heat 1 | metal 10, heat 4, bases 3, goop 3, dough 2, holes 2, water 2, wetness 2, acid 1, salt \(in water\) 1, float layer 1 | 32: Air, Ants, Balls, Bits, stickers, Bodies, Candles, sticks, Cat, dog, Chemistry, Contact, Cups, bottles, Dough, Engine, Fire, heat, Flies, Float, grease, Frost, Goop, Hand tools, Lens, laser, Mould, Paper, Pigeon, Plants, Pressers, Senses, Sheet shaking, Smells, Snail, Soap, foam, String, Time skips, Wicking |
| Contact: Contactoplosser \(drukken, schuiven\) | goop 14, dye 12, colour 6, dents 2, water 2, frost 1 \(volgende update\), heat 1 \(volgende update\) | goop 28, dye 21, colour 9, water 9, frost 6, heat 5 \(volgende update\), wetness 4, colour hold 3, shear 3, holes 3, press 2, cover 2, dents 2, bodies 1 \(volgende update\), dough 1, float layer 1 \(volgende update\) | 29: Air, Ants, Balls, Bits, stickers, Bodies, Candles, sticks, Cat, dog, Chemistry, Circuit, Dough, Engine, Fire, heat, Flies, Float, grease, Frost, Goop, Hand tools, Lens, laser, Mould, Paper, Pigeon, Pressers, Sheet shaking, Smells, Snail, Soap, foam, String, Time skips, Wicking |
| Cups, bottles: Bekers en flessen | CO₂ 3, heat 3, noticed 2 \(volgende update\), dye 1 \(volgende update\), any element 1 \(volgende update\), soap 1 \(volgende update\), chlorine 1 \(volgende update\), goop 1, noise 1, water 1 | slope, jolt 13, goop 6 \(volgende update\), heat 4, warm air 4, press 3, wind 3, bodies 1 | 32: Air, Ants, Balls, Bits, stickers, Bodies, Candles, sticks, Cat, dog, Chemistry, Circuit, Contact, Dough, Engine, Fire, heat, Flies, Float, grease, Frost, Goop, Hand tools, Lens, laser, Mould, Paper, Pigeon, Plants, Pressers, Senses, Sheet shaking, Smells, Snail, Soap, foam, String, Time skips, Wicking |
| Dough: Deeg | dough 47, goop 38, water 1 | goop 98, dough 79, water 3, cover 2, float layer 1, holes 1, mould 1, heat 1 | 28: Air, Ants, Balls, Bits, stickers, Bodies, Cat, dog, Chemistry, Circuit, Contact, Engine, Fire, heat, Flies, Float, grease, Frost, Goop, Hand tools, Lens, laser, Mould, Paper, Pigeon, Pressers, Sheet shaking, Smells, Snail, Soap, foam, String, Time skips, Wicking |
| Engine: Knooppunten van de engine | goop 49, vibration 10, wind 10, slope, jolt 9, smoke 9, motion seen 9, water 9, bodies 8, press 8, impact 7, colour 7, noise 7, heat 7, wetness 7, danger 6, CO₂ 5, shear 4, warm air 4, dye 3, dents 3, sheet shaking 3, metal 2 \(volgende update\), chlorine 2, noticed 2 \(volgende update\), char 1, any element 1, float layer 1, damp air 1 \(volgende update\), holes 1, light 1 \(volgende update\) | goop 65, slope, jolt 16, colour 9, water 9, heat 8, float layer 5, wind 5, bodies 4, press 4, holes 4, impact 3, frost 3, dents 3, shear 2, cover 2 \(volgende update\), chlorine 2, char 1, metal 1 \(volgende update\), flame 1 \(volgende update\), light 1 \(volgende update\), noticed 1 \(volgende update\), wetness 1 | 32: Air, Ants, Balls, Bits, stickers, Bodies, Candles, sticks, Cat, dog, Chemistry, Circuit, Contact, Cups, bottles, Dough, Fire, heat, Flies, Float, grease, Frost, Goop, Hand tools, Lens, laser, Mould, Paper, Pigeon, Plants, Pressers, Senses, Sheet shaking, Smells, Snail, Soap, foam, String, Time skips, Wicking |
| Fire, heat: Vuur en warmte | goop 15, colour 12, float layer 8, heat 7, char 4, metal 3, flame 3, food 3, sugar 2, noticed 2 \(volgende update\), wetness 2, dough 1, bases 1, iron 1, fat 1, holes 1, mould 1, water 1, wax 1 | colour 35, heat 34, goop 29, float layer 17, food 9, sugar 8, holes 8, wax 8, char 7, flame 6, fat 6, metal 5, mould 4, wetness 4, cover 3, bases 3, water 3, wind 3, dough 2, slope, jolt 2, CO₂ 2, crust 1 | 31: Air, Ants, Balls, Bits, stickers, Bodies, Candles, sticks, Cat, dog, Chemistry, Circuit, Contact, Cups, bottles, Dough, Engine, Flies, Float, grease, Frost, Goop, Hand tools, Lens, laser, Mould, Paper, Pigeon, Plants, Pressers, Sheet shaking, Smells, Snail, Soap, foam, String, Time skips, Wicking |
| Flies: Vliegen | · | float layer 8, goop 7, light 3 \(volgende update\), heat 3, wind 2, press 1, danger 1, acid 1, bleach 1, sugar 1, food 1, foul smell 1, smoke 1, sour smell 1, sweet smell 1, mould 1, motion seen 1, noise 1, vibration 1 | 0 |
| Float, grease: Drijflaag en vet | float layer 59, goop 48, fat 4, heat 2, stir 1, water 1 | float layer 135, goop 99, water 13, fat 9, cover 7, heat 6, holes 5, stir 5, frost 4, dents 4, soap 2, wetness 1 | 31: Air, Ants, Balls, Bits, stickers, Bodies, Candles, sticks, Cat, dog, Chemistry, Circuit, Contact, Cups, bottles, Dough, Engine, Fire, heat, Flies, Frost, Goop, Hand tools, Lens, laser, Mould, Paper, Pigeon, Plants, Pressers, Sheet shaking, Smells, Snail, Soap, foam, String, Time skips, Wicking |
| Frost: Rijp en ijs | goop 7, colour hold 3 \(volgende update\), frost 3, heat 2 \(volgende update\), water 2, food 1, noticed 1 \(volgende update\), wetness 1 | goop 20, dye 9 \(volgende update\), colour 9, water 8, wetness 7, frost 5, colour hold 3 \(volgende update\), salt crystals 1 \(volgende update\), float layer 1, food 1, holes 1, heat 1 | 28: Air, Ants, Balls, Bits, stickers, Bodies, Cat, dog, Chemistry, Circuit, Contact, Dough, Engine, Fire, heat, Flies, Float, grease, Goop, Hand tools, Lens, laser, Mould, Paper, Pigeon, Pressers, Sheet shaking, Smells, Snail, Soap, foam, String, Time skips, Wicking |
| Goop: Stroming van smurrie | goop 231, float layer 18, colour 16, dye 12, wetness 8, dough 5, any element 5, frost 3, fat 2, heat 2, water 2, food 1, surface soap 1 | goop 382, float layer 59, colour 27, water 26, dye 21, frost 17, holes 16, slope, jolt 15, wetness 14, cover 9, dough 6, heat 6, dents 4, colour hold 3, food 3, fat 3, mould 3, crust 3, soap 2, surface soap 2, wax 2, sheet shaking 1 | 31: Air, Ants, Balls, Bits, stickers, Bodies, Candles, sticks, Cat, dog, Chemistry, Circuit, Contact, Cups, bottles, Dough, Engine, Fire, heat, Flies, Float, grease, Frost, Hand tools, Lens, laser, Mould, Paper, Pigeon, Plants, Pressers, Sheet shaking, Smells, Snail, Soap, foam, String, Time skips, Wicking |
| Hand tools: Handgereedschap | goop 57, press 25, any element 16, colour 15, wetness 15, shear 10, water 8, impact 6, metal 3, danger 3, food 2, noticed 2 \(volgende update\), motion seen 2, heat 2, wax 2, bodies 1, dye 1 \(volgende update\), bases 1, wind 1 | goop 65, colour 38, holes 15, wetness 10, mould 4, heat 4, wax 4, float layer 3, water 3, metal 2, bases 2, soap 2, sugar 2 \(volgende update\), food 2, slope, jolt 2, frost 2, dents 2, any element 1 \(volgende update\), indicators 1 | 32: Air, Ants, Balls, Bits, stickers, Bodies, Candles, sticks, Cat, dog, Chemistry, Circuit, Contact, Cups, bottles, Dough, Engine, Fire, heat, Flies, Float, grease, Frost, Goop, Lens, laser, Mould, Paper, Pigeon, Plants, Pressers, Senses, Sheet shaking, Smells, Snail, Soap, foam, String, Time skips, Wicking |
| Lens, laser: Lens en laserstralen | heat 2, char 1, water 1, wetness 1 | goop 5, char 3, colour 3, heat 3, water 3, wetness 3, holes 2, metal 1, float layer 1 | 31: Air, Ants, Balls, Bits, stickers, Bodies, Candles, sticks, Cat, dog, Chemistry, Circuit, Contact, Cups, bottles, Dough, Engine, Fire, heat, Flies, Float, grease, Frost, Goop, Hand tools, Mould, Paper, Pigeon, Plants, Pressers, Sheet shaking, Smells, Snail, Soap, foam, String, Time skips, Wicking |
| Light: Licht en optica | · | light 4 \(volgende update\) | 0 |
| Mould: Schimmel | mould 4, food 2 \(volgende update\), spores 2 | mould 9, goop 8, food 5, wetness 3, wind 3, char 2, spores 2, holes 2, water 2, press 1, shear 1 \(volgende update\), acid 1, bleach 1, sugar 1, frost 1, vibration 1, heat 1 | 12: Air, Bits, stickers, Chemistry, Dough, Fire, heat, Flies, Goop, Hand tools, Plants, Sheet shaking, Smells, Time skips |
| Paper: Papier en waterfilm | colour hold 22, dye 13, colour 10, float layer 8, water 7, wetness 7, any element 4, metal 3, goop 3, dents 3, salt crystals 2, salt \(in water\) 2, heat 2 \(volgende update\), food 1 | dye 75, colour 57, colour hold 42, float layer 34, goop 32, wetness 25, water 22, cover 19, heat 10, metal 9, slope, jolt 7, holes 7, salt crystals 6, dents 5, salt \(in water\) 4, wax 4, soap 2, shear 1, food 1, frost 1, fat 1, crust 1, sheet shaking 1 | 29: Air, Ants, Balls, Bits, stickers, Bodies, Candles, sticks, Cat, dog, Chemistry, Circuit, Contact, Dough, Engine, Fire, heat, Flies, Float, grease, Frost, Goop, Hand tools, Lens, laser, Mould, Pigeon, Pressers, Sheet shaking, Smells, Snail, Soap, foam, String, Time skips, Wicking |
| Pigeon: Duif | goop 11, motion seen 3, wind 2, press 1, dents 1, colour 1, noise 1 | goop 19, float layer 4, wind 2, danger 1, smoke 1, sweet smell 1, dents 1, crust 1, motion seen 1, noise 1, vibration 1, heat 1, wetness 1 | 32: Air, Ants, Balls, Bits, stickers, Bodies, Candles, sticks, Cat, dog, Chemistry, Circuit, Contact, Cups, bottles, Dough, Engine, Fire, heat, Flies, Float, grease, Frost, Goop, Hand tools, Lens, laser, Mould, Paper, Plants, Pressers, Senses, Sheet shaking, Smells, Snail, Soap, foam, String, Time skips, Wicking |
| Plants: Planten en zaadjes | mould 2, goop 1, colour 1 | mould 4, heat 2, press 1, holes 1 | 29: Air, Ants, Balls, Bits, stickers, Bodies, Cat, dog, Chemistry, Circuit, Contact, Dough, Engine, Fire, heat, Flies, Float, grease, Frost, Goop, Hand tools, Lens, laser, Mould, Paper, Pigeon, Pressers, Sheet shaking, Smells, Snail, Soap, foam, String, Time skips, Wicking |
| Pressers: Drukkers: auto, band, gezicht, roller, strijkijzer | goop 39, colour 16, dents 14, dye 9, press 6, water 4, wetness 4, motion seen 3, noise 3, impact 2, vibration 2, wind 2, bodies 1, shear 1, soap 1, foul smell 1, fat 1, heat 1 | goop 81, colour 21, dents 18, float layer 16, dye 15, wetness 15, holes 12, water 10, colour hold 3, dough 3, soap 2, slope, jolt 2, frost 2, fat 2, bodies 1, cover 1, heat 1 | 32: Air, Ants, Balls, Bits, stickers, Bodies, Candles, sticks, Cat, dog, Chemistry, Circuit, Contact, Cups, bottles, Dough, Engine, Fire, heat, Flies, Float, grease, Frost, Goop, Hand tools, Lens, laser, Mould, Paper, Pigeon, Plants, Senses, Sheet shaking, Smells, Snail, Soap, foam, String, Time skips, Wicking |
| Senses: Zintuigen en gevaar \(de dieren delen ze\) | · | press 6, warm air 5, wind 5, motion seen 4, smoke 3, shear 2 \(volgende update\), foul smell 2, sharp smell 2, sour smell 2, sweet smell 2, noise 2, vibration 2, bodies 1 | 0 |
| Sheet shaking: Trillend vel en korrels | goop 11, bases 2, sheet shaking 2 | goop 30, bases 3, frost 2, wetness 2, holes 1, mould 1 | 28: Air, Ants, Balls, Bits, stickers, Bodies, Cat, dog, Chemistry, Circuit, Contact, Dough, Engine, Fire, heat, Flies, Float, grease, Frost, Goop, Hand tools, Lens, laser, Mould, Paper, Pigeon, Pressers, Smells, Snail, Soap, foam, String, Time skips, Wicking |
| Smells: Geurbronnen | foul smell 1, sharp smell 1, sour smell 1, sweet smell 1 | dough 2, goop 2, acid 1, bleach 1, sugar 1, food 1, mould 1, heat 1 | 7: Air, Ants, Cat, dog, Flies, Pigeon, Senses, Snail |
| Snail: Slak | goop 6 | goop 11, float layer 2, heat 2, danger 1, acid 1, bleach 1, sour smell 1, sweet smell 1, holes 1, motion seen 1, vibration 1 | 28: Air, Ants, Balls, Bits, stickers, Bodies, Cat, dog, Chemistry, Circuit, Contact, Dough, Engine, Fire, heat, Flies, Float, grease, Frost, Goop, Hand tools, Lens, laser, Mould, Paper, Pigeon, Pressers, Sheet shaking, Smells, Soap, foam, String, Time skips, Wicking |
| Soap, foam: Zeep, schuim, oppervlaktespanning | goop 18, colour 10, float layer 8, dye 6, surface soap 6, soap 3, stir 3, wetness 2, any element 1, noticed 1 \(volgende update\), water 1 | goop 71, float layer 30, dye 15, surface soap 14, colour 12, wetness 8, soap 6, water 6, slope, jolt 4, colour hold 3, stir 3, press 2, cover 1, frost 1, fat 1, holes 1, sheet shaking 1, wind 1 | 28: Air, Ants, Balls, Bits, stickers, Bodies, Cat, dog, Chemistry, Circuit, Contact, Dough, Engine, Fire, heat, Flies, Float, grease, Frost, Goop, Hand tools, Lens, laser, Mould, Paper, Pigeon, Pressers, Sheet shaking, Smells, Snail, String, Time skips, Wicking |
| String: Touwtje en wat klinkt | danger 2, vibration 2, bodies 1, shear 1, sheet shaking 1 | slope, jolt 3, goop 3, bodies 2, heat 2, float layer 1, water 1, wetness 1 | 18: Ants, Balls, Bits, stickers, Bodies, Candles, sticks, Cat, dog, Contact, Cups, bottles, Engine, Flies, Goop, Mould, Paper, Pigeon, Pressers, Senses, Snail, Soap, foam |
| Time skips: Sprongen in de tijd \(bezinken, oven, ouder worden\) | goop 19, colour 18, iron 2, food 2, mould 2, water 2, wetness 2, char 1, sugar 1, dents 1, heat 1 \(volgende update\) | goop 45, colour 20, wetness 9, holes 6, water 5, char 4, cover 4, bases 4, food 4, mould 4, colour hold 3 \(volgende update\), metal 3 \(volgende update\), dye 3 \(volgende update\), acid 3, sugar 2, dough 1, any element 1 \(volgende update\), iron 1 \(volgende update\), frost 1, dents 1, wax 1 | 30: Air, Ants, Balls, Bits, stickers, Bodies, Candles, sticks, Cat, dog, Chemistry, Circuit, Contact, Dough, Engine, Fire, heat, Flies, Float, grease, Frost, Goop, Hand tools, Lens, laser, Mould, Paper, Pigeon, Plants, Pressers, Sheet shaking, Smells, Snail, Soap, foam, String, Wicking |
| Wicking: Opzuigen en kleurstoffen | dye 48, colour 24, goop 9, wetness 3, crust 2, noticed 1 \(volgende update\) | dye 96, colour 48, goop 25, wetness 9, crust 6, holes 4, colour hold 3 \(volgende update\), cover 2, dough 2, salt crystals 1 | 28: Air, Ants, Balls, Bits, stickers, Bodies, Cat, dog, Chemistry, Circuit, Contact, Dough, Engine, Fire, heat, Flies, Float, grease, Frost, Goop, Hand tools, Lens, laser, Mould, Paper, Pigeon, Pressers, Sheet shaking, Smells, Snail, Soap, foam, String, Time skips |

[De schrijvers en lezers van elke laag](<#hood-wiring-layers>)

De schrijvers en lezers van elke laag

De bedrading

### De schrijvers en lezers van elke laag

Het paneel van de graaf hierboven, voor alle lagen tegelijk, gegroepeerd zoals de binnenste ring. Het getal na elke naam is op hoeveel plekken in zijn code. Routes zijn schrijvers maal lezers, in het uitgebrachte spel.

| Laag | Geschreven door | Gelezen door | Routes |
| --- | --- | --- | --- |
| Warmte \(Warmte\) | Engine 7, Fire, heat 7, Bits, stickers 3, Cups, bottles 3, Lens, laser 2, Float, grease 2, Frost 2 \(volgende update\), Goop 2, Paper 2 \(volgende update\), Hand tools 2, Bodies 1, Contact 1 \(volgende update\), Circuit 1, Time skips 1 \(volgende update\), Pressers 1 | Fire, heat 34, Paper 10, Engine 8, Bits, stickers 6, Float, grease 6, Goop 6, Cat, dog 6, Contact 5 \(volgende update\), Chemistry 4 \(volgende update\), Cups, bottles 4, Circuit 4, Hand tools 4, Lens, laser 3, Bodies 3, Flies 3, Plants 2, Snail 2, Candles, sticks 2, String 2, Ants 1, Dough 1, Frost 1, Mould 1, Pigeon 1, Smells 1, Pressers 1 | 264 |
| Waar een vlam staat \(Warmte\) | Fire, heat 3, Bits, stickers 1 | Fire, heat 6, Bodies 2, Engine 1 \(volgende update\) | 4 |
| Verbrand en verkoold \(Warmte\) | Fire, heat 4, Lens, laser 1, Engine 1, Time skips 1 | Fire, heat 7, Time skips 4, Lens, laser 3, Mould 2, Engine 1 | 20 |
| Gaten in het papier \(Warmte\) | Candles, sticks 2, Engine 1, Fire, heat 1 | Goop 16, Hand tools 15, Pressers 12, Fire, heat 8, Paper 7, Time skips 6, Float, grease 5, Bits, stickers 4, Engine 4, Wicking 4, Contact 3, Candles, sticks 3, Lens, laser 2, Bodies 2, Circuit 2, Mould 2, Air 1, Balls 1, Chemistry 1 \(volgende update\), Dough 1, Frost 1, Plants 1, Snail 1, Soap, foam 1, Sheet shaking 1 | 72 |
| Rijp \(Warmte\) | Frost 3, Goop 3, Bits, stickers 1, Contact 1 \(volgende update\) | Goop 17, Contact 6, Frost 5, Float, grease 4, Engine 3, Air 2, Hand tools 2, Pressers 2, Sheet shaking 2, Bits, stickers 1, Mould 1, Paper 1, Soap, foam 1, Candles, sticks 1 \(volgende update\), Time skips 1 | 42 |
| Natheid in het papier \(Papier en water\) | Hand tools 15, Goop 8, Engine 7, Paper 7, Bits, stickers 6, Pressers 4, Air 3, Wicking 3, Fire, heat 2, Cat, dog 2, Soap, foam 2, Time skips 2, Balls 1, Lens, laser 1, Chemistry 1, Frost 1 | Paper 25, Pressers 15, Goop 14, Hand tools 10, Time skips 9, Wicking 9, Bits, stickers 8, Chemistry 8, Soap, foam 8, Frost 7, Air 6, Contact 4, Fire, heat 4, Lens, laser 3, Mould 3, Circuit 2, Sheet shaking 2, Balls 1, Engine 1, Float, grease 1, Pigeon 1, String 1 | 352 |
| Staand water \(Papier en water\) | Engine 9, Hand tools 8, Paper 7, Air 6, Bits, stickers 4, Pressers 4, Chemistry 2, Contact 2, Frost 2, Goop 2, Time skips 2, Lens, laser 1, Cups, bottles 1, Dough 1, Fire, heat 1, Float, grease 1, Cat, dog 1, Soap, foam 1 | Goop 26, Paper 22, Float, grease 13, Air 12, Pressers 10, Contact 9, Engine 9, Chemistry 8, Frost 8, Soap, foam 6, Bits, stickers 5, Time skips 5, Lens, laser 3, Dough 3, Fire, heat 3, Hand tools 3, Ants 2, Circuit 2, Mould 2, Cat, dog 2, Candles, sticks 1 \(volgende update\), String 1 | 378 |
| Kleur in het papier \(Papier en water\) | Bits, stickers 26, Wicking 24, Time skips 18, Goop 16, Pressers 16, Hand tools 15, Fire, heat 12, Paper 10, Soap, foam 10, Chemistry 8, Engine 7, Contact 6, Cat, dog 4, Pigeon 1, Plants 1 | Paper 57, Wicking 48, Hand tools 38, Fire, heat 35, Chemistry 33, Goop 27, Bits, stickers 21, Pressers 21, Time skips 20, Soap, foam 12, Contact 9, Engine 9, Frost 9, Ants 3, Lens, laser 3, Cat, dog 3 | 240 |
| Kleurstof die het water meevoert \(Papier en water\) | Wicking 48, Paper 13, Contact 12, Goop 12, Pressers 9, Soap, foam 6, Engine 3, Chemistry 2, Cups, bottles 1 \(volgende update\), Hand tools 1 \(volgende update\) | Wicking 96, Paper 75, Contact 21, Goop 21, Soap, foam 15, Pressers 15, Chemistry 12, Frost 9 \(volgende update\), Air 6, Time skips 3 \(volgende update\) | 64 |
| Hoe kleur zich vasthoudt \(Papier en water\) | Paper 22, Frost 3 \(volgende update\) | Paper 42, Chemistry 3, Contact 3, Frost 3 \(volgende update\), Goop 3, Soap, foam 3, Time skips 3 \(volgende update\), Pressers 3, Wicking 3 \(volgende update\) | 6 |
| Deuken en golving \(Papier en water\) | Pressers 14, Bits, stickers 4, Engine 3, Paper 3, Contact 2, Candles, sticks 2, Cat, dog 1, Pigeon 1, Time skips 1 | Pressers 18, Paper 5, Bits, stickers 4, Float, grease 4, Goop 4, Engine 3, Contact 2, Candles, sticks 2, Hand tools 2, Cat, dog 1, Pigeon 1, Time skips 1 | 108 |
| Poreuze korst \(Papier en water\) | Wicking 2 | Wicking 6, Goop 3, Fire, heat 1, Paper 1, Pigeon 1 | 5 |
| Wat er op het papier ligt \(Papier en water\) | Bits, stickers 6 | Paper 19, Bits, stickers 11, Goop 9, Float, grease 7, Air 4, Time skips 4, Fire, heat 3, Contact 2, Dough 2, Engine 2 \(volgende update\), Wicking 2, Soap, foam 1, Candles, sticks 1 \(volgende update\), Pressers 1 | 12 |
| Metaal en grafiet \(Papier en water\) | Circuit 7, Fire, heat 3, Paper 3, Hand tools 3, Engine 2 \(volgende update\) | Circuit 10, Paper 9, Fire, heat 5, Time skips 3 \(volgende update\), Hand tools 2, Lens, laser 1, Engine 1 \(volgende update\) | 20 |
| Was in het papier \(Papier en water\) | Hand tools 2, Fire, heat 1 | Fire, heat 8, Paper 4, Hand tools 4, Goop 2, Bits, stickers 1, Chemistry 1, Time skips 1 | 14 |
| Vet in het papier \(Papier en water\) | Float, grease 4, Goop 2, Fire, heat 1, Pressers 1 | Float, grease 9, Fire, heat 6, Goop 3, Pressers 2, Paper 1, Soap, foam 1 | 24 |
| Smurrie \(Smurrie\) | Goop 231, Hand tools 57, Engine 49, Float, grease 48, Pressers 39, Dough 38, Chemistry 37, Bits, stickers 19, Time skips 19, Soap, foam 18, Air 17, Fire, heat 15, Contact 14, Cat, dog 13, Pigeon 11, Sheet shaking 11, Wicking 9, Frost 7, Ants 6, Snail 6, Candles, sticks 4, Bodies 3, Paper 3, Cups, bottles 1, Circuit 1, Plants 1 | Goop 382, Float, grease 99, Chemistry 98, Dough 98, Pressers 81, Soap, foam 71, Engine 65, Hand tools 65, Time skips 45, Paper 32, Sheet shaking 30, Fire, heat 29, Contact 28, Bits, stickers 27, Wicking 25, Cat, dog 21, Air 20, Frost 20, Pigeon 19, Ants 17, Snail 11, Mould 8, Flies 7, Cups, bottles 6 \(volgende update\), Lens, laser 5, Circuit 3, String 3, Bodies 2, Smells 2, Balls 1 | 754 |
| Drijflaag \(Smurrie\) | Float, grease 59, Goop 18, Fire, heat 8, Paper 8, Soap, foam 8, Bits, stickers 2, Engine 1 | Float, grease 135, Goop 59, Paper 34, Soap, foam 30, Fire, heat 17, Pressers 16, Air 8, Flies 8, Cat, dog 6, Engine 5, Pigeon 4, Hand tools 3, Ants 2, Bits, stickers 2, Snail 2, Balls 1, Lens, laser 1, Bodies 1, Contact 1 \(volgende update\), Dough 1, Circuit 1, Frost 1, String 1 | 154 |
| Wat in deeg is gekneed \(Smurrie\) | Dough 47, Goop 5, Fire, heat 1 | Dough 79, Goop 6, Pressers 3, Chemistry 2 \(volgende update\), Circuit 2, Fire, heat 2, Smells 2, Wicking 2, Contact 1, Time skips 1 | 27 |
| Zeep op een oppervlak \(Smurrie\) | Soap, foam 6, Goop 1 | Soap, foam 14, Goop 2, Chemistry 1 \(volgende update\) | 4 |
| Hoe hard zeep is bewerkt \(Smurrie\) | Soap, foam 3, Float, grease 1 | Float, grease 5, Soap, foam 3 | 4 |
| Voedsel voor schimmel \(Smurrie\) | Fire, heat 3, Mould 2 \(volgende update\), Time skips 2, Hand tools 2, Ants 1, Chemistry 1, Frost 1, Goop 1, Paper 1 | Fire, heat 9, Mould 5, Time skips 4, Ants 3, Goop 3, Hand tools 2, Chemistry 1, Flies 1, Frost 1, Paper 1, Smells 1 | 88 |
| Schimmel \(Smurrie\) | Mould 4, Chemistry 2, Plants 2, Time skips 2, Fire, heat 1 | Mould 9, Chemistry 7, Fire, heat 4, Plants 4, Time skips 4, Hand tools 4, Goop 3, Bits, stickers 1, Dough 1, Flies 1, Smells 1, Sheet shaking 1 | 60 |
| Elk opgelost element \(Scheikunde\) | Hand tools 16, Goop 5, Paper 4, Chemistry 2, Cups, bottles 1 \(volgende update\), Engine 1, Soap, foam 1 | Chemistry 9, Time skips 1 \(volgende update\), Hand tools 1 \(volgende update\) | 6 |
| Zuur \(Scheikunde\) | Chemistry 8, Circuit 1 | Chemistry 28, Time skips 3, Ants 2, Circuit 1, Flies 1, Mould 1, Smells 1, Snail 1 | 16 |
| Basen \(Scheikunde\) | Chemistry 6, Sheet shaking 2, Circuit 1, Fire, heat 1, Hand tools 1 | Chemistry 25, Time skips 4, Circuit 3, Fire, heat 3, Sheet shaking 3, Hand tools 2 | 30 |
| Bleekmiddel \(Scheikunde\) | Chemistry 3 | Chemistry 6, Ants 3, Flies 1, Mould 1, Smells 1, Snail 1 | 6 |
| Opgelost zout \(Scheikunde\) | Paper 2, Chemistry 1 | Chemistry 5, Paper 4, Circuit 1 | 6 |
| Kristalzout \(Scheikunde\) | Paper 2, Chemistry 1 | Paper 6, Chemistry 2, Frost 1 \(volgende update\), Wicking 1 | 6 |
| Suiker \(Scheikunde\) | Fire, heat 2, Ants 1, Bits, stickers 1, Chemistry 1, Time skips 1 | Fire, heat 8, Ants 3, Chemistry 3, Time skips 2, Hand tools 2 \(volgende update\), Flies 1, Mould 1, Smells 1 | 35 |
| Zeep in het papier \(Scheikunde\) | Soap, foam 3, Cups, bottles 1 \(volgende update\), Pressers 1 | Soap, foam 6, Chemistry 3, Float, grease 2, Goop 2, Paper 2, Hand tools 2, Pressers 2, Ants 1, Balls 1, Bits, stickers 1 | 20 |
| Tannine \(Scheikunde\) | Chemistry 2 | Chemistry 3 | 1 |
| IJzer \(Scheikunde\) | Time skips 2, Chemistry 1, Fire, heat 1 | Chemistry 2, Time skips 1 \(volgende update\) | 3 |
| Indicatorkleurstoffen \(Scheikunde\) | Chemistry 2 | Chemistry 5, Hand tools 1 | 2 |
| Ureum, peroxide, verbruikt zuur \(Scheikunde\) | Chemistry 6 | Chemistry 7 | 1 |
| Wind \(Lucht\) | Engine 10, Air 8, Cat, dog 4, Pigeon 2, Pressers 2, Balls 1, Hand tools 1 | Air 23, Bits, stickers 8, Engine 5, Senses 5, Bodies 4, Candles, sticks 4, Cups, bottles 3, Fire, heat 3, Mould 3, Flies 2, Cat, dog 2, Pigeon 2, Balls 1, Soap, foam 1 | 98 |
| Warme lucht \(Lucht\) | Engine 4, Candles, sticks 1 | Bits, stickers 5, Senses 5, Cups, bottles 4, Candles, sticks 1 \(volgende update\) | 6 |
| Rook \(Lucht\) | Engine 9 | Air 4, Senses 3, Ants 1, Flies 1, Cat, dog 1, Pigeon 1 | 6 |
| CO₂ \(Lucht\) | Engine 5, Cups, bottles 3 | Air 4, Fire, heat 2, Candles, sticks 2 | 6 |
| Chloor \(Lucht\) | Engine 2, Cups, bottles 1 \(volgende update\) | Air 4, Engine 2 | 2 |
| Zoete geur \(Lucht\) | Smells 1 | Air 4, Senses 2, Ants 1, Flies 1, Cat, dog 1, Pigeon 1, Snail 1 | 7 |
| Vieze geur \(Lucht\) | Cat, dog 1, Smells 1, Pressers 1 | Air 4, Senses 2, Flies 1, Cat, dog 1 | 12 |
| Zure geur \(Lucht\) | Smells 1 | Air 4, Senses 2, Ants 1, Flies 1, Cat, dog 1, Snail 1 | 6 |
| Scherpe geur \(Lucht\) | Smells 1 | Air 4, Senses 2, Ants 1 | 3 |
| Schimmelsporen \(Lucht\) | Mould 2 | Air 4, Mould 2 | 2 |
| Vochtige lucht \(Lucht\) | Engine 1 \(volgende update\) | Air 5 \(volgende update\) | 0 |
| Geluid \(Zintuigen\) | Engine 7, Pressers 3, Cups, bottles 1, Circuit 1, Pigeon 1 | Cat, dog 3, Senses 2, Flies 1, Pigeon 1 | 20 |
| Gevoelde trilling \(Zintuigen\) | Engine 10, String 2, Pressers 2 | Senses 2, Ants 1, Flies 1, Mould 1, Cat, dog 1, Pigeon 1, Snail 1 | 21 |
| Geziene beweging \(Zintuigen\) | Engine 9, Cat, dog 3, Pigeon 3, Pressers 3, Hand tools 2, Balls 1, Circuit 1 | Senses 4, Ants 1, Flies 1, Cat, dog 1, Pigeon 1, Snail 1 | 42 |
| Iets wat op een dier neerkomt \(Zintuigen\) | Engine 6, Hand tools 3, String 2 | Ants 1, Flies 1, Cat, dog 1, Pigeon 1, Snail 1 | 15 |
| Druk \(Contact\) | Hand tools 25, Engine 8, Pressers 6, Bodies 1, Cat, dog 1, Pigeon 1 | Senses 6, Engine 4, Cups, bottles 3, Contact 2, Soap, foam 2, Ants 1, Balls 1, Bits, stickers 1, Bodies 1, Flies 1, Mould 1, Plants 1, Candles, sticks 1 | 78 |
| Schuifkracht \(Contact\) | Hand tools 10, Engine 4, Cat, dog 4, Bodies 1 \(volgende update\), String 1, Pressers 1 | Contact 3, Bits, stickers 2, Engine 2, Senses 2 \(volgende update\), Mould 1 \(volgende update\), Paper 1 | 20 |
| Inslag \(Contact\) | Engine 7, Hand tools 6, Pressers 2, Cat, dog 1 | Engine 3 | 4 |
| Lichamen \(Contact\) | Engine 8, Bodies 2 \(volgende update\), Balls 1, Cat, dog 1, String 1, Hand tools 1, Pressers 1 | Bodies 11, Engine 4, String 2, Balls 1, Contact 1 \(volgende update\), Cups, bottles 1, Senses 1, Candles, sticks 1, Pressers 1 | 48 |
| Helling en schok \(Beweging\) | Engine 9 | Bodies 27, Bits, stickers 16, Engine 16, Goop 15, Cups, bottles 13, Candles, sticks 8, Paper 7, Soap, foam 4, Balls 3, String 3, Fire, heat 2, Hand tools 2, Pressers 2 | 13 |
| Het trillende vel \(Beweging\) | Engine 3, Sheet shaking 2, String 1 | Bodies 3 \(volgende update\), Bits, stickers 1, Goop 1, Paper 1, Soap, foam 1 | 12 |
| Licht op het papier \(Licht\) | Engine 1 \(volgende update\) | Light 4 \(volgende update\), Flies 3 \(volgende update\), Chemistry 1 \(volgende update\), Engine 1 \(volgende update\) | 0 |
| Opgemerkte verschijnselen \(Opgemerkt\) | Chemistry 10 \(volgende update\), Cups, bottles 2 \(volgende update\), Engine 2 \(volgende update\), Fire, heat 2 \(volgende update\), Hand tools 2 \(volgende update\), Circuit 1 \(volgende update\), Frost 1 \(volgende update\), Soap, foam 1 \(volgende update\), Candles, sticks 1 \(volgende update\), Wicking 1 \(volgende update\) | Engine 1 \(volgende update\) | 0 |

## Twintig kettingreacties die niemand programmeerde, elk gecontroleerd door een test

Een ketting is hier iets wat een kind kan doen, een laag die daardoor verandert, en wat er volgt. In elke ketting noemt de code van elke stap de andere kant nooit. De drempels zijn met de hand afgesteld. De ketting niet.

Elke ketting heeft een test in de testsuite van het spel die de situatie opzet en de uitkomst controleert. Veel tests bouwen de situatie direct op \(een briesje, een vlieg die op zijn plek wordt gezet\), dus een test laat zien dat de ketting kan gebeuren, niet hoe vaak dat tijdens het spelen gebeurt.

[Onder de motorkap: de volgorde van één tik](<#hood-tick>)

Twintig kettingreacties die niemand programmeerde, elk gecontroleerd door een test

Onder de motorkap

### Twintig kettingreacties die niemand programmeerde, elk gecontroleerd door een test

De simulatie stapt 60 keer per seconde, en de volgorde binnen een stap is een ontwerpkeuze: wat eerst handelt, wordt gezien door wat volgt. Geluid, trilling en beweging vervagen als laatste, “so whatever happened this tick was there for everyone to notice before it fades” \(zodat wat er in deze tik gebeurde er voor iedereen was om op te merken voordat het vervaagt\). Langzame, vloeiende dingen, zoals water dat in papier trekt, stappen soms minder vaak dan snelle.

### Via de lucht

Gedeeld: wind

#### Rol een voetbal snel langs een brandende kaars

Hij gaat uit. Langzaam gerold blijft hij branden. De bal duwt alleen lucht; de kaars leest alleen hoe snel de lucht rond haar vlam beweegt.

*[Lucht die echt beweegt](<https://professoroops.com/binnenin/lucht/>)* · gecontroleerd door een test

Gedeeld: zuur \+ base → CO₂

#### Giet azijn op zuiveringszout naast een kaars

Het gas kruipt over het papier en de kaars vlakbij gaat uit zonder wind. Een kaars aan de andere kant van het blad blijft branden.

*[Scheikunde en pH](<https://professoroops.com/binnenin/scheikunde/>)* · gecontroleerd door een test

Gedeeld: warmte → diepte van CO₂

#### Strooi zuiveringszout over brandende olie

Binnen een paar seconden uit. Het vuur leest hoe diep de CO₂ ligt, niet waar die vandaan kwam. Bloem op hetzelfde vuur laat het opvlammen.

*[Warmte en vuur](<https://professoroops.com/binnenin/warmte/>)* · gecontroleerd door een test

Gedeeld: warme lucht \+ vlam

#### Verbrand papier naast losse confetti, bij een snee in het vel, in een briesje

Brandende snippers liften mee op de opwaartse lucht over de snee en beginnen een tweede vuur.

*[Warmte en vuur](<https://professoroops.com/binnenin/warmte/>)* · gecontroleerd door een test

Gedeeld: vieze geur \+ wind

#### Een slapende hond, een briesje, een vlieg benedenwinds

De vlieg ruikt de adem van de hond en komt via de geurpluim naar hem toe. Het landen op zijn neus is geschreven; de reis niet.

*[Dieren met een eigen wil](<https://professoroops.com/binnenin/dieren/>)* · gecontroleerd door een test

Gedeeld: druk → sporen → wind

#### Laat een bal stuiteren op schimmel in een briesje, en spring dan in de tijd

Nieuwe schimmel groeit benedenwinds op eten ergens anders.

*[Deeg, schimmel en tijd](<https://professoroops.com/binnenin/levend/>)* · gecontroleerd door een test

### Via wat dieren opmerken

Gedeeld: geziene beweging, iets wat nadert

#### Laat een emmer vallen bij een duif

Hij is weg voordat de emmer landt. Ver weg blijft hij zitten.

*[Dieren met een eigen wil](<https://professoroops.com/binnenin/dieren/>)* · gecontroleerd door een test

Gedeeld: geluid \+ beweging

#### Eén duif vliegt op

De duif ernaast gaat ook. Voor de tweede vogel is het opvliegen van de eerste alleen een geluid en een beweging.

*[Dieren met een eigen wil](<https://professoroops.com/binnenin/dieren/>)* · gecontroleerd door een test

Gedeeld: geluid

#### Zet een stofzuiger aan bij een hond

Hij blaft bij een gebrul vlakbij, niet bij een ventilator aan de andere kant van het blad.

*[Geluid en trillen](<https://professoroops.com/binnenin/geluid/>)* · gecontroleerd door een test

Gedeeld: trillend vel

#### Houd een luidspreker met de voorkant omlaag op het papier

Mieren stuiven uiteen, zand verzamelt zich op de stille lijnen, belletjes op de trillende delen knappen.

*[Geluid en trillen](<https://professoroops.com/binnenin/geluid/>)* · gecontroleerd door een test

### Via drukken en botsen

Gedeeld: druk tegenover breekgrens

#### Laat een duif over een dooier en een tomaat lopen

De dooier barst; de tomaat houdt het.

*[Dingen die dingen duwen](<https://professoroops.com/binnenin/duwen/>)* · gecontroleerd door een test

Gedeeld: lichamen: massa en bouw

#### Rol een voetbal tegen een volle beker

Hij kantelt en morst in de richting waarin de bal ging. Een tennisbal laat hem alleen rammelen.

*[Dingen die dingen duwen](<https://professoroops.com/binnenin/duwen/>)* · gecontroleerd door een test

Gedeeld: meegedragen lading

#### Rijd met het autootje door ketchup

Rode sporen lopen door voorbij de plas, met de verf verdeeld, niets erbij gemaakt.

*[Dun, plakkerig en vettig](<https://professoroops.com/binnenin/vloeistoffen/>)* · gecontroleerd door een test

### Via warmte, water en scheikunde

Gedeeld: smurrie draagt warmte

#### Mors hete koffie richting een reep chocolade

De reep wordt zacht waar de koffie hem bereikt.

*[Warmte en vuur](<https://professoroops.com/binnenin/warmte/>)* · gecontroleerd door een test

Gedeeld: as → carbonaat → pH

#### Verbrand wat papier en schilder er dan rodekoolsap overheen

Blauw in een dunne ring rond de brandplek, waar de as ligt, en paars ernaast. Vuur bereikt scheikunde.

*[Scheikunde en pH](<https://professoroops.com/binnenin/scheikunde/>)* · gecontroleerd door een test

Gedeeld: ijzer \+ tannine

#### Thee op vochtig papier met een speld erin, en spring dan een paar dagen verder

Een blauwzwarte ring van galnoteninkt. Het ijzer komt van de roestende speld.

*[Scheikunde en pH](<https://professoroops.com/binnenin/scheikunde/>)* · gecontroleerd door een test

Gedeeld: warmte

#### Zet 9 V over staalwol op papier

Het gloeit witheet en vat vlam waar de klemmen bijten. Elektriciteit bereikt vuur.

*[Elektriciteit](<https://professoroops.com/binnenin/elektriciteit/>)* · gecontroleerd door een test

Gedeeld: warmte

#### Een vlieg landt op een gloeiende draad

Hij is meteen weg. De code van de vlieg bevat geen draad.

*[Elektriciteit](<https://professoroops.com/binnenin/elektriciteit/>)* · gecontroleerd door een test

Gedeeld: zuur, zout, suiker in eten

#### Laat honing en ketchup drie dagen staan

Honing blijft schoon, op ketchup groeit schimmel. Azijn erop houdt de schimmel weg; sap niet.

*[Deeg, schimmel en tijd](<https://professoroops.com/binnenin/levend/>)* · gecontroleerd door een test

Gedeeld: zeep op het oppervlak

#### Raak een plas met peper erop aan met zeep

De peper schiet weg. De code van de tovermelk weet niets van peper.

*[Dun, plakkerig en vettig](<https://professoroops.com/binnenin/vloeistoffen/>)* · gecontroleerd door een test

### Komt in de volgende update

Gedeeld: warmte bij de lont

#### Brandend papier bereikt een kaars

volgende update De lont vat vlam. Een tandenstoker in dezelfde warmte niet: die heeft geen lont. In het uitgebrachte spel steekt alleen een lucifer een kaars aan.

*[Warmte en vuur](<https://professoroops.com/binnenin/warmte/>)* · gecontroleerd door een test

Gedeeld: water bij de lont

#### Giet water op een brandende lont

volgende update Hij verdrinkt ter plekke en gaat niet meer aan zolang hij nat is. Ernaast gegoten brandt de vlam door.

*[Warmte en vuur](<https://professoroops.com/binnenin/warmte/>)* · gecontroleerd door een test

Gedeeld: warmte versnelt reacties

#### Bleekmiddel op warm papier

volgende update Kleur verbleekt sneller. In het uitgebrachte spel versnelt warmte reacties alleen tijdens sprongen in de tijd.

*[Scheikunde en pH](<https://professoroops.com/binnenin/scheikunde/>)* · gecontroleerd door een test

![Azijn die bruist op een hoopje zuiveringszout naast een taartkaarsje dat net is uitgegaan, met een zwarte lont.](<https://professoroops.com/_assets/entity_cYevqYwIlQTCosP5xJaz.webp>)

**Azijn, zuiveringszout en een kaars.** Het bruisen geeft CO₂ af, dat zwaarder is dan lucht. Het kruipt over het papier en dooft de kaars ernaast. Niets in de code van de kaars noemt azijn.

![Een streep rodekoolsap over een klein brandgaatje in het papier: paars op het schone papier, blauw in een dunne ring rond de geschroeide rand.](<https://professoroops.com/_assets/entity_LZIXcBN7RfkLfwXHQkGP.webp>)

**Vuur ontmoet scheikunde zonder regel ertussen.** Een kleine brandplek, gedoofd met de vochtige theedoek, en daarna een streep rodekoolsap eroverheen. Brandend papier laat potas achter in de as, een base. Het sap leest de pH van het papier eronder: paars op schoon papier, blauw in een dunne ring rond de geschroeide rand, waar de as ligt. De kleur is een tabel die op de pH wordt afgelezen.

### Sommige tests controleren dat dingen niets van elkaar weten

De meeste tests controleren dat er iets gebeurt. Een paar controleren het tegenovergestelde: dat een stuk code de dingen waarop het werkt niet noemt. Die bewaken het ontwerp zelf, zodat een snelle oplossing niet stilletjes een paarregel terugbrengt.

Eén test gaat verder. Hij laat het vel trillen zonder dat er een luidspreker op het blad staat, en glitter drijft toch naar de stille lijnen. De luidspreker is gewoon één schrijver van een gedeelde laag.

[Onder de motorkap: tests van afwezigheid](<#hood-absence>)

Sommige tests controleren dat dingen niets van elkaar weten

Onder de motorkap

### Sommige tests controleren dat dingen niets van elkaar weten

- Eén test leest de eigen code van de luidspreker en faalt als die iets noemt wat het trillen beweegt: losse stukjes, schuim, bellen, smurrie, water, rimpelingen, deeltjes, korrels of welk materiaal ook. Hij leest ook de code van tien dingen die het trillen voelen en faalt als een ervan de luidspreker noemt.
- Een andere faalt als de code voor het schudden van de tafel bekers, ballen, stukjes, stokjes, auto’s, klotsen, morsen, schuim of stickers noemt.
- Een derde faalt als de vliegen ooit een opdracht krijgen die ze vertelt weg te gaan. Ze moeten het zelf merken. \(Eén uitzondering, met opzet: alles wat naar beneden drukt, schuift een vlieg eronder vandaan, zodat geen enkel dier ooit wordt gekwetst.\)
- De luidsprekertest laat het vel ook met de hand trillen zonder luidspreker, en de glitter leest het toch.

## Dieren reageren op een knal, een schok of een plotselinge beweging, wat die ook veroorzaakte

Elk dier in het spel luistert naar dezelfde drie kortlevende lagen: geluid, trilling door het papier, en beweging die het kan zien. Een hamerklap schrijft een knal en een schok. Een hand die voorbij zwaait, schrijft beweging. Een duif die opvliegt, schrijft een geluid en een beweging. Elk dier leest ze via zijn eigen rij getallen. Mieren en slakken zijn doof en voelen de grond. Vliegen letten vooral op beweging. Duiven horen goed.

Ze merken verandering op, geen niveau. Elk dier houdt bij waar het aan gewend is, dus een plotselinge knal laat schrikken, terwijl een ventilator die blijft blazen al snel wordt genegeerd. Beweging telt veel zwaarder als ze snel is, dus een hand die met een paar cellen per seconde aansluipt, laat bijna niets zien, terwijl dezelfde hand, snel bewogen, van ver wordt gezien. Daarom kun je een vlieg besluipen. Echte vliegen springen weg van een dreiging die op ze af komt <sup>[Card 2008](<https://professoroops.com/binnenin/onderzoek-echt/#card-2008>)</sup>. De vlieg in het spel vlucht recht weg van waar het alarm vandaan kwam, en dat klopt met dat artikel in de richting en niet meer.

Een duif schrikt niet van zijn eigen vleugels, maar de duif ernaast wel. Elk dier trekt wat het zelf net maakte af van wat het waarneemt. Biologen noemen dat een efferentiekopie; de code gebruikt die term niet, het is onze vergelijking. Het groepsalarm is geïnspireerd door onderzoek naar kuifduiven, waarvan het fluiten bij het opvliegen de groep alarmeert <sup>[Hingee 2009](<https://professoroops.com/binnenin/onderzoek-echt/#hingee-2009>)</sup>. Het spel heeft geen speciaal alarmgeluid, alleen iets hards en plotselings.

[Onder de motorkap](<#hood-senses>)

Dieren reageren op een knal, een schok of een plotselinge beweging, wat die ook veroorzaakte

Onder de motorkap

### Dieren reageren op een knal, een schok of een plotselinge beweging, wat die ook veroorzaakte

Drie rasters op het grove raster van de lucht. Een bron schrijft een vlek die met de afstand afneemt, alleen bewaard waar hij sterker is dan wat er al is \(piekwaarde\), zodat veel kleine bronnen nooit optellen tot een knal. Elke laag sterft binnen een fractie van een seconde weg.

Een harder geluid reikt verder. De schok van een klap groeit met zijn energie. Een beweger laat meer zien naarmate hij sneller en groter is, en een langzame laat helemaal niets zien. Dingen die neerkomen, lijken groter naarmate ze dichterbij komen, zoals een naderende vorm voor een echt dier. Eén gedeelde zintuigfunctie dient alle zes de soorten:

verrassing = wat het waarneemt − wat het zelf maakte − waar het aan gewend is  ·  dreiging = Σ gevoeligheid × verrassing  →  schrikt boven zijn eigen niveau

Waar het aan gewend is, schuift op naar wat het waarneemt, dus een gestaag geluid telt niet meer mee. Het enige deel per dier is één rij getallen per soort, hetzelfde bij de release. Wat een dier daarna doet \(hoe ver het vlucht, hoe angst optelt\) is zijn eigen code.

Probeer het: wie merkt het op? De eigen regel van het spelTik op het papier voor een klap, sleep eroverheen om een hand te bewegen, of druk op **Knal**, **Snel zwaaien** of **Vlieg besluipen**. Tot je dat doet, knalt, zwaait en sluipt de demo zelf. **Waar je op let:** snel zwaaien jaagt de duif, de hond en de vlieg op zijn weg op; langzaam aansluipen tot vlak bij de vlieg schrijft helemaal niets, dus die blijft zitten; de mieren en de slak zijn doof voor de knal en reageren op de schok. De eigen hand van de demo zweeft; de jouwe wordt over het papier gesleept, dus een snelle sleepbeweging wrijft er ook een beetje trilling in, zoals in het spel. De balk onder elk dier is zijn dreiging; het streepje in het midden is waar het schrikt.

![Een vel papier met een duif, een vlieg, mieren, een slak, een poes en een hond. Klappen en handbewegingen schrijven geluid, trilling en beweging, en elk dier schrikt als zijn dreiging boven zijn eigen niveau komt.](<https://professoroops.com/_assets/entity_rDGYXHWJXXHfFyysxsj7.png>)

- duif
- duif geschrokken
- vlieg
- vlieg geschrokken
- mier
- mier geschrokken
- slak
- slak geschrokken
- poes
- poes geschrokken
- hond
- hond geschrokken
- Een knal: geluid en een schok
- Jouw klap: een knal en een schok
- Snel zwaaien
- Langzaam naar de vlieg sluipen
- Jouw hand
- geluid
- trilling
- geziene beweging

Klaphard 1,00

Handgrootte12 cellen

handsnelheid—

beweging die hij laat zien—

gezien?—

klap: geluid reikt—

schok—

schok reikt—

schrikt: duif—

schrikt: vlieg—

schrikt: mier—

schrikt: slak—

schrikt: poes—

schrikt: hond—

Zes dieren, één zintuigfunctie, elk een rij getallen

Mieren en slakken horen niets \(geluid 0\) en voelen trilling volledig \(1\); de vlieg ziet beweging het scherpst \(1,5\) en schrikt het snelst \(0,3\); de duif hoort het best \(1\) en schrikt het laatst \(0,5\).

- geluid
- trilling
- geziene beweging
- schrikt boven

Gegevenstabel

Zes dieren, één zintuigfunctie, elk een rij getallen

|  | geluid | trilling | geziene beweging | schrikt boven |
| --- | --- | --- | --- | --- |
| duif | 1 | 0,3 | 1 | 0,5 |
| vlieg | 0,2 | 0,8 | 1,5 | 0,3 |
| mier | 0 | 1 | 0,1 | 0,3 |
| slak | 0 | 1 | 0,5 | 0,3 |
| poes | 0,6 | 0,3 | 0,6 | 0,35 |
| hond | 0,5 | 0,2 | 1,1 | 0,45 |

Bron: De eigen tabel van het spel met zintuigen per soort, hetzelfde bij de release. De volgorde volgt echte dieren \(dove mieren en slakken, vliegen die snel beweging zien\); de groottes zijn afgesteld voor het spelen, niet gemeten.

## Geen regel in het spel noemt twee stoffen, en toch bruisen azijn en zuiveringszout

Azijn en zuiveringszout bruisen. Nergens zegt de code “azijn ontmoet zuiveringszout”. Azijn zet zuur in het water op het papier. Zuiveringszout zet er een base in. Eén regel in de scheikundetabel zegt wat zuur en base samen doen, en die is één keer geschreven. Ketchup, cola, sinaasappelsap en elk zuur dat later wordt toegevoegd, doen vanzelf mee.

Die verdeling, tussen een paar dingen die in water zijn opgelost en de vele stoffen die ze aanvoeren, is geïnspireerd door hoe de makers van een bekend avonturenspel hun scheikunde-engine beschreven, zoals verslagen van hun lezing het weergeven <sup>[Dohta 2017](<https://professoroops.com/binnenin/onderzoek-simulatie/#dohta-2017>)</sup>. Regels groeien met het aantal opgeloste elementen, niet met het aantal paren stoffen.

We hebben dit gecontroleerd met een programma dat de code leest. Het vindt elke plek waar een materiaal bij naam wordt getest en elke plek waar twee zulke tests op verschillende dingen samenkomen. Het antwoord is nul, bij de release en in de volgende update. Dezelfde tabel zegt wat er tussen twee willekeurige stoffen van het spel kan gebeuren. Probeer hieronder elk paar dat je wilt.

[Onder de motorkap: hoe de “0” is geteld](<#hood-zero>)

Geen regel in het spel noemt twee stoffen, en toch bruisen azijn en zuiveringszout

Onder de motorkap

### Geen regel in het spel noemt twee stoffen, en toch bruisen azijn en zuiveringszout

Een scan van de TypeScript-syntaxisboom van de code van de simulatie, de dieren en het gereedschap \(58.098 regels bij de release, nu 69.002\) vindt elke plek waar een materiaal bij naam wordt getest, in een vergelijking of een switch, en elke plek waar twee zulke tests op verschillende dingen samenkomen, verbonden door “en” of in elkaar genest.

Nu: 851 keer wordt een materiaal bij naam genoemd, bijna allemaal “leg hier wat van neer”; 71 tests van welk materiaal er ligt, waarvan 16 voor “niets”, dus 55 noemen een echt materiaal; 0 paren. Bij de release: 77 tests en één kandidaat, die alleen de kleur kiest van het vruchtvlees van geplet fruit.

Het bekende gat van de scan: hij kan twee verschillende plekjes op het papier niet uit elkaar houden, dus een test van het ene plekje op A en een ander plekje op B zou als één ding tellen. Daarom zijn alle 71 tests ook met de hand gelezen. Geen ervan is zo’n paar. Een grep naar materialen die op een andere manier worden genoemd, vond twee stringtests op azijn: de ene kiest alleen een tint, de andere legt alleen zuur neer.

Paren, uit alleen de eigenschappentabel \(de stoffen plus de druppels\), als “kan iets doen, met genoeg van allebei op één plek”. Geen enkel paar is gedraaid. Bij de release: 104 stoffen, 5.356 paren, 1.143 \(21,3 %\) met iets specifieks, 2.080 \(38,8 %\) als je schimmel meetelt. Dat zijn kruisproducten van een handvol regels, niet zoveel losse gedragingen.

Probeer het: twee willekeurige stoffen De eigen regel van het spelElke rij en elke kolom is een stof uit het spel, gesorteerd naar met hoeveel andere hij iets specifieks heeft. Een gekleurd vierkantje betekent dat een regel tussen dat paar kan werken: rood voor reacties en kleur, blauw waar water binnendringt, geel voor lagen, paars voor deeg, groen voor schimmel. Tik op een vierkantje, of kies er twee uit de lijsten, acht per lijst. **Waar je op let:** bleekmiddel, helemaal links, bereikt bijna alles, omdat het kleuren laat verbleken en schimmel tegenhoudt; zout, azijn en zoete of zure drankjes bereiken de meeste etenswaren via schimmel. De meeste paren ontmoeten elkaar alleen via de algemene regels voor mengen, stromen en intrekken. De tabel hier bevat de 89 stoffen die een kind in het uitgebrachte spel of met de volgende update kan maken. Het meeste wat oplicht, zijn een paar regels die hele klassen kruisen: 45 waterige dingen tegenover 7 die opzwellen en 3 die oplossen, en vier soorten conserveermiddel \(bleekmiddel, zuur, zout, suiker\) tegenover elk soort eten.

![Een matrix van de stoffen van het spel tegen elkaar; een gekleurd vierkantje markeert een paar dat een eigenschapsregel verbindt.](<https://professoroops.com/_assets/entity_cdTeDdQEY7CW4jDDX0PO.png>)

ToonAlleReacties en kleurWater dringt binnenLagenDeegSchimmelEersteazijnbleekmiddelwateroliezoutafwasmiddelbloemdruivensapTweedezuiveringszoutmelkketchuphoningdooierschaalcolachiazaad

paren die oplichten—

aandeel—

eerste—

eerste: pH—

tweede—

tweede: pH—

gekozen paar—

Reacties en kleur—

Water dringt binnen—

Lagen—

Deeg—

Schimmel—

Dit is alleen eerlijk met de kleine lettertjes erbij. De scheikunderegels zelf zijn met de hand geschreven, en verschillende noemen twee ingrediënten: bleekmiddel met zuur maakt chloor, ijzer met tannine maakt inkt. Ze noemen wat er is opgelost, één keer, niet de stoffen die het aanvoeren. En de uitkomsten zijn bedacht: de rij van bloem zegt dat bloem en water deeg maken.

[De regels achter de vierkantjes](<#hood-rules>)

De regels achter de vierkantjes

Twee willekeurige stoffen

### De regels achter de vierkantjes

Wat elke regel in de matrix betekent. De uitlezingen onder de matrix noemen de regels die het gekozen paar tegenkomt.

| Regel | Soort | Wat hij doet |
| --- | --- | --- |
| Bruisen | Reacties en kleur | Zuur ontmoet zuiveringszout: de bruisregel van de scheikundetabel, zuur met base, geeft CO₂ af. |
| Bruist op schaal | Reacties en kleur | Een zuur ontmoet eierschaal, die het label carbonaat heeft en in zuur bruist. |
| Schift | Reacties en kleur | Een zuur ontmoet melk, en de rij van melk zegt dat die schift tot wrongel. |
| Kleurverandering, zure kant | Reacties en kleur | Een sap met anthocyaan \(druif, bosbes, aardbei\) ontmoet een zuur en wordt roder. De kleur komt uit een tabel die op de pH wordt afgelezen, niet uit een regel. |
| Kleurverandering, basische kant | Reacties en kleur | Een indicator \(anthocyaan, of de curcumine in mosterd\) ontmoet een base en verandert van kleur. Weer een tabel. |
| Chloor | Reacties en kleur | Bleekmiddel ontmoet een zuur: de chloorregel, en een uitgesproken waarschuwing om het raam open te doen. |
| Bleekmiddel laat het verbleken | Reacties en kleur | Bleekmiddel laat de kleur verbleken van alles wat het bereikt. |
| Zeep op melk | Reacties en kleur | Zeep ontmoet melk: de oppervlaktestroming van het proefje met tovermelk. |
| Water dringt binnen: zwelt op | Water dringt binnen | Iets waterigs ontmoet iets wat met water opzwelt of stijf wordt \(zaadjes tot gel, bloem tot deeg, zoals zijn rij zegt\). |
| Water dringt binnen: lost op | Water dringt binnen | Iets waterigs ontmoet iets wat erin oplost \(zout, poedersuiker, zuiveringszout\). |
| Blijven gescheiden | Lagen | Een vet of olie ontmoet iets waterigs: ze mengen niet, en het een drijft op het ander. |
| Gemengd gehouden | Lagen | Een emulgator \(dooier, mosterd, schuim\) ontmoet een vet of olie en houdt het gemengd. |
| Neemt vet op | Lagen | Bloem of maïzena ontmoet een vet of olie en neemt het op. |
| Schimmel: bleekmiddel | Schimmel | Bleekmiddel op eten houdt schimmel daar tegen. |
| Schimmel: zuur | Schimmel | Genoeg zuur op eten houdt schimmel weg. |
| Schimmel: zout | Schimmel | Zout op eten verandert hoe goed schimmel daar kan groeien. |
| Schimmel: suiker | Schimmel | Iets heel zoets op eten verandert hoe goed schimmel daar kan groeien. |
| Deeg | Deeg | Deeg kneedt het erin: gist, boter in lagen, zout, suiker. |

## Sommige dingen zijn nog met de hand geschreven, en dit is de lijst

Gedeelde lagen zijn een sterke gewoonte in deze code, geen wet. Sommig gedrag is geschreven voor een ding met een naam, omdat het een keuze is en geen natuurkunde, of omdat er nog niets beters is. Een pagina over emergentie die dit verborg, zou iets verkopen. Dit is de lijst die een doorlezing van de code opleverde.

| Wat met de hand is geschreven | Waar | Waarom het er is |
| --- | --- | --- |
| Het lievelingseten van de hond, bij naam | 18 van de 55 materiaaltests, in de code van de hond | Een smaak, dier tegenover materiaal. Geen natuurkunde. |
| Scheikunderegels met twee ingrediënten | chloor \(bleekmiddel \+ zuur\), galnoteninkt \(ijzer \+ tannine\), bruisen, carbonaat, schiften, in de scheikundetabel | Scheikunde is bedacht, één keer per paar opgeloste elementen. Elke stof die ze aanvoert, doet mee. |
| Poezen jagen op vliegen, honden rennen achter ballen aan | de code van de poes en de hond | Een keuze van waar ze op letten. De ontsnapping van de vlieg voor de poes loopt via de gedeelde lagen, behalve waar de poot neerkomt: daar verplaatst de regel tegen kwetsen hieronder de vlieg direct. |
| Rondvliegende druppels laten zeepbellen knappen | één verbinding met een naam, één keer ingesteld in de engine | Hoe hard een druppel moet raken, is algemeen; welke druppels bellen bereiken, is één keer bedraad. |
| Een vlieg gaat op de neus van een hond zitten | de code van de vliegen | Het landen is geschreven. De weg ernaartoe, op geur in de wind, niet. |
| De winddrempel van elk soort stukje; hoe de duif zich vasthoudt tegen de wind | losse stukjes, de duif | Er is nog geen model voor luchtweerstand, dus dit zijn getallen per soort. |
| Materialen met een naam in regels voor één ding | dooier, schuim, olie, gebakken ei, karamel, bruisen, tubeverf | Het eigen gedrag van één materiaal, geen paar. Een eigenschap zou een deel hiervan kunnen dragen. |
| Ongeveer 100 tests van wat voor soort voorwerp iets is | is het een deksel, een poes, een beker…, door de hele code | Veel ervan is tekenen of opzetten. Niet een voor een doorgelicht. |
| Gereedschap dat dieren roept; het slakkengereedschap dat een slak instopt; een huisdier aaien | het gereedschap, de engine | Daar is het gereedschap voor: het kind roept de duif. |
| Dieren kunnen niet gekwetst worden | elke druk waarschuwt ook de vliegen en mieren direct; vuur waarschuwt dieren direct; de oven en de vriezer halen ze eerst weg | Een ontwerpregel boven op de natuurkunde. De natuurkunde stopt met opzet bij het dier. Vastgelegd in een automatische test. |
| Sprongen in de tijd die dingen bij naam noemen | de code voor sprongen in de tijd | Boekhouding voor een lange wachttijd: mieren vinden eten dat is blijven liggen, en vliegen komen erop af. |
| Geschreven lesjes | het opvlammen van vet, de waarschuwing voor chloor | Woorden die het spel met opzet één keer zegt. |
| Een lucifer steekt een kaars aan op soort; water dooft een kaars met een aanroep bij naam | alleen het uitgebrachte spel | In de volgende update vervangen door warmte en water bij de lont volgende update. |

## Waar we vereenvoudigen, en waarom

Gedeelde lagen werken alleen als elke laag goedkoop genoeg is om tijdens het spelen op een telefoon of tablet bij te houden. Daarom is elke laag een bewuste vereenvoudiging. De kaars vraagt nooit wat de wind maakte, dus het maakt niet uit dat wind van een bal een snel duwtje op een grof raster is. Een smalle, eerlijke koppeling tussen systemen is wat ze eenvoudig laat blijven.

**In het echt.** Stoffen mengen in elke verhouding

**In het spel.** Eén kolom smurrie per cel, van één materiaal. Wat in grotere hoeveelheid wordt toegevoegd dan wat er ligt, neemt het over; kleur en hoogte tellen op.

**Waarom dat genoeg is.** Elke eigenschap is één opzoeking in de tabel. De eigenschappen van de kleinere partner verdwijnen uit die cel, al blijft zijn kleur. Deeg is de uitzondering: dat houdt bij wat erin is gekneed.

**In het echt.** Vloeistoffen stapelen vrij

**In het spel.** Smurrie plus één drijvende laag

**Waarom dat genoeg is.** Olie op water is wat kinderen zien. Er is geen derde laag.

**In het echt.** Geluid is een golf

**In het spel.** Een vlek op een grof raster die binnen een fractie van een seconde wegsterft, zonder echo en zonder schaduw. Twee harde dingen tellen niet op: het hardste blijft.

**Waarom dat genoeg is.** Dieren hebben “hoe hard, en van waar” nodig. Al het andere wat een golf doet, gaat verloren.

**In het echt.** Druk is kracht gedeeld door oppervlak

**In het spel.** Een getal op een schaal van het spel, en een breekgrens per materiaal

**Waarom dat genoeg is.** Het zet de dingen in de goede volgorde: bel, dooier, tomaat, appel. De getallen hebben geen eenheden.

**In het echt.** Lucht is driedimensionaal

**In het spel.** Een plat raster, met hoogte als formule

**Waarom dat genoeg is.** Snel genoeg voor een telefoon. Er gebeurt niets boven het papier als volume.

**In het echt.** Een vlam verbruikt zuurstof

**In het spel.** Geen zuurstof. Afdekken is ja of nee per cel, en CO₂ dooft een vlam voorbij een bepaalde diepte.

**Waarom dat genoeg is.** De uitkomst klopt. Een echte kaars onder een pot houdt het seconden vol tot de lucht op is; hier gaat hij meteen uit.

**In het echt.** Reacties volgen hoeveelheden en concentratie

**In het spel.** Een snelheid per cel, maal de tijd, die volgens een regel allebei verbruikt

**Waarom dat genoeg is.** Een tabel kan ze bevatten. Water toevoegen verdunt niet.

**In het echt.** Elk paar zou op elkaar kunnen werken

**In het spel.** Paren ontmoeten elkaar alleen via een gedeelde laag

**Waarom dat genoeg is.** Geen tabel van elk paar om kloppend te houden. Een route kan echt zijn en toch te klein om te zien, dus de aantallen paren hierboven zijn mogelijk, niet waargenomen.
