Zand, water, vuur en explosies simuleren in je browser

← Alle tools
Even meten wat dit apparaat aankan…

Tekenen met stoffen, en kijken wat ze doen

Je kiest een stof uit de rij links, tekent ermee op het werkvlak en de simulatie doet de rest. Zand valt, hoopt op en rolt van zijn eigen helling af tot de hoop een stortkegel van ruwweg vierendertig graden heeft. Water valt, zoekt zijwaarts een weg en vlakt uit. Olie blijft erop drijven en zand zakt er doorheen, want elke stof heeft een dichtheid uit een gewoon naslagwerk. Rook en stoom stijgen op en mengen zich met de lucht. Steen, hout, baksteen en staal blijven staan waar je ze zet, tot ze smelten of vlam vatten. Er is geen opstartscherm: het werkvlak loopt al als de pagina opent, met een straaltje zand, een bak water en een vuurtje op een plank. Pauze, één stap vooruit en ongedaan maken zitten in de balk bovenaan.

Warmte, smelten, koken en branden

Elke cel draagt een temperatuur in kelvin, ook een lege. Warmte stroomt van cel naar cel met een geleiding per stof: ijzer snel, hout traag, lucht nauwelijks. Zet je lava naast water, dan kookt het water tot stoom en stolt de lava tot steen. IJs smelt bij nul graden terug tot het water waar het van kwam, en zout water dat bevriest onthoudt dat het zout was. Zand smelt bij ruim zeventienhonderd graden tot gesmolten glas en stolt tot glas. Vuur steekt hout, planken, olie en planten aan met een kans die per stof verschilt, verwarmt de lucht erboven en dooft als het water raakt. Met het verwarm- en koelpenseel stel je zelf de temperatuur van een stuk wereld bij, en met het drukpenseel geef je de lucht een stoot: de luchtstroming die daaruit volgt blaast zand, water en rook weg.

Ruim honderd stoffen, elk met eigen gedrag

Deze versie telt 124 stoffen in acht groepen. Poeders: zand, aarde, klei, grind, zout, suiker, meel, sneeuw, as, roet, houtskool, kalk, cement, zwavel, salpeter, ijzervijlsel en glaspoeder. Brandbaar en explosief: buskruit, thermiet, magnesium- en aluminiumpoeder, dynamiet, TNT, nitroglycerine, kneedspringstof, napalm, lont, snellont, slaghoedje, vuurwerkster, koudvuur en fosfor. Vloeistoffen: water, zout water, koolzuurwater, olie, benzine, diesel, alcohol, aceton, honing, kwik, zuur, loog, verf, teer, vloeibare stikstof, lava, gesmolten glas en gesmolten metaal. Gassen: stoom, rook, damp, mist, waterstof, zuurstof, stikstof, helium, koolzuurgas, methaan, propaan, chloor, ammoniak, perslucht en vacuüm. Bouwstoffen: steen, graniet, zandsteen, kalksteen, baksteen, beton, gewapend beton, asfalt, hout, plank, spaanplaat, papier, karton, doek, touw, stro, kurk, piepschuim, rubber, kunststof, was, keramiek, isolatiewol, glas, gehard glas en steenkool. Metalen: ijzer, staal, roestvast staal, koper, aluminium, lood, goud, zilver, titaan, wolfraam, diamant, grafiet, silicium, natrium en een magneet. Warmte en koude: vuur, gasvlam, plasma, gloeiende kool, een warmtebron, een koudebron, een thermostaat, ijs, rijp, bliksem en droogijs. En het begin van kern en straling: uranium, verrijkt uranium, plutonium, een splijtstofstaaf en radioactief afval, die uit zichzelf warm worden. Daarnaast zijn er zeven stoffen die je niet kunt kiezen maar wel kunt máken, zoals roest, sintels, gebluste kalk en glasscherven. Elke stof is één rij in een tabel: dichtheid, smelt- en kookpunt, ontvlambaarheid, hoe heet hij brandt en wat hij achterlaat, weerstand tegen zuur, wat hij uitzendt. De reacties tussen buren staan in een aparte lijst: zout lost op in water, zuur vreet metaal en laat waterstof vrij, loog maakt zuur onschadelijk, natrium ontploft in water, kalksteen bruist in zuur, cement wordt beton, aceton lost piepschuim op, ijzer roest in zout water. Springstof gaat af op hitte of op een drukstoot en duwt via de lucht echt materie weg; thermiet brandt zich door staal; een meelwolk explodeert waar een meelhoop alleen aan de buitenkant brandt. Wat er bewust nog niet in zit: elektronica, neutronen en fotonen (en dus kernsplijting als kettingreactie, spiegels en stralingsschermen), het spel van het leven en machines als zuigers, buizen en bronnen. Die volgen in de laatste stappen, samen met de voorbeeldkaarten.

