Steps towards prompt-based creation of virtual worlds
I&#x27;ve thought a bit about how I would add text-based procedural generation to my virtual world engine (I would love to have an &quot;edit a book to change the world&quot; experience, like Myst&#x27;s linking books). The hard part is the composition of smaller things into larger concepts, since you have limited data.<p>For example, developers often devise a system of generic water tiles that they can fit together to form any sort of river. But how do you algorithmically go from the text &quot;I want a river that starts large, gets narrow, then turns East&quot; to a valid map layout? The water tiles and the ways they fit together are specific to the world, so there&#x27;s nowhere near enough data to train a model. You could hardcode procedural logic based on key phrases (&quot;river&quot; + &quot;start large&quot; + &quot;get narrow&quot; + &quot;turn east&quot;), but that&#x27;s a lot of work for a very limited implementation.<p>The most promising idea I&#x27;ve come up with is a node-based intermediate representation. You could use general data on rivers to determine how they&#x27;re shaped, then use that to translate the user&#x27;s prompt into a series of nodes on a map. Then, you just need to hand-implement a system to iterate the nodes and place tiles based on whether the next node is straight ahead, turning, etc. This approach could generalize to other concepts like mountains. At that point, it&#x27;s just about making the text-based stage sufficiently predictive of what the user wants instead of just being a Logo-like.