dariusk / NaNoGenMo-2015

National Novel Generation Month, 2015 edition.
340 stars 21 forks source link

Goal-driven use of scenes and sequels for capers #155

Open enkiv2 opened 8 years ago

enkiv2 commented 8 years ago

Isaac's mention in #11 of Jim Butcher's 'scenes and sequels' model of story-writing got me thinking about a more straightforward and limited model for simulation-based plotting, basically borrowing elements from TaleSpin but also from markov chains. Since I might not actually code this, I'm going to try to clearly and completely document my ideas about it here.

Butcher suggests that scenes have, essentially, a two-bit result matrix. A scene is a situation in which the protagonist attempts to achieve a very specific goal, and at the end of the scene, the goal can either be achieved or not, and some other (often negative) attribute can be gained or not. He suggests that the tone of a story in terms of how uninteresting or cynical it seems falls mostly to the probability of these two bits: if goals are achieved too often the story seems trivial while if the goals are typically failures without complication the protagonist seems incompetent (Superman vs Worf); having added complications generates a 'hook' for later scenes as well as allowing for both successes and failures to seem more interesting, even though ultimately very little information has been added. So, I model a scene as an object containing a low-level/atomic goal, a bit indicating whether or not that goal was achieved, a bit indicating whether or not there was a complication, and the complication if it exists.

Butcher suggests that sequels, which occur between scenes, consist of an emotional reaction to the result of the scene plus a logical reanalysis of strategy. He suggests that the ratio of how much text is spent on the emotional reaction versus the logical reanalysis is important in terms of how warm versus cold the story seems to readers, and that the ratio of how much text is spent on sequels versus scenes largely determines whether the story is seen as slow and cerebral or fast-paced and action-packed. Ultimately, though, the actual information content of the sequel is fairly low: its elements are a re-statement of the result of the scene in emotional terms, and an explanation of the goal of the next scene.

So, I suggest the following model of a caper story.

We have a 'world model' or 'game model' resembling a markov model. It's a state machine, where each state has a value in terms of a variety of potential goals, and each state has multiple possible states it can lead to, each with attached base probabilities. Each state also has multiple possible complications which have attached probabilities.

We furthermore have a 'story model' which consists of tunable weights. For instance, the story model will contain a weight on the success probability: a superman-style story might have a weight of 90% so that only state changes with a base rate of less than 10% will have less than a 50% chance of succeeding, while a Pink Panther story might have a weight of 10% so that everything the protagonist tries to do is a failure. Likewise, the story model contains a tunable probability of complications. (A superman-style story would have a low complication rate, while a Pink Panther story would have a high one.) We then have at least two more tunable options: an average/target length for the emotional reaction portion of the sequel and an average/target length for the logical reanalysis portion. Tune up the former and get a romance novel; tune up the latter and get Sherlock Holmes.

At the beginning of the run of the program, we have a large-scale end goal. (For example, "steal the jewels".) We go through a series of scenes by choosing actions based on the success probabilities in the world model to our goal pool (which would be the large-scale goal averaged with a weighted array of complications), in a probablistic manner: we create new composite probabilities for our protagonist choosing different courses of action based on the probability of each for achieving each of our weighted goals in the goal pool, including iterating further ahead in the world graph. (As an optimization, we can actually precompute for each node the true base probabilities of all outcomes).

Once we have chosen our route, we produce a scene with that route as our immediate goal (say, "buy a disguise as a museum security guard"), the result (say, success), and the complication (say, "my gun can't fit in this uniform without bulging"). We then produce the sequel passage: the emotional reaction ("I'm so glad that this uniform was so easy to find!") and the logical reanalysis ("I should probably buy a smaller weapon so that I can hide it better"). We continue with the next iteration (goal: "buy a smaller weapon", route: "go to the gun store", result: "failure, gun store closed", complication: "mugger stole my wallet in front of gun store"), and iterate until either our large-scale end goal is achieved or there is no path with a base rate over some threshhold to achieve any of the goals in our goal pool.

enkiv2 commented 8 years ago

OK, I got it working well enough (with hard-coded settings and a hard-coded world structure) to generate a novel.

Here's the source: SceneSequel Here's the completed novel: Seven Bad Heists

ikarth commented 8 years ago

That's some speedy execution there. I have to confess, when you first started describing it, it sounded like a lot of work to pull together. I'm impressed.

I really like how it turned out. It's really repetitive at novel length, but that's not a weakness of the structure so much as each section glosses over the details of carrying out the actions. Feels like there's scope to build on it.

ikarth commented 8 years ago

Also, it reminds me of a Donald E. Westlake caper. Needs more small time cons and drivers, though.

enkiv2 commented 8 years ago

I'm thinking of several possible improvements.

One: for each goal, have a set of dependencies (with attached probabilities -- i.e., if you pose as a museum employee but you didn't purchase a smaller gun your success rate for posing as a museum employee is skewed downward by the 0.5% likelihood that nobody notices your giant gun; or, if your wallet is stolen at the gun store then you can't buy anything until you get your wallet back).

Two: for each goal and each complication, have some sort of human-readable descriptive 'texture'.

Three: integrate a little multi-level templating system into the printmsg calls, so that the structure and vocabulary can exhibit random variation.

I'm also thinking that, in order to produce more various stories from the "steal the jewels" caper-world, I should add another path to getting the jewels -- say, purchasing a black leather catsuit and a grappling hook and trying to steal them during the night.

