Conworld Codex - Data Structures 2018-09-28

By Max Woerner Chase

In this post:


History deals with relics and narratives, and those both seem like good things to try to model. Given a representative of a relic, we could have predicates for things like "made of such-and-such material". We also want to have some way of considering "changes that already happened", like "the relic acquired this notch after event X but no later than event Y".

One thing that I feel I haven't settled on properly at this point is whether I want it to be possible for Conworld Codex to permit making statements about reasonable applications of the historic method at a particular time point. My inclination is to say, I want the primary data of Conworld Codex to be the accounts given at particular points in time. For systems with different goals, maybe the priorities work out differently.

This means, I think, that I want predicates something like "within this arbitrary space-time interval, someone with this identity set forth this narrative", related with ideas of causation and modal logic of belief. Or maybe not. The tension here is, I'm making statements entirely about a fictional world, and I'm trying to avoid privileging any narrative as "objective" when it comes to setting down what happened within that world, but I also have this idea of trying to put these narratives in a form where they can be reasoned about, and had concordances between them, more or less. But saying "this story-teller existed" is itself an assertion with narrative consequences.

I might need to revisit an idea that I had of framing (not necessarily in the sense of a framing device) the narratives that make up the Linked Seas chronology as originating from notional "direct communication" between the fictional world and the real one. I guess that ends up equating to "the author of the database posits the that the existence of these narrators and their narratives is axiomatic". It seems to me that in that context, the value of designing and populating such a database would be in modeling and noting contradiction.

I mean, if the whole thing is supposed to represent an "objective timeline", then basically all I need is a predicate wrapped around a list of relatively simple terms that just put all of the relevant data in strings. Maybe put something like that together in Python or Lua, because there's no need for logic programming in that context, and I'd get stuff like "variable scopes that I'm used to the behavior of". But instead, I want to try to put together something that expressly does not try to conform to a single objective narrative.

What I'd need for what I'm describing here skews a little more into psychology than history, maybe sociology... I'm not terribly sure of more than that, I know I'm out of my depth, and I'm trying to challenge myself. Basically, given a narrator, work outward to create a biographical sketch. Relate "objective" elements to more than one sketch, so that different biographies incorporate different perspectives and beliefs about an element. Make the elements themselves opaque; details are only "visible" by how they relate to the narrators.

This seems reasonable as a means of organizing my notes, if nothing else. I think I've mentioned this before, but I've wanted something like logic programming for a while, without quite realizing it.

Since I wrote up the bulk of this post, I've been trying out more tutorials and experimenting with data structures. I think the big takeaway from my experiments is that I shouldn't mess too much with heavily recursive processing unless I'm ready to really commit to posing myself really hairy logic puzzles. The procedural behavior of recursive goals can sometimes lead in really strange places.

The way I feel like taking this is to write up background notes for Kena'o, pick a few narrators to discuss the life of, write up notes on them, and figure out how to fit them in.


Next time, disordered setting notes, and the predicates I derive from them.