Show HN: A self-running space economy SIM in Rust and Bevy
github.com57 points by kalcode 3 hours ago
57 points by kalcode 3 hours ago
I built this with Claude cause I always wanted to tinker with a simulation economoy and I love space themes.
A space-economy sim where nothing is scripted. A few hundred autonomous ships each run their own planner. Some chase the best trade route, take a delivery contract, refuel, retrofit at a shipyard, or dock so the crew can rest before morale tanks.
Markets price everything off supply with shortage-urgency multipliers, factions tax and subsidize, populations migrate when they're unhappy, and stations that go broke get abandoned and rot.
It started as an Elixir/Phoenix prototype, but the BEAM scheduler struggled on Windows gaming PCs, so I had Claude rewrite the engine in Rust.
The sim core is pure, synchronous, IO-free (its own hecs ECS), and the Bevy client embeds it directly as a library, sim and renderer share one world with zero marshalling. Ship AI is a GOAP planner over a world state; ships replan mid-flight when a better option appears. ~485 agents today at p50 ~10-20ms/tick, architected to push toward 100k+. Single native binary, bundled SQLite, no runtime deps. Getting into 100k has been a struggle, but I have pushed it into the thousand and it was running fine.
It's a sandbox, not a game yet, there's no objective yet, and I'm not actively pushing it toward "shippable." Anyone can fork it and take it over. Or it can stay as some type of AI slop, but part of me thinks it is already in a pretty good shape for a simulation use for various games or ideas.
(Full disclosure: a lot of this was built pairing with Claude. That's how I had the bandwidth to take it this far. Happy to talk about what that workflow actually looked like.)
This is awesome. I've been working on a similar concept based on the Escape Velocity series and love the space trader genre in general. I'm curious how you've thought about the faction organization structures as well as information flows in the sim? Are agents omniscient about prices and postings? I ended up making in-sim information a commodity that agents could choose to sell to each other, but I didn't follow through fully baking that dynamic. Not omniscient but I do let them update the system information from one station just because it caused me issues with goal weighing since their information was so limited they almost always chose to stay within a known route versus exploring, this helped giving them more information. But I did think, one station info per station probably also did not make sense, technology-wise, so I thought expanding it worked. The faction system was my answer to what makes ships or planets' goals go beyond their immediate needs, and factions came naturally next. They want to make money and shift priorities to do it through incentives. Like subsidies almost. I was hoping/thinking they (factions) could escalate to blockades, monopolies or just more supply control, skyrocket prices and events combat to hold choke points, blockades or sanctions. That way that agents FSM is focused on those goal oriented actions and ships can focus on their well being plus their factions incentives, and the crews needs handle immediate needs. Does that make sense? (Terrible at proofreading) I have also been using LLMs (mostly claude code) to develop a game with Rust and Bevy, and it seems to work very well. The strictness of rust seems to really help them get the code right, and the ECS architecture seems to make it easy for them to reason about how things work (because they only need to hold a few systems and components in context at a time). makes me wonder if ECS will ever catch on outside the gaming industry. not sure if it's really the right architecture for web SAAS. Might be interesting to rewrite some big piece of software with ECS. Games and other specific applications call for such unidirectional data flow with such massive amounts of "independent" entities. It isn't that it'll catch in or not outside the gaming industry, it is more of a unique solution to a typical gaming problem. So their are apps that dool use similar or ECSs architecture under the hood, it is just more problem related not a solve everything solution. throws away spec doc for my own Are we all having this idea? Hilariously I also had a very similar idea just recently. lmao same, I was inspired by Rimworld + Eve Online + The Expanse. But I acknowledge that ideas are cheap and execution counts, and OP executed. What is it about the space industry life that makes us developers adore it so much? :p X4 Foundations just got a big update if you’re looking for a game built around this industry sandbox idea. https://store.steampowered.com/app/4382310/Warp_to_Sector_On... I came across this recently ... hints of Tradewars from the good old days. Really wish they would spend a cycle or two on the automation/economy side. I know they've been really into combat lately. It's one of those games where the scale is exhilarating and then you spend hours cursing at the screen as the NPCs completely ignore all of the logistical rules you painstakingly setup. It’s fun to see projects like this that seem largely unlocked by LLM assistance, and probably wouldn’t even get started if it weren’t for them. I know the hype cycle for LLMs seems to have hit its peak already, but I am fully convinced we are still in the early days of what we’ll be doing with them in software development. The only problem I see with projects like this is that there could be so many of them. Personally I’ve built at least 5 things that I had thought would be fun, but realistically I just didn’t have the time. Now I do, and if they only scratch my personal itches, that’s okay. Yup, lots of stuff I'd love to dive into that having an assistance coder makes way more approachable on nights or weekends to get things done. And yah, ideally there should be tons more! The shift will be interesting. Neat idea! I think it would be cool if you can host a simulation and enable online viewers. Have the simulation accessible from a website (god-mode disabled of course), and have an agent generate some sort of newspaper or news bulletin of interesting things that happen. I just started working on some similar stuff, it’s been a dream forever but I never had time for the payoff to feel worthwhile. Would love to hear more about your Claude workflow and experience with Bevy, did you consider Godot? I did! I am more familiar with Godot but just ran into performance issues and then switched off their node scene straight to their rendering API, which made me feel like I abandoned Godot at that point. I am sure it could be optimized more but I want to worry less about chucking rendering and more scaling the economy simulation the further it went out, thus the more things to render, the harder it was for Godot. Bevu/Rust just made it easier to brute force that scaling, since they have smaller footprints (overhead?)for each thread/process spawning. You might also like my AI written zero player game/sim: https://github.com/derekburgess/simcraft The whole thing originated years ago to see what LLMs were capable of. Just spent a chunk of my Fable access hacking away at it. Is it intended to be 100% realistic, no. Its more art, tho I do try to lean into physics...
awhitty - 18 minutes ago
kalcode - 9 minutes ago
lantry - 36 minutes ago
kalcode - a minute ago
dangoodmanUT - 2 hours ago
Sharlin - 17 minutes ago
Cthulhu_ - 4 minutes ago
qwertyastronaut - 2 hours ago
natebc - an hour ago
aliasxneo - 2 hours ago
sulam - 3 hours ago
kalcode - an hour ago
hersko - 3 hours ago
digilypse - an hour ago
kalcode - an hour ago
spacecadet - an hour ago