Dialog searching utility: useful?
Posted: Fri Mar 06, 2009 3:51 pm
So I'm playing around with a new use for my .dlg parsing code: dumping all the information to a searchable database. This lets me search really easily for things like:
My question is: would anyone but me find this useful? Currently I only have a very rough text-based interface to the db, but I could work on that if others would use it.
Also: what kind of questions do you want it to answer? The database knows many things but they're not all accessible yet unless you write the sql query by hand. For that persuasion-for-tourette example above I manually wrote a query for persuasion checks in tourette.dlg ("all persuasion checks" gives way too much output). It's also easy if you happen to remember some key phrases (a search for "cease quarrel" gives only one result and has the check, because malks say "Become mute both mouths! Cease this quarrel.", but who remembers that...).
(for the technically inclined: the code is written in python and stores the data in an sqlite db, using sqlite's fts3 for fast full text search. The .dlg files contain python expressions which I parse using python's own parser so I can reliably store things like stat checks and SetDisposition calls separately instead of treating it all as generic script. Arguably overkill but I have some ideas that need those checks in a machine-readable format.)
- At what places is Seduction >= 9 useful? (apparently just for seducing Chunk, and 10 is not used at all... similarly intimidate > 8 is useless, but 8 gives you one option I think is funny
)
- Is the name "Tourette" actually used in conversation? (no, just as a file name).
- Is it ever useful in dialog to have a shotgun on you (quite the opposite: you cannot say "You're lucky I left my shotgun at home. Goodbye." to vandal if you have a shotgun with you! I bet you didn't know that yet!)
- How much persuasion do you need to get the sisters to get along? (seems to be 4)
- Anything else that needs to filter on more than one thing at once.
My question is: would anyone but me find this useful? Currently I only have a very rough text-based interface to the db, but I could work on that if others would use it.
Also: what kind of questions do you want it to answer? The database knows many things but they're not all accessible yet unless you write the sql query by hand. For that persuasion-for-tourette example above I manually wrote a query for persuasion checks in tourette.dlg ("all persuasion checks" gives way too much output). It's also easy if you happen to remember some key phrases (a search for "cease quarrel" gives only one result and has the check, because malks say "Become mute both mouths! Cease this quarrel.", but who remembers that...).
(for the technically inclined: the code is written in python and stores the data in an sqlite db, using sqlite's fts3 for fast full text search. The .dlg files contain python expressions which I parse using python's own parser so I can reliably store things like stat checks and SetDisposition calls separately instead of treating it all as generic script. Arguably overkill but I have some ideas that need those checks in a machine-readable format.)