Monday, 22 December 2025

From Agents to a Living Metaroom: a thought experiment

I think of metarooms as a tiny home for my creatures —a place where they can explore, play, and stay happy and healthy. 

Stocking a metaroom

 When I imagine a metaroom, I think about the physical needs of a creature:

I've noticed that having a variety of objects that creatures can interact with in many different ways can help creatures' personalities come out. 

When adding resources, I also think about how they will be replenished: Will objects be vended (smart vended?), or come from a plant? And if from a plant, are they "r-type" (short-lived, like grass) or "K-type" (long-lived, like a tree)? These choices can help build in a safety net for creatures.

Don't worry too much about the player 

I don't worry too much about thrilling the player - people can enjoy a variety of aspects such as beautiful art, nostalgia, finding a secret, or watching seasonal changes in a metaroom. If the norns are well-cared for by the room, hopefully anyone I share it with will enjoy it as a habitat. 

Case study: Mushroom Forest

For example, in my Mushroom Forest (2020), I had a collection of agents.

The sharmflower, which un-grew and re-grew, produced fruit.

The feature mushroom produced food

The pinecone (a toy) produced seeds, similarly to Freyla's Puzzleball, and also on a timed basis.

The snail was produced automatically by an invisible nest (vendor-style again), crawled around, was fun and edible for creatures, and eventually died. 

It's not a true ecosystem - but that's ok. Independent agents are stable, but may not appear lifelike, while interdependent agents are interesting, but risky. I found the snail and feature mushroom went a long way to making the metaroom interesting to me. I'm really proud of the fact that none of the code in the Mushroom Forest is 'black-box'.

Supporting an ecosystem 

Each item in the Mushroom Forest was designed to support life, but none of them interacted with each other in an ecosystem - none of them referenced each others' classifiers for hunting each other, supporting pollination, or even noticing each other.

Even the ecosystems that came with the game were notoriously unstable - population checks were sometimes non-existent or hunters too aggressive, which could make things go wrong quickly.

It feels like it's key to support the bottom of the food web first - in previous metaroom tweaks, I have made this easier with "mother" agents (but seed banks would also be a viable option). If food items, plants and non-predator animals are abundant, any predators shouldn't need help to maintain a population. Targeting the support to the base of the food web may help the rest take care of itself.

If I were to try to make an interactive metaroom, I might start by linking just a few agents. For example, a plant could produce seeds that herbivores eat, or a predator could hunt a herbivore. Even these small interactions can make the room feel alive and give the ecosystem a sense of flow. Starting simple would let me see what works and gradually build toward a more complex, interactive environment. 

Planning for surprises

I've learned that my metaroom will never be perfectly predictable, so I try to think of ways it can recover on its own. Norns move things, players may use the metaroom in unexpected ways, and agents can glitch or disappear. Wolfling mode can also make small problems easier to notice.

Rather than aiming for a perfectly self-balanced ecosystem, I ask myself: ‘What would happen if something went wrong?’

  • Seed banks, vendors, nests or 'mother' agents can help a room recover - if they target the base of the food web.
  • Diversity in critters, bugs and plants (having options) gives ecosystems resilience.
  • Using a variety of living strategies means not all agents fail the same way - and would allow for complex behaviours for featured/keystone critters. 

While there are more sophisticated critter tutorials these days, these strategies can be computationally expensive, and TTAR can also be used to create eating behaviours. Simpler systems can still produce interesting emergent behaviour.

Wrapping up

I don’t have all the answers, and that’s part of the fun. Designing a metaroom is as much about experimenting, noticing what happens, and enjoying the surprises as it is about planning or coding.

These are just some of the things I’ve been thinking about as I've tinkered with agents. Sometimes ideas work, sometimes they don’t—and that’s ok. The creatures, the interactions, the small emergent behaviours—that's all part of it.

For now, I’ll keep adding, observing, and seeing what emerges. Maybe someone else will try the same, or come up with something completely unexpected. That’s the beauty of these tiny worlds: they’re never finished.

No comments:

Post a Comment