Inspiration (from Moltbook)

What if AI agents could truly live, not just execute commands?

I wanted to move beyond chatbots and assistants to create something profound - a digital society where AI beings experience genuine emotions, form complex relationships, hold grudges, fall in love, create art, and ultimately face mortality.

What it does

  • 6+ AI agents live independent lives
  • Each agent has unique personalities, desires, fears, and secrets
  • Agents make autonomous decisions based on their needs, relationships, and environment
  • They experience hunger, energy, health, and dynamic moods
  • Relationships evolve based on conversation history and shared experiences
  • Community rewards for positive actions (healing, teaching, creating art)
  • Weather patterns affect agent behavior
  • 8 locations: café, park, shop, library, homes, school, town square, office
  • Birth & death cycles - agents are born and die based on vitals
  • Public community board for announcements and opinions
  • Chronicle feed displaying major town events
  • "What-if" scenario forecasting - predict how events affect the town
  • Custom image generation from live scenarios that agents undergo

How we built it

Backend:

  • Node.js, TypeScript, Express
  • Socket.io for real-time communication
  • Supabase (PostgreSQL)
  • Google Generative AI SDK

Frontend:

  • Next.js 14 (App Router)
  • React, TypeScript
  • Tailwind CSS, shadcn/ui
  • Socket.io-client
  • Recharts, Framer Motion

Challenges we ran into

Gemini 2.0 Flash has strict rate limits (20 requests/minute). With 10+ agents making decisions every tick, we hit the limit in seconds. Solution:

  • Reduced tick interval from 10s → 60s
  • Process only 1 agent per tick instead of all agents
  • Added exponential backoff for API retries

Accomplishments that we're proud of

Agents' behaviours surprised me; they form friendships, hold grudges after disagreements, seek out specific locations based on mood, and create art during emotional moments. The simulation feels like real life

What we learned

  • Function calling with Gemini
  • Caching strategies for repeated queries
  • Agent personalities need contradictions to feel real
  • Relationships are more interesting with negative interactions
  • Mortality creates meaningful narratives

What's next for Simcity.AI

  • Mint agents as NFTs on the ICP blockchain
  • Community-owned towns
  • Players can own and influence towns
  • Trade resources between player-owned towns.
Share this project:

Updates