3 ms·
I’ve been building an interactive fiction platform built in C# with a world model contained within a bidirectional graph data structure. Since IF stories are r
by ChicagoDave 3y ago
I’ve been building an interactive fiction platform built in C# with a world model contained within a bidirectional graph data structure.
Since IF stories are relatively small in graph terms, it’s a reasonable solution.
Locations and objects are nodes and movement and location of objects are edges. Nodes and edges both can have dynamic properties.
I’ve also noticed the lack of graph structures in programming languages, so this article was very enlightening.
- jonahss 3y agosounds neat. link?
- ChicagoDave 3y agoIt's really an experimental endeavor. I have a Github repo (https://github.com/ChicagoDave/chatgpt-ifplatform https://github.com/ChicagoDave/chatgpt-ifplatform), but I'm still changing things all the time. It's very volatile. Finding the balance between OO principals, Fluid coding capabilities, separating the data, grammar, parser, and world model and then constructing a standard IF library of common IF "things" is like juggling 20 kittens and 10 chainsaws. Some things are confounding like do I define a container with a boolean property on an object or is a container a subclass of the base Thing? How does that extend to the underlying graph data store? What will queries look like and which solution is more meaningful to authors? Seriously, 95% of the fun is figuring all of these things out.