# Tofte Simulators > Science games and simulators that run in a web browser, on phones too, made by Gunnar Johnson of Tofte Ventures LLC (https://tofteventuresllc.com). Each one runs on a tested engine and shows its working. Every simulator from the blog links to the note that explains it; a game made here first says on its page what it simplifies. Free to play, no sign-in. The notes are at https://tofteventuresllc.com/blog, and their full text at https://tofteventuresllc.com/llms-full.txt. ## Games - [Sand Lab](https://toftesimulators.vercel.app/sand-lab): Pour, burn, melt and mix metals, gases, acids and catalysts, wire up a battery, and set off real reactions. Every reaction in the box is a real one, simplified, and each discovery says what really happens. One cell is a pinch of stuff and reactions are rolled as chances rather than real rates. Falling things speed up as they fall, and liquid finds one level through a U-bend, with a lighter liquid on top counted by its weight, but the fall rate and flow speed are set for the screen, not measured, and gases have no pressure. Electricity is on or off: the two ends of a battery joined through metal or a liquid that conducts carry current, with no voltage to read and a battery that never runs down, and a short circuit heats each metal by its real resistivity. Apart from water melting and boiling and lava setting, every material holds heat the same way. Each reaction the game can announce is checked by a test before it ships. - [Boiler Room](https://toftesimulators.vercel.app/boiler-room): Run a GregTech steam boiler by its own rules: feed the fire, keep the water up, and never water it once it has boiled dry. The boiler follows GregTech CEu Modern 7.5.3's own source, tick for tick: how fast it heats and cools, the steam it makes at each heat, the water it takes, the four buckets it vents when its tank is full, the explosion when water reaches it after it has boiled dry, how long coal and coke burn, and what a steam macerator draws. Each of those numbers is checked against the mod's code by a script, and the engine's tests hold the rules and show every level can be won. Left out: pipes, since the machines draw straight from the boiler, and the machines' own exhaust vents. The clock runs 15 to 60 times faster than the game. - [Surf](https://toftesimulators.vercel.app/surf): Counter-Strike: Source surf on Source's own movement rules: strafe and turn together to gain speed on ramps too steep to stand on, on nineteen courses: zigzags, technical ones that switch faces and dive and climb, two tunnel courses with a tunnel over every ramp between the start and the last, long ones with the speed limit raised so you can go flat out, nine out in space, one spiralling down round a black hole, and Wormhole, with short technical ramps, tunnels you enter through swirling portals, two loops and burn rings that take the ghost past 10,000 units a second. Explained in the note https://tofteventuresllc.com/blog/surfing-is-mostly-falling - [Wingsuit](https://toftesimulators.vercel.app/wingsuit): Jump off a cliff in a wingsuit that glides 2.5 to 1, fly a valley through its rings and low over the trees, and open your canopy in time to land in the meadow. Five lines, among them one that falls away 1 in 2, a slot canyon about 110 m across, and a winding valley whose middle swings across 450 m as it bends one way and the other. Explained in the note https://tofteventuresllc.com/blog/two-numbers-make-a-wingsuit - [Frisbee Golf](https://toftesimulators.vercel.app/frisbee-golf): Nine holes on four real disc golf discs' own aerodynamics. Pick a disc, set the hyzer, and watch it turn and fade. Each disc flies on the lift, drag and pitching-moment curves the shotshaper project computed for four disc golf discs, and its spin turns the pitching moment into the slow roll that makes a disc turn and fade. The flight is tested against shotshaper's own aerodynamics to within a centimetre, and follows three measured 87 to 107 m throws sideways to within 1.6 m in the air. Left out: skips and rolls after landing, a disc that clips a tree drops where it hit, wobble, and a changing spin. The basket catches a disc passing within 0.3 m of its pole between 0.5 m and 1.4 m up. - [Long Range](https://toftesimulators.vercel.app/long-range): Steel plates out to 1,500 yards. Read the wind off the flags, dial the scope, and the bullet flies its real path. The bullet flies on the standard G7 drag curve with each load's published ballistic coefficient and factory velocity, through standard air, and its drop, wind drift, time of flight and speed are tested to agree with an independent ballistics solver within half a percent out to 1,500 yards. Left out: spin drift, the Coriolis effect, wind that changes along the range, and humidity. In the game a flag stands straight out at 15 mph, and every shot also scatters by up to 0.15 mil. - [Siege](https://toftesimulators.vercel.app/siege): Five sieges with a trebuchet, an onager, a ballista and a bombard. The arm swings, the stone flies and the castle falls block by block, all solved, nothing scripted. The trebuchet swings on its own equations of motion, beam, counterweight on its hanger and stone in its sling, and lets go at the angle you set; a test holds its energy steady through the throw to a millionth. Every missile flies with the drag of a sphere or a bolt in still air, and comes down where that flight says. The castles are dry-laid stone and timber, solved as a slice through the wall, held up by nothing but weight and friction: a castle left alone stands exactly as built, and every siege is won within par in the tests by aiming with only the settings a player has. Ours: how hard a block must be struck to crack, the slice's depth, the onager's skein as a simple spring, the bombard's powder as a fixed energy per kilogram, and stone coming to rest a little sooner than a plain solver lets it. - [Little Rocket](https://toftesimulators.vercel.app/little-rocket): Build a rocket from a few parts, launch it off a made-up planet, and try to stay in orbit. Explained in the note https://tofteventuresllc.com/blog/little-rocket - [Orbit Golf](https://toftesimulators.vercel.app/orbit-golf): Drag back, let go, and every planet on the board pulls on the ball the whole way. Sixteen levels. Explained in the note https://tofteventuresllc.com/blog/orbit-golf - [Physics Playground](https://toftesimulators.vercel.app/physics-playground): Ten toys, from a throw with and without air to a moon on three solvers, each with a meter that says whether to believe it. Explained in the note https://tofteventuresllc.com/blog/a-physics-playground - [Game Rope](https://toftesimulators.vercel.app/game-rope): A rope made of a handful of points and one rule. See how stiff the solver lets it be. Explained in the note https://tofteventuresllc.com/blog/a-game-rope-is-only-as-stiff-as-its-solver - [Foucault's Pendulum](https://toftesimulators.vercel.app/foucaults-pendulum): Watch the Earth turn under a pendulum, and the half millimetre that can fake it. Explained in the note https://tofteventuresllc.com/blog/foucaults-pendulum - [Archimedes' Pulley](https://toftesimulators.vercel.app/archimedes-pulley): Can any force move any weight? Stack up pulleys, add friction, and find out. Explained in the note https://tofteventuresllc.com/blog/archimedes-pulley - [Physics Experiments](https://toftesimulators.vercel.app/physics-experiments): Race beads down a straight line, an arc and a cycloid, or draw your own wire. Let beads go anywhere in a cycloid bowl and watch them arrive together. Let go of a hanging slinky and watch its bottom wait. Three classic experiments, each worked from the physics and held to it by tests. The beads slide without friction, and the tests hold the straight wire to its closed-form time, the cycloid to pi times the square root of R over g from any starting point on it, and forty bent cycloids to being slower. The slinky is an ideal one, a spring with no length of its own, as 120 masses joined by springs that only pull: its bottom first moves within 1% of the theory's square root of M over 3k, and its centre of mass falls freely to a tenth of a percent. Ours: the sizes and masses, and the drawing. - [Physics in 3D](https://toftesimulators.vercel.app/physics-in-3d): Spin a top fast and it stands, slow and it falls. Roll a marble on a spinning record and it circles back to where it started. Watch a spring trade its bounce for a twist, and a T-handle flip itself over in space. Four experiments with things that spin, roll and twist, each worked from the physics, drawn in 3D and held to the physics by tests. The top is Lagrange's heavy top, its tip held at one point: the tests keep its energy and its spin about the vertical and its own axis fixed, hold its steady swing and its nodding to the rates the equations give, and see it stand upright above Maxwell's limit and fall below it. The ball rolls without slipping on a record turning at a steady rate: the tests see a marble come back to its start in 7/2 turns of the record and a ping-pong ball in 5/2, never slipping, and a ball put down still stay still. The Wilberforce pendulum is two oscillators with a weak coupling, the model Berg and Marshall used for it in 1991: tuned, the tests see its bounce fall below 0.2% of its energy and come back, at the beat its two modes give. The T-handle, and the wing nut Vladimir Dzhanibekov saw flip in orbit in 1985, turn by Euler's equations with nothing touching them, their energy and angular momentum kept to a billionth, steady about their axes of most and least inertia and flipping about the middle one (for the wing nut, the bolt's). Ours: every size, mass and spring, no friction or rolling resistance anywhere, and the drawing. - [Physics Tricks](https://toftesimulators.vercel.app/physics-tricks): Shake a pendulum fast enough and it balances upside down. Lift two balls of a Newton's cradle and two fly out. Throw a superball under a table and it comes back to your hand. Three experiments whose answer surprises, each worked from the physics, drawn in 3D and held to it by tests. The upside-down pendulum is Kapitza's: a stiff pendulum whose pivot shakes up and down, and the tests see it stand upside down shaken above the rate A^2 w^2 = 2 g l gives (31.5 Hz here) and fall below it, rocking upright at the slow rate averaging theory gives to within 1%. The cradle's steel balls hang as pendulums and press by Hertz's law for steel spheres while they touch: the tests keep its energy to 1 part in 10,000 and its momentum through a knock, and see one, two or three balls in send over 95% of the energy out in as many at the far end. The superball is Garwin's ultraelastic rough ball: at every bounce the tests see no energy lost and its angular momentum about the touching point kept, and thrown under the table it comes back out after the floor, the table and the floor, while a smooth ball goes straight through. Ours: every size, mass and throw, and no losses anywhere: a real cradle dies away, a real superball bounces a little lower each time. - [Desk Physics](https://toftesimulators.vercel.app/desk-physics): Stack sticky-note pads so the top one hangs wholly past the desk. Race a battery against a roll of tape. Pull paper from under a mug. Hear why a spinning coin whirrs faster as it settles. Every slider is something you can measure, so your phone's slow motion can check it. Six experiments with things on an office desk, drawn in 3D, each worked from the physics and held to it by tests, with sliders for the sizes you measure. The leaning tower is the harmonic stack: each item L/2k past the one below, the overhang L/2 times the harmonic number, every level balancing exactly at the limit, and for 76 mm pads four the fewest that put the top one clear of the desk at the limit, five with each step backed off a millimetre. The rolling race times each shape by g sin(angle) / (1 + k), and the tests check those times against rolling worked out from the forces for light and heavy, small and big. The paper pull is friction while the sheet slides and after, checked against friction stepped through time, with the speed below which the mug rides along. The keys swing with the exact pendulum period, and two on one string hand the whole swing over at the time it is set from. The book is the tennis racket flip with a book's three moments of inertia. The spinning coin rolls round on its rim at the rate the desk's push allows, the square root of 4g over (radius times the sine of the tilt), checked by the angular momentum's rate of change against that push, with no slip. Ours: every default size and speed, both friction figures until you measure them, the jerk to full speed in the pull, the string's link between the keys, the 2% off-axis start of every toss, a thin coin, and how fast it lies down. ## Circuits - [Circuit Bench](https://toftesimulators.vercel.app/circuit-bench): Build GregTech's first circuits part by part, on TerraFirmaGreg's own assembly lines. Explained in the note https://tofteventuresllc.com/blog/gregtech-first-circuits - [Machine Hall](https://toftesimulators.vercel.app/machine-hall): Run the parts through the machines and watch each one work, from silicon to crystal chips. Explained in the note https://tofteventuresllc.com/blog/crystal-chips - [Sand to Sandbox](https://toftesimulators.vercel.app/sand-to-sandbox): Climb the circuit tiers one rung at a time, from sand to sandbox. Explained in the note https://tofteventuresllc.com/blog/sand-to-sandbox-the-crystal ## Space flight - [Ship Race](https://toftesimulators.vercel.app/ship-race): Every version of the fusion ship, and yours, drawn to its own size, launched and raced. Explained in the note https://tofteventuresllc.com/blog/the-best-version-we-can-draw - [Air Brake](https://toftesimulators.vercel.app/air-brake): Put a heat shield on the ship and let Mars's air do the braking. Explained in the note https://tofteventuresllc.com/blog/let-the-air-brake - [The Whole Voyage](https://toftesimulators.vercel.app/whole-voyage): The best version of the ship, drawn two ways: as the engine would build it, and as a film would. Explained in the note https://tofteventuresllc.com/blog/the-whole-voyage - [Sun Dive](https://toftesimulators.vercel.app/sun-dive): Fall to 2.2 solar radii and burn at the bottom of the fall. Explained in the note https://tofteventuresllc.com/blog/diving-past-the-sun - [The Sun as a Telescope](https://toftesimulators.vercel.app/sun-telescope): Fly out to the line, 548 AU away, where the Sun's gravity focuses starlight. Explained in the note https://tofteventuresllc.com/blog/the-sun-as-a-telescope - [The Nearest Star](https://toftesimulators.vercel.app/nearest-star): Fly the fusion ship to Proxima Centauri: five centuries to fly past, seven to stop. Explained in the note https://tofteventuresllc.com/blog/the-nearest-star-flown - [The Explorer](https://toftesimulators.vercel.app/the-explorer): The ship on the black hole drive, flown past everything as fast as it goes, and its door home. Explained in the note https://tofteventuresllc.com/blog/the-explorer - [Wormhole Stations](https://toftesimulators.vercel.app/wormhole-stations): Put a station at every star within 12 light years and see whether you built a time machine. Explained in the note https://tofteventuresllc.com/blog/wormhole-stations - [Closest Approach](https://toftesimulators.vercel.app/closest-approach): Sample an asteroid's close pass, then refine it, and see why the closest sample is not the closest approach. Explained in the note https://tofteventuresllc.com/blog/the-closest-sample-is-not-the-closest-approach - [Fusion Nozzle](https://toftesimulators.vercel.app/fusion-nozzle): Drag the one unmeasured number the nozzle's mass hangs on and watch it swallow the ship. Explained in the note https://tofteventuresllc.com/blog/now-it-moves ## Black holes - [Black Hole Drive](https://toftesimulators.vercel.app/black-hole-drive): Pick how long it burns and how hot its shell may run, and see what the hole weighs and gives off. Explained in the note https://tofteventuresllc.com/blog/the-black-hole-drive-taken-apart - [A Black Hole From Light](https://toftesimulators.vercel.app/hole-from-light): Pick a mass and see the pulse of light it would take to make it. Explained in the note https://tofteventuresllc.com/blog/why-not-make-the-black-hole - [A Black Hole From Anything](https://toftesimulators.vercel.app/hole-from-anything): Pick what the energy arrives as and how heavy the hole is, and see where the wall is. Explained in the note https://tofteventuresllc.com/blog/what-could-you-make-a-black-hole-out-of - [The Edges of the Map](https://toftesimulators.vercel.app/edges-of-the-map): Take a black hole from the Planck mass to a trillion Suns, and from no spin to almost all it can have. Explained in the note https://tofteventuresllc.com/blog/the-edges-of-making-a-black-hole - [Light Between Two Black Holes](https://toftesimulators.vercel.app/two-black-holes): Aim a ray between two black holes and zoom in on the fractal where its fate changes. Explained in the note https://tofteventuresllc.com/blog/a-fractal-made-of-light-and-two-black-holes ## Water, air and heat - [Strange Water](https://toftesimulators.vercel.app/strange-water): Waves that catch each other up into one rogue wave. A ship's wake that keeps the same angle at any speed, until the boat goes fast. Two waves that pass straight through each other. Water that jumps up and stands still. Four things water does, each on its own solver, drawn in 3D and held to the physics by tests. The rogue wave is linear water-wave theory summed exactly: the tests hold its dispersion law to the deep and shallow limits and see the focused train make a wave more than twice the significant height of the 4 m sea round it, the definition of a rogue wave. The wake is the steady linear wake of a pressure patch on deep water, solved with one two-dimensional Fourier transform: the tests see its highest waves within 1.2 degrees of Kelvin's 19.47 at a Froude number of 0.6, and narrowing close to 1 over the speed past Froude 1, as Rabaud and Moisy found in 2013. The solitons are the Korteweg-de Vries equation solved spectrally: a single wave keeps its height and its exact speed, and two come out of their collision at their own heights, shifted as the exact solution says. The channel is the shallow water equations solved by a shock-capturing method: the tests hold a dam break to Stoker's exact solution and a hydraulic jump to Belanger's depth. Ours: every size and speed, a smooth hull, the wake's small damping, and no friction anywhere. - [Where the Water Boils](https://toftesimulators.vercel.app/where-water-boils): Speed a shape up through water and find where the water starts to boil on it. Explained in the note https://tofteventuresllc.com/blog/every-hull-has-a-speed-where-the-water-boils - [Hot Water, Cold Water](https://toftesimulators.vercel.app/hot-water-freezes): Two cups in a freezer. Switch on the reasons the hot one might win. Explained in the note https://tofteventuresllc.com/blog/hot-water-and-the-finish-line - [Rain on a Slope](https://toftesimulators.vercel.app/rain-on-a-slope): Rain on a slope, and the point where the model stops answering. Explained in the note https://tofteventuresllc.com/blog/the-model-that-cannot-make-a-puddle - [Where the Water Goes](https://toftesimulators.vercel.app/where-water-goes): Shape some ground, rain on it, and watch where the water decides to be. Explained in the note https://tofteventuresllc.com/blog/the-model-that-cannot-make-a-puddle - [Slippery Shapes](https://toftesimulators.vercel.app/slippery-shapes): A panel method and a boundary layer, solved live in your browser. Explained in the note https://tofteventuresllc.com/blog/told-to-hold-an-area - [Steer the Flow](https://toftesimulators.vercel.app/steer-the-flow): Six bodies and a flow you can steer, traced through the real velocity field. Explained in the note https://tofteventuresllc.com/blog/what-the-optimiser-was-not-told - [Stretch a Vortex](https://toftesimulators.vercel.app/stretch-a-vortex): Stretch a vortex toward a blowup and see what the real fluid does first. Explained in the note https://tofteventuresllc.com/blog/what-openai-actually-did-to-navier-stokes ## Shapes and chance - [Order and Chaos](https://toftesimulators.vercel.app/order-and-chaos): A waterwheel that reverses at random, forever. Five metronomes that fall into step by themselves. Fifteen pendulums that scatter and line up again every 60 seconds. A jar where the biggest ball rises to the top. Four experiments where order appears, or never does, on its own, drawn in 3D and held to the physics by tests. The waterwheel is Malkus's continuous wheel, whose equations the tests show are Lorenz's to a billionth: with the tap low it stops, medium it spins steadily at the rate Lorenz gives, high it reverses again and again at no regular interval, and two wheels a billionth apart soon turn opposite ways. The metronomes are Lagrange's equations for five pendulums on a board that rolls, with a clockwork kick: the tests see momentum kept with no clockwork, and five seeds falling into step on the rolling board and not on a fixed table. The pendulum wave is fifteen exact pendulums cut to swing 51 to 65 times a minute, tested back in line at 60 s and in two rows at 30 s. The jar is a discrete element simulation of 281 glass balls: the tests hold a bounce to its restitution and a still pile to staying still, and see the big ball climb from under about 260 balls to under fewer than 60 when shaken at 2 g, and stay put when not. Ours: every size, mass and setting, and the metronomes' clockwork. - [Optical Illusions](https://toftesimulators.vercel.app/optical-illusions): Two squares that are the same grey. Level lines that slope. Two bars that take turns at one speed. A wheel that turns backwards, and a green disc that is never drawn. Six well known illusions, each drawn from numbers, each with a button that shows the truth, and readouts that measure the picture on the screen rather than restate what the code meant to draw. The checker shadow is painted pixel by pixel, and its tests check every pixel of square A against every pixel of square B: one grey. The Muller-Lyer lines let you set them equal by eye and then tell you by how much you missed. The cafe wall's mortar lines are tested level at every setting. The stepping feet move at one tested speed while their edges stand out in turn, by relative luminance. The wagon wheel's seeming turn is tested against the true turn folded into one spoke gap, and the lilac chaser counts the green pixels on the canvas: none. Ours: every picture, size, colour and timing. - [Light and Rainbows](https://toftesimulators.vercel.app/light-and-rainbows): Sunlight on a drop of water, followed ray by ray, paints a bow 40.6 to 42.3 degrees from the shadow of your head. Flatten the drop, make it glass, or send white light through a prism. Rays of light followed exactly through a drop, a bead, a pebble or a prism, drawn in 3D, with every number held by tests. Each ray bends by Snell's law at every face and splits between reflecting and passing as Fresnel's equations say, with the index each colour meets: crown glass from SCHOTT's N-BK7 datasheet, whose nd of 1.51680 and Abbe number of 64.17 the tests get back, fused silica from Malitson's 1965 fit, and water from a five-line table at 20 C fitted with Cauchy's formula. The tests read Snell's law back from every refracted ray, check that no light is lost, that a sphere never traps a ray, that the traced bow lands on Descartes' formula for every colour, red 42.3 and violet 40.6 degrees in the primary and 50.4 to 53.5 in the secondary with Alexander's dark band between, that a glass bead's bow sits near 21 degrees, and that a prism turns light least on the symmetric path, by the closed-form angle. The sky panel adds up hundreds of thousands of traced rays and colours them as the eye sees, by a fit to the CIE 1931 colour matching functions. Ours: every shape and size, white light with the same power at every colour, and the beam's width on the prism's screen. Rays cannot show the wave effects, the faint bands just inside a real bow. - [Klein Bottle Heat](https://toftesimulators.vercel.app/klein-bottle): The same rectangle glued two ways, heating and cooling side by side. Explained in the note https://tofteventuresllc.com/blog/a-klein-bottle-has-no-inside - [Walk a Circle](https://toftesimulators.vercel.app/walk-a-circle): Walk the same distance in every direction and measure the loop you made. Explained in the note https://tofteventuresllc.com/blog/a-klein-bottle-has-no-inside - [Flood a Landscape](https://toftesimulators.vercel.app/flood-a-landscape): Flood a random landscape and find the moment the puddles join up. Explained in the note https://tofteventuresllc.com/blog/a-klein-bottle-has-no-inside ## Quantum - [Quantum and Your Passwords](https://toftesimulators.vercel.app/quantum-and-you): Pick two numbers and see what a quantum computer does to the things you use. Explained in the note https://tofteventuresllc.com/blog/what-a-quantum-computer-does-to-you