4 ms·
The tree manager is beautiful. It's the much prettier interface I didn't want to have to build for my educational SMS-based text adventure. All it would need to
by jmhnilbog 13y ago
The tree manager is beautiful. It's the much prettier interface I didn't want to have to build for my educational SMS-based text adventure. All it would need to be ideal for me would be:
* a way to assign 'expected words' in responses, with intelligent dictionary/thesaurus lookups to assist (so a free text response that asks 'where's the meat?' will be handled by the 'where's the beef?' path in the tree)
* a way to add nodes to the tree in real time as responses come in that don't have a valid mapping yet (so someone who attempts something completely bizarre like 'screw bear' can get a custom response)
* a simple way to handle game state, probably in another tree accessible in each node.
- zekenie 13y agoVery interesting! Couple of things. We're actively working on SMS to live chat, which might take care of editing tree in live time. We've thought about the thesaurus and are thinking of going in that direction in the future, but right now it texts back the possible options. Does this seem good for the moment? I'm not 1000% clear on your third bullet. Are you interested in nodes that you can access from any point in the tree, or are you interested in nodes that transfer you to another tree?
- jmhnilbog 13y agoIf live chat responses were auto-saved as new nodes, that would meet my requirements. The goal would be that any new input could be either manually directed to an old node or auto directed to a new node. Imagine a 'choose your own adventure' book that accepted arbitrary input and could create new paragraphs on the fly. If your input maps to an existing paragraph, you're texted it immediately. If the book never heard of someone trying your input before, you're told to wait a bit and get a response once the book writes it. A very few commands do something special. 'inventory' spits out your current inventory state. There are a few levels of game state. Characters carry around a small amount of state (alive, healthy, ugly, etc.). Locations carry around some state. (on fire, dark) Other state might be held in a calendar (May 1st, 9:00 am, the world will end) or the world itself. Each 'paragraph' in the imaginary book should be able to look up and/or update any of those states when entered. Ideally, any input that comes in would be autocorrected and analyzed for parts of speech. If a new noun comes in, it could be compared to nouns mentioned in previous 'paragraphs' to figure out what the user meant. 'get brown tote' and 'get brownish bag' should resolve to the same thing. My third bullet boils down to allowing a user to: You are standing before a door. > open door The door resists your furious pushing and pulling. What's that thing people open doors with? A....key? > get key Who said anything about a key? There's no key here. ...later, after finding a key... You are standing before a door. > open door The door rattles, but appears to be locked. > use key on door *click* The key fit, the door unlocked. without having to add hundreds of similar nodes at different points in the tree. You'd just make the 'standing before a door' node check 'player.inventory.hasKey' and have it send you the correct 'paragraph'. (Also, 'use key on door' would update 'rooms.boring.door.locked'.)
- zekenie 13y agoVery interesting. We already track "errors" (responses that don't have connections) and we could make a real time error corrector. Let's say you have a yes/no question and someone says "nah." If you didn't want them to recieve a text saying "the options were yes and no," we could maybe make it so you could click on the node you wanted it to go to... But, I'm not sure if there's much demand for this type of feature in general. I think most users won't want to have real time people sitting in the trext app. I'd be interested in talking about it more though!
- jmhnilbog 13y agoRight, mine is a pretty specific use case. However, if a thesaurus lookup can figure out that nah is close enough to no that it should just normalize the response to no, that's a win for the user. (Scraping urban dictionary to act like a thesaurus would be a decent way to decipher txt spk and euphemisms as well.) Yes/No questions could be special cased to accept more oddball responses off the bat..'for sure', 'totally', 'no way', etc.
- zekenie 13y agoAgreed. I'm not a natural language expert by any means, but from the research I did a little while ago, it seemed like the thesaurus apis matched "yes" to "affirmative" and not to "yeah." Maybe I haven't found a good one?