Monday, June 30th, 2025

Roundup: Creating Worlds with LLMs

I’ve been experimenting with using LLMs for worldbuilding and other generative/creative endevours. This post is a round-up of writing and videos related to that work.

I do more work with LLMs that isn’t as playful, but it’s less visible and I write more about the playful stuff. This non-productive work is my chance to experiment with LLMs, learn more ways to work with them, with the relative safety of projects that don’t have any specific requirements or demand any specific outcome.

Sections

  1. Worldbuilding
  2. Exploring those worlds
  3. Misc experiments
  4. Code repositories

Worldbuilding (or city building)

This series is about using an LLM/GPT for worldbuilding. The themes are guidance, inspiration, adjustment, context, consistency and surprise, and filling in richer details.

Blog post: World Building With GPT (February 2023)

Accompanying video: Using GPT for world building

Follow-up blog post: World Building with GPT part 2: bigger, better, more declarative (April 2023)

Accompanying video: Using GPT for world building part 2

Exploring those worlds

The world creation is static, creating lots of material but nothing to do with it. So the next set of experiments were with interacting in those worlds.

Blog post: Roleplaying driven by an LLM: observations & open questions (April 2024)

This blog post introduced two games: A Life Lived (choose the path of your life situated at some time in history) and World Wanderer (lightly a roleplaying game exploring the cities).

Accompanying, v0 of Life Lived: video: A GPT narrative roleplaying experiment

v1 of A Life Lived: video: GPT game demo: A Life Lived, roleplaying history

v2 of A Life Lived: video GPT game demo: A Life Lived (v2)

A video of World Wanderer: Roleplay and action resolution with LLMs (demo)

I created a more playable game that is open source. Blog post: Intra: design notes on an LLM-driven text adventure (July 2025)

Finally a video on the text adventure Intra: LLM-driven text adventure: implementation notes (Intra)

Miscellaneous

In May 2023 I made a presentation for Minnebar, Building fun things on GPT:

A short video from March 2023: Making GPT play the Zork text adventure

This blog post is not related to world building, but is related to being playful: Infinite AI Array

Repositories:

I have some code you might want to look at as well, in roughly reverse chronological order:

  • The Intra text adventure: a text adventure with an LLM driving the core events (GPL).
  • A Life Lived and Worldwanderer: two interactive games that share some infrastructure (like a tiny monorepo). A Life Lived is intended to “simulate a life” sometime in history. You choose your character and are given choices and roleplay scenarios to explore. Worldwanderer is a primitive roleplaying world based on the output of the City Builder in LLM Garden. (city-viewer is a non-interactive rendering of those worlds.)
  • FunGPT was a framework I made for a talk. I tried to give the talk an unintimidating name, meaning the repository also has a dumb name. It wasn’t intended to be a successor to LLM Garden, but I ended up implementing some experiments on top of this instead of LLM Garden, and the code is a bridge to A Life Lived and Worldwanderer.
  • LLM Garden: this repository was the start of my experiments with LLMs in November 2022. It’s where the city building experiments were created, among several other experiments.
  • Infinite AI Array (iaia) is a joke library (though also a working library, modulo any bitrot). I wrote about it. The library makes AI-enhanced data structures in Python. That is, the content of the data structures comes from AI. It also includes a magic on-demand Python code writer where you can invoke a function and it’s created on demand.

This is the personal site of Ian Bicking. The opinions expressed here are my own.