Hoe het rekent, en wat het bewust niet doet

Het werkvlak is een raster van cellen dat zestig keer per seconde wordt doorgerekend, in een vaste stap die losstaat van de beeldsnelheid van je scherm. De rastermaat wordt bij het openen gemeten in plaats van geraden: de pagina draait even een vaste proefscène en kiest de grootste maat die dit apparaat vloeiend haalt. Wordt het onderweg te zwaar, dan gaat het tempo naar dertig stappen per seconde en daarna de wereld een maat kleiner; dat staat dan in het venstertje rechtsboven. Alles rekent in je eigen browser en er gaat niets naar een server. Het model is een spel, geen laboratorium: de zwaartekracht is één cel per stap, warmte stroomt paarsgewijs tussen buren en de lucht is een grof raster van druk en snelheid. Dit genre heet falling sand; er bestaan bekendere voorbeelden van. Dit is een eigen bouwsel, geen kopie of omzetting van andermans programma.

Opslaan, openen en delen

Met Ctrl+S (of de knop met het pijltje omlaag) bewaar je je wereld als een klein bestand met de extensie .dlz; met Ctrl+O, de mapknop of door het bestand op het werkvlak te slepen open je het weer. Het bestand bevat de stoffen, de temperatuur van elke cel, de muren, de druk en de wind, en het wordt in je browser samengeperst: een rustige wereld is een paar tientallen kilobytes, een wereld vol ruis na een explosie een stuk meer. Is de wereld klein genoeg, dan deel je hem met de linkknop: de hele wereld zit dan in het webadres en er gaat nog steeds niets naar een server; is hij te groot voor een link, dan krijg je hetzelfde bestand als download en zegt het scherm dat. Een bestand wordt eerst helemaal nagekeken voordat het je wereld vervangt. Klopt de maat niet, staat er een stof in die deze tool niet kent, is een temperatuur onzinnig of houdt het bestand halverwege op, dan blijft je wereld staan en zegt het scherm waarom.

Bediening: penseel, muren, stempel en weergaven

Links staat het gereedschap. Het penseel tekent rond, vierkant, als lijn of als rechthoek, met de grootte op de schuif of met [ en ]; vullen vult een afgesloten gebied of vervangt een aaneengesloten stof; de gum wist stof, muur en kleur; de pipet neemt de stof onder de aanwijzer over; decoratie geeft cellen een kleur die met de cel meereist; verwarmen en koelen stellen de temperatuur bij; drukstoot en zuigen geven de lucht een duw; wind laat het waaien in de richting waarin je sleept; het stempel kopieert een uitsnede en zet die met een klik ergens anders neer; en eigenschappen toont van de cel onder de aanwijzer de stof, temperatuur, druk, wind en levensduur. Muren zijn er in acht soorten: een harde muur, alleen gas, alleen vloeistof, alleen poeder, warmtegeleidend, isolerend, en portaal in en portaal uit — wat in de ingang valt komt uit de uitgang. De stoffen kies je in drie lagen: een rij met de acht die je het laatst gebruikte, de groepen als tabbladen, en daaronder de stoffen van de gekozen groep. Met de toets / zoek je op naam, en wie een stof aanwijst of er lang op drukt krijgt de stofkaart: dichtheid, smelt- en kookpunt, brandbaarheid en de stoffen waarmee hij reageert. Ongedaan maken (Ctrl+Z) onthoudt één stap per streek, tot veertig stappen of achtenveertig megabyte; opnieuw doen is Ctrl+Y. Verder: pauze, één stap vooruit, het tempo van een kwart tot vier keer, en vijf weergaven met de toetsen 1 tot 5: normaal, warmte, druk, snelheid en vuur. Elke toets werkt zonder eerst op het werkvlak te klikken, behalve wanneer je in een invoerveld typt.