Inspiration

Inspired by Artificial Societies, we wondered: what if you could test a physical space before changing it? In a theme park, moving an attraction, changing ticket prices, or closing a ride can affect thousands of visitors. We built Physical Realities to help operators explore those decisions in a virtual environment before trying them in the real world.

What it does

Physical Realities simulates visitors navigating a theme park with thousands of AI agents, each with different preferences, budgets, and needs. Guests choose between activities like joining ride queues, buying food, and resting as their experience unfolds. Operators can watch the park in an interactive isometric view, inspect individual guests and the evidence behind their decisions, and compare scenarios through revenue, wait times, and satisfaction.

How we built it

We built the interface with React and TypeScript, using PixiJS to render the park, animate visitors, and create lighting that changes throughout the simulated day. SpacetimeDB persists simulation state and delivers live updates. Our custom simulation engine handles movement, queues, rides, and transactions. We integrated Jev’s behavioral AI API to predict choices from guests’ observed surroundings, preferences, and needs. The engine samples from those probability distributions and executes the resulting actions. We also integrated local Laya inference through Python and Apple MLX, alongside a deterministic mock provider for fast testing.

Challenges we ran into

Our biggest challenge was balancing individual guest behavior with simulation speed. As visitor counts and playback speeds increased, decision requests accumulated faster than inference could resolve them. We explored batching, caching, and local inference, but learned that moving a model onto a laptop does not eliminate the bottleneck. Another challenge was keeping decisions grounded. Guests should act on information they have observed, while the engine must enforce constraints such as available money, ride capacity, and opening hours. Maintaining that separation made the simulation easier to inspect and reason about.

Accomplishments that we're proud of

We built a working, interactive park where individual decisions feed into visible crowd movement, queues, spending, and visitor experience. We’re especially proud of the guest inspector: instead of displaying unexplained activity, it exposes the options, probabilities, and provider behind a decision. We also connected cloud inference, local inference, and deterministic behavior to the same simulation engine.

What we learned

We learned that a believable simulation depends on more than an AI model. Consistent rules, limited guest knowledge, reproducible randomness, and clear measurements are just as important. We also learned to distinguish a useful exploration tool from a validated prediction system. Our prototype can reveal how assumptions produce different outcomes, but making reliable claims about real visitors will require calibration against real-world observations.

What's next for Physical Realities

We want to expand beyond theme parks into stadiums, retail spaces, and other venues where layout and operating decisions shape people’s experiences. Our next steps include improving inference throughput, making venue creation easier, and strengthening scenario comparisons.

Built With

Share this project:

Updates

Submission history