I was able to pull it together quickly only because I really did the bare minimum subset of work necessary to prove the concept. I literally did a tiny dependency-free minimax without pruning and then made the choice of goals probablistic and turned the debugging messages into first-person narration. (It looks more like a story because 'steal the jewels' isn't a familiar game. But, I could have done the same thing with tic-tac-toe and written a story about a guy trying to get three in a row.)

On Fri, Nov 13, 2015 at 12:03 AM Isaac Karth notifications@github.com wrote:

Also, it reminds me of a Donald E. Westlake caper. Needs more small time cons and drivers, though.

— Reply to this email directly or view it on GitHub https://github.com/dariusk/NaNoGenMo-2015/issues/155#issuecomment-156322270 .

enkiv2 commented 8 years ago

So, I added improvement number two for goals and subgoals (texture will be chosen for a goal-subgoal pair or for a goal if the subgoal's texture doesn't exist, for a general description plus an extra piece of prose for success or failure, and this overrides default success/failure notification). I also added a route wherein the protagonist buys a black leather catsuit and/or a grappling hook and tries to sneak into the museum at night.

This is the story of that time I decided to try and steal them jewels.

So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... So, I thought, what if I tried to steal them jewels by trying to purchase a grappling hook... So, I thought, what if I tried to steal them jewels by trying to sneak into the museum at night... So, I thought, what if I tried to steal them jewels by trying to go to the hospital... I'll try to remember that.

So, I figured, if I tried to steal them jewels by trying to sneak into the museum at night I'd have maybe a 40% chance of succeding. I'll try to remember that.

If I'm trying to purchase a grappling hook, what if in order to steal them jewels, I tried to sneak into the museum at night. That has about a 3 in 10 chance of working. So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... So, I thought, what if I tried to steal them jewels by trying to purchase a grappling hook... So, I thought, what if I tried to steal them jewels by trying to sneak into the museum at night... I already figured that if I tried to steal them jewels by trying to sneak into the museum at night I'd only have about a 4 in 10 chance of succeeding. If I'm trying to purchase a grappling hook, what if in order to steal them jewels, I tried to sneak into the museum at night. That has about a 3 in 10 chance of working. So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... So, I thought, what if I tried to steal them jewels by trying to purchase a grappling hook... So, I thought, what if I tried to steal them jewels by trying to sneak into the museum at night... I already figured that if I tried to steal them jewels by trying to sneak into the museum at night I'd only have about a 4 in 10 chance of succeeding. If I'm trying to purchase a grappling hook, what if in order to steal them jewels, I tried to sneak into the museum at night. That has about a 3 in 10 chance of working. So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... Geez, this is complicated. I can't think more than 5 moves ahead!

So, I figured, if I tried to steal them jewels by trying to purchase a grappling hook I'd have maybe a 18% chance of succeding. I'll try to remember that.

If I'm trying to go to the ninja supply store, what if in order to steal them jewels, I tried to purchase a grappling hook. That has about a 1 in 10 chance of working. So, I thought, what if I tried to steal them jewels by trying to purchase a black leather catsuit... So, I thought, what if I tried to steal them jewels by trying to sneak into the museum at night... I already figured that if I tried to steal them jewels by trying to sneak into the museum at night I'd only have about a 4 in 10 chance of succeeding. If I'm trying to purchase a black leather catsuit, what if in order to steal them jewels, I tried to sneak into the museum at night. That has about a 3 in 10 chance of working. So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... Geez, this is complicated. I can't think more than 5 moves ahead!

So, I figured, if I tried to steal them jewels by trying to purchase a black leather catsuit I'd have maybe a 16% chance of succeding. I'll try to remember that.

On the other hand, if I try to purchase a black leather catsuit it'll give me a 1 in 10 chance of succeeding. I'll try to remember that.

So, I figured, if I tried to steal them jewels by trying to purchase a grappling hook I'd have maybe a 20% chance of succeding. If I'm trying to go to the ninja supply store, what if in order to steal them jewels, I tried to purchase a grappling hook. That has about a 1 in 10 chance of working. So, I thought, what if I tried to steal them jewels by trying to purchase a black leather catsuit... I already figured that if I tried to steal them jewels by trying to purchase a black leather catsuit I'd only have about a 1 in 10 chance of succeeding. On the other hand, if I try to purchase a black leather catsuit it'll give me a 1 in 10 chance of succeeding. So, I figured, if I tried to steal them jewels by trying to purchase a grappling hook I'd have maybe a 21% chance of succeding. If I'm trying to go to the ninja supply store, what if in order to steal them jewels, I tried to purchase a grappling hook. That has about a 1 in 10 chance of working. So, I thought, what if I tried to steal them jewels by trying to purchase a black leather catsuit... I already figured that if I tried to steal them jewels by trying to purchase a black leather catsuit I'd only have about a 1 in 10 chance of succeeding. On the other hand, if I try to purchase a black leather catsuit it'll give me a 1 in 10 chance of succeeding. So, I thought, what if I tried to steal them jewels by trying to get a museum uniform... So, I thought, what if I tried to steal them jewels by trying to pass as a museum employee... So, I thought, what if I tried to steal them jewels by trying to go to the hospital... So, I figured, if I tried to steal them jewels by trying to pass as a museum employee I'd have maybe a 35% chance of succeding. I'll try to remember that.

If I'm trying to get a museum uniform, what if in order to steal them jewels, I tried to pass as a museum employee. That has about a 1 in 10 chance of working. I'll try to remember that.

The costume shop was tucked into a strip mall down town, between a laundromat and a chinese take-out place. It smelled like soap. I also have to steal them jewels. After looking through the racks several times, I finally decided to ask the cashier -- a wrinkled but plump old woman with a puff of curly white hair -- if she carried museum employee uniforms. She shook her head, and I left, dejected. Now I have to get a smaller gun. I still need to steal them jewels.

So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... So, I thought, what if I tried to get a smaller gun by trying to purchase a grappling hook... So, I thought, what if I tried to get a smaller gun by trying to sneak into the museum at night... So, I thought, what if I tried to get a smaller gun by trying to go to the hospital... So, I thought, what if I tried to get a smaller gun by trying to steal them jewels... I'll try to remember that.

So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... So, I thought, what if I tried to get a smaller gun by trying to purchase a grappling hook... So, I thought, what if I tried to get a smaller gun by trying to sneak into the museum at night... So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... So, I thought, what if I tried to get a smaller gun by trying to purchase a grappling hook... So, I thought, what if I tried to get a smaller gun by trying to sneak into the museum at night... So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... Geez, this is complicated. I can't think more than 5 moves ahead!

So, I thought, what if I tried to get a smaller gun by trying to purchase a black leather catsuit... So, I thought, what if I tried to get a smaller gun by trying to sneak into the museum at night... So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... Geez, this is complicated. I can't think more than 5 moves ahead!

So, I thought, what if I tried to get a smaller gun by trying to purchase a black leather catsuit... So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... So, I thought, what if I tried to get a smaller gun by trying to get a museum uniform... So, I thought, what if I tried to get a smaller gun by trying to pass as a museum employee... So, I thought, what if I tried to get a smaller gun by trying to go to the hospital... So, I thought, what if I tried to get a smaller gun by trying to steal them jewels... So, I thought, what if I tried to steal them jewels by trying to get a museum uniform... The ninja supply shop was in the middle of the second floor of the mall, between a Hot Topic and a Zappo's. It was dimly lit, and the scuffed floors had a fake tatami-pattern print. There was a wad of gum stuck to the doorway. I also have to get a smaller gun. I also have to steal them jewels.

I totally succeeded in my attempt to go to the ninja supply store by trying to go about it the obvious way. Yay!

So, I thought, what if I tried to get a smaller gun by trying to purchase a grappling hook... So, I thought, what if I tried to steal them jewels by trying to purchase a grappling hook... I already figured that if I tried to steal them jewels by trying to purchase a grappling hook I'd only have about a 2 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to purchase a black leather catsuit... So, I thought, what if I tried to steal them jewels by trying to purchase a black leather catsuit... I already figured that if I tried to steal them jewels by trying to purchase a black leather catsuit I'd only have about a 1 in 10 chance of succeeding. I also have to get a smaller gun. I also have to steal them jewels. All the black leather cat suits they had in stock were way too big for me.

So, I thought, what if I tried to get a smaller gun by trying to purchase a grappling hook... So, I thought, what if I tried to steal them jewels by trying to purchase a grappling hook... I already figured that if I tried to steal them jewels by trying to purchase a grappling hook I'd only have about a 2 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to purchase a black leather catsuit... So, I thought, what if I tried to steal them jewels by trying to purchase a black leather catsuit... I already figured that if I tried to steal them jewels by trying to purchase a black leather catsuit I'd only have about a 1 in 10 chance of succeeding. I also have to get a smaller gun. I also have to steal them jewels. I spent twenty minutes looking through the discount bin, before finding an absolutely perfect grappling hook for thirty cents. When I went up to pay for it, the cashier waved me off -- no charge.

So, I thought, what if I tried to get a smaller gun by trying to sneak into the museum at night... So, I thought, what if I tried to steal them jewels by trying to sneak into the museum at night... I already figured that if I tried to steal them jewels by trying to sneak into the museum at night I'd only have about a 4 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... I also have to get a smaller gun. I also have to steal them jewels.

I failed to sneak into the museum at night while trying to purchase a grappling hook. Bummer.

So, I thought, what if I tried to get a smaller gun by trying to sneak into the museum at night... So, I thought, what if I tried to steal them jewels by trying to sneak into the museum at night... I already figured that if I tried to steal them jewels by trying to sneak into the museum at night I'd only have about a 4 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... I also have to get a smaller gun. I also have to steal them jewels.

I failed to sneak into the museum at night while trying to purchase a grappling hook. Bummer.

So, I thought, what if I tried to get a smaller gun by trying to purchase a grappling hook... So, I thought, what if I tried to steal them jewels by trying to purchase a grappling hook... I already figured that if I tried to steal them jewels by trying to purchase a grappling hook I'd only have about a 2 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to purchase a black leather catsuit... So, I thought, what if I tried to steal them jewels by trying to purchase a black leather catsuit... I already figured that if I tried to steal them jewels by trying to purchase a black leather catsuit I'd only have about a 1 in 10 chance of succeeding. I also have to get a smaller gun. I also have to steal them jewels. All the black leather cat suits they had in stock were way too big for me.

So, I thought, what if I tried to get a smaller gun by trying to purchase a grappling hook... So, I thought, what if I tried to steal them jewels by trying to purchase a grappling hook... I already figured that if I tried to steal them jewels by trying to purchase a grappling hook I'd only have about a 2 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to purchase a black leather catsuit... So, I thought, what if I tried to steal them jewels by trying to purchase a black leather catsuit... I already figured that if I tried to steal them jewels by trying to purchase a black leather catsuit I'd only have about a 1 in 10 chance of succeeding. I also have to get a smaller gun. I also have to steal them jewels. "Are there any grappling hooks in stock?" The cashier, impassive behind his mask, shook his head slowly in response to my question. Then, after a moment of staring at me, he threw a smoke bomb at his feet. I found myself outside the shop, which was now locked.

So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... So, I thought, what if I tried to get a smaller gun by trying to get a museum uniform... So, I thought, what if I tried to steal them jewels by trying to get a museum uniform... The ninja supply shop was in the middle of the second floor of the mall, between a Hot Topic and a Zappo's. It was dimly lit, and the scuffed floors had a fake tatami-pattern print. There was a wad of gum stuck to the doorway. I also have to get a smaller gun. I also have to steal them jewels.

I totally succeeded in my attempt to go to the ninja supply store by trying to go about it the obvious way. Yay! So, I thought, what if I tried to get a smaller gun by trying to purchase a grappling hook... So, I thought, what if I tried to steal them jewels by trying to purchase a grappling hook... I already figured that if I tried to steal them jewels by trying to purchase a grappling hook I'd only have about a 2 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to purchase a black leather catsuit... So, I thought, what if I tried to steal them jewels by trying to purchase a black leather catsuit... I already figured that if I tried to steal them jewels by trying to purchase a black leather catsuit I'd only have about a 1 in 10 chance of succeeding. I also have to get a smaller gun. I also have to steal them jewels. There was a grappling hook with two hundred feet of rope sitting right behind the counter, on display.

So, I thought, what if I tried to get a smaller gun by trying to sneak into the museum at night... So, I thought, what if I tried to steal them jewels by trying to sneak into the museum at night... I already figured that if I tried to steal them jewels by trying to sneak into the museum at night I'd only have about a 4 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... I also have to get a smaller gun. I also have to steal them jewels.

I failed to sneak into the museum at night while trying to purchase a grappling hook. Bummer.

So, I thought, what if I tried to get a smaller gun by trying to sneak into the museum at night... So, I thought, what if I tried to steal them jewels by trying to sneak into the museum at night... I already figured that if I tried to steal them jewels by trying to sneak into the museum at night I'd only have about a 4 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... The ninja supply shop was in the middle of the second floor of the mall, between a Hot Topic and a Zappo's. It was dimly lit, and the scuffed floors had a fake tatami-pattern print. There was a wad of gum stuck to the doorway. I also have to get a smaller gun. I also have to steal them jewels.

I totally succeeded in my attempt to go to the ninja supply store by trying to purchase a grappling hook. Yay!

So, I thought, what if I tried to get a smaller gun by trying to purchase a grappling hook... So, I thought, what if I tried to steal them jewels by trying to purchase a grappling hook... I already figured that if I tried to steal them jewels by trying to purchase a grappling hook I'd only have about a 2 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to purchase a black leather catsuit... So, I thought, what if I tried to steal them jewels by trying to purchase a black leather catsuit... I already figured that if I tried to steal them jewels by trying to purchase a black leather catsuit I'd only have about a 1 in 10 chance of succeeding. I also have to get a smaller gun. I also have to steal them jewels. A beautiful black leather catsuit greeted me from the rack to the left of the doorway.

So, I thought, what if I tried to get a smaller gun by trying to sneak into the museum at night... So, I thought, what if I tried to steal them jewels by trying to sneak into the museum at night... I already figured that if I tried to steal them jewels by trying to sneak into the museum at night I'd only have about a 4 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... I also have to get a smaller gun. I also have to steal them jewels.

I failed to sneak into the museum at night while trying to purchase a black leather catsuit. Bummer.

So, I thought, what if I tried to get a smaller gun by trying to sneak into the museum at night... So, I thought, what if I tried to steal them jewels by trying to sneak into the museum at night... I already figured that if I tried to steal them jewels by trying to sneak into the museum at night I'd only have about a 4 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... I also have to get a smaller gun. I also have to steal them jewels.

I failed to sneak into the museum at night while trying to purchase a black leather catsuit. Bummer.

So, I thought, what if I tried to get a smaller gun by trying to purchase a grappling hook... So, I thought, what if I tried to steal them jewels by trying to purchase a grappling hook... I already figured that if I tried to steal them jewels by trying to purchase a grappling hook I'd only have about a 2 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to purchase a black leather catsuit... So, I thought, what if I tried to steal them jewels by trying to purchase a black leather catsuit... I already figured that if I tried to steal them jewels by trying to purchase a black leather catsuit I'd only have about a 1 in 10 chance of succeeding. I also have to get a smaller gun. I also have to steal them jewels. "Are there any grappling hooks in stock?" The cashier, impassive behind his mask, shook his head slowly in response to my question. Then, after a moment of staring at me, he threw a smoke bomb at his feet. I found myself outside the shop, which was now locked.

So, I thought, what if I tried to get a smaller gun by trying to purchase a grappling hook... So, I thought, what if I tried to steal them jewels by trying to purchase a grappling hook... I already figured that if I tried to steal them jewels by trying to purchase a grappling hook I'd only have about a 2 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to purchase a black leather catsuit... So, I thought, what if I tried to steal them jewels by trying to purchase a black leather catsuit... I already figured that if I tried to steal them jewels by trying to purchase a black leather catsuit I'd only have about a 1 in 10 chance of succeeding. I also have to get a smaller gun. I also have to steal them jewels. There was a grappling hook with two hundred feet of rope sitting right behind the counter, on display.

So, I thought, what if I tried to get a smaller gun by trying to sneak into the museum at night... So, I thought, what if I tried to steal them jewels by trying to sneak into the museum at night... I already figured that if I tried to steal them jewels by trying to sneak into the museum at night I'd only have about a 4 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... The ninja supply shop was in the middle of the second floor of the mall, between a Hot Topic and a Zappo's. It was dimly lit, and the scuffed floors had a fake tatami-pattern print. There was a wad of gum stuck to the doorway. I also have to get a smaller gun. I also have to steal them jewels.

I totally succeeded in my attempt to go to the ninja supply store by trying to purchase a grappling hook. Yay!

So, I thought, what if I tried to get a smaller gun by trying to purchase a grappling hook... So, I thought, what if I tried to steal them jewels by trying to purchase a grappling hook... I already figured that if I tried to steal them jewels by trying to purchase a grappling hook I'd only have about a 2 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to purchase a black leather catsuit... So, I thought, what if I tried to steal them jewels by trying to purchase a black leather catsuit... I already figured that if I tried to steal them jewels by trying to purchase a black leather catsuit I'd only have about a 1 in 10 chance of succeeding. I also have to get a smaller gun. I also have to steal them jewels. A beautiful black leather catsuit greeted me from the rack to the left of the doorway.

So, I thought, what if I tried to get a smaller gun by trying to sneak into the museum at night... So, I thought, what if I tried to steal them jewels by trying to sneak into the museum at night... I already figured that if I tried to steal them jewels by trying to sneak into the museum at night I'd only have about a 4 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... I also have to get a smaller gun. I also have to steal them jewels.

I failed to sneak into the museum at night while trying to purchase a black leather catsuit. Bummer.

So, I thought, what if I tried to get a smaller gun by trying to sneak into the museum at night... So, I thought, what if I tried to steal them jewels by trying to sneak into the museum at night... I already figured that if I tried to steal them jewels by trying to sneak into the museum at night I'd only have about a 4 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... I also have to get a smaller gun. I also have to steal them jewels.

I totally succeeded in my attempt to sneak into the museum at night by trying to purchase a black leather catsuit. Yay!

So, I thought, what if I tried to get a smaller gun by trying to go to the hospital... So, I thought, what if I tried to steal them jewels by trying to go to the hospital... So, I thought, what if I tried to get a smaller gun by trying to steal them jewels... So, I thought, what if I tried to steal them jewels by trying to steal them jewels... It turns out there's no way to steal them jewels by trying to go to the hospital after you already tried to sneak into the museum at night.

I also have to get a smaller gun.

I failed to steal them jewels while trying to sneak into the museum at night. Bummer. Now I have to heal my chest wound. I still need to get a smaller gun. I also still need to steal them jewels.

So, I thought, what if I tried to get a smaller gun by trying to go to the hospital... So, I thought, what if I tried to heal my chest wound by trying to go to the hospital... So, I figured, if I tried to heal my chest wound by trying to go to the hospital I'd have maybe a 17% chance of succeding. So, I thought, what if I tried to steal them jewels by trying to go to the hospital... So, I thought, what if I tried to get a smaller gun by trying to steal them jewels... So, I thought, what if I tried to heal my chest wound by trying to steal them jewels... So, I thought, what if I tried to steal them jewels by trying to steal them jewels... I also have to get a smaller gun. I also have to heal my chest wound.

I totally succeeded in my attempt to steal them jewels by trying to sneak into the museum at night. Yay! Now I no longer need to steal them jewels. Now I have to heal my arm wound. Now I have to heal my leg wound, too. I still need to get a smaller gun. I also still need to heal my chest wound.

THE END

On Fri, Nov 13, 2015 at 7:31 AM John Ohno john.ohno@gmail.com wrote:

I'm thinking of several possible improvements.

One: for each goal, have a set of dependencies (with attached probabilities -- i.e., if you pose as a museum employee but you didn't purchase a smaller gun your success rate for posing as a museum employee is skewed downward by the 0.5% likelihood that nobody notices your giant gun; or, if your wallet is stolen at the gun store then you can't buy anything until you get your wallet back).

Two: for each goal and each complication, have some sort of human-readable descriptive 'texture'.

Three: integrate a little multi-level templating system into the printmsg calls, so that the structure and vocabulary can exhibit random variation.

I'm also thinking that, in order to produce more various stories from the "steal the jewels" caper-world, I should add another path to getting the jewels -- say, purchasing a black leather catsuit and a grappling hook and trying to steal them during the night.

I was able to pull it together quickly only because I really did the bare minimum subset of work necessary to prove the concept. I literally did a tiny dependency-free minimax without pruning and then made the choice of goals probablistic and turned the debugging messages into first-person narration. (It looks more like a story because 'steal the jewels' isn't a familiar game. But, I could have done the same thing with tic-tac-toe and written a story about a guy trying to get three in a row.)

On Fri, Nov 13, 2015 at 12:03 AM Isaac Karth notifications@github.com wrote:

Also, it reminds me of a Donald E. Westlake caper. Needs more small time cons and drivers, though.

— Reply to this email directly or view it on GitHub https://github.com/dariusk/NaNoGenMo-2015/issues/155#issuecomment-156322270 .

enkiv2 commented 8 years ago

Implemented a limited version of improvement number one (dependencies). Now, the protagonist won't even consider trying to steal the jewels by going to the hospital (for instance). This is called 'goal_reqs': the planner ignores any path wherein the list of required goals doesn't have the appropriate intersection with the goal pool. I also implemented plain old "reqs", wherein an attempt can fail based on required items not existing (so, you can't pose as a museum employee without at one point having successfully purchased a museum employee uniform, and you need either a grappling hook or a black leather catsuit to sneak into the museum at night but you can do so after doing something else).

On Fri, Nov 13, 2015 at 3:34 PM John Ohno john.ohno@gmail.com wrote:

So, I added improvement number two for goals and subgoals (texture will be chosen for a goal-subgoal pair or for a goal if the subgoal's texture doesn't exist, for a general description plus an extra piece of prose for success or failure, and this overrides default success/failure notification). I also added a route wherein the protagonist buys a black leather catsuit and/or a grappling hook and tries to sneak into the museum at night.

This is the story of that time I decided to try and steal them jewels.

So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... So, I thought, what if I tried to steal them jewels by trying to purchase a grappling hook... So, I thought, what if I tried to steal them jewels by trying to sneak into the museum at night... So, I thought, what if I tried to steal them jewels by trying to go to the hospital... I'll try to remember that.

So, I figured, if I tried to steal them jewels by trying to sneak into the museum at night I'd have maybe a 40% chance of succeding. I'll try to remember that.

If I'm trying to purchase a grappling hook, what if in order to steal them jewels, I tried to sneak into the museum at night. That has about a 3 in 10 chance of working. So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... So, I thought, what if I tried to steal them jewels by trying to purchase a grappling hook... So, I thought, what if I tried to steal them jewels by trying to sneak into the museum at night... I already figured that if I tried to steal them jewels by trying to sneak into the museum at night I'd only have about a 4 in 10 chance of succeeding. If I'm trying to purchase a grappling hook, what if in order to steal them jewels, I tried to sneak into the museum at night. That has about a 3 in 10 chance of working. So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... So, I thought, what if I tried to steal them jewels by trying to purchase a grappling hook... So, I thought, what if I tried to steal them jewels by trying to sneak into the museum at night... I already figured that if I tried to steal them jewels by trying to sneak into the museum at night I'd only have about a 4 in 10 chance of succeeding. If I'm trying to purchase a grappling hook, what if in order to steal them jewels, I tried to sneak into the museum at night. That has about a 3 in 10 chance of working. So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... Geez, this is complicated. I can't think more than 5 moves ahead!

So, I figured, if I tried to steal them jewels by trying to purchase a grappling hook I'd have maybe a 18% chance of succeding. I'll try to remember that.

If I'm trying to go to the ninja supply store, what if in order to steal them jewels, I tried to purchase a grappling hook. That has about a 1 in 10 chance of working. So, I thought, what if I tried to steal them jewels by trying to purchase a black leather catsuit... So, I thought, what if I tried to steal them jewels by trying to sneak into the museum at night... I already figured that if I tried to steal them jewels by trying to sneak into the museum at night I'd only have about a 4 in 10 chance of succeeding. If I'm trying to purchase a black leather catsuit, what if in order to steal them jewels, I tried to sneak into the museum at night. That has about a 3 in 10 chance of working. So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... Geez, this is complicated. I can't think more than 5 moves ahead!

So, I figured, if I tried to steal them jewels by trying to purchase a black leather catsuit I'd have maybe a 16% chance of succeding. I'll try to remember that.

On the other hand, if I try to purchase a black leather catsuit it'll give me a 1 in 10 chance of succeeding. I'll try to remember that.

So, I figured, if I tried to steal them jewels by trying to purchase a grappling hook I'd have maybe a 20% chance of succeding. If I'm trying to go to the ninja supply store, what if in order to steal them jewels, I tried to purchase a grappling hook. That has about a 1 in 10 chance of working. So, I thought, what if I tried to steal them jewels by trying to purchase a black leather catsuit... I already figured that if I tried to steal them jewels by trying to purchase a black leather catsuit I'd only have about a 1 in 10 chance of succeeding. On the other hand, if I try to purchase a black leather catsuit it'll give me a 1 in 10 chance of succeeding. So, I figured, if I tried to steal them jewels by trying to purchase a grappling hook I'd have maybe a 21% chance of succeding. If I'm trying to go to the ninja supply store, what if in order to steal them jewels, I tried to purchase a grappling hook. That has about a 1 in 10 chance of working. So, I thought, what if I tried to steal them jewels by trying to purchase a black leather catsuit... I already figured that if I tried to steal them jewels by trying to purchase a black leather catsuit I'd only have about a 1 in 10 chance of succeeding. On the other hand, if I try to purchase a black leather catsuit it'll give me a 1 in 10 chance of succeeding. So, I thought, what if I tried to steal them jewels by trying to get a museum uniform... So, I thought, what if I tried to steal them jewels by trying to pass as a museum employee... So, I thought, what if I tried to steal them jewels by trying to go to the hospital... So, I figured, if I tried to steal them jewels by trying to pass as a museum employee I'd have maybe a 35% chance of succeding. I'll try to remember that.

If I'm trying to get a museum uniform, what if in order to steal them jewels, I tried to pass as a museum employee. That has about a 1 in 10 chance of working. I'll try to remember that.

The costume shop was tucked into a strip mall down town, between a laundromat and a chinese take-out place. It smelled like soap. I also have to steal them jewels. After looking through the racks several times, I finally decided to ask the cashier -- a wrinkled but plump old woman with a puff of curly white hair -- if she carried museum employee uniforms. She shook her head, and I left, dejected. Now I have to get a smaller gun. I still need to steal them jewels.

So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... So, I thought, what if I tried to get a smaller gun by trying to purchase a grappling hook... So, I thought, what if I tried to get a smaller gun by trying to sneak into the museum at night... So, I thought, what if I tried to get a smaller gun by trying to go to the hospital... So, I thought, what if I tried to get a smaller gun by trying to steal them jewels... I'll try to remember that.

So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... So, I thought, what if I tried to get a smaller gun by trying to purchase a grappling hook... So, I thought, what if I tried to get a smaller gun by trying to sneak into the museum at night... So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... So, I thought, what if I tried to get a smaller gun by trying to purchase a grappling hook... So, I thought, what if I tried to get a smaller gun by trying to sneak into the museum at night... So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... Geez, this is complicated. I can't think more than 5 moves ahead!

So, I thought, what if I tried to get a smaller gun by trying to purchase a black leather catsuit... So, I thought, what if I tried to get a smaller gun by trying to sneak into the museum at night... So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... Geez, this is complicated. I can't think more than 5 moves ahead!

So, I thought, what if I tried to get a smaller gun by trying to purchase a black leather catsuit... So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... So, I thought, what if I tried to get a smaller gun by trying to get a museum uniform... So, I thought, what if I tried to get a smaller gun by trying to pass as a museum employee... So, I thought, what if I tried to get a smaller gun by trying to go to the hospital... So, I thought, what if I tried to get a smaller gun by trying to steal them jewels... So, I thought, what if I tried to steal them jewels by trying to get a museum uniform... The ninja supply shop was in the middle of the second floor of the mall, between a Hot Topic and a Zappo's. It was dimly lit, and the scuffed floors had a fake tatami-pattern print. There was a wad of gum stuck to the doorway. I also have to get a smaller gun. I also have to steal them jewels.

I totally succeeded in my attempt to go to the ninja supply store by trying to go about it the obvious way. Yay!

So, I thought, what if I tried to get a smaller gun by trying to purchase a grappling hook... So, I thought, what if I tried to steal them jewels by trying to purchase a grappling hook... I already figured that if I tried to steal them jewels by trying to purchase a grappling hook I'd only have about a 2 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to purchase a black leather catsuit... So, I thought, what if I tried to steal them jewels by trying to purchase a black leather catsuit... I already figured that if I tried to steal them jewels by trying to purchase a black leather catsuit I'd only have about a 1 in 10 chance of succeeding. I also have to get a smaller gun. I also have to steal them jewels. All the black leather cat suits they had in stock were way too big for me.

So, I thought, what if I tried to get a smaller gun by trying to purchase a grappling hook... So, I thought, what if I tried to steal them jewels by trying to purchase a grappling hook... I already figured that if I tried to steal them jewels by trying to purchase a grappling hook I'd only have about a 2 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to purchase a black leather catsuit... So, I thought, what if I tried to steal them jewels by trying to purchase a black leather catsuit... I already figured that if I tried to steal them jewels by trying to purchase a black leather catsuit I'd only have about a 1 in 10 chance of succeeding. I also have to get a smaller gun. I also have to steal them jewels. I spent twenty minutes looking through the discount bin, before finding an absolutely perfect grappling hook for thirty cents. When I went up to pay for it, the cashier waved me off -- no charge.

So, I thought, what if I tried to get a smaller gun by trying to sneak into the museum at night... So, I thought, what if I tried to steal them jewels by trying to sneak into the museum at night... I already figured that if I tried to steal them jewels by trying to sneak into the museum at night I'd only have about a 4 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... I also have to get a smaller gun. I also have to steal them jewels.

I failed to sneak into the museum at night while trying to purchase a grappling hook. Bummer.

So, I thought, what if I tried to get a smaller gun by trying to sneak into the museum at night... So, I thought, what if I tried to steal them jewels by trying to sneak into the museum at night... I already figured that if I tried to steal them jewels by trying to sneak into the museum at night I'd only have about a 4 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... I also have to get a smaller gun. I also have to steal them jewels.

I failed to sneak into the museum at night while trying to purchase a grappling hook. Bummer.

So, I thought, what if I tried to get a smaller gun by trying to purchase a grappling hook... So, I thought, what if I tried to steal them jewels by trying to purchase a grappling hook... I already figured that if I tried to steal them jewels by trying to purchase a grappling hook I'd only have about a 2 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to purchase a black leather catsuit... So, I thought, what if I tried to steal them jewels by trying to purchase a black leather catsuit... I already figured that if I tried to steal them jewels by trying to purchase a black leather catsuit I'd only have about a 1 in 10 chance of succeeding. I also have to get a smaller gun. I also have to steal them jewels. All the black leather cat suits they had in stock were way too big for me.

So, I thought, what if I tried to get a smaller gun by trying to purchase a grappling hook... So, I thought, what if I tried to steal them jewels by trying to purchase a grappling hook... I already figured that if I tried to steal them jewels by trying to purchase a grappling hook I'd only have about a 2 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to purchase a black leather catsuit... So, I thought, what if I tried to steal them jewels by trying to purchase a black leather catsuit... I already figured that if I tried to steal them jewels by trying to purchase a black leather catsuit I'd only have about a 1 in 10 chance of succeeding. I also have to get a smaller gun. I also have to steal them jewels. "Are there any grappling hooks in stock?" The cashier, impassive behind his mask, shook his head slowly in response to my question. Then, after a moment of staring at me, he threw a smoke bomb at his feet. I found myself outside the shop, which was now locked.

So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... So, I thought, what if I tried to get a smaller gun by trying to get a museum uniform... So, I thought, what if I tried to steal them jewels by trying to get a museum uniform... The ninja supply shop was in the middle of the second floor of the mall, between a Hot Topic and a Zappo's. It was dimly lit, and the scuffed floors had a fake tatami-pattern print. There was a wad of gum stuck to the doorway. I also have to get a smaller gun. I also have to steal them jewels.

I totally succeeded in my attempt to go to the ninja supply store by trying to go about it the obvious way. Yay! So, I thought, what if I tried to get a smaller gun by trying to purchase a grappling hook... So, I thought, what if I tried to steal them jewels by trying to purchase a grappling hook... I already figured that if I tried to steal them jewels by trying to purchase a grappling hook I'd only have about a 2 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to purchase a black leather catsuit... So, I thought, what if I tried to steal them jewels by trying to purchase a black leather catsuit... I already figured that if I tried to steal them jewels by trying to purchase a black leather catsuit I'd only have about a 1 in 10 chance of succeeding. I also have to get a smaller gun. I also have to steal them jewels. There was a grappling hook with two hundred feet of rope sitting right behind the counter, on display.

So, I thought, what if I tried to get a smaller gun by trying to sneak into the museum at night... So, I thought, what if I tried to steal them jewels by trying to sneak into the museum at night... I already figured that if I tried to steal them jewels by trying to sneak into the museum at night I'd only have about a 4 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... I also have to get a smaller gun. I also have to steal them jewels.

I failed to sneak into the museum at night while trying to purchase a grappling hook. Bummer.

So, I thought, what if I tried to get a smaller gun by trying to sneak into the museum at night... So, I thought, what if I tried to steal them jewels by trying to sneak into the museum at night... I already figured that if I tried to steal them jewels by trying to sneak into the museum at night I'd only have about a 4 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... The ninja supply shop was in the middle of the second floor of the mall, between a Hot Topic and a Zappo's. It was dimly lit, and the scuffed floors had a fake tatami-pattern print. There was a wad of gum stuck to the doorway. I also have to get a smaller gun. I also have to steal them jewels.

I totally succeeded in my attempt to go to the ninja supply store by trying to purchase a grappling hook. Yay!

So, I thought, what if I tried to get a smaller gun by trying to purchase a grappling hook... So, I thought, what if I tried to steal them jewels by trying to purchase a grappling hook... I already figured that if I tried to steal them jewels by trying to purchase a grappling hook I'd only have about a 2 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to purchase a black leather catsuit... So, I thought, what if I tried to steal them jewels by trying to purchase a black leather catsuit... I already figured that if I tried to steal them jewels by trying to purchase a black leather catsuit I'd only have about a 1 in 10 chance of succeeding. I also have to get a smaller gun. I also have to steal them jewels. A beautiful black leather catsuit greeted me from the rack to the left of the doorway.

So, I thought, what if I tried to get a smaller gun by trying to sneak into the museum at night... So, I thought, what if I tried to steal them jewels by trying to sneak into the museum at night... I already figured that if I tried to steal them jewels by trying to sneak into the museum at night I'd only have about a 4 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... I also have to get a smaller gun. I also have to steal them jewels.

I failed to sneak into the museum at night while trying to purchase a black leather catsuit. Bummer.

So, I thought, what if I tried to get a smaller gun by trying to sneak into the museum at night... So, I thought, what if I tried to steal them jewels by trying to sneak into the museum at night... I already figured that if I tried to steal them jewels by trying to sneak into the museum at night I'd only have about a 4 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... I also have to get a smaller gun. I also have to steal them jewels.

I failed to sneak into the museum at night while trying to purchase a black leather catsuit. Bummer.

So, I thought, what if I tried to get a smaller gun by trying to purchase a grappling hook... So, I thought, what if I tried to steal them jewels by trying to purchase a grappling hook... I already figured that if I tried to steal them jewels by trying to purchase a grappling hook I'd only have about a 2 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to purchase a black leather catsuit... So, I thought, what if I tried to steal them jewels by trying to purchase a black leather catsuit... I already figured that if I tried to steal them jewels by trying to purchase a black leather catsuit I'd only have about a 1 in 10 chance of succeeding. I also have to get a smaller gun. I also have to steal them jewels. "Are there any grappling hooks in stock?" The cashier, impassive behind his mask, shook his head slowly in response to my question. Then, after a moment of staring at me, he threw a smoke bomb at his feet. I found myself outside the shop, which was now locked.

So, I thought, what if I tried to get a smaller gun by trying to purchase a grappling hook... So, I thought, what if I tried to steal them jewels by trying to purchase a grappling hook... I already figured that if I tried to steal them jewels by trying to purchase a grappling hook I'd only have about a 2 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to purchase a black leather catsuit... So, I thought, what if I tried to steal them jewels by trying to purchase a black leather catsuit... I already figured that if I tried to steal them jewels by trying to purchase a black leather catsuit I'd only have about a 1 in 10 chance of succeeding. I also have to get a smaller gun. I also have to steal them jewels. There was a grappling hook with two hundred feet of rope sitting right behind the counter, on display.

So, I thought, what if I tried to get a smaller gun by trying to sneak into the museum at night... So, I thought, what if I tried to steal them jewels by trying to sneak into the museum at night... I already figured that if I tried to steal them jewels by trying to sneak into the museum at night I'd only have about a 4 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... The ninja supply shop was in the middle of the second floor of the mall, between a Hot Topic and a Zappo's. It was dimly lit, and the scuffed floors had a fake tatami-pattern print. There was a wad of gum stuck to the doorway. I also have to get a smaller gun. I also have to steal them jewels.

I totally succeeded in my attempt to go to the ninja supply store by trying to purchase a grappling hook. Yay!

So, I thought, what if I tried to get a smaller gun by trying to purchase a grappling hook... So, I thought, what if I tried to steal them jewels by trying to purchase a grappling hook... I already figured that if I tried to steal them jewels by trying to purchase a grappling hook I'd only have about a 2 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to purchase a black leather catsuit... So, I thought, what if I tried to steal them jewels by trying to purchase a black leather catsuit... I already figured that if I tried to steal them jewels by trying to purchase a black leather catsuit I'd only have about a 1 in 10 chance of succeeding. I also have to get a smaller gun. I also have to steal them jewels. A beautiful black leather catsuit greeted me from the rack to the left of the doorway.

So, I thought, what if I tried to get a smaller gun by trying to sneak into the museum at night... So, I thought, what if I tried to steal them jewels by trying to sneak into the museum at night... I already figured that if I tried to steal them jewels by trying to sneak into the museum at night I'd only have about a 4 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... I also have to get a smaller gun. I also have to steal them jewels.

I failed to sneak into the museum at night while trying to purchase a black leather catsuit. Bummer.

So, I thought, what if I tried to get a smaller gun by trying to sneak into the museum at night... So, I thought, what if I tried to steal them jewels by trying to sneak into the museum at night... I already figured that if I tried to steal them jewels by trying to sneak into the museum at night I'd only have about a 4 in 10 chance of succeeding. So, I thought, what if I tried to get a smaller gun by trying to go to the ninja supply store... So, I thought, what if I tried to steal them jewels by trying to go to the ninja supply store... I also have to get a smaller gun. I also have to steal them jewels.

I totally succeeded in my attempt to sneak into the museum at night by trying to purchase a black leather catsuit. Yay!

So, I thought, what if I tried to get a smaller gun by trying to go to the hospital... So, I thought, what if I tried to steal them jewels by trying to go to the hospital... So, I thought, what if I tried to get a smaller gun by trying to steal them jewels... So, I thought, what if I tried to steal them jewels by trying to steal them jewels... It turns out there's no way to steal them jewels by trying to go to the hospital after you already tried to sneak into the museum at night.

I also have to get a smaller gun.

I failed to steal them jewels while trying to sneak into the museum at night. Bummer. Now I have to heal my chest wound. I still need to get a smaller gun. I also still need to steal them jewels.

So, I thought, what if I tried to get a smaller gun by trying to go to the hospital... So, I thought, what if I tried to heal my chest wound by trying to go to the hospital... So, I figured, if I tried to heal my chest wound by trying to go to the hospital I'd have maybe a 17% chance of succeding. So, I thought, what if I tried to steal them jewels by trying to go to the hospital... So, I thought, what if I tried to get a smaller gun by trying to steal them jewels... So, I thought, what if I tried to heal my chest wound by trying to steal them jewels... So, I thought, what if I tried to steal them jewels by trying to steal them jewels... I also have to get a smaller gun. I also have to heal my chest wound.

I totally succeeded in my attempt to steal them jewels by trying to sneak into the museum at night. Yay! Now I no longer need to steal them jewels. Now I have to heal my arm wound. Now I have to heal my leg wound, too. I still need to get a smaller gun. I also still need to heal my chest wound.

THE END

On Fri, Nov 13, 2015 at 7:31 AM John Ohno john.ohno@gmail.com wrote:

I'm thinking of several possible improvements.

One: for each goal, have a set of dependencies (with attached probabilities -- i.e., if you pose as a museum employee but you didn't purchase a smaller gun your success rate for posing as a museum employee is skewed downward by the 0.5% likelihood that nobody notices your giant gun; or, if your wallet is stolen at the gun store then you can't buy anything until you get your wallet back).

Two: for each goal and each complication, have some sort of human-readable descriptive 'texture'.

Three: integrate a little multi-level templating system into the printmsg calls, so that the structure and vocabulary can exhibit random variation.

I'm also thinking that, in order to produce more various stories from the "steal the jewels" caper-world, I should add another path to getting the jewels -- say, purchasing a black leather catsuit and a grappling hook and trying to steal them during the night.

I was able to pull it together quickly only because I really did the bare minimum subset of work necessary to prove the concept. I literally did a tiny dependency-free minimax without pruning and then made the choice of goals probablistic and turned the debugging messages into first-person narration. (It looks more like a story because 'steal the jewels' isn't a familiar game. But, I could have done the same thing with tic-tac-toe and written a story about a guy trying to get three in a row.)

On Fri, Nov 13, 2015 at 12:03 AM Isaac Karth notifications@github.com wrote:

Also, it reminds me of a Donald E. Westlake caper. Needs more small time cons and drivers, though.

— Reply to this email directly or view it on GitHub https://github.com/dariusk/NaNoGenMo-2015/issues/155#issuecomment-156322270 .

greg-kennedy commented 8 years ago

I failed to pass as a museum employee while trying to get a museum uniform. Bummer. Now I have to heal my leg wound

Subtle. However, maybe when the global state changes, you could put in a line? Something like:

I failed to pass as a museum employee while trying to get a museum uniform. Bummer. Thanks to that, I have: a leg wound. Now I have to heal my leg wound

I totally succeeded in my attempt to get a museum uniform by trying to go about it the obvious way. Yay! Thanks to that, I have: a museum uniform. I still need to steal them jewels.

EDIT: also if this is really just displaying the minimax thought process, it would make more sense printing the tree in reverse order. For example, if the chain is "current state -> get uniform -> act as employee -> steal jewels", it now says

So, I thought, what if I tried to steal them jewels by trying to get a museum uniform... So, I thought, what if I tried to steal them jewels by trying to pass as a museum employee... So, I thought, what if I tried to steal them jewels by trying to go to the hospital... I'll try to remember that.

It makes more sense the other way:

I thought of how to get the jewels (endpoint). In order to do that, what if I tried to steal them jewels (endpoint) by trying to pass as a museum employee (level 2)... In order to do that, what if I tried to pass as a museum employee (level2) by trying to get a museum uniform (level1)... In fact, I could get the museum uniform (level1) right now! (root) I'll try to remember that.

Or if you want to go top-down, it needs different wording at least.

So, I thought, next I could get a museum uniform. So, I thought, next I could pass as a museum employee. So, I thought, next I could steal the jewels. I'll try to remember that.

You could alternate between the two for interest.

enkiv2 commented 8 years ago

I could. I was actually thinking of adding description to 'complication' events -- i.e., whenever a situation results in a complication being added to the goal pool, additional text is written as output at evaluation-time. (For instance, in this case, something like "I was unexpectedly shot in the leg!") If it took advantage of the same structure and mechanics as other descriptions, I could have alternate (possibly humorous) varitions ("While entering the museum, I tripped and fell on a modern art sculpture and one of the sharp metal prongs gouged a deep wound into my thigh.")

On Thu, Nov 19, 2015 at 11:16 AM Greg Kennedy notifications@github.com wrote:

I failed to pass as a museum employee while trying to get a museum uniform. Bummer. Now I have to heal my leg wound

Subtle. However, maybe when the global state changes, you could put in a line? Something like:

I failed to pass as a museum employee while trying to get a museum uniform. Bummer. Thanks to that, I have: a leg wound. Now I have to heal my leg wound

I totally succeeded in my attempt to get a museum uniform by trying to go about it the obvious way. Yay! Thanks to that, I have: a museum uniform. I still need to steal them jewels.

— Reply to this email directly or view it on GitHub https://github.com/dariusk/NaNoGenMo-2015/issues/155#issuecomment-158104815 .

ikarth commented 8 years ago

Based on the story-compiler discussion, I wonder if a potential next step might be to feed the output of this generator into a scene generator. So this handles the high-level plot--the who, the what, the when, the where--and then you can switch to a separate approach for generating the how and the why.

Of course, that's really just an expansion (or a different way to think about) your complication descriptions.

enkiv2 commented 8 years ago

That was actually one of the early plans I had for it -- the idea was based on the story-compiler discussion and on the various TaleSpin-like plot generators. But, I think the existing description elements are just variable enough to be difficult to consistently match -- and you'd need to create a unique separate stage for every 'world'. Because the descriptions in the 'world' are relatively flexible, it seems like adding additional flexibility and expressive richness (say, by supporting embedded gg-style template expansion) to that format would be easier to do.

One road to expansion is to figure out some language for representing and editing the worlds. Writing them as python associative arrays is a PITA, and I originally wanted to do them in JSON or YAML which wouldn't be much better. Template expansion could be done at the time of world compilation. But, I'm not sure how I would want to structure that kind of information for the purposes of human-editing. It might actually just generally be a pain without the use of some GUI-based editor, just because each state and set of options and complications has so many possible attributes.

On Thu, Nov 19, 2015 at 11:40 AM Isaac Karth notifications@github.com wrote:

Based on the story-compiler discussion, I wonder if a potential next step might be to feed the output of this generator into a scene generator. So this handles the high-level plot--the who, the what, the when, the where--and then you can switch to a separate approach for generating the how and the why.

Of course, that's really just an expansion (or a different way to think about) your complication descriptions.

— Reply to this email directly or view it on GitHub https://github.com/dariusk/NaNoGenMo-2015/issues/155#issuecomment-158111132 .