So I’ve been working on a project for my DnD group primarily, but the general idea I think has some relevance.
I’m working on an interesting way to interconnect prompts and operations similar to a knowledge graph. So it started as a way to generate character sheets, and use unique moves. A sheet holds one state that can represent a part of a openai prompt that other sheets might want to modify or use. A character sheet genenator sheet can hold a template sheet, a few example sheets, and use those in a function to generate a new character from a description using multiple openai prompts.
This creates a sort of strange loop, where I’m translating bits of character sheet and move descriptions, into edit instructions to be used on target character sheets.
While the idea of generators, translators, and complex instructions are not unique, the idea of a sheet space seems like a useful design patterns.
Character sheets have inventories that they can use items in creative ways based off a player’s description, and then a sheet could generate edits to a target sheet’s stats based on consequences of that action.
Now here’s where it might get a little juicey. An exploration of a sheet space could look like a genetic algorithm ran on character sheets.
An evaluator sheet can be defined to measure a character sheet’s fitness in a population. The evaluator I thought of would assign a random goal to a character, and you could ask the character sheet to describe a use item move to accomplish that goal.
An evaluation is an operator in a sheet space, just like generating a character is an operator, and using a move is an operator. Other operators needed to run a genetic algorithm are mutations and crossover, which should be rather easy for character sheets.
The result of this genetic algorithm would be a population that can best accomplish the list or generated goals. Now this isn’t necessarily the most interesting exploration of a sheet space. The result could be interesting characters, or boring gods just the same.
What other ways can you think to explore a different sheetspace? I imagine explorations on codex based sheet spaces could produce some interesting pieces of code, or maybe a largely useless eceltic libaries of functions and classes represented as sheets. And how weird can you get with interconnected sheets.