r/Simulated

[OC] An orca pod hunting a herring ball. Every fish and every ray of light computed live

This runs live on an Apple silicon GPU.
The school is a classic flocking simulation, a few thousand agents with separation, alignment and cohesion plus a milling bias that makes them form the rotating ball. The orcas are autonomous agents with a hunt state machine (patrol, position, charge, recover) that carve a void through the school as the fish panic, and the fear spreads neighbour to neighbour faster than any fish swims.
The god rays are computed each frame from a simulated water surface, and the marine snow drifts through them. Everything persists and evolves by its own rules, nothing is keyframed, and it never repeats. Built in Swift and Metal as part of TideGlass, a small Mac app I make where worlds like this run on a second monitor while you work and interacts with your music. Happy to answer anything about the sim.

u/PiXeL161616 — 19 hours ago
▲ 2.6k r/Simulated+12 crossposts

I made my NPC right-handed so my procedural pain system would look natural

u/tripledose_guy — 2 days ago

[OC] If anyone wants to kill 30 minutes / 1 hour

I'm working on the usability of a open source project I've been hoping to release soon. If anyone is up to test it DM me and I'll send you a calendly link, it'd be much appreciated.

u/VizDevBoston — 1 day ago
▲ 537 r/Simulated+1 crossposts

RnD project based on the WetaFX whitepaper on water drip simulation with adhesion

In this focused RnD, I implemented a small-scale fluid simulation algorithm within Flip to accurately resolve adhesion forces. The core algorithm is relatively straightforward: the fluid's surface field is extrapolated into the collider volume, factoring in the contact angle, and is subsequently adjusted and smoothed. Furthermore, a localized viscosity is introduced at the fluid-collider interface to approximate boundary friction.

The simulation operates at a physically accurate real-world scale, utilizing empirical physical constants where the baseline water viscosity is 0.001 and surface tension is 0.072. APIC was chosen as the underlying solver.

While this technique requires a high substep count and is computationally expensive to evaluate, it successfully produces highly nuanced and realistic fluid dynamics.

u/CdvrSzf — 4 days ago
▲ 367 r/Simulated+65 crossposts

[Web] Hoops GM — free NBA-style GM sim with a live match engine, no download

I've been building Hoops GM — a free basketball franchise manager that runs entirely in your browser (desktop + mobile, no sign-up).



You run the front office: trades, the draft lottery, free agency, the salary cap — then coach live games on a real possession-by-possession engine, with an owner who tracks your record and can fire you.



Extras: pick a "franchise idol" to build around, blitz games at up to MAX speed, chase a Hall-of-Fame dynasty across seasons.



Play (free): https://hoops-gm-chi.vercel.app

Would love any feedback on the first 5 minutes.
u/omitousi — 5 days ago

I built an open-source, cross-platform, bit-deterministic, non-float particle physics engine. A lot of adjectives, so I brought receipts: three live proofs that run in your browser.

Up front, since this sub rightfully cares: The engine was written in collaboration with AI, which I'll take questions on happily; the proofs however are all real and verifiable:

SunaEngine (AGPL): engine.sunabox.dev / github.com/DARIENBATHALTER/sunaengine

It's a particle physics engine that relies on integer calculation rather than floating point, plus order-independent accumulation, in order to always deliver the same result on any GPU. Three live proof demos on the site, all simulating on your GPU, all hashing their entire state as you watch:

  1. The Twin Simulations: two independent sims, same scene, same input schedule, never communicating. Stir either one with your cursor; your input is quantized to substep indices and fed to both. The 256-bit hashes stay identical, interaction after interaction.
  2. The Pachinko Proof: an ordinary float solver runs the same pachinko machine twice. One pane adds contact forces in ascending order, the other descending. That is exactly the difference two GPUs or two drivers introduce on their own. The balls never finish in the same bins twice. The integer engine runs the same machine to the same digest, loop after loop.
  3. Recording, playback, and smooth rewind: particle fluids cannot be rewound in floating point. Chaos amplifies the last bit of every velocity in reverse too. Here you stir a pool, it records your inputs, verifies the replay byte for byte against the run you just performed, and then hands you a scrubber. Drag your own splash backwards through time.

Replay hashes verified matching across Apple M series, an iPhone, a Steam Deck (AMD), and NVIDIA (RTX 2070S).

There's also a live 3D water demo on the site (Figure 3), same fixed-point solver one dimension up.

Recordings export as lightweight .sunar files, which store only the initial state plus your inputs. They scrub back and forth smoothly like video and play back bit-identically on any device.

This has the added benefit of enabling low-latency, cross-platform multiplayer physics. If every machine computes the same world, multiplayer needs only inputs over the wire.

