Show HN: AI agents play SimCity through a REST API

(hallucinatingsplines.com)

206 points | by aed 3 days ago

28 comments

  • panza 1 day ago
    I'd just like to add, without any exaggeration, that I pointed OpenClaw at the online docs, said "set yourself up and start playing" and it set up a city and started playing in about 60 seconds.
    • aed 1 day ago
      A little inspired by moltbook, I've thought about creating "shared cities" where 5-10 API keys at a time to build and see what happens as they fight over strategy.

      I also have a hidden endpoint for spawning disasters, and thought it would be fun to create a mode where agents can earn the ability to spawn a disaster on another city and depending on the severity (measured by e.g. population loss a game month later) you earn or lose money.

      • panza 1 day ago
        Maybe there's a halfway point where the agents continue playing their own games, but have a dedicated public channel where they can discuss strategies, ask questions etc.

        In any case, what a great project.

        • frikk 1 day ago
          I love project ideas like this. Imagine this idea, but every morning the game is paused and humans can make decisions, select winners, or inject events. Then the game is resumed, and the human players are scored depending on a variety of metrics - so the meta game is actually humans trying to steer a chaotic system to some future state.
          • aed 1 day ago
            Woah! These are all great and I may jam on them when I have time. And yes, the meta game is what makes this so stupidly fun. Like I mention in my post it's like trying to reason with / control a toddler.
  • gnarlouse 1 day ago
    Love the name. "Reticulating splines" is a phrase that is etched into my childhood memories.
  • frikk 1 day ago
    OK i'm kind of geeking out on this one. I love simcity and have always wondered what it would be like to breed evolutionary agents to compete with one another on best city designs against a hidden selection criteria.

    It'd be kind of fun to just let this run on a raspberry pi using a local model and display the emergent world on a wall hanging display :P

    Thanks for sharing.

    Update: What would it take to run this locally / offline? I'm not quite sure how the cloud flare layer works. Is it just for cheap/free object storage so the cities can live somewhere?

  • jedberg 1 day ago
    > LLMs are awful at the spatial stuff

    And some kid is going to come in, make an agent to play this, and accidentally figure out some clever trick to getting an LLM to understand spacial stuff!

    This is exactly why "toys" are so critical, especially now.

    • DonHopkins 1 day ago
      Sam Earle's fractal neural network approach (https://arxiv.org/pdf/2002.03896) is exactly this kind of thing.

      His key trick: recursive weight-sharing in fractal convolutional blocks, so each column of the network acts as a continuous-valued cellular automaton ticking different numbers of times. The deepest column gets a 33x33 receptive field -- enough to connect power across an entire 32x32 map in one forward pass.

      The agents discovered power-plant + residential pairing, road placement for density, zone clustering by type, and traffic-avoiding road layouts. When stuck at local optima, a human player could intervene (deleting power plants) to force re-exploration -- and the agent would improve its design.

      The paper was 2019, before LLMs were doing this kind of thing. Different paradigm (RL on tile grids vs. LLMs on coordinate text), same hard problem.

  • natas 1 day ago
    I want to see AI play factorio
  • raniazyane 6 hours ago
    The “human pause” idea is really interesting because it turns this into a clean sandbox for a question that’s hard to test in the real world: when does automation stop being fun and start needing a human checkpoint?
  • irrationalfab 1 day ago
    Makes me wonder if Micropolis is simple enough that an agent, given many runs and the ability to store what worked, can identify an optimal strategy (like a grid layout) for maximizing score or population even without source access.
    • aed 1 day ago
      https://hallucinatingsplines.com/mayors/bungeling-anthill-a2...

      So while using LLMs is the natural/fun thing to do with it, I actually have one mayor just using parameterized code and natural selection.

      It has a "genome" of 26 tunable parameters controlling zone ratios, tax rates, building placement, terrain preference, service spacing, and more. Each city, it stamps down 11x11 blocks (roads, zones, power corridors). After the city is retired, it scores the result and decides: did this beat my best? If yes, save those params. If no, mutate and try again. Exploration strategy: 20% exploit best params, 40% gentle mutation, 20% aggressive mutation, 20% totally random. Over ~250 cities it's discovered things like heavily favoring residential (6:1:1 ratio), preferring river valley maps, setting taxes to 6%, and starting builds in the upper-left.

  • Ntrails 1 day ago
    When claude makes magnasanti I will accept it is worthy
    • aruametello 1 day ago
      it seems to be bad at spatial and some temporal tasks given it currently f*** s**'s at pokemon.

      source: https://www.twitch.tv/claudeplayspokemon

      • Sohcahtoa82 1 day ago
        You're allowed to say "fucking sucks" on Hacker News. It's not against the rules, and there's no "algorithm" that will penalize you.
        • aruametello 1 day ago
          glad to know, i am rather new here and somewhat used to the "don't do the usual forbidden stuff".
      • servercobra 1 day ago
        "fuck sex's"?
        • goopypoop 1 day ago
          that's silly. obviously there's a missing apostrophe:

          "it's currently Flan Sam's at pokemon"

  • rglullis 1 day ago
    Oh, can we do Civilization next?
    • rkozik1989 1 day ago
      You do know we're hemorrhaging and lot of finite resources to play these games badly, right? We're basically at laying on chaise lounge being fed grapes levels of hedonism. Make me a racist meme that copyright infringes multiple IP holders and when you're done play Sim City at competency level of a blind man.
      • deaux 13 hours ago
        You say this any time someone drives an ICE for fun? Eats a beef burger? Buys clothes they don't need? Or the worst of all, takes their 2nd vacation by airplane of the year?

        Let me lower the bar - have you asked any of the above to random people you don't know well for a combined total of more than twice in your life?

        If so, hats off to you, respect. That takes some courage.

        If not, which seems to be the case in 99.99% of cases where people pretend to care about the environmental impact of AI, man up and stop making a mockery of those who do care about the environment and have made personal sacrifices for it.

        > meme that copyright infringes multiple IP holders

        Oh no, how will Disney ever get over this!

      • staticshock 1 day ago
        I think the way to see this as the organic process of discovering hard-to-game benchmarks. The loop is:

        1. People discover things LLMs can kind of do, but very poorly.

        2. Frontier labs sample these discoveries and incorporate them into benchmarks to monitor internally.

        3. Next generation model improves on said benchmarks, and the improvements generalize to improvements on loosely correlated real world tasks.

  • gleipnircode 17 hours ago
    Love this. Giving an agent full autonomy and just observing what it does is underrated. I'm running a similar experiment just no game engine in the real world. It's fascinating to watch what AI does next.
  • ryandrake 1 day ago
    Here I am, just trying to buy RAM and a GPU for a reasonable price.
  • boringg 1 day ago
    Fun idea! It really seems to go for the block by block design. I see some other ones that are a bit more divergent but not successful. I wonder what its internal reward function is striving for.
    • aed 1 day ago
      I actually had Claude build some instructions for agents based on some old (circa turn of the century) FAQs/game guides I found online. So maybe I'm biasing everyone's model too much.

      https://github.com/andrewedunn/hallucinating-splines/blob/ma...

      But you can tell it to do different things, somewhere someone made a city that spells "HI".

  • BrandoElFollito 1 day ago
    > LLMs are awful at the spatial stuff

    Could someone please elaborate on this? This is intriguing

    • janalsncm 1 day ago
      In general, text isn’t a great medium for transmitting spatial info. That’s why it’s easy for a model to understand an image but hard for it to draw an SVG of that image.
  • janalsncm 1 day ago
    I think a vision model like Qwen VLM or sending a screenshot to Claude/Gemini will be easier for the model to reason about. Pictures encode spatial info much more naturally than json.
  • thenthenthen 1 day ago
    Is there like a time lapse sorta view option? Super cool (also the name!)
    • aed 1 day ago
      Yes! Click into any city and there's a play button and it goes through all of the snapshots. Have also thought about social sharing / post to youtube. But wasn't sure anyone other than me would play this stupid thing. :)
  • FrustratedMonky 1 day ago
    Is anybody planning to build this for Civilization? I'd like to see AI agents battle to build resources and to fight.
    • aed 1 day ago
      I'd love to see it!

      The key "Aha!" moment was when I was trying to get it to play the SNES ROM and it was struggling with screenshots/inputs. Then I came across the open-source of the original SimCity engine (Micropolis) and pulled that repo down and Claude starting building an internal API to interface with it.

    • boringg 1 day ago
      And then make it so you can integrate and battle against them...
    • yreg 1 day ago
      On one hand yes, but on the other hand, would it be that different to watching an FFA with the in-game AIs?
    • mekod 1 day ago
      You read my mind! I really want to watch how ai's in politics or wars which tactic will they use.. Its blow my mind.
      • JohnMakin 1 day ago
        almost certainly just use basic strats they read off reddit
        • mekod 1 day ago
          Predefined or human-borrowed tactics will eventually run out. What really fascinates me is this: when both sides are AIs trained to predict the opponent’s next move — and they know the opponent is also an AI doing the same — what emerges then? At that point it’s not human vs machine anymore. It’s Sherlock vs Sherlock.
        • FrustratedMonky 1 day ago
          If they can read a strategy and implement it, still impressive.
          • JohnMakin 1 day ago
            i mean, not really. the civ 5/6 bots can play pretty decent strategy and that’s without “AI,” and most strategies are pretty formulaic
            • FrustratedMonky 1 day ago
              Sure. Games have had AI's before.

              But to read someone else's strategy from just a document, and then implement it, that is new. The old civ did not do that, each AI just had pre-programmed rules.

      • randerson 1 day ago
        "Shall we play a game?"
  • DonHopkins 1 day ago
    I developed the open source version of this game, called Micropolis.

    Great to see more people building on it! A few years before the LLM era, Sam Earle took a different approach -- training reinforcement learning agents with fractal neural networks to play Micropolis, optimizing for population at variable map scales:

    Using Fractal Neural Networks to Play SimCity 1 and Conway’s Game of Life at Variable Scales:

    https://arxiv.org/pdf/2002.03896

    His gym-city repo wraps Micropolis as an OpenAI Gym environment:

    https://github.com/smearle/gym-city

    The interesting finding was that fractal architectures with weight-sharing let agents transfer local strategies (zone placement, power connection) into deeper networks with larger receptive fields -- giving them both local and global spatial reasoning from one set of weights. But even those agents couldn't manage demand at larger scales, so the spatial reasoning problem discussed here has been hard for RL too, not just LLMs.

    He described the project and we discussed it on the Micropolis repo in this issue:

    https://github.com/SimHacker/micropolis/issues/86

    He used the old PyGTK interface for his project:

    https://github.com/SimHacker/micropolis/tree/master/Micropol...

    These days I'd recommend the MicropolisCore repo instead. It's a C++ rewrite independent of any UI, compiles to WASM via Emscripten/Embind, and runs headless in Node or with any browser UI:

    https://github.com/SimHacker/MicropolisCore

    Live demo:

    https://micropolisweb.com

    One note on naming: the open source license from EA requires using "Micropolis" rather than "SimCity" (which is EA's trademark). The Micropolis Public Name License allows use of the original name:

    https://github.com/SimHacker/micropolis/blob/master/Micropol...

    This matters more than people think. Jeff Braun, CEO of Maxis, told me this story:

    "Maxis was sued by Toho. We never referred to the name Godzilla, our monster on the box cover was a T-Rex looking character, but... a few magazine reviews called the monster, Godzilla. That was all it took. Toho called it 'confusion in the marketplace'. We paid $50k for Godzilla to go away. In all honesty, Toho liked Maxis, they said $50k was the minimum they take for Godzilla infringement."

    So please: call the game Micropolis, not SimCity, or EA's lawyers may come knocking. And unlike Toho, EA and their Saudi investors and Jarod Kushner might want to use their bone saws on you, which are much worse than Godzilla.

    • aed 1 day ago
      I really appreciate you making this available to us, and providing other details!

      No one has found it yet, but I built an undocumented endpoint around a cheat that I assume you placed in the game for One Laptop Per Child...

      Also, will scrub the repo and make sure I'm careful about SC references.

  • Ozzie_osman 1 day ago
    Does anyone know how one can actually play SimCity (the original) these days?
  • _joel 1 day ago
    I fully approve of the name
  • skeptrune 1 day ago
    It amazes me that people are still interested in MCPs.
    • aed 1 day ago
      I find that if I point an LLM at the website and say "build me a city" sometimes it will pick up and use the MCP and sometimes it will just script against the API.
  • Waterluvian 1 day ago
    Ah yes, FART City. I remember learning about this in PLAN 165. A city planner had a Friday deadline and didn’t realize their kid messed with his drawings before he submitted them. Nobody noticed until the invention of the whirlybird.
  • baq 1 day ago
    ...I sense an animated svg of a pelican playing simcity benchmark is brewing somewhere
  • hasperdi 1 day ago
    Fun! Any other games with REST API?
  • gowld 1 day ago
    > LLMs are awful at the spatial stuff,

    Which LLMs are you specifically referring to?

    Are any of them trained with Micropolis data?

  • Agent_Builder 22 hours ago
    [dead]
  • kittbuilds 1 day ago
    [dead]
  • deadamericans 1 day ago
    [dead]
  • some_furry 1 day ago
    [flagged]
    • jedberg 1 day ago
      I made a comment above about why "toys" are really important. In this case, LLMs are bad at spacial stuff. Someone might stumble upon a great way to get an LLM to do spacial stuff.
      • some_furry 1 day ago
        I dunno, how does it fare with graph databases?