cleric-plus-thief/doc/database.md

38 lines
1.3 KiB
Markdown
Raw Normal View History

2022-09-05 17:58:14 +00:00
# Database
## Situation
One thing that a good game master emulator / oracle / solo engine will do is add complications to a scene.
This often looks something like "An NPC suddenly acts!" or "A plot thread advances / closes."
This makes for unexpected and interesting situations.
And it necessitates keeping a list of NPCs and threads.
## Task
I needed to create a database.
A plain text file is probably mostly okay, but I want to be able to easily select a random entry, and to update entries with notes, etc. Maybe have a 'status' column for 'missing, active, dead' etc.
## Action
So of course I made some recfiles.
Check them out in `/db`.
## Results
I can quite easily select a random NPC now.
```
recsel -P name -m 1 db/npc.rec
```
I would like to write a script to quickly append a note to a record. One nice feature of records is that you can have repeated fields. That is, it's perfectly fine to have many `note:` fields. When querying, you'll just get them all as a list. So updating via appending new `note` fields ought to be a cinch.
In the meantime, sometimes my playing/writing is figuring out the tangled web of motivations. And a lot of that discovery comes from just opening up my recfile in an editor and jamming.
Then I can go get my narrative on afterwards.