In early April eleven of my local writer friends and I held a weekend writer’s retreat at a dome house in the Sierra Nevada foothills.
One of my goals for the retreat was to practice developing ideas into story ideas, and then into stories. And I had a technique in mind that I wanted to practice: clustering.
I’d used clustering dozens of times for my non-fiction writing (and also for general problem-solving), so I knew it was a great technique for tapping the creative, associative workings of your mind. But I hadn’t yet used clustering to develop story ideas for fiction, and this was a great opportunity.
So that’s how I would develop ideas into story ideas. Where would I find the raw, undeveloped ideas to cluster about? From my brand new copy of The Writer’s Book of Matches, a small book filled with hundreds of intriguing writing prompts.
So I had plan:
Pick a random prompt from The Writer’s Book of Matches.
Cluster around the core idea of the prompt until a story idea hit me.
Write down the story idea.
Write the story.
Then I went to work.
My first prompt was:
“He’s probably just as disappointed in me as I am in him.”
The core of this idea is mutual disappointment. But who are the people involved, and what are they disappointed about? This is a great job for clustering. I grabbed my pen and an 8″x5″ index card and drew this cluster (rendered here using MindJet’s MindManager software):
Cluster for “Dinner at Gourlay’s” (click for full size)
As I dumped associations onto the card, I quickly found a story idea (in the branches I’ve bolded on the map):
A father has long expressed disappointment in his son’s sexual promiscuity. Then the son catches the father having an affair.
This story idea had some real juice for me, especially if I wrote it from the son’s point of view. I didn’t want to cluster any more, I wanted to write. I dashed off a 1,000-word first draft of a story called “Dinner at Gourlay’s”.
The next prompt that I pulled out of The Writer’s Book of Matches was:
“It’s supposed to be a game, but he treats it like life and death.”
The key words seemed to be life, death, and game, so I put those words in the center of an index card and created this cluster:
Cluster for “Double or Nothing” (click for full size)
This time the story didn’t jump out at me instantly. It took a whole five minutes to find an idea that interested me. The “bet too much” bubble caught my attention because it connected game with death. Digging yourself too deeply into debt with your bookie (so the stereotype goes) can put you at serious bodily risk. So imagine a guy deeply in debt and being threatened by his bookie. What might the guy do? Maybe he’d kill the bookie, or try to. Then I thought of a twist: What if the guy bets a second bookie that he can kill the one to whom he’s in debt? After a few more twists, I had enough of an idea to start writing:
Norm is deeply in debt to his bookie Paulo. He tries to hire Emile, a competing bookie, to kill Paulo. But Emile doesn’t like the idea. Instead, he offers a deal: If Norm can kill the Paulo in a week, Emile will pay off the debt. If Norm can’t kill Paulo in a week, Emile will still pay off the debt, but then Norm will owe Emile twice the amount he owed Paulo. Double or nothing.
That prompt led to this story idea? Cool!
I wrote the first scene, which I quite like. But at the moment I don’t know where the story goes next. I like the idea that the Emile tips off Paulo that Norm is coming to kill him, but so far I can’t figure out Emile’s motivation to do that. But it would be fun, so I’ll keep looking.
A code coverage tool watches your program executing and reports which lines of code were executed and which were not. Testers are sometimes tempted to use code coverage tools to assess test coverage. And some testers are tempted to set code coverage goals. If you feel these temptations, be careful how you interpret the code coverage tool’s reports.
You can be sure that if a line of code was not executed during a test run, then it certainly was not tested by that run.
But what of a line of code that was executed by the tests? Unfortunately, you can’t tell, just from the fact that it was executed, whether the line was tested.
Elisabeth Hendrickson and I developed a workshop on unit testing. The work of the workshop centered on a small application we had written, a rudimentary HTTP server. Our initial code had exactly thirteen tests, just enough to illustrate a few basic tools and techniques that we’d be teaching in the workshop.
When we ran a test coverage tool called NCover to watch our test suite, it reported that our thirteen tests executed 65 percent of the server’s code. Does that mean that we achieved 65 percent test coverage? Not on your life. Our thirteen tests barely scratched the surface of the responsibilities of even our very simple HTTP server.
If our tests tested so little, why was code coverage so high? Because though we our suite tested little of the code, it executed a lot of the code.
For example, one of our tests sent a GET request to the server and evaluated the response. As the server executed the request, it called a logging function to log information about the request and its response to a file. The logging function was minimal, and did not deal with any of the zillions of possible file system errors it might encounter. It expected the happy path, and nothing but the happy path. So this one test, which did not in any way assess the logging feature, executed all of the logging code. The logging code was 100 percent executed and zero percent tested.
Code coverage does not imply test coverage. If you use code coverage tools to help assess your test coverage, keep that in mind.
For the past 25 years I’ve read very little short fiction. Lately I’ve been writing some short fiction myself, and have become interested in learning what makes excellent short stories excellent. I began picking up the odd copy of F&SF and other speculative fiction magazines to study as well as to enjoy. This promotion seemed right up my alley.
I ordered my copy on Thursday, received it on Saturday, and read the final story tonight.
Here are the stories and my reactions (no spoilers here).
"Reader’s Guide" by Lisa Goldstein. I was surprisingly touched by this lovely story about one of the more mysterious aspects of the art of writing fiction. I can’t say anything about the plot without giving away the beauty of the story, but the story is written in the form of a reader’s guide.
"Fullbrim’s Finding" by Matthew Hughes. A "discriminator" goes in search of a client’s lost husband, who has himself gone in search of the meaning of life. (From this story alone, I get the sense that a discriminator is something like a galactic private investigator. F&SF’s intro to the story suggests that the main character has appeared in other short stories and novels, and I suspect that "discriminator" is clarified in those).
"The Roberts" by Michael Blumlein. Technology helps a man solve the problem of finding a "perfect" mate. But what if the imperfections are not in the mate?
"Enfant Terrible" by Scot Dalrymple. A story of a man doing a job that is both necessary for the protection of society, and dirty enough that it’s best kept quiet. Dalrymple tells this story second-person point of view–i.e. the main character is "you".
"Poison Victory" by Albert E. Chowdrey. In late 1949, a German chemist struggles to atone for his role in bring Germany to victory in WWII.
"The Dinosaur Train" by James L. Cambias. A setback in a family business–a sort of circus with live dinosaurs–brings three generations of unresolved conflicts to the moment of truth.
My strongest reactions were to the two more experimental stories. I liked "Enfant Terrible" least, specifically because of the second-person point of view. Second-person always makes me fear that the perspective was chosen more for the author’s amusement than for its ability to illuminate the story. In this case I stumbled over the POV, and it didn’t offer any compensations that I could see. I liked the story, but I liked it less for the POV.
The story I liked most was "Reader’s Guide." I enjoyed my initial puzzle of "how the heck do you tell a story in the form of a reader’s guide?" As it turns out, there’s something about the experimental form that seems necessary to the story. The story itself arises partly from the form, and without that form would not be as effective. That’s an experiment that works.
When I pick up an issue of a fiction magazine I expect to enjoy one or two of the stories. I enjoyed all six of these stories.
Two types of scenes. Most of the scenes I write fall into one of two types: Action scenes in which the point-of-view (POV) character acts toward a goal and encounters conflict, and reaction scenes in which the POV character reels from a setback and decides what to do next.
Each type of scene has a typical structure. For an action scene, the structure is:
Goal: The POV character has an immediate goal (called the scene goal), and acts toward the goal.
Conflict: The character hits an obstacle, usually in the form of an opponent, another character whose goals conflict with the POV character’s. For the bulk of the scene, the POV character and the opponent struggle with each other, each to attain their goal.
Disaster: The POV character either succeeds or fails to achieve the goal. Most action scenes end not only in failure, but in disaster: The character is worse off at the end of the scene than at the beginning.
The structure for a reaction scene:
Reaction: The POV character reels from the preceding disaster. This may include an emotional reaction, an rational reaction, or both. Usually the emotional reaction comes first.
Dilemma: The character calms down enough (perhaps just barely enough) to explore options for what to do next. All of the options are bad.
Decision: The character chooses the least bad option and commits to it. This becomes the scene goal for the next action scene.
Beats. The middle of each kind of scene proceeds in beats. A beat is a tiny cycle of flow and ebb, of forward and back, of progress and setback.
The conflict in an action scene proceeds in conflict beats. You can think of a conflict beat as starting with either the POV character’s action or with the opponent’s (or environment’s) action. Here’s the POV-character-first version, which I think of as an Action-Result beat:
Action: The POV character takes action toward the goal.
Result: The opponent acts against the POV character.
And the environment- or opponent-first version, which I think of as a Stimulus-Response beat:
Stimulus: Something happens to which the POV character must respond.
Response: The character acts in response to the stimulus.
Each kind of conflict beat gives a different perspective on the events of the scene. With Action-Result beats, the POV character appears to drive the sequence of events. With Stimulus-Response beats, the opponent or environment seem to be driving. Neither perspective tells the whole story: The POV character and the opponent co-create the sequence of events. I find it helpful to explore a sequence of beats from each perspective.
In a reaction scene, the dilemma proceeds in dilemma beats:
Forward: The character thinks of another possible action toward the goal.
Back: The character realizes the disadvantages of that action.
A caveat. These scene and beat structures are templates. If you apply the templates too rigidly, your story will read as if, uh… as if you wrote it by rigidly applying templates. I reach for templates like these only when I don’t know what to write next. They’re a great way to jiggle my brain. If the words are flowing without the templates, I don’t think about these structures.
Further reading. I learned these most of these ideas from Dwight Swain and two other writers who have expanded on Swain’s work: