Back to Blogging

Okay, so I've been on travel mode for past few weeks and I stopped blogging for a while now.
I want to get back to practice of writing down my thoughts as I navigate the Sprited journey.
Here are today's thoughts.
Virtual-World-For-AI-Agents idea is not really working for me. Continually, I end up designing a sandbox game environment where Monet can live in. I get that it may need its own environment and that it needs a way to simulate its internal states; however, I am side stepping into creative mode when I should face the elephant in the room head on.
The elephant in the room is the fact that Monet doesn't seem alive. We vibe-coded it during our vacation and if it were that easy to make a living agent, it would not be even worth it.
It is not easy to make a living agent
I think it is genuinely a boon for Sprited. If it were really easy to build such thing. Anybody can vibe it in a vacation like how I did the first time around. Treat it as a blessing and let's try again.
The idea of building "virtual world for AI" came into picture when we added "hormonal system" where agents have dynamic attributes (like hormone levels in human body) that change based on environment and simulation. So, immediately I jumped into the idea of making an environment and state machine pairing for AI agents. Giving "drive system" that agents have to solve continually make agents perform non-obvious moves (demo: https://kndlt.github.io/anima/v2/). This gives certain level of dynamic-ness that you would get if you had for example "a dog."
So, I got into designing a virtual world that would spawn food and other resources such that agents can gather their resources to stay alive. This also becomes social simulation ground where they can talk to each other and form communities.
While I genuinely believe there is something in this space, creating a virtual world is like making a sandbox game and I could spend years doing it and perfecting it and still have 1000 features to implement.
While it is painful to admit, I am not equipped to do something like that and have to choose my battle wisely. And making virtual world itself isn't the hard thing but it has so many pitfalls such as striving for perfection, audience gathering, branding and what not.
Imagine you are building a shop where you sell clothes, and you start designing backdrop and photoshoots, it undermines the business rather than fosters it. Clothing shop should sell clothes, not experiences.
The key here is that our version of "virtual world" is not something that needs to be visual or even front-facing. It is just a shared space where agents can interact. There is no focus for making it beautiful. It is just a semantic world which can just be described as a json block or something. Rending it into a beautiful world may be fun and all but it is not a requirement. And that rendering and perfection is going to be the 80% of the work.
Now, given this backdrop, I think there needs to be a executive decision not to build any games. We can't be making choices between this green and that green. We need to focus on what matters.
So, my current plan is to continue on with this idea of Monet:
Monet: Local agent that behaves like a living being.
We can't be focusing on making 8-directional sprite animations.
We can't be focusing on making head turn when agent faces a direction.
We can't be focusing on cinematic effects when agent does not even talk as if it were living.
So far, there has been quite a bit of iterations and pivots on how to present her (see figures 1 through 7. So far Telegram and Desktop pairing has been the favorite way to access Monet for the simplicity of design and trust-worthiness of Telegram.
Getting used to new UI is hard. It's not just about the functionality and UX, it is more of user trust issues. Reusing surfaces like telegram or terminal ui helps reinforce trust. Telegram does not support live canvas so it is going to be difficult but we can still give them gif animations and emotes.
After series of discussions, we chose to use Telegram since it is already implemented and supports my usecase at the moment. Similarly to OpenClaw, we can offer more options like WhatsApp and what not.
Figure 1a - Monet Streaming Room
Figure 1b - Monet Streaming Room in Discord
Figure 2 - Mini Beings
Figure 3 - White Room
Figure 4 - Desktop Sticker
Figure 5 - Terminal UI
Figure 6 - Telegram UI
Figure 7 - Desktop UI
So far today:
Decided to fold on anything that remotely seem game related.
Decided to use Telegram as the prototype surface.
Decided to focus on Messenger-first user interface.
Added video note feature to telegram output.
Added 15 minute awake system when lid is closed.
That's it.
-- Sprited Dev 🐛