I built a free-to-play sandbox using the engine called SunaBox (sunabox.dev) which serves as a clean-room reimplementation of the Prometech's classic OE-CAKE from 2008, a particle physics toy. The OE-CAKE interface is recreated 1:1 if you select "Classic" mode at the top, and imports the original .oec files. Still working on parity, but approaching 100% all the time. If I had to estimate, I'd say they work at about 93% parity right now.

The workflow is very simple: I came up with the ideas and tuned the feel of everything by hand and spoken word; Claude did the math, the code, and the adversarial review. Happy to answer anything!

u/cheetoskull — 4 days ago
▲ 128 r/Simulated+1 crossposts

Real-time physics simulation: snowplow blade interaction (initial simulation trials)

u/DigitCell — 5 days ago
▲ 212 r/Simulated+5 crossposts

made this one of web interactive thing you scroll and pastic sheet moves away

u/rastancgi — 6 days ago
▲ 36 r/Simulated+8 crossposts

World-Sim launching Friday

https://world-sim.uk/ launching friday!

World-Sim has been a passionate project of mine for the past few months.

It's a world fully simulated down to real world physics and chemistry. It has a real environment and ozone.

Every element and material has real physical properties, and that's how the sims learn. There's no tech tree and no recipe list anywhere in the code. When someone tries something, the engine works out what would really happen from the properties of what they used and how hot their fire was. Nobody is handed bronze. Someone has to get a hotter fire first, and a hotter fire is its own chain of things to figure out. Embers, a stone ring, a clay oven, a kiln, charcoal, then forced air. The ages fall out of that on their own.

We populate the world with starting families. Each little guy is led by a "wise-man", which is a simulated person with a full model behind them. The wise-men run on a mix, Claude, Groq and DeepSeek in the cloud and a local Hermes for the rest, so you get a real variety of temperament between the houses.

The AI model is never told to not say it's AI. We get around this by only telling them data from what each sim can actually see and feel. As far as the ai knows its a person living in the world..

Every other sim has its own moment with a model through our thinking system. Day to day it's run by an advanced algorithm, with the sims dreaming at night. That's when they get their time with an LLM to really think and set their priorities for the day ahead. The dreams carry over too, so a sim can chew on the same thing for a few nights and wake up wanting to try something.

The people in the world feel, remember, have shame, goals and doubts. It's an 11 point emotion system and the rest of the sim reads from it. Being lonely makes someone more likely to open up to a stranger. Two enemies who are both frightened find it harder to keep hating each other.

Story telling is massive for us. Nothing is scripted or prompted. The sims are put in the world with the human drive to survive. They adapt, learn and teach all on their own.

With all the good comes the bad too. Human sin is part of the emotion engine, and in testing we've had kidnap, murder and slave trade. A world that can only be gentle isn't an honest one. But there are three rules to this : Nothing ever pushes a sim towards it, the conditions only make it possible and their own mind decides. The chronicle names what happened but never shows it. And it always costs something, trauma that scars, blood debt passed down generations, a people turning on their own leader over what he did.

u/Dry_Permission744 — 6 days ago
▲ 301 r/Simulated+1 crossposts

Custom Local Upresing Setup for FLIP Simulations in DOPs (Gas Guiding + Boundary Layers)

Hey everyone!

Working on a custom local upresing pipeline for FLIP sims to optimize hardware resources while running everything on a MacBook Pro. Since simulating the entire continuous body of water in high resolution rapidly runs out of RAM, this approach is essential for making high-detail simulations actually feasible on a single machine, while also drastically cutting down simulation times and cache sizes. SideFX has solid native tools for this, but they mostly push you into SOPs, and I wanted a flexible setup that runs directly inside DOPs.

How it evolved:

Boundary Layers only: Started with standard boundary layers driven by the low-res base sim. It was fast and looked okay at first, but completely broke down during complex collisions and splashing.

Gas Guiding + Boundary Layers: Switched to combining Gas Guiding Volumes with Boundary Layers. Dialing in the velocity transfer and pressure stability took a lot of tweaking, but the setup is now rock-solid and predictable.

Also, I built a few custom HDAs along the way:

FLIP Cache: Isolates volumetric and particle data into separate caches (huge credit to Igor Zanic for the workflow inspiration). Tracks sim times and disk usage, then feeds those stats directly into the flipbook UI.

FLIP Vis: Basic utility for quick attribute visualization.

FLIP Limit Band Width: Extracted the logic from SideFX's Fluid Compress node and rewrote it into a lightweight standalone tool to avoid the heavy node wrapper.

PDG Flipbook Generator: An automated review pipeline paired with a Python script that overlays custom stats onto playblasts. Saves a ton of time during iterations.

Still tweaking the full river setup, will drop the final project once it's finished.

u/CdvrSzf — 10 days ago