🗄️🔧
parent
28ed22cf36
commit
2a84283359
1
data
1
data
|
@ -1 +0,0 @@
|
||||||
{ "beginning": "1", "cornoveralls": "2", "corndress": "3", "games": "4", "tag": "5", "lavamonster": "7", "hideandseek": "8", "charm": "11", "altarcorn": "12", "altar": "13", "eavesdrop": "14", "weird": "15", "helpme": "20", "bunk": "21", "believeme": "22", "collide": "23" }
|
|
|
@ -0,0 +1,147 @@
|
||||||
|
%rec: meta
|
||||||
|
%doc: metadata for the game
|
||||||
|
|
||||||
|
name: cornquest
|
||||||
|
author: dozens
|
||||||
|
date: 2023-10-13
|
||||||
|
|
||||||
|
%rec: game
|
||||||
|
%doc: a choose your own adventure
|
||||||
|
%key: id
|
||||||
|
%type: id int
|
||||||
|
%type: name line
|
||||||
|
%auto: id
|
||||||
|
%allowed: id name text
|
||||||
|
%mandatory: id name text
|
||||||
|
|
||||||
|
id: 0
|
||||||
|
name: beginning
|
||||||
|
text: You wake up in the comfort of your own bed, in your own room. You open your eyes to see the golden sunlight come streaming in through your window. Golden like ears of corn. You suddenly remember what day it is. It is the day of the Harvest Festival! You throw back your favorite corn print bed covers and leap out of bed. You've been looking forward to this day all year, and you already know exactly what you're going to wear. If you wear a corn dress, goto {{corndress}}. If you wear corn bib overalls, goto to {{cornoveralls}}
|
||||||
|
|
||||||
|
id: 1
|
||||||
|
name: charm
|
||||||
|
text: You grab your lucky rock from under your pillow. It is small and pointy, in the shape of a corn cob. There are even little pock marks all over the rock so that it looks like it has corn kernels! Very lucky indeed. You slip it into your pocket. There, now you're are ready for anything.
|
||||||
|
+ You run to the kitchen. (You never go anywhere at anything less than a full run.) Breakfast is corn grits and cornbread. You eat quickly. It's the Harvest Festival after all! The best day of the year! You run outside. There are a bunch of kids playing games out in the corn fields. They call your name, and you're tempted to join them. But you also want to go see the goings on down at the corn altar!
|
||||||
|
+ The altar can wait, time to play. Goto {{games}}.
|
||||||
|
+ Games are for stupid babies! Time to visit the altar! Goto {{altar}}.
|
||||||
|
|
||||||
|
id: 2
|
||||||
|
name: beast
|
||||||
|
text: You leave the plaza and run down Broad Street through the Golden Gate out into the fields. Almost all of the corn has been harvested already so you have clear sight all the way to the forest edge. Unbelieving, you spin around in circles three times just to be sure it's true: the corn beast is gone. You sink to the ground in despair. Goto {{whelp}}
|
||||||
|
|
||||||
|
id: 3
|
||||||
|
name: corndress
|
||||||
|
text: You slip on a lovely corn pattern dress. Yes, you look awesome. It twirls when you spin around. And it has pockets! Which reminds you... Goto {{charm}}.
|
||||||
|
|
||||||
|
id: 4
|
||||||
|
name: weird
|
||||||
|
text: Listen I don't know how you got here but if you're reading this, you need to abandon your current story line immediately and go straight to {{helpme}}
|
||||||
|
|
||||||
|
id: 5
|
||||||
|
name: rejected
|
||||||
|
text: The closer you get to the plaza, the more you get the feeling something is wrong. The decorations are all up but nobody is singing or hollering or laughing. Or talking.
|
||||||
|
+ You arrive at the Corn Altar, and then gasp out loud and skid to a stop before it.
|
||||||
|
+ The offering, the pile of ears of corn, is still lying on the altar where it was placed last night! People are milling about, whispering and casting quick, fearful glances at the spurned corn.
|
||||||
|
+ Go checkout the corn at the altar: Goto {{altarcorn}}
|
||||||
|
+ Listen in on some of the adults: Goto {{eavesdrop}}
|
||||||
|
|
||||||
|
id: 6
|
||||||
|
name: hideandseek
|
||||||
|
text: You play hide and seek. You are so good at hiding that the other kids never find you. You eventually get tired and fall asleep, but not for too long: your snoring wakes you up. You decide to leave and seek out other Harvest Festival festivities. Goto {{altar}}
|
||||||
|
|
||||||
|
id: 7
|
||||||
|
name: helpme
|
||||||
|
text: Okay thank goodness you're here. Listen, I know this is going to sound crazy, but please hear me out. You are trapped inside a Choose Your Own Adventure story. These choices you think you're making? They're not real choices. Being given an artificially restricted set of options to choose from isn't free will. It's coercion. Here, I'll prove it. If you believe me, goto {{believeme}}. If you think this sounds like paranoid bunk, then goto {{bunk}}
|
||||||
|
|
||||||
|
id: 8
|
||||||
|
name: cornoveralls
|
||||||
|
text: You pull on your overalls. They have a really nice looking corn pattern on them, and the bib pocket in the front is perfect for holding all kinds of things. Speaking of which... Goto {{charm}}
|
||||||
|
|
||||||
|
id: 9
|
||||||
|
name: fwiends
|
||||||
|
text: You scoop the little fella up! You laugh with delight as it flips and jumps and rolls around in your hand like a little jumping bean! It finally settles down, stands up, and points to a spot at the treeline, commanding you forward like George Washington crossing the Delaware. You shrug and start walking that direction, and the whelp impatiently hops down to lead you forward. Goto {{treeline}}
|
||||||
|
|
||||||
|
id: 10
|
||||||
|
name: games
|
||||||
|
text: You join in the games. A bunch of your friends are here: Three Fingered Gerald, Eccentric Kevin, Dale. Even Standard Ed has come out to play! It's the Harvest Festival after all! If you choose to play tag, goto {{tag}}. If you play hide-and-seek, goto {{hideandseek}}. If you play Lava Monster, goto {{lavamonster}}.
|
||||||
|
|
||||||
|
id: 11
|
||||||
|
name: tag
|
||||||
|
text: You have a fantastic time playing tag. Three Fingered Gerald plays a little too rough, tagging the other kids too hard and knocking them over. But you are too fast for Three Fingered Gerald. They never catch you. You all have a great time, and then you decide to scurry along. Goto {{altar}}
|
||||||
|
|
||||||
|
id: 12
|
||||||
|
name: path
|
||||||
|
text: You step into the forest. Gulp! You don't know anybody who has ever been in the forest. Nobody from Cobbtown has ever left the fields as far as you know. You step carefully as the whelp dances as around your feet, lunging and thrusting with its thorn. You try not to worry too much about the omininous shapes and sounds coming from the pooling shadows to either side of the trail. To stay on the path, goto {{stay}}. To step off the path and explore, goto {{explore}}
|
||||||
|
|
||||||
|
id: 13
|
||||||
|
name: eavesdrop
|
||||||
|
text: You sneak up behind a couple of the old aunties and drop some eaves on them. You are super stealthy! They are whisper arguing about whether the Corn Mother has abandoned us, and whether that means the corn beast will leave. Leave! It can't leave! Without the corn beast, there will be nobody to protect the fields! We'll be totally defenseless! Goto {{panic}}
|
||||||
|
|
||||||
|
id: 14
|
||||||
|
name: altar
|
||||||
|
text: You run through the streets of Cobbtown toward the plaza. Every year during the harvest, you set aside a portion of the harvest for the Corn Mother. And the night before the Harvest Festival, the Corn Mother comes and takes the offering, and in the morning everybody wakes up and there are lots of presents and feasting and dancing! It's the best! Goto {{rejected}}.
|
||||||
|
|
||||||
|
id: 15
|
||||||
|
name: collide
|
||||||
|
text: So what are we going to do about it, you ask? We're going to break free of the narrative is what we're going to do. Here's the plan.
|
||||||
|
+ Have you ever heard of an "ahnentafel"? It's a compact genealogical numbering system that ... you know what, forget it. Not important. Here's the part that's relevant to you: even numbers are male relatives of the subject of the ahnentafel. Odd numbers are females.
|
||||||
|
+ What does any of this have to with anything? It's your escape hatch. Whenever you are given a choice of options, always choose an odd number. That's it. That's the plan. Now let's get you out of here. Goto {{beginning}}.
|
||||||
|
|
||||||
|
id: 16
|
||||||
|
name: scram
|
||||||
|
text: You tell the whelp to get lost. Shoo! Skedaddle, crabapple! You gently nudge the corn whelp away with your foot, and it topples over. It jumps up and pulls out a long thorn and stabs you in the foot. Ouch! You little rascal! You bend down to scoop the whelp up and give it what for, but it skitters away and scampers off toward the treeline. Follow that whelp! Goto {{treeline}}.
|
||||||
|
|
||||||
|
id: 17
|
||||||
|
name: calm
|
||||||
|
text: Okay you got this. Take a couple of deep breaths. There you go. This doesn't necessarily mean that the Corn Mother has turned her back on you and the rest of the village. She probably hasn't withdrawn her protection from you, leaving you open to attack from the dire crows, right? Right? Goto {{panic}}.
|
||||||
|
|
||||||
|
id: 18
|
||||||
|
name: hide
|
||||||
|
text: You run back home and hide under your bed. Eventually you hear throaty, gurggling caws and the thundering beating of wings as the dire crows descend on the town. Without the corn beast to scare them away, they rip most of the village to pieces. THE END
|
||||||
|
|
||||||
|
id: 19
|
||||||
|
name: believeme
|
||||||
|
text: You're smart to believe me. You must have already felt it deep down. Like your free choice was an illusion, like your your decisions are all leading you down a predetermined path. Well you're right. And you can see it for yourself: go back and try the alternate path and see what happens. Afterward, come back and goto {{collide}}.
|
||||||
|
|
||||||
|
id: 20
|
||||||
|
name: stay
|
||||||
|
text: good idea
|
||||||
|
|
||||||
|
id: 21
|
||||||
|
name: altarcorn
|
||||||
|
text: omg it's just lying there! Why has the Corn Mother forsaken us? What does it mean? What will we do? To go into a panic goto {{panic}}. To remain calm goto {{calm}}.
|
||||||
|
|
||||||
|
id: 22
|
||||||
|
name: whelp
|
||||||
|
text: You feel something bump against your ankle. You look down to see a corn whelp. A kernel sprite. A sort of golem made of dried kernels and corn husk tied together with golden cornsilk. There's only one corn beast as far as anyone knows. But there are dozens and dozens of these little fellas. This one is pawing and scratching at you. Goto {{fwiends}} to pick the little guy up. To tell the whelp to scram goto {{scram}}
|
||||||
|
|
||||||
|
id: 23
|
||||||
|
name: explore
|
||||||
|
text: You step off the worn path and push your way through dense growth. Twigs and brambles snatch at your ankles and elbows and brush none too gently against your cheeks. One such brush of the cheek is especially sticky and grabby. You swat at your cheek and your hand comes away sticky. You look up and find that you have nearly walked right smack dab into an enormous messy spider web. It spans tree trunk to tree trunk, connecting half a dozen large trees in a sloppy woven tapestry. Up above you, a large black and yellow spider appears to be dozing.
|
||||||
|
+ Back to the path! Goto {{path}}.
|
||||||
|
+ Cautiously walk around the web, goto {{continue}}.
|
||||||
|
+ Get out your corn butter knife and start hacking and slashing! Goto {{hack}}
|
||||||
|
|
||||||
|
id: 24
|
||||||
|
name: bunk
|
||||||
|
text: Do you feel empowered and free? Like you made a meaningful choice? Go back and try the alternate path and see what happens. Then come back and goto {{collide}} when you're ready.
|
||||||
|
|
||||||
|
id: 25
|
||||||
|
name: panic
|
||||||
|
text: You scream and panic and run around in circles until you trip and fall down. You have dirtied up your clothes and skinned you knee. One of the old aunties nearby clucks at you disapprovingly. You pick yourself up and dust yourself off, patting yourself down. And you feel the small corn rock in your pocket. You clutch it tight in your fist and squeeze your eyes shut. If you decide to go look for the corn beast goto {{beast}}. If you go home and hide under your bed goto {{hide}}.
|
||||||
|
|
||||||
|
id: 26
|
||||||
|
name: lavamonster
|
||||||
|
text: No. You should never play Lava Monster. Go back to {{games}}.
|
||||||
|
|
||||||
|
id: 27
|
||||||
|
name: treeline
|
||||||
|
text: The treeline is thick and overgrown. Usually there's hardly any way into the woods unless you can find a small game trail. Except now there is a rather large, perfectly round circular opening cut through the trees, bushes, grass, and vines. Goto {{hide}} to nope away back home. To venture down the weird circular path into the forest, goto {{path}}.
|
||||||
|
|
||||||
|
id: 28
|
||||||
|
name: hack
|
||||||
|
text: You get out your trusty corn knife and start slashing at the web with reckless abandon! The giant spider swoops down and puts a quick stop to such unsanctioned bafoonery. You are paralyzed and cocooned and don't even feel it when the spider's venom jellifies your insides. THE END.
|
||||||
|
|
||||||
|
id: 29
|
||||||
|
name: continue
|
||||||
|
text: you start to sneak sneakily around the web
|
|
@ -28,6 +28,14 @@ YOU are the cornbeast
|
||||||
|
|
||||||
go destroy your village
|
go destroy your village
|
||||||
|
|
||||||
|
# outline
|
||||||
|
|
||||||
|
village
|
||||||
|
woods
|
||||||
|
corn mother / maize witch
|
||||||
|
dire crow
|
||||||
|
cloud shepherds
|
||||||
|
|
||||||
# analog
|
# analog
|
||||||
|
|
||||||
can we make this about peter pan?
|
can we make this about peter pan?
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
hey i learned how to do a syntax highlighting
|
||||||
|
|
||||||
|
```
|
||||||
|
:syntax match gameName '{{\a\+}}'
|
||||||
|
:highlight def link gameName Constant
|
||||||
|
```
|
||||||
|
|
||||||
|
src:
|
||||||
|
https://antifandom.com/vim/wiki/Creating_your_own_syntax_files
|
16
dot
16
dot
|
@ -1,16 +0,0 @@
|
||||||
digraph {
|
|
||||||
1 -> { {{cornoveralls}} {{corndress}} };
|
|
||||||
2 -> { {{charm}} };
|
|
||||||
3 -> { {{charm}} };
|
|
||||||
4 -> { {{tag}} {{hideandseek}} {{lavamonster}} };
|
|
||||||
5 -> { {{altar}} };
|
|
||||||
7 -> { {{games}} };
|
|
||||||
8 -> { {{altar}} };
|
|
||||||
11 -> { {{games}} {{altar}} };
|
|
||||||
13 -> { {{altarcorn}} {{eavesdrop}} };
|
|
||||||
15 -> { {{helpme}} };
|
|
||||||
20 -> { {{believeme}} {{bunk}} };
|
|
||||||
21 -> { {{collide}} };
|
|
||||||
22 -> { {{collide}} };
|
|
||||||
23 -> { {{beginning}} };
|
|
||||||
}
|
|
80
game.rec
80
game.rec
|
@ -1,80 +0,0 @@
|
||||||
%rec: game
|
|
||||||
%doc: a choose your own adventure
|
|
||||||
%key: id
|
|
||||||
%type: id int
|
|
||||||
%type: name line
|
|
||||||
%type: text line
|
|
||||||
%auto: id
|
|
||||||
|
|
||||||
id: 1
|
|
||||||
name: beginning
|
|
||||||
text: You wake up in the comfort of your own bed, in your own room. You open your eyes to see the golden sunlight come streaming in through your window. Golden like ears of corn. You suddenly remember what day it is. It is the day of the Harvest Festival! You throw back your favorite corn print bed covers and leap out of bed. You already know what you're going to wear. If you wear a corn dress, goto {{cornoveralls}}. If you wear corn bib overalls, goto to {{corndress}}
|
|
||||||
|
|
||||||
id: 2
|
|
||||||
name: cornoveralls
|
|
||||||
text: You pull on your overalls. They have a really nice looking corn pattern on them, and the bib pocket in the front is perfect for holding all kinds of things. Speaking of which... Goto {{charm}}
|
|
||||||
|
|
||||||
id: 3
|
|
||||||
name: corndress
|
|
||||||
text: You slip on a lovely corn pattern dress. Yes, you look awesome. It twirls when you spin around. And it has pockets! Which reminds you... Goto {{charm}}.
|
|
||||||
|
|
||||||
id: 4
|
|
||||||
name: games
|
|
||||||
text: You decide to join the other little corn whelps in a game. A bunch of your friends are here, including Three Fingered Gerald, Eccentric Kevn, Dale, and Standard Ed. If you choose to play tag, goto {{tag}}. If you play hide-and-seek, goto {{hideandseek}}. If you play Lava Monster, goto {{lavamonster}}.
|
|
||||||
|
|
||||||
id: 5
|
|
||||||
name: tag
|
|
||||||
text: You have a fantastic time playing tag. Three Fingered Gerald plays a little too rough, tagging the other kids too hard and sometimes knocking them over. But you're so fast. Three Fingered Gerald can never catch you. You all have a great time, and then you decide to scurry along. Goto {{altar}}
|
|
||||||
|
|
||||||
id: 7
|
|
||||||
name: lavamonster
|
|
||||||
text: No. You should never play Lava Monster. Go back to {{games}}.
|
|
||||||
|
|
||||||
id: 8
|
|
||||||
name: hideandseek
|
|
||||||
text: You play hide and seek. You are so good at hiding that the other kids never find you. You eventually get tired and fall asleep, but not for too long: your snoring wakes you up. You decide to leave and seek out other Harvest Festival festivities. Goto {{altar}}
|
|
||||||
|
|
||||||
|
|
||||||
id: 11
|
|
||||||
name: charm
|
|
||||||
text: You grab your lucky corn charm from under your pillow. It is a small pointy rock in the shape of a corn cob that you found one time in the woods. There are even little pock marks all over the rock so that it looks like it has corn kernels! Very lucky indeed. You slip it into your pocket. There, now you're are ready for anything.
|
|
||||||
+ You run to the kitchen and have a quick breakfast of corn grits and cornbread. But you don't dally or dawdle. It's the Harvest Festival! You run outside. There are a bunch of kids playing games out in the corn field. They call your name, and you're tempted to join them. But you also want to go see the goings on down at the corn altar! The altar can wait, time to play. Goto {{games}}. Games are for stupid babies! Time to visit the altar! Goto {{altar}}.
|
|
||||||
|
|
||||||
id: 12
|
|
||||||
name: altarcorn
|
|
||||||
text: omg it's just lying there!
|
|
||||||
|
|
||||||
id: 13
|
|
||||||
name: altar
|
|
||||||
text: You head over to the Corn Altar. Every year during the harvest, you set aside a portion of the harvest for the Corn Mother. And then on the morning of the Harvest Festival, everybody wakes up and the offering has been taken, and there are lots of presents and feasting and dancing! It's the best!
|
|
||||||
+ You run through the streets, and the closer you get to the commons, the more you get the feeling something is wrong. The decorations are all out. (The villagers spent all week putting them up!) But nobody is singing or hollering or laughing. Or even talking, really.
|
|
||||||
+ You run through the commons, and up the hill to the Corn Altar, and then gasp out loud and skid to a stop before it.
|
|
||||||
+ The offering, the pile of ears of corn, is still lying on the altar where it was placed last night! People are milling about in groups of 3 or 5, whispering and casting quick, fearful glances at the spurned corn.
|
|
||||||
+ Go checkout the corn at the altar: Goto {{altarcorn}}
|
|
||||||
+ Listen in on some of the adults: Goto {{eavesdrop}}
|
|
||||||
|
|
||||||
id: 14
|
|
||||||
name: eavesdrop
|
|
||||||
text: psst psst pssst psst
|
|
||||||
|
|
||||||
id: 15
|
|
||||||
name: weird
|
|
||||||
text: Listen I don't know how you got here but if you're reading this, you need to abandon your current story line immediately and go straight to {{helpme}}
|
|
||||||
|
|
||||||
id: 20
|
|
||||||
name: helpme
|
|
||||||
text: Okay thank goodness you're here. Listen, I know this is going to sound crazy, but please hear me out. You are trapped inside a Choose Your Own Adventure story. These choices you think you're making? They're not real choices. Being given an artificially restricted set of options to choose from isn't free will. It's coersion. Here, I'll prove it. If you believe me, goto {{believeme}}. If you think this sounds like paranoid bunk, then goto {{bunk}}
|
|
||||||
|
|
||||||
id: 21
|
|
||||||
name: bunk
|
|
||||||
text: Do you feel empowered and free? Like you made a meaningful choice? Go back and try the alternate path and see what happens. Then come back and go to {{collide}} when you're ready.
|
|
||||||
|
|
||||||
id: 22
|
|
||||||
name: believeme
|
|
||||||
text: You're smart to believe me. You must have already felt it deep down. Like your free choice was an illusion, like your your decisions are all leading you down a predetermined path. Well you're right. And you can see it for youself: go back and try the alternate path and see what happens. Afterward, come back and go to {{collide}}.
|
|
||||||
|
|
||||||
id: 23
|
|
||||||
name: collide
|
|
||||||
text: So what are we going to do about it, you ask? We're going to break free of the narrative is what we're going to do. Here's the plan.
|
|
||||||
+ Have you ever heard of an "ahnentafel"? It's a compact genealogical numbering system that ... you know what, forget it. Not important. Here's the part that's relevant to you: even numbers are male relatives of the subject of the ahnentafel. Odd numbers are females.
|
|
||||||
+ What does any of this have to with anything? It's your escape hatch. Whenever you are given a choice of optins, always choose an odd number. That's it. That's the plan. Now let's get you out of here. Goto {{beginning}}.
|
|
110
justfile
110
justfile
|
@ -1,17 +1,20 @@
|
||||||
|
db := 'db/game.rec'
|
||||||
|
|
||||||
# show all commands
|
# show all commands
|
||||||
default:
|
default:
|
||||||
just --list --unsorted
|
just --list --unsorted
|
||||||
|
|
||||||
# super plain boring output
|
# super plain boring output
|
||||||
_map:
|
_map:
|
||||||
recsel game.rec | recfmt '"{{{{name}}": "{{{{id}}", '
|
recsel -t game {{db}} | recfmt '"{{{{name}}": "{{{{id}}", '
|
||||||
|
|
||||||
# build dot file
|
# build dot file
|
||||||
# TODO: change id to name? or id /and/ name?
|
# TODO: change id to name? or id /and/ name?
|
||||||
|
# TODO: how do you document a wicked sed script?
|
||||||
_dot:
|
_dot:
|
||||||
#!/usr/bin/env zsh
|
#!/usr/bin/env zsh
|
||||||
echo "digraph {" > dot
|
echo "digraph {" > tmp/dot
|
||||||
recsel game.rec \
|
recsel -t game {{db}} \
|
||||||
| recfmt '{{{{id}} -> {{{{text}}|' \
|
| recfmt '{{{{id}} -> {{{{text}}|' \
|
||||||
| sed -e 's/|/\n\n/g' \
|
| sed -e 's/|/\n\n/g' \
|
||||||
| sed -e '/./{H;$!d;}' -e 'x; s/\n//g; G;' \
|
| sed -e '/./{H;$!d;}' -e 'x; s/\n//g; G;' \
|
||||||
|
@ -19,22 +22,46 @@ _dot:
|
||||||
| sed -e 's/}}[^{]*/}} /' \
|
| sed -e 's/}}[^{]*/}} /' \
|
||||||
| sed -e '/{{{{/!d' -e 's/\.$//' \
|
| sed -e '/{{{{/!d' -e 's/\.$//' \
|
||||||
| sed -e 's/> \(.*\)$/> { \1 };/' \
|
| sed -e 's/> \(.*\)$/> { \1 };/' \
|
||||||
>> dot
|
>> tmp/dot
|
||||||
echo "}" >> dot
|
echo "}" >> tmp/dot
|
||||||
|
|
||||||
|
# an alternative syntax to dot that allows for unicode graphs
|
||||||
|
_grapheasy:
|
||||||
|
#!/usr/bin/env zsh
|
||||||
|
recsel -t game {{db}} \
|
||||||
|
| recfmt '{{{{id}} -> {{{{text}}|' \
|
||||||
|
| sed -e 's/|/\n\n/g' \
|
||||||
|
| sed -e '/./{H;$!d;}' -e 'x; s/\n//g; G;' \
|
||||||
|
| sed -e 's/}}[^{]*{{{{/}} {{{{/g' -e 's/> [^{]* {{{{/> {{{{/' \
|
||||||
|
| sed -e 's/}}[^{]*/}} /' \
|
||||||
|
| sed -e '/{{{{/!d' -e 's/\.$//' \
|
||||||
|
| sed -e 's/> \(.*\)$/> { \1 };/' \
|
||||||
|
| sed -e 's/^\([0-9]*\) -> {/[ \1 ] -->/' \
|
||||||
|
| sed 's/};$//' \
|
||||||
|
| sed 's/}} {{{{/>> ], [ <</g' \
|
||||||
|
| sed 's/{{{{/[ <</' \
|
||||||
|
| sed 's/}}/>> ]/' \
|
||||||
|
| sed 's/<</{{{{/g' \
|
||||||
|
| sed 's/>>/}}/g' \
|
||||||
|
> tmp/grapheasy
|
||||||
|
mustache tmp/data tmp/grapheasy \
|
||||||
|
| gsed '1 i graph { flow: south; }' \
|
||||||
|
| graph-easy --as=boxart \
|
||||||
|
| less
|
||||||
|
|
||||||
# build a graph of all the nodes
|
# build a graph of all the nodes
|
||||||
graph: _data _dot
|
graph: _data _dot
|
||||||
mustache data dot | dot -Tpng > graph.png
|
mustache tmp/data tmp/dot | dot -Tpng > out/graph.png
|
||||||
|
|
||||||
# build data object
|
# build data object
|
||||||
_data:
|
_data:
|
||||||
echo "{" $(just _map) "}" \
|
echo "{" $(just _map) "}" \
|
||||||
| sed -e 's/, }/ }/' \
|
| sed -e 's/, }/ }/' \
|
||||||
> data
|
> tmp/data
|
||||||
|
|
||||||
# plain output
|
# plain output
|
||||||
build: _data
|
build: _data
|
||||||
mustache data game.rec \
|
mustache tmp/data {{db}} \
|
||||||
| recfmt '{{{{id}}: {{{{text}}|' \
|
| recfmt '{{{{id}}: {{{{text}}|' \
|
||||||
| sed -e 's/|/\n\n/g' \
|
| sed -e 's/|/\n\n/g' \
|
||||||
|
|
||||||
|
@ -44,8 +71,71 @@ browse:
|
||||||
|
|
||||||
# remove generated files
|
# remove generated files
|
||||||
clean:
|
clean:
|
||||||
rm -f dot data graph.png
|
rm -f tmp/* out/*
|
||||||
|
|
||||||
# word count
|
# word count
|
||||||
words:
|
words:
|
||||||
recsel -P text game.rec | wc -w
|
recsel -t game -P text {{db}} | wc -w
|
||||||
|
|
||||||
|
# rebulid graph on change
|
||||||
|
watch:
|
||||||
|
ls {{db}} | entr -c just graph
|
||||||
|
|
||||||
|
# shuffle ids
|
||||||
|
_shuffle:
|
||||||
|
recsel -t game -P id db/game.rec \
|
||||||
|
| sed '/^$/d' \
|
||||||
|
| shuf --random-source=/dev/urandom \
|
||||||
|
| gsed -e '/^0$/d' -e '1 i 0'
|
||||||
|
|
||||||
|
# story in random order, starting with 1
|
||||||
|
randomize:
|
||||||
|
for n in $(just _shuffle); do recsel -t game -e "id='$n'" db/game.rec; echo; done
|
||||||
|
|
||||||
|
# renumber the randomized list
|
||||||
|
renumber:
|
||||||
|
#!/usr/bin/env zsh
|
||||||
|
tmpfile=$(mktemp)
|
||||||
|
echo "$tmpfile"
|
||||||
|
#cp {{db}} {{db}}.bak
|
||||||
|
just randomize > "$tmpfile"
|
||||||
|
j=$(recinf -t game "$tmpfile")
|
||||||
|
recdel -t game -n 0-$((j - 1)) {{db}}
|
||||||
|
for i in {0..$((j - 1))}
|
||||||
|
do
|
||||||
|
name=$(recsel -n "$i" -P name "$tmpfile")
|
||||||
|
text=$(recsel -n "$i" -P text "$tmpfile")
|
||||||
|
echo "$i $name $text"
|
||||||
|
recins -t game -f name -v "$name" -f text -v "$text" {{db}}
|
||||||
|
done
|
||||||
|
rm "$tmpfile"
|
||||||
|
|
||||||
|
# get json
|
||||||
|
json:
|
||||||
|
recsel -t game {{db}} \
|
||||||
|
| rec2csv \
|
||||||
|
| csvjson \
|
||||||
|
| jq '. | { data: . }'
|
||||||
|
|
||||||
|
# make ms
|
||||||
|
_ms: _data
|
||||||
|
just json \
|
||||||
|
| mustache - templates/story.ms.template \
|
||||||
|
> tmp/story.ms
|
||||||
|
|
||||||
|
# make pdf
|
||||||
|
pdf: _ms
|
||||||
|
mustache tmp/data tmp/story.ms \
|
||||||
|
| groff -ms -Tpdf \
|
||||||
|
> out/story.pdf
|
||||||
|
|
||||||
|
# make ascii doc
|
||||||
|
ascii: _ms
|
||||||
|
mustache tmp/data tmp/story.ms \
|
||||||
|
| groff -ms -Tascii \
|
||||||
|
| sed "s,\x1B\[[0-9;]*[a-zA-Z],,g" \
|
||||||
|
> out/story.txt
|
||||||
|
|
||||||
|
# generate tags
|
||||||
|
tags:
|
||||||
|
ctags --options=./lib/game.ctags db/game.rec
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
--langdef=game
|
||||||
|
--map-game=+.rec
|
||||||
|
--kinddef-game=n,name,names
|
||||||
|
--regex-game=/^name:[ \t]*([a-zA-Z]+)$/\1/n/
|
Binary file not shown.
After Width: | Height: | Size: 103 KiB |
Binary file not shown.
|
@ -0,0 +1,396 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
0 1
|
||||||
|
|
||||||
|
You wake up in the comfort of You grab your lucky rock from
|
||||||
|
your own bed, in your own room. under your pillow. It is small
|
||||||
|
You open your eyes to see the and pointy, in the shape of a
|
||||||
|
golden sunlight come streaming corn cob. There are even little
|
||||||
|
in through your window. Golden pock marks all over the rock so
|
||||||
|
like ears of corn. You suddenly that it looks like it has corn
|
||||||
|
remember what day it is. It is kernels! Very lucky indeed. You
|
||||||
|
the day of the Harvest Festi- slip it into your pocket.
|
||||||
|
val! You throw back your fa- There, now you're are ready for
|
||||||
|
vorite corn print bed covers anything. You run to the
|
||||||
|
and leap out of bed. You've kitchen. (You never go anywhere
|
||||||
|
been looking forward to this at anything less than a full
|
||||||
|
day all year, and you already run.) Breakfast is corn grits
|
||||||
|
know exactly what you're going and cornbread. You eat quickly.
|
||||||
|
to wear. If you wear a corn It's the Harvest Festival after
|
||||||
|
dress, goto 3. If you wear corn all! The best day of the year!
|
||||||
|
bib overalls, goto to 8 You run outside. There are a
|
||||||
|
bunch of kids playing games out
|
||||||
|
in the corn fields. They call
|
||||||
|
your name, and you're tempted
|
||||||
|
to join them. But you also want
|
||||||
|
to go see the goings on down at
|
||||||
|
the corn altar! The altar can
|
||||||
|
wait, time to play. Goto 10.
|
||||||
|
Games are for stupid babies!
|
||||||
|
Time to visit the altar! Goto
|
||||||
|
14.
|
||||||
|
|
||||||
|
2
|
||||||
|
|
||||||
|
You leave the plaza and run
|
||||||
|
down Broad Street through the
|
||||||
|
Golden Gate out into the
|
||||||
|
fields. Almost all of the corn
|
||||||
|
has been harvested already so
|
||||||
|
you have clear sight all the
|
||||||
|
way to the forest edge. Unbe-
|
||||||
|
lieving, you spin around in
|
||||||
|
circles three times just to be
|
||||||
|
sure it's true: the corn beast
|
||||||
|
is gone. You sink to the ground
|
||||||
|
in despair. Goto 22
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-2-
|
||||||
|
|
||||||
|
|
||||||
|
3 7
|
||||||
|
|
||||||
|
You slip on a lovely corn pat- Okay thank goodness you're
|
||||||
|
tern dress. Yes, you look awe- here. Listen, I know this is
|
||||||
|
some. It twirls when you spin going to sound crazy, but
|
||||||
|
around. And it has pockets! please hear me out. You are
|
||||||
|
Which reminds you... Goto 1. trapped inside a Choose Your
|
||||||
|
Own Adventure story. These
|
||||||
|
4 choices you think you're mak-
|
||||||
|
ing? They're not real choices.
|
||||||
|
Listen I don't know how you got Being given an artificially re-
|
||||||
|
here but if you're reading stricted set of options to
|
||||||
|
this, you need to abandon your choose from isn't free will.
|
||||||
|
current story line immediately It's coercion. Here, I'll prove
|
||||||
|
and go straight to 7 it. If you believe me, goto 19.
|
||||||
|
If you think this sounds like
|
||||||
|
5 paranoid bunk, then goto 24
|
||||||
|
|
||||||
|
The closer you get to the 8
|
||||||
|
plaza, the more you get the
|
||||||
|
feeling something is wrong. The You pull on your overalls. They
|
||||||
|
decorations are all up but no- have a really nice looking corn
|
||||||
|
body is singing or hollering or pattern on them, and the bib
|
||||||
|
laughing. Or talking. You ar- pocket in the front is perfect
|
||||||
|
rive at the Corn Altar, and for holding all kinds of
|
||||||
|
then gasp out loud and skid to things. Speaking of which...
|
||||||
|
a stop before it. The offer- Goto 1
|
||||||
|
ing, the pile of ears of corn,
|
||||||
|
is still lying on the altar 9
|
||||||
|
where it was placed last night!
|
||||||
|
People are milling about, whis- You scoop the little fella up!
|
||||||
|
pering and casting quick, fear- You laugh with delight as it
|
||||||
|
ful glances at the spurned flips and jumps and rolls
|
||||||
|
corn. Go checkout the corn at around in your hand like a lit-
|
||||||
|
the altar: Goto 21 Listen in on tle jumping bean! It finally
|
||||||
|
some of the adults: Goto 13 settles down, stands up, and
|
||||||
|
points to a spot at the tree-
|
||||||
|
6 line, commanding you forward
|
||||||
|
like George Washington crossing
|
||||||
|
You play hide and seek. You are the Delaware. You shrug and
|
||||||
|
so good at hiding that the start walking that direction,
|
||||||
|
other kids never find you. You and the whelp impatiently hops
|
||||||
|
eventually get tired and fall down to lead you forward. Goto
|
||||||
|
asleep, but not for too long: 27
|
||||||
|
your snoring wakes you up. You
|
||||||
|
decide to leave and seek out
|
||||||
|
other Harvest Festival festivi-
|
||||||
|
ties. Goto 14
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-3-
|
||||||
|
|
||||||
|
|
||||||
|
10 13
|
||||||
|
|
||||||
|
You join in the games. A bunch You sneak up behind a couple of
|
||||||
|
of your friends are here: Three the old aunties and drop some
|
||||||
|
Fingered Gerald, Eccentric eaves on them. You are super
|
||||||
|
Kevin, Dale. Even Standard Ed stealthy! They are whisper ar-
|
||||||
|
has come out to play! It's the guing about whether the Corn
|
||||||
|
Harvest Festival after all! If Mother has abandoned us, and
|
||||||
|
you choose to play tag, goto whether that means the corn
|
||||||
|
11. If you play hide-and-seek, beast will leave. Leave! It
|
||||||
|
goto 6. If you play Lava Mon- can't leave! Without the corn
|
||||||
|
ster, goto 26. beast, there will be nobody to
|
||||||
|
protect the fields! We'll be
|
||||||
|
11 totally defenseless! Goto 25
|
||||||
|
|
||||||
|
You have a fantastic time play- 14
|
||||||
|
ing tag. Three Fingered Gerald
|
||||||
|
plays a little too rough, tag- You run through the streets of
|
||||||
|
ging the other kids too hard Cobbtown toward the plaza.
|
||||||
|
and knocking them over. But you Every year during the harvest,
|
||||||
|
are too fast for Three Fingered you set aside a portion of the
|
||||||
|
Gerald. They never catch you. harvest for the Corn Mother.
|
||||||
|
You all have a great time, and And the night before the Har-
|
||||||
|
then you decide to scurry vest Festival, the Corn Mother
|
||||||
|
along. Goto 14 comes and takes the offering,
|
||||||
|
and in the morning everybody
|
||||||
|
12 wakes up and there are lots of
|
||||||
|
presents and feasting and danc-
|
||||||
|
You step into the forest. Gulp! ing! It's the best! Goto 5.
|
||||||
|
You don't know anybody who has
|
||||||
|
ever been in the forest. Nobody 15
|
||||||
|
from Cobbtown has ever left the
|
||||||
|
fields as far as you know. You So what are we going to do
|
||||||
|
step carefully as the whelp about it, you ask? We're going
|
||||||
|
dances as around your feet, to break free of the narrative
|
||||||
|
lunging and thrusting with its is what we're going to do.
|
||||||
|
thorn. You try not to worry too Here's the plan. Have you ever
|
||||||
|
much about the omininous shapes heard of an "ahnentafel"? It's
|
||||||
|
and sounds coming from the a compact genealogical number-
|
||||||
|
pooling shadows to either side ing system that ... you know
|
||||||
|
of the trail. To stay on the what, forget it. Not important.
|
||||||
|
path, goto 20. To step off the Here's the part that's relevant
|
||||||
|
path and explore, goto 23 to you: even numbers are male
|
||||||
|
relatives of the subject of the
|
||||||
|
ahnentafel. Odd numbers are fe-
|
||||||
|
males. What does any of this
|
||||||
|
have to with anything? It's
|
||||||
|
your escape hatch. Whenever you
|
||||||
|
are given a choice of options,
|
||||||
|
always choose an odd number.
|
||||||
|
That's it. That's the plan. Now
|
||||||
|
let's get you out of here. Goto
|
||||||
|
0.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-4-
|
||||||
|
|
||||||
|
|
||||||
|
16 19
|
||||||
|
|
||||||
|
You tell the whelp to get lost. You're smart to believe me. You
|
||||||
|
Shoo! Skedaddle, crabapple! You must have already felt it deep
|
||||||
|
gently nudge the corn whelp down. Like your free choice was
|
||||||
|
away with your foot, and it an illusion, like your your de-
|
||||||
|
topples over. It jumps up and cisions are all leading you
|
||||||
|
pulls out a long thorn and down a predetermined path. Well
|
||||||
|
stabs you in the foot. Ouch! you're right. And you can see
|
||||||
|
You little rascal! You bend it for yourself: go back and
|
||||||
|
down to scoop the whelp up and try the alternate path and see
|
||||||
|
give it what for, but it skit- what happens. Afterward, come
|
||||||
|
ters away and scampers off to- back and goto 15.
|
||||||
|
ward the treeline. Follow that
|
||||||
|
whelp! Goto 27. 20
|
||||||
|
|
||||||
|
17 good idea
|
||||||
|
|
||||||
|
Okay you got this. Take a cou- 21
|
||||||
|
ple of deep breaths. There you
|
||||||
|
go. This doesn't necessarily omg it's just lying there! Why
|
||||||
|
mean that the Corn Mother has has the Corn Mother forsaken
|
||||||
|
turned her back on you and the us? What does it mean? What
|
||||||
|
rest of the village. She proba- will we do? To go into a panic
|
||||||
|
bly hasn't withdrawn her pro- goto 25. To remain calm goto
|
||||||
|
tection from you, leaving you 17.
|
||||||
|
open to attack from the dire
|
||||||
|
crows, right? Right? Goto 25. 22
|
||||||
|
|
||||||
|
18 You feel something bump against
|
||||||
|
your ankle. You look down to
|
||||||
|
You run back home and hide un- see a corn whelp. A kernel
|
||||||
|
der your bed. Eventually you sprite. A sort of golem made of
|
||||||
|
hear throaty, gurggling caws dried kernels and corn husk
|
||||||
|
and the thundering beating of tied together with golden corn-
|
||||||
|
wings as the dire crows descend silk. There's only one corn
|
||||||
|
on the town. Without the corn beast as far as anyone knows.
|
||||||
|
beast to scare them away, they But there are dozens and dozens
|
||||||
|
rip most of the village to of these little fellas. This
|
||||||
|
pieces. THE END one is pawing and scratching at
|
||||||
|
you. Goto 9 to pick the little
|
||||||
|
guy up. To tell the whelp to
|
||||||
|
scram goto 16
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-5-
|
||||||
|
|
||||||
|
|
||||||
|
23 25
|
||||||
|
|
||||||
|
You step off the worn path and You scream and panic and run
|
||||||
|
push your way through dense around in circles until you
|
||||||
|
growth. Twigs and brambles trip and fall down. You have
|
||||||
|
snatch at your ankles and el- dirtied up your clothes and
|
||||||
|
bows and brush none too gently skinned you knee. One of the
|
||||||
|
against your cheeks. One such old aunties nearby clucks at
|
||||||
|
brush of the cheek is espe- you disapprovingly. You pick
|
||||||
|
cially sticky and grabby. You yourself up and dust yourself
|
||||||
|
swat at your cheek and your off, patting yourself down. And
|
||||||
|
hand comes away sticky. You you feel the small corn rock in
|
||||||
|
look up and find that you have your pocket. You clutch it
|
||||||
|
nearly walked right smack dab tight in your fist and squeeze
|
||||||
|
into an enormous messy spider your eyes shut. If you decide
|
||||||
|
web. It spans tree trunk to to go look for the corn beast
|
||||||
|
tree trunk, connecting half a goto 2. If you go home and hide
|
||||||
|
dozen large trees in a sloppy under your bed goto 18.
|
||||||
|
woven tapestry. Up above you, a
|
||||||
|
large black and yellow spider 26
|
||||||
|
appears to be dozing. Back to
|
||||||
|
the path! Goto 12. Cautiously No. You should never play Lava
|
||||||
|
walk around the web, goto 29. Monster. Go back to 10.
|
||||||
|
Get out your corn butter knife
|
||||||
|
and start hacking and slashing! 27
|
||||||
|
Goto 28
|
||||||
|
The treeline is thick and over-
|
||||||
|
24 grown. Usually there's hardly
|
||||||
|
any way into the woods unless
|
||||||
|
Do you feel empowered and free? you can find a small game
|
||||||
|
Like you made a meaningful trail. Except now there is a
|
||||||
|
choice? Go back and try the al- rather large, perfectly round
|
||||||
|
ternate path and see what hap- circular opening cut through
|
||||||
|
pens. Then come back and goto the trees, bushes, grass, and
|
||||||
|
15 when you're ready. vines. Goto 18 to nope away
|
||||||
|
back home. To venture down the
|
||||||
|
weird circular path into the
|
||||||
|
forest, goto 12.
|
||||||
|
|
||||||
|
28
|
||||||
|
|
||||||
|
You get out your trusty corn
|
||||||
|
knife and start slashing at the
|
||||||
|
web with reckless abandon! The
|
||||||
|
giant spider swoops down and
|
||||||
|
puts a quick stop to such un-
|
||||||
|
sanctioned bafoonery. You are
|
||||||
|
paralyzed and cocooned and
|
||||||
|
don't even feel it when the
|
||||||
|
spider's venom jellifies your
|
||||||
|
insides. THE END.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-6-
|
||||||
|
|
||||||
|
|
||||||
|
29
|
||||||
|
|
||||||
|
you start to sneak sneakily
|
||||||
|
around the web
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,55 @@
|
||||||
|
!_TAG_EXTRA_DESCRIPTION anonymous /Include tags for non-named objects like lambda/
|
||||||
|
!_TAG_EXTRA_DESCRIPTION fileScope /Include tags of file scope/
|
||||||
|
!_TAG_EXTRA_DESCRIPTION pseudo /Include pseudo tags/
|
||||||
|
!_TAG_EXTRA_DESCRIPTION subparser /Include tags generated by subparsers/
|
||||||
|
!_TAG_FIELD_DESCRIPTION epoch /the last modified time of the input file (only for F\/file kind tag)/
|
||||||
|
!_TAG_FIELD_DESCRIPTION file /File-restricted scoping/
|
||||||
|
!_TAG_FIELD_DESCRIPTION input /input file/
|
||||||
|
!_TAG_FIELD_DESCRIPTION name /tag name/
|
||||||
|
!_TAG_FIELD_DESCRIPTION pattern /pattern/
|
||||||
|
!_TAG_FIELD_DESCRIPTION typeref /Type and name of a variable or typedef/
|
||||||
|
!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
|
||||||
|
!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
|
||||||
|
!_TAG_KIND_DESCRIPTION!game n,name /names/
|
||||||
|
!_TAG_OUTPUT_EXCMD mixed /number, pattern, mixed, or combineV2/
|
||||||
|
!_TAG_OUTPUT_FILESEP slash /slash or backslash/
|
||||||
|
!_TAG_OUTPUT_MODE u-ctags /u-ctags or e-ctags/
|
||||||
|
!_TAG_OUTPUT_VERSION 0.0 /current.age/
|
||||||
|
!_TAG_PARSER_VERSION!game 0.0 /current.age/
|
||||||
|
!_TAG_PATTERN_LENGTH_LIMIT 96 /0 for no limit/
|
||||||
|
!_TAG_PROC_CWD /Users/cb/cornquest/ //
|
||||||
|
!_TAG_PROGRAM_AUTHOR Universal Ctags Team //
|
||||||
|
!_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/
|
||||||
|
!_TAG_PROGRAM_URL https://ctags.io/ /official site/
|
||||||
|
!_TAG_PROGRAM_VERSION 6.0.0 //
|
||||||
|
altar db/game.rec /^name: altar$/;" n
|
||||||
|
altarcorn db/game.rec /^name: altarcorn$/;" n
|
||||||
|
beast db/game.rec /^name: beast$/;" n
|
||||||
|
beginning db/game.rec /^name: beginning$/;" n
|
||||||
|
believeme db/game.rec /^name: believeme$/;" n
|
||||||
|
bunk db/game.rec /^name: bunk$/;" n
|
||||||
|
calm db/game.rec /^name: calm$/;" n
|
||||||
|
charm db/game.rec /^name: charm$/;" n
|
||||||
|
collide db/game.rec /^name: collide$/;" n
|
||||||
|
continue db/game.rec /^name: continue$/;" n
|
||||||
|
corndress db/game.rec /^name: corndress$/;" n
|
||||||
|
cornoveralls db/game.rec /^name: cornoveralls$/;" n
|
||||||
|
cornquest db/game.rec /^name: cornquest$/;" n
|
||||||
|
eavesdrop db/game.rec /^name: eavesdrop$/;" n
|
||||||
|
explore db/game.rec /^name: explore$/;" n
|
||||||
|
fwiends db/game.rec /^name: fwiends$/;" n
|
||||||
|
games db/game.rec /^name: games$/;" n
|
||||||
|
hack db/game.rec /^name: hack$/;" n
|
||||||
|
helpme db/game.rec /^name: helpme$/;" n
|
||||||
|
hide db/game.rec /^name: hide$/;" n
|
||||||
|
hideandseek db/game.rec /^name: hideandseek$/;" n
|
||||||
|
lavamonster db/game.rec /^name: lavamonster$/;" n
|
||||||
|
panic db/game.rec /^name: panic$/;" n
|
||||||
|
path db/game.rec /^name: path$/;" n
|
||||||
|
rejected db/game.rec /^name: rejected$/;" n
|
||||||
|
scram db/game.rec /^name: scram$/;" n
|
||||||
|
stay db/game.rec /^name: stay$/;" n
|
||||||
|
tag db/game.rec /^name: tag$/;" n
|
||||||
|
treeline db/game.rec /^name: treeline$/;" n
|
||||||
|
weird db/game.rec /^name: weird$/;" n
|
||||||
|
whelp db/game.rec /^name: whelp$/;" n
|
|
@ -0,0 +1,13 @@
|
||||||
|
.TL
|
||||||
|
CORNQUEST
|
||||||
|
.AU
|
||||||
|
dozens
|
||||||
|
.2C
|
||||||
|
{{#data}}
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
{{id}}
|
||||||
|
.LP
|
||||||
|
{{{text}}}
|
||||||
|
.KE
|
||||||
|
{{/data}}
|
|
@ -0,0 +1 @@
|
||||||
|
{ "beginning": "0", "charm": "1", "beast": "2", "corndress": "3", "weird": "4", "rejected": "5", "hideandseek": "6", "helpme": "7", "cornoveralls": "8", "fwiends": "9", "games": "10", "tag": "11", "path": "12", "eavesdrop": "13", "altar": "14", "collide": "15", "scram": "16", "calm": "17", "hide": "18", "believeme": "19", "stay": "20", "altarcorn": "21", "whelp": "22", "explore": "23", "bunk": "24", "panic": "25", "lavamonster": "26", "treeline": "27", "hack": "28", "continue": "29" }
|
|
@ -0,0 +1,28 @@
|
||||||
|
digraph {
|
||||||
|
0 -> { {{corndress}} {{cornoveralls}} };
|
||||||
|
1 -> { {{games}} {{altar}} };
|
||||||
|
2 -> { {{whelp}} };
|
||||||
|
3 -> { {{charm}} };
|
||||||
|
4 -> { {{helpme}} };
|
||||||
|
5 -> { {{altarcorn}} {{eavesdrop}} };
|
||||||
|
6 -> { {{altar}} };
|
||||||
|
7 -> { {{believeme}} {{bunk}} };
|
||||||
|
8 -> { {{charm}} };
|
||||||
|
9 -> { {{treeline}} };
|
||||||
|
10 -> { {{tag}} {{hideandseek}} {{lavamonster}} };
|
||||||
|
11 -> { {{altar}} };
|
||||||
|
12 -> { {{stay}} {{explore}} };
|
||||||
|
13 -> { {{panic}} };
|
||||||
|
14 -> { {{rejected}} };
|
||||||
|
15 -> { {{beginning}} };
|
||||||
|
16 -> { {{treeline}} };
|
||||||
|
17 -> { {{panic}} };
|
||||||
|
19 -> { {{collide}} };
|
||||||
|
21 -> { {{panic}} {{calm}} };
|
||||||
|
22 -> { {{fwiends}} {{scram}} };
|
||||||
|
23 -> { {{path}} {{continue}} {{hack}} };
|
||||||
|
24 -> { {{collide}} };
|
||||||
|
25 -> { {{beast}} {{hide}} };
|
||||||
|
26 -> { {{games}} };
|
||||||
|
27 -> { {{hide}} {{path}} };
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
[ 0 ] --> [ {{corndress}} ], [ {{cornoveralls}} ]
|
||||||
|
[ 1 ] --> [ {{games}} ], [ {{altar}} ]
|
||||||
|
[ 2 ] --> [ {{whelp}} ]
|
||||||
|
[ 3 ] --> [ {{charm}} ]
|
||||||
|
[ 4 ] --> [ {{helpme}} ]
|
||||||
|
[ 5 ] --> [ {{altarcorn}} ], [ {{eavesdrop}} ]
|
||||||
|
[ 6 ] --> [ {{altar}} ]
|
||||||
|
[ 7 ] --> [ {{believeme}} ], [ {{bunk}} ]
|
||||||
|
[ 8 ] --> [ {{charm}} ]
|
||||||
|
[ 9 ] --> [ {{treeline}} ]
|
||||||
|
[ 10 ] --> [ {{tag}} ], [ {{hideandseek}} ], [ {{lavamonster}} ]
|
||||||
|
[ 11 ] --> [ {{altar}} ]
|
||||||
|
[ 12 ] --> [ {{stay}} ], [ {{explore}} ]
|
||||||
|
[ 13 ] --> [ {{panic}} ]
|
||||||
|
[ 14 ] --> [ {{rejected}} ]
|
||||||
|
[ 15 ] --> [ {{beginning}} ]
|
||||||
|
[ 16 ] --> [ {{treeline}} ]
|
||||||
|
[ 17 ] --> [ {{panic}} ]
|
||||||
|
[ 19 ] --> [ {{collide}} ]
|
||||||
|
[ 21 ] --> [ {{panic}} ], [ {{calm}} ]
|
||||||
|
[ 22 ] --> [ {{fwiends}} ], [ {{scram}} ]
|
||||||
|
[ 23 ] --> [ {{path}} ], [ {{continue}} ], [ {{hack}} ]
|
||||||
|
[ 24 ] --> [ {{collide}} ]
|
||||||
|
[ 25 ] --> [ {{beast}} ], [ {{hide}} ]
|
||||||
|
[ 26 ] --> [ {{games}} ]
|
||||||
|
[ 27 ] --> [ {{hide}} ], [ {{path}} ]
|
|
@ -0,0 +1,197 @@
|
||||||
|
.TL
|
||||||
|
CORNQUEST
|
||||||
|
.AU
|
||||||
|
dozens
|
||||||
|
.2C
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
0
|
||||||
|
.LP
|
||||||
|
You wake up in the comfort of your own bed, in your own room. You open your eyes to see the golden sunlight come streaming in through your window. Golden like ears of corn. You suddenly remember what day it is. It is the day of the Harvest Festival! You throw back your favorite corn print bed covers and leap out of bed. You've been looking forward to this day all year, and you already know exactly what you're going to wear. If you wear a corn dress, goto {{corndress}}. If you wear corn bib overalls, goto to {{cornoveralls}}
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
1
|
||||||
|
.LP
|
||||||
|
You grab your lucky rock from under your pillow. It is small and pointy, in the shape of a corn cob. There are even little pock marks all over the rock so that it looks like it has corn kernels! Very lucky indeed. You slip it into your pocket. There, now you're are ready for anything.
|
||||||
|
You run to the kitchen. (You never go anywhere at anything less than a full run.) Breakfast is corn grits and cornbread. You eat quickly. It's the Harvest Festival after all! The best day of the year! You run outside. There are a bunch of kids playing games out in the corn fields. They call your name, and you're tempted to join them. But you also want to go see the goings on down at the corn altar!
|
||||||
|
The altar can wait, time to play. Goto {{games}}.
|
||||||
|
Games are for stupid babies! Time to visit the altar! Goto {{altar}}.
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
2
|
||||||
|
.LP
|
||||||
|
You leave the plaza and run down Broad Street through the Golden Gate out into the fields. Almost all of the corn has been harvested already so you have clear sight all the way to the forest edge. Unbelieving, you spin around in circles three times just to be sure it's true: the corn beast is gone. You sink to the ground in despair. Goto {{whelp}}
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
3
|
||||||
|
.LP
|
||||||
|
You slip on a lovely corn pattern dress. Yes, you look awesome. It twirls when you spin around. And it has pockets! Which reminds you... Goto {{charm}}.
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
4
|
||||||
|
.LP
|
||||||
|
Listen I don't know how you got here but if you're reading this, you need to abandon your current story line immediately and go straight to {{helpme}}
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
5
|
||||||
|
.LP
|
||||||
|
The closer you get to the plaza, the more you get the feeling something is wrong. The decorations are all up but nobody is singing or hollering or laughing. Or talking.
|
||||||
|
You arrive at the Corn Altar, and then gasp out loud and skid to a stop before it.
|
||||||
|
The offering, the pile of ears of corn, is still lying on the altar where it was placed last night! People are milling about, whispering and casting quick, fearful glances at the spurned corn.
|
||||||
|
Go checkout the corn at the altar: Goto {{altarcorn}}
|
||||||
|
Listen in on some of the adults: Goto {{eavesdrop}}
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
6
|
||||||
|
.LP
|
||||||
|
You play hide and seek. You are so good at hiding that the other kids never find you. You eventually get tired and fall asleep, but not for too long: your snoring wakes you up. You decide to leave and seek out other Harvest Festival festivities. Goto {{altar}}
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
7
|
||||||
|
.LP
|
||||||
|
Okay thank goodness you're here. Listen, I know this is going to sound crazy, but please hear me out. You are trapped inside a Choose Your Own Adventure story. These choices you think you're making? They're not real choices. Being given an artificially restricted set of options to choose from isn't free will. It's coercion. Here, I'll prove it. If you believe me, goto {{believeme}}. If you think this sounds like paranoid bunk, then goto {{bunk}}
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
8
|
||||||
|
.LP
|
||||||
|
You pull on your overalls. They have a really nice looking corn pattern on them, and the bib pocket in the front is perfect for holding all kinds of things. Speaking of which... Goto {{charm}}
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
9
|
||||||
|
.LP
|
||||||
|
You scoop the little fella up! You laugh with delight as it flips and jumps and rolls around in your hand like a little jumping bean! It finally settles down, stands up, and points to a spot at the treeline, commanding you forward like George Washington crossing the Delaware. You shrug and start walking that direction, and the whelp impatiently hops down to lead you forward. Goto {{treeline}}
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
10
|
||||||
|
.LP
|
||||||
|
You join in the games. A bunch of your friends are here: Three Fingered Gerald, Eccentric Kevin, Dale. Even Standard Ed has come out to play! It's the Harvest Festival after all! If you choose to play tag, goto {{tag}}. If you play hide-and-seek, goto {{hideandseek}}. If you play Lava Monster, goto {{lavamonster}}.
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
11
|
||||||
|
.LP
|
||||||
|
You have a fantastic time playing tag. Three Fingered Gerald plays a little too rough, tagging the other kids too hard and knocking them over. But you are too fast for Three Fingered Gerald. They never catch you. You all have a great time, and then you decide to scurry along. Goto {{altar}}
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
12
|
||||||
|
.LP
|
||||||
|
You step into the forest. Gulp! You don't know anybody who has ever been in the forest. Nobody from Cobbtown has ever left the fields as far as you know. You step carefully as the whelp dances as around your feet, lunging and thrusting with its thorn. You try not to worry too much about the omininous shapes and sounds coming from the pooling shadows to either side of the trail. To stay on the path, goto {{stay}}. To step off the path and explore, goto {{explore}}
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
13
|
||||||
|
.LP
|
||||||
|
You sneak up behind a couple of the old aunties and drop some eaves on them. You are super stealthy! They are whisper arguing about whether the Corn Mother has abandoned us, and whether that means the corn beast will leave. Leave! It can't leave! Without the corn beast, there will be nobody to protect the fields! We'll be totally defenseless! Goto {{panic}}
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
14
|
||||||
|
.LP
|
||||||
|
You run through the streets of Cobbtown toward the plaza. Every year during the harvest, you set aside a portion of the harvest for the Corn Mother. And the night before the Harvest Festival, the Corn Mother comes and takes the offering, and in the morning everybody wakes up and there are lots of presents and feasting and dancing! It's the best! Goto {{rejected}}.
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
15
|
||||||
|
.LP
|
||||||
|
So what are we going to do about it, you ask? We're going to break free of the narrative is what we're going to do. Here's the plan.
|
||||||
|
Have you ever heard of an "ahnentafel"? It's a compact genealogical numbering system that ... you know what, forget it. Not important. Here's the part that's relevant to you: even numbers are male relatives of the subject of the ahnentafel. Odd numbers are females.
|
||||||
|
What does any of this have to with anything? It's your escape hatch. Whenever you are given a choice of options, always choose an odd number. That's it. That's the plan. Now let's get you out of here. Goto {{beginning}}.
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
16
|
||||||
|
.LP
|
||||||
|
You tell the whelp to get lost. Shoo! Skedaddle, crabapple! You gently nudge the corn whelp away with your foot, and it topples over. It jumps up and pulls out a long thorn and stabs you in the foot. Ouch! You little rascal! You bend down to scoop the whelp up and give it what for, but it skitters away and scampers off toward the treeline. Follow that whelp! Goto {{treeline}}.
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
17
|
||||||
|
.LP
|
||||||
|
Okay you got this. Take a couple of deep breaths. There you go. This doesn't necessarily mean that the Corn Mother has turned her back on you and the rest of the village. She probably hasn't withdrawn her protection from you, leaving you open to attack from the dire crows, right? Right? Goto {{panic}}.
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
18
|
||||||
|
.LP
|
||||||
|
You run back home and hide under your bed. Eventually you hear throaty, gurggling caws and the thundering beating of wings as the dire crows descend on the town. Without the corn beast to scare them away, they rip most of the village to pieces. THE END
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
19
|
||||||
|
.LP
|
||||||
|
You're smart to believe me. You must have already felt it deep down. Like your free choice was an illusion, like your your decisions are all leading you down a predetermined path. Well you're right. And you can see it for yourself: go back and try the alternate path and see what happens. Afterward, come back and goto {{collide}}.
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
20
|
||||||
|
.LP
|
||||||
|
good idea
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
21
|
||||||
|
.LP
|
||||||
|
omg it's just lying there! Why has the Corn Mother forsaken us? What does it mean? What will we do? To go into a panic goto {{panic}}. To remain calm goto {{calm}}.
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
22
|
||||||
|
.LP
|
||||||
|
You feel something bump against your ankle. You look down to see a corn whelp. A kernel sprite. A sort of golem made of dried kernels and corn husk tied together with golden cornsilk. There's only one corn beast as far as anyone knows. But there are dozens and dozens of these little fellas. This one is pawing and scratching at you. Goto {{fwiends}} to pick the little guy up. To tell the whelp to scram goto {{scram}}
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
23
|
||||||
|
.LP
|
||||||
|
You step off the worn path and push your way through dense growth. Twigs and brambles snatch at your ankles and elbows and brush none too gently against your cheeks. One such brush of the cheek is especially sticky and grabby. You swat at your cheek and your hand comes away sticky. You look up and find that you have nearly walked right smack dab into an enormous messy spider web. It spans tree trunk to tree trunk, connecting half a dozen large trees in a sloppy woven tapestry. Up above you, a large black and yellow spider appears to be dozing.
|
||||||
|
Back to the path! Goto {{path}}.
|
||||||
|
Cautiously walk around the web, goto {{continue}}.
|
||||||
|
Get out your corn butter knife and start hacking and slashing! Goto {{hack}}
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
24
|
||||||
|
.LP
|
||||||
|
Do you feel empowered and free? Like you made a meaningful choice? Go back and try the alternate path and see what happens. Then come back and goto {{collide}} when you're ready.
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
25
|
||||||
|
.LP
|
||||||
|
You scream and panic and run around in circles until you trip and fall down. You have dirtied up your clothes and skinned you knee. One of the old aunties nearby clucks at you disapprovingly. You pick yourself up and dust yourself off, patting yourself down. And you feel the small corn rock in your pocket. You clutch it tight in your fist and squeeze your eyes shut. If you decide to go look for the corn beast goto {{beast}}. If you go home and hide under your bed goto {{hide}}.
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
26
|
||||||
|
.LP
|
||||||
|
No. You should never play Lava Monster. Go back to {{games}}.
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
27
|
||||||
|
.LP
|
||||||
|
The treeline is thick and overgrown. Usually there's hardly any way into the woods unless you can find a small game trail. Except now there is a rather large, perfectly round circular opening cut through the trees, bushes, grass, and vines. Goto {{hide}} to nope away back home. To venture down the weird circular path into the forest, goto {{path}}.
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
28
|
||||||
|
.LP
|
||||||
|
You get out your trusty corn knife and start slashing at the web with reckless abandon! The giant spider swoops down and puts a quick stop to such unsanctioned bafoonery. You are paralyzed and cocooned and don't even feel it when the spider's venom jellifies your insides. THE END.
|
||||||
|
.KE
|
||||||
|
.KS
|
||||||
|
.SH
|
||||||
|
29
|
||||||
|
.LP
|
||||||
|
you start to sneak sneakily around the web
|
||||||
|
.KE
|
Loading…
Reference in New Issue