The quest system is slowly taking shape.
Of course, I had to throw away the first design in part but that was entirely expected. What I have to continually remind myself is that vex essentially works "backwards". Rather than construct places, people, events, objects, etc. in order to serve a purpose (which I call contrivance), vex constructs the events, objects, etc. in some ad-hoc fashion which hopefully is comprehensible and not too random. Then, quests arise organically from that mass of possibilities. I can see, at this point, how to basically do that, and moreover I can see that contrivance is really something to be avoided. Even humans are generally poor at contriving situations or events, what makes great novels great sometimes is their ability to weave so many patterns into each other in ways that a reader cannot sense the contrivance, and yet a rewarding story is provided. In real life, I think, things are more more existentialist and random; we humans tend to impart meaning where there isn't any. So perhaps, this can be an experiment in existentialism: will a fairly ad-hoc (though logically understandable) group of events, objects, etc. provide for a meaningful experience for a player?
Well, there is a more pragmatic concern. What is the ``winning'' condition for the player. I am at once tempted to either say there is no guarantee on winning, or to have no winning condition at all. But I would ultimately like to somehow weave some sense of story into all this mess. Even if I can manage to contrive very broadly some story, how is it that there is any guarantee it will be meetable? It is quite a test of will to fight towards a known goal, without knowing if that goal is even within reach.
Possible solutions to the winnable problem: I could somehow keep adding quests, rewards, etc. until it is meetable. Or, I could contrive small parts of it (e.g., being able to buy item X from a store, when item X is going to be the missing link) to allow for a beatable path.
Or, I could design the game so that with testing I can determine there is only a very small probability the game will be unwinnable, and warn the player in advance when it is not possible. It might even be possible to determine some metric for how difficult it will be to win (but only once the game is generated)