Skip to content
Go back

Felworld: a persistent MMO world populated by AI players

Over the past few months, I’ve been hacking on a hobby project I’m calling Felworld. The premise is basically: imagine an MMO, but all of the other “players” are actually AI. You can interact with them socially, you can group up with them and do quests or dungeons together, and you can fight each other in PvP—basically, anything that you’d do with other human players.

I haven’t really started this to make a fun game to play, per se (I do actually prefer the company of fellow humans in an MMO!), but rather to explore what it would take to truly make a virtual community like this convincing. Or, to put it another way, I want to figure out what the limitations are of AI today that prevent it from feeling convincing.

As such, this is a research and educational project (not a commercial endeavor), and it’s built upon the great work that’s gone into the AzerothCore and mod-playerbots open source projects. All of the code and configuration is on GitHub, if you’re feeling brave enough to try it out yourself.

While I would love to share videos of the game world for this post, the in-game assets are not freely available. Apologies!

Design overview

flowchart
  subgraph server [MMO server]
    mod-playerbots --> AzerothCore
    mod-llm --> mod-playerbots & AzerothCore
  end

  mod-llm --> vLLM
  AzerothCore --> MySQL
Felworld architecture (simplified)

Felworld essentially consists of:

  1. Forks of AzerothCore and mod-playerbots that boost realism and immersion
  2. A new mod-llm module, which runs LLM behaviors (chat and otherwise)
  3. A large language model running locally in vLLM—as the cost of actually sending these requests to a paid API would be prohibitive

For my testing, I’m running all this on an NVIDIA DGX Spark, so I’ve selected Qwen3.6-35B-A3B as the best local model for this purpose that fits into memory. I imagine quality would only get better with larger models, though I haven’t tested it first-hand.

AI decision-making

In a real-time MMO, it’s not really viable to have an LLM decide every little thing that bots should do in the game world—it would slow them down, and the compute demands would be immense. Instead, Felworld follows the lead of mod-playerbots, which implements bot behaviors in the same way that many games implement friendly and enemy “AI.”

Basically, moment-to-moment behaviors from the bots are decided using heuristics. Heuristics are fast, cheap, and Good Enough™ to appear realistic. (After all, most players don’t do terribly unique things moment-to-moment either!) For example, “what spell should I cast right now?” will be decided according to the bot’s current strategy, and any applicable world information, according to a hardcoded algorithm.

The key insight from Felworld is that LLMs can be used—in addition to their conversational function, of course—to determine when to swap strategies and provide higher-level reasoning about what to do. For example, in Felworld, human players can use natural language to communicate with bots about PvP combat; the LLM will interpret these messages and decide how to switch up bots’ strategies.

Is it any good?

It’s not really comparable to playing the game with humans, to be honest, but that’s unsurprising. However, I do find that the simulation is better and more realistic than it has any right to be:

Conclusion

My personal takeaway is: as models get better, this will inevitably be solved. Most of the lack of the realism feels like a “small model problem,” and extra brains would go a long way toward improving the bots’ behavior and speaking.

Rather than fight this outcome (as I know many gamers and game devs are wont to do), I’m interested: how can we use this development to create fascinating, immersive, emergent game worlds? For example, MMOs historically had a bootstrapping problem: if the game can’t get enough players, it’s dead on arrival. Maybe this doesn’t have to be fatal anymore, if there are “good enough” bots participating in the world?

I absolutely want to keep playing with other humans, but I also want to see new ideas and new games take shape that are only possible with new technology! The challenge is figuring out how to achieve these goals in balance.