<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> 

<channel>
<title>Horrible Farm</title>
<description>Horrible Farm, the web page that houses the collected works of Zack Johnson</description>
<link>https://horrible.farm/</link>
<atom:link href="https://horrible.farm/rss.php" rel="self" type="application/rss+xml" />


<item><title>Lovecraft Summarized</title><link>https://horrible.farm/index.php?id=2</link><guid>https://horrible.farm/index.php?id=2</guid><description><![CDATA[During the ideation and design phase of Shadows Over Loathing, I wanted a quick breakdown of all of H. P. Lovecraft's stories.  I didn't want to read them all, because I don't like his prose very much and I also just didn't want to spend a ton of time on it.  I  wanted the basic ideas, easily digestible, and not buried under seas of boring exposition and racism. 
<p>
I couldn't find such a document, so I decided to make it myself.  I bought this book:  <a target=_blank href=https://www.amazon.com/gp/product/097487891X/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1>An H P Lovecraft Encyclopedia</a> and wrote one-paragraph summaries of the 1-2 page summaries in it.  Here they are.
<p>
<h2>The Alchemist</h2><p>
A guy’s family line is cursed to die before they turn 32 because one of them pissed off an alchemist 600 years ago.  It turns out they’re all getting murdered by the alchemist himself, who figured out the elixir of life and has lived the entire time.
<p>
<h2>Ashes</h2><p>
A scientist invents a juice that will turn anything into ash.  Somebody concludes that he ashed his secretary so they ash him.  Turns out she was just hiding in a closet, but he had been PLANNING to ash her so it’s okay that his ass got ashed I guess.
<p>
<h2>At the Mountains of Madness</h2><p>
An Antarctic expedition discovers an ancient city and frozen Old Ones.  They built a huge city by mentally controlling shoggoths, big green clouds of protoplasm.  Some of the Old Ones get thawed out and killed by the expedition, but they also apparently thawed out a shoggoth which the protagonist sees and then goes insane.  [Riff: There's also signs that the shoggoths rebelled and caused the Old Ones' downfall, and possibly also they were the seed of life that evolved into humans]
<p>
<h2>The Battle that Ended the Century</h2><p>
In the far future of 2001, there is a fight (boxing match?) between Two Gun Bob and Knockout Bernie.  That’s… it I guess?  One of them wins.
<p>
<h2>The Beast in the Cave</h2><p>
A guy gets lost in a cave and by yelling for help summons the attention of a Beast, which he kills with rocks.  Then he finds his original guide and goes back to where he killed the beast, and the beast turns out to just be a dude who got lost in the cave years earlier.
<p>
<h2>Beyond the Wall of Sleep</h2><p>
An asylum intern becomes obsessed with a murderer who raves about space stuff.  He builds a “cosmic radio” which lets him mentally communicate with the guy, who turns out to be possessed by an alien who is very pissed at the star Algol for some reason.  Once the guy dies the alien is freed, and the next year Algol goes nova.  Take that, you stupid star.
<p>
<h2>The Book (fragment)</h2><p>
A guy buys a “worm-riddled book” at a weird bookstore.  The owner refuses to take money for it but lets him have it.  Reading it makes him kind of unstuck in time, the past and future keep intruding on his experiences, and there’s a scratching at his window by some monster he summoned by reading it.
<p>
<h2>The Call of Cthulhu</h2><p>
Not much happens here.  A guy is investigating various things.  Sculptures worshipped by cultists, stories of Cthulhu, who is very old and sleeping until the stars are right.  The story of a boat which found the underwater city of R’lyeh, accidentally raised too early by an earthquake, but it went back down, then the guy who found it died.  Moral of the story is that mankind isn’t important.  This is Cthulhu’s world, we’re just borrowing it while he’s sleepin’.
<p>
<h2>The Case of Charles Dexter Ward</h2><p>
In the late 1600s there’s a guy Curwen who doesn’t age, and he’s always robbing graves and collecting chemicals.  He studies stuff about the Essential Saltes of man and how they could be used for resurrection. He marries a woman and is murdered by a jealous suitor.  In 1918 his descendent learns about him, finds his body, and resurrects it.  Something goes wrong.  He writes a letter to his doctor friend saying he’s unleashed something dark and needs help putting it away.  The doctor finds him in Curwen’s old house, surrounded by experiments, including “half-formed creatures” in deep pits.  He has been possessed by Curwen, and talks all old-timey.  He tries to magically destroy the doctor but the doctor does an incantation to disintegrate him, because apparently everybody is a wizard all of a sudden.
<p>
<h2>The Cats of Ulthar</h2><p>
There’s a village where it’s illegal to kill cats.  There used to be a couple there who killed any strays that came to their house, but then they killed a gypsy (presumably, described as a “dark wanderer”) kid’s kitten and they curse the village.  All the cats band together and skeletonize the couple.
<p>
<h2>Celephais</h2><p>
A guy travels to a magical world when he dreams, and when that stops working he starts going there via drugs, and then more and more drugs until he dies and a guy buys his old house.
<p>
<h2>The Challenge from Beyond</h2><p>
A wormlike race sends these crystal cubes out and anybody who finds it does a consciousness swap with one of them so they can learn about us.  The protagonist, while body swapped, kills their God and becomes their new God, while the worm guy inhabiting his old body on Earth dies a raving madman.  There is mention of the “cone-shaped beings who inhabited Australia millions of years ago” and how they tried to kill the worm guys.
<p>
<h2>The Colour Out of Space</h2><p>
A guy is surveying for a new reservoir and discovers a “blasted heath,” a big patch where nothing grows. The locals tell the story of a meteor that landed there, containing an orb of a color they’d never seen before and couldn’t describe.  The plants and animals mutate (huge pears) and the farmers who live there all go insane.  The cops come to investigate and see a column of the color shoot up into space from the well, but a tiny shard of it lands nearby.  The blasted heath grows in size an inch a year and they wonder if it will ever stop.
<p>
<h2>Cool Air</h2><p>
A magazine writer lives in a boarding house, full of lowlifes except a doctor who keeps his apartment super cold, getting colder and colder as time passes.  There’s a failure of the cooling system and he keeps having people bring him ice, but eventually they screw up and he disintegrates.  Turns out he had been dead for 18 years and was keeping himself animated via weird chemicals and low temperatures.
<p>
<h2>The Crawling Chaos</h2><p>
A doctor gives a guy too much opium for pain relief, and he finds himself in a beautiful house on a promontory that is being relentlessly washed away by crashing waves.  He flees out the back, where some angels want to take him to the “wondrous world of Teloe” but the crashing waves interrupt them and then the narrator watches the world get destroyed by the waves.
<p>
<h2>The Curse of Yig</h2><p>
The guy who runs an asylum tells the narrator about Yig, the half-man snake god who takes vengeance on anybody who is mean to snakes.  In 1889, a settler’s wife killed a nest of rattlesnakes, and Yig tricks her into killing her dog and her husband, then she gives birth to a half-person half-snake thing, which now lives in the asylum.
<p>
<h2>Dagon</h2><p>
The narrator writes that he’s about to kill himself because he can’t afford any more morphine, which is the only thing that keeps him sane.  During WW1 he was adrift after escaping a boat that got captured, and he found himself in a big muddy area that got thrust up from beneath the sea.  There’s a big statue that people worshipped eons ago, with “repellent marine carvings” on it, and now he’s insane because he saw it.
<p>
<h2>Deaf, Dumb and Blind</h2><p>
A deaf dumb and blind poet moves into a house that he thinks will stimulate his imagination because a hermit died there and something about it caused the townsfolk to burn his body and all of his stuff.  He moves in with his manservant, who eventually flees, babbling incoherently.  A diary found in the typewriter after the poet’s death says he has become aware of a presence in the house, and that he can hear it, and that it has icy fingers that “draw me down into a cesspool of eternal iniquity.”  The investigator concludes that the last bits of it were typed by somebody else.
<p>
<h2>The Diary of Alonzo Typer</h2><p>
An occult explorer investigates a house where a Dutch family summoned strange forces.  He senses several strange presences, especially in the basement.  He realizes that he is descended from the family and was brought there to finish the job, and it ends with him being inexorably summoned to the basement by a whispering “ancient forgotten One.”
<p>
<h2>The Disinterment</h2><p>
A guy gets leprosy and his sketchy doctor hatches a plan (based on zombie stuff he learned about in Haiti) to fake his death and resurrect him with a different identity so he can live without the stigma of the disease. He wakes up feeling weird, kills the doctor and his manservant, then digs up his own grave to find his headless body.  To his horror, he realizes his head has been grafted onto the body of a black guy.  God dammit dude.
<p>
<h2>The Doom that Came to Sarnath</h2><p>
There was a city called Ib with ugly creatures in it.  Then some people came and founded a city called Sarnath and killed all the Ib creatures, and Sarnath flourished. Then the Ibs came back and destroyed Sarnath.
<p>
<h2>The Dream Quest of Unknown Kadath</h2><p>
Very long trip through various dreamlands locations.  First some forest zoogs send him to Ulthar to get the Pnakotic Manuscripts from some cats.  Then he takes a boat to the moon where cats fight some toad people.  Then he finds a big carved God face.  He needs to go see the guy from Celephais the story in Celephais the kingdom, but he gets waylaid by night-gaunts and has to team up with ghouls.  Then there are ghasts and also gugs.  It really goes on and on from there.
<p>
<h2>The Dreams in the Witch House</h2><p>
A Miskatonic math student rents a “peculiarly-angled room” in Witch House.  He has dreams about crazy shapes and it makes him smart about hyperspace stuff.  In a dream he meets Brown Jenkin, the rat familiar of a witch who used to live there, which has human hands.  Has a dream of being in a crazy city full of Old Ones, wakes up holding a piece of a banister he broke off in the dream.  Dreams about the witch sacrificing a baby.  He kills Brown Jenkin but not before some kind of baby blood ritual was completed, and in the real world he gets devoured from within by a rat creature.  Eventually they tear down the house and find centuries worth of bones.
<p>
<h2>The Dunwich Horror</h2><p>
In backwoods Massachusetts, Wilbur Whately is born to an albino woman and an unknown father.  He grows really fast.  His dad’s library provides his education, and when his dad dies he tells him to consult “page 751 of the complete edition” so he can open up the gate to Yog-Sothoth.  Wilbur tries to get the book from Miskatonic but Armitage, the librarian, won’t give it to him.  He tries to steal it and gets killed by a guard dog, revealing that he was mostly slime and didn’t have any bones.  Back at the Whately farm, a big invisible monster arrives and starts stomping all the houses.  Armitage  stops it, revealing that it was Wilbur’s twin brother, but also a giant tentacled monster.  Yog Sothoth was the dad.
<p>
<h2>The Electric Executioner</h2><p>
Narrator is sent to Mexico to track down a guy named Feldon.  He finds himself in a car with a madman who has a hood that kills people, and he wants the narrator to be its first experimental victim.  He tricks the guy into putting off his execution for various reasons, then ultimately using the device on himself.  The narrator faints, then wakes up and people tell him there never was a madman, then later they find Feldon dead in a cave, with his pockets full of the narrator’s stuff.  This is confusing and so I probably have it wrong.
<p>
<h2>The Evil Clergyman</h2><p>
Narrator is left in an attic room full of books and alchemy stuff, warned not to touch the matchbox-sized thing on the table.  He does, and an evil clergyman appears, throws a bunch of books into the fireplace, then smugly hangs himself.  Then the narrator has apparently become the clergyman.
<p>
<h2>Facts Concerning the Late Arthur Jermyn and His Family</h2><p>
A man finds out he was descended from some kind of prehistoric white ape from the Congo, then kills himself via immolation.
<p>
<h2>The Festival</h2><p>
A guy goes to a small town during a festival.  He gets swept up by some wax-masked revelers and led to the basement of a church, where they all worship a green flame next to a nasty river, then they ride off on flying beasts.  He eventually winds up in the hospital in Arkham, where he asks for a copy of the Necronomicon, which confirms the stuff he just saw.
<p>
<h2>From Beyond</h2><p>
A guy builds a machine that breaks down barriers in our perception.  He turns it on and shows his friend (the narrator) weird colors and jellylike creatures that drift around the room they’re in.  Then he freaks out and starts yelling at the creatures, his friend shoots the machine, and then he dies of apoplexy.
<p>
<h2>The Ghost-Eater</h2><p>
A guy can’t find a ride to the town he needs to go to so he walks, and stops at a spooky house.  The guy there lets him sleep upstairs, but he doesn’t trust his host so he sets up a fake person in the bed and sits in a chair so he can keep an eye out.  A man enters the room and goes to sleep in a different bed.  The narrator thinks he might be dreaming so he tries to touch the guy, but the guy is a ghost.  Then the ghost of a wolf comes in and eats the guy.  The narrator flees the house and gets where he’s going, whereupon he learns the story of a guy that stopped for the night at a spooky house that turned out to be owned by a werewolf, who ate him, then got caught and they burned down the house.
<p>
<h2>The Green Meadow</h2><p>
A note says this story was found on a notebook made of some alien substance that was found embedded in a meteorite, and was written in ancient Greek.  The story is about somebody who finds themselves on a peninsula that gets washed down a river.  He sees a green meadow and hears singing from it, and has a “aha, I’ve figured everything out!” moment but then the text becomes incomprehensible before he explains what it was he figured out.
<p>
<h2>The Haunter of the Dark</h2><p>
A writer becomes obsessed with a nearby abandoned church.  In it he finds forbidden books, strange objects, and the skeleton of a reporter whose notes he reads.  The nodes describe Satanic rituals at the church in the previous century, a “shining trapezohedron” and a “Haunter of the Dark” that can’t exist in the light.  Later he sees somebody blacking out the windows of the belfry, then there’s an electrical blackout, and superstitious Italians surround the church in a candlelight vigil.  They see a dark object emerge from the belfry.  The writer’s diary seems to indicate that he somehow merged identities with the Haunter, but his body is found electrocuted.
<p>
<h2>He</h2><p>
A guy moves to New York and hates it.  He gets invited to an estate by a man dressed in archaic attire.  The man talks about an ancestor of his (secretly himself) who stole secret knowledge from some Indians and then poisoned them.  When asked about the knowledge, he opens his window to reveal the landscape from 200 years earlier.  Then he closes it and reopens it on a horrible far future with flying monsters and giant stone terraces and devil-lights burning in windows.  Then the narrator screams, which somehow summons black slime Gooigi versions of the Indians, who kill the archaic man.
<p>
<h2>Herbert West -- Reanimator</h2><p>
Maybe a parody of horror stories?  It was originally written for a humor magazine.  A guy from Miskatonic learns to reanimate corpses, and it’s told in six installments.
<ol>
<li>He reanimates a guy but it doesn’t work.  They bury him, but then it turns out later that it DID work.
<li>He reanimates an old professor who didn’t like him.  The professor wreaks havoc and is asylumed.
<li>They try to reanimate a black guy but it doesn’t work because the serum is only for whites.
<li>He invents a fluid that keeps corpses fresh.  He uses it on a traveling salesman who conveniently died when he was near West.  When the salesman is reanimated he reveals that West killed him.
<li>He practices his arts in a loathsome manner during WW1.
<li>Years later, all the bodies he reanimated show up together and tear him to pieces.
</ol>
<p>
<h2>The Horror at Martin’s Beach</h2><p>
A fishing crew kills a sea monster, fifty feet long.  Scientists conclude that it was a newborn one of whatever it is.  The crew then disappears, along with the monster’s body.  A boat goes out to rescue them but that boat’s crew gets mind controlled and allow themselves to be dragged into the deep by the monster’s parent.
<p>
<h2>The Horror at Red Hook</h2><p>
A detective is investigating the case of Robert Suydam, who hung out with swarthy strangers.  In an effort to seem more legit he marries a woman of high standing, but on their wedding they’re found murdered, drained of blood. Later the detective finds the swarthy boys in a church basement they’ve turned into a dance hall where they perform sacrifices to Lilith.  They try to sacrifice Suydam’s reanimated(?) corpse, but it resist and explodes into goo.  The detective is upset by this and has to spend several months in Rhode Island recuperating.
<p>
<h2>The Horror in the Burying-Ground</h2><p>
A guy invents a serum that simulates death even though the person is alive and conscious.  He tries to use it to get rid of an enemy, but ends up getting injected with it himself and buried alive.
<p>
<h2>The Horror in the Museum</h2><p>
A wax museum owner claims to have captured a god (Rhan-Tegoth) in Alaska.  As proof, he shows his friend Steve a picture of his vampire-sucked dog, who he says he fed to the god.  Steve doesn’t believe him so he challenges him to spend the night alone in the museum.  Steve hears noises in the basement, but it turns out to be the owner, who he overpowers and ties up.  But then they hear another noise, and it’s a monster with a crab-like claw.  A week later Steve comes back and there’s a wax statue of the owner in the museum, drained of blood.  The statue has an injury that Steve gave the owner during their fight.
<p>
<h2>The Hound</h2><p>
Two guys are grave robbers.  They dig up a 500 year old grave and find an amulet depicting a winged hound.  The hound begins to haunt them, then kills and mutilates one of them.  The other one decides he has to re-bury the amulet, but it gets stolen. He goes and digs open the grave again anyway(?) and finds that the body in it is now covered with blood and fur and scraps of flesh.  It ends with him saying he’s gonna shoot himself to escape the unnamed and unnamable thing they unleashed.
<p>
<h2>Hypnos</h2><p>
A sculptor makes a friend at a railway station and they start experimenting with studies of time and space and drug-dreaming their way into new realms.  Then they see something scary and shift gears to taking drugs so they never have to sleep again.  Then one day they finally screw up and go to sleep, and when the narrator awakes he has sculpted a huge head with HYPNOS on the base, and people tell him he never actually had a friend, but that “art, philosophy, and insanity had filled all my tragic life.”
<p>
<h2>Ibid</h2><p>
A “biography” of Ibidus, mostly about the crazy trip his skull goes on after he dies and is later exhumed.  It’s owned by various famous people, then ends up in America where it falls into a prairie dog hole, but then a convulsion of Nature spits it back out of the ground.
<p>
<h2>In the Vault</h2><p>
An undertaker gets stuck in the building used for winter storage of corpses waiting to be buried.  He has to stack up the coffins in a pyramid to escape through the transom, but he ends up sinking into one and his feet get injured.  It turns out he had cut off a guy’s feet so he could fit in somebody else’s coffin, and the wounds were actually bite marks, the vengeance of the footless corpse.
<p>
<h2>In the Walls of Eryx</h2><p>
A guy is on Venus working for a crystal mining company and he sees a really juicy crystal.  He runs toward it but finds that there’s an invisible maze around it.  He gets lost in the maze and runs out of oxygen and dies while Venusian man-lizards taunt him by waving their feelers at him.  Another crystal miner finds his body, and points out that all he had to do was go straight backwards and he could have escaped.
<p>
<h2>The Last Test</h2><p>
Dr. Clarendon gets appointed medical guy at San Quentin, and there’s a bunch of personal drama with him and the governor.  Clarendon had brought back some Tibetan servants (led by a guy named Surama) from medical research travel.  They’re supposed to be working on a cure for the black fever, but it turns out Clarendon has been mind controlled by Surama, “an evil Atlantean mage” to develop an unearthly disease to wipe out mankind.  They burn down the clinic with all the research in it.
<p>
<h2>The Little Glass Bottle</h2><p>
HPL  wrote this as a child.  It’s about a ship captain who finds a message in a bottle with a treasure map on the back.  They follow the map, and it leads to a note explaining that the map was a prank.  To make it up to them, it was accompanied by an iron box containing “$25.0.00”[sic]
<p>
<h2>The Loved Dead</h2><p>
A guy becomes a necrophile as a result of his repressive upbringing.  He works for an undertaker to gain access to corpses to love, but then turns to murder to increase the size of his dating pool.  Then he goes off to WW1 to be closer to even more corpses.  Then he goes back to murdering, and is eventually caught.  He confesses his crimes in a suicide note.
<p>
<h2>The Lurking Fear</h2><p>
Four episodes:
<ol>
<li>Three guys are investigating a monster in a haunted house that has been terrorizing local hobos. They all sleep in the same bed in one room and are supposed to take turns staying awake, but something makes them all go to sleep and two of them get snatched away in the night.
<li>The survivor/narrator gets another guy to wait in a nearby house for the monster to attack.  The guy gets fascinated with something out the window, and when the narrator shakes him to get his attention, he finds out the guy is dead, and his face has been chewed off.
<li>The narrator investigates the history of the house and ends up digging up the grave of one of the owners.  In the grave there’s a tunnel, and in the tunnel he sees a horrifying creature.
<li>It turns out there’s a whole species of terrible inbred man-ape-moles descended from the house’s family, living in a honeycomb of caves below the house.
</ol>
<p>
<h2>The Man of Stone</h2><p>
Daniel “Mad Dan” Morris finds, in an ancestral tome, a formula for a liquid that turns people to stone.  It’s pointed out that it’s definitely science, not magic.  He gives it to a sculptor he thinks is flirting with his wife.  Then he tries to give it to his wife, but she tricks him and gives it to him instead.  Then she feels bad and takes it herself after all.
<p>
<h2>Medusa’s Coil</h2><p>
A traveler stops at a house in Missouri and the owner tells this tale:  His son marries a French woman.  There’s some drama with a friend of his who paints a portrait of her, and then it turns out she’s a Medusa and her hair tries to strangle people and they kill her.  Back to the present, the owner shows the traveler the painting, and the hair on it comes to life and the traveler shoots it.  The owner says the painting has to stay intact or she’ll rise from the grave.  An errant candle burns the house down, sure enough she comes back and attacks the owner.  And then it’s revealed that the true horror is that the woman was black.  For Christ’s sake, man.
<p>
<h2>The Moon-Bog</h2><p>
An American comes to reclaim his ancestral home in Ireland and drain the bog around it because of his capitalist leanings.  Local workmen refuse to help ‘cause of the bog spirits so he hires outside help.  Naiads and bog-wraiths mess with the workers, mesmerising them and making them dance.  Eventually the American gets UFO’d up and out of sight on a beam of moonlight.
<p>
<h2>The Mound</h2><p>
An archaeologist finds the account of one of Coronado’s team from the 1500s who was led by an Indian to an alien city beneath a bunch of mounds in Oklahoma.  The aliens are telepathic and can teleport themselves and objects, but they’ve declined over the centuries and become decadent and lost their intellect.  The guy suffers some horrible fate that is seemingly not described.
<p>
<h2>The Music of Erich Zann</h2><p>
An old man plays the cello to ward off an incursion from another dimension into the upstairs window of the boarding house he lives in.  It eventually becomes too much for him and the entire neighborhood vanishes as a result of the incursion.
<p>
<h2>The Mysterious Ship</h2><p>
(written when he was a child.)  A ship goes from port to port kidnapping people and dropping them off at the North Pole.  Then somebody goes and rescues them and the rescuer is showered with honors.
<p>
<h2>Mystery of the Grave-yard (or) A Dead Man’s Revenge</h2><p>
(also written as a child) A man dies and in his will instructs the rector to drop a ball at a spot marked in his tomb.  The rector does, and vanishes.  Then a man named Bell shows up and demands money for the rector’s return.  It turns out the ball dropping triggered a trap door which dropped the rector into a nice apartment, where he was meant to stay until ransomed, but he breaks out and a detective solves the case and arrests Bell.
<p>
<h2>The Nameless City</h2><p>
An archaeologist wants to explore the city Abdul Alhazred dreamed of the night he wrote the “That is not dead which can eternal lie” couplet.  He goes into the city, buried beneath the desert, and sees statues of lizardmen.  He thinks they’re just animals but then he goes through a gate and sees a huge crowd of them alive in a luminous abyss.
<p>
<h2>The Night Ocean</h2><p>
A painter goes to a sea resort to rest after a grueling painting competition (?) but instead of being relaxing, it’s stressful because people keep drowning and getting eaten by sea monsters.
<p>
<h2>Nyarlathotep</h2><p>
(poem)  Nyarlathotep emerges in Egypt in a season of political and social upheaval.  He has strange machines of glass and metal, and apparently knows about electricity.  One of these machines is like a movie screen, and in it the narrator sees the world falling apart.
<p>
<h2>Old Bugs</h2><p>
Old Bugs is a drunk who hangs out at a pool hall.  A kid shows up slumming and tells the story of how his dad was a drunk and ran off.  Old Bugs leaps up and slaps the drink out of his hand, dying from overexertion in the process, convincing the kid to never drink again.  Then he finds a picture of his mom in Old Bugs’ pocket because Old Bugs was actually his estranged father.
<p>
<h2>The Other Gods</h2><p>
The “gods of earth” gods have fled to unknown Kadath because a scholar from Ulthar decided to scale their old mountain (Olympus equivalent) to look at them.  He was well-versed in the “seven cryptical books of Hsan” and the “Pnakotic Manuscripts of distant and frozen Lomar.”  He climbed  up there but instead of the good gods he saw other gods, bad gods, and was swept into the sky and never seen again.
<p>
<h2>Out of the Aeons</h2><p>
There’s a mummy in a museum and it reminds the narrator of a story (in the Black Book or(?) Nameless Cults by Von Junzt) of this old God that if you looked at it, it would turn your outside into an immobile mummy but your brain would remain perpetually alive inside.  It turns out that this mummy is a guy that that happened to 175,000 years ago.
<p>
<h2>The Outsider</h2><p>
A guy climbs to the tallest tower of the castle he’s lived in for as long as he can remember, but it turns out it’s the ground.  He goes to a nearby castle which is familiar to him, but all the people there get scared off by him.  Then he finds a mirror and he’s a horrible abomination. 
<p>
<h2>Pickman’s Model</h2><p>
A guy does paintings of horrible demons, and it turns out he’s painting them from photographs of actual horrible demons.  [Riff:  flesh-eating ghouls, who in this universe are like underground-dwelling dog-men instead of undeads. at the end it's implied that Pickman turns into one coz I guess it's something you can catch?]
<p>
<h2>The Picture in the House</h2><p>
A guy goes into a house he thinks is abandoned, and starts reading an old book with a plate in it depicting a cannibal feast.  Turns out the owner was sleeping upstairs.  He comes down and tells the narrator that he’s a cannibal.  Then a drop of blood drips from the ceiling onto the narrator, then lightning strikes the house and burns it down and kills the owner, but the narrator survives.
<p>
<h2>Poetry and the Gods</h2><p>
A woman reads a poem and it makes her dream that Zeus tells her she’ll meet a poet who is “[the gods’] latest-born messenger” and then she meets him and he thrills her with his poetry.
<p>
<h2>Polaris</h2><p>
The narrator dreams that he’s manning a watch-tower in an alien city, and then Polaris (the star) casts a spell on him that makes him fall asleep, and when he does he wakes up in the real world but maybe the real world is the dream and the dream is the real world.
<p>
<h2>The Quest of Iranon</h2><p>
A singer named Iranon traverses various fantastical places looking for his home, Aira, where he was a prince.  He doesn’t age.  He makes a friend but then the friend drinks himself to death.  Finally somebody tells him Aira is made up, and that he is actually of low birth, and he’s so scandalized by this that he commits suicide by walking calmly into quicksand.
<p>
<h2>The Rats in the Walls</h2><p>
An American goes to reclaim his ancestral home in England which has been abandoned because of a legend of a herd of ravenous rats that ate a bunch of animals and a couple of people hundreds of years ago.  He and his buddy hear skittering in the walls, and they keep following the sound down and down until they find a cavern under the castle littered with centuries of human bones.  After seeing the guy rapidly regress through more and more ancient languages until finally devolving into ape grunts, we realize that he has not escaped the legacy of his family’s cannibalism, and has in fact eaten his buddy.
<p>
<h2>The Secret Cave or John Lee’s Adventure</h2><p>
(written when he was a kid)  John and his sister are left alone at home and they discover a cave hidden in their cellar.  They find a big empty box, a small heavy box, and a boat.  They pull out a rock at the end of the cave and it floods with water.  His sister drowns but he escapes into the boat with the small box.  He “shuts off the water” somehow and the box is revealed to contain $10,000 which he describes as enough to pay for anything except the death of his sister.
<p>
<h2>The Shadow out of Time</h2><p>
An economics teacher gets Flowers for Algernonned somehow and his wife and family leave him.  He does lots of research and travels to exotic realms, then suddenly snaps back to his old life, believing it’s five years ago again.  It turns out he had gotten mind-swapped by a cone-shaped being from Australia from 150 million years ago, and while he was there he wrote down his experiences for their archive.  He eventually goes to Australia and finds the ancient text in his own handwriting.
<p>
<h2>The Shadow Over Innsmouth</h2><p>
A town full of people pledge an oath to Dagon and slowly interbreed with fish people so they can live forever in vast underwater cities.  A guy goes to check it out and ends up getting turned into one himself.  [Riff: turned out he was from there originally but didn't know he had fishman in his family tree.]
<p>
<h2>The Shunned House</h2><p>
A guy and his uncle investigate a house that people keep dying in (they speak French as they die, weird,) thinking maybe it has something to do with the vaguely person-shaped mound of mould or nitre in the basement.  The thing engulfs his uncle and keeps changing forms.  He comes back with six carboys of acid and pours them on the thing, which he has now identified as the elbow of some titanic monster beneath the house.
<p>
<h2>The Silver Key</h2><p>
30-year-old Randolph Carter is bummed because he lost the key to the gate of dreams, and the real world is boring.  He then finds a silver key in his attic, goes back to where he grew up, and magically transforms back into his 9-year-old self.
<p>
<h2>The Statement of Randolph Carter</h2><p>
Randolph and a friend go to investigate a cemetery after reading in a book about how some corpses don’t decay and stay fat and sassy for a thousand years.  They find a staircase leading down under a grave and the other guy takes one end of a portable telephone with him.  He’s talking to Randolph as he goes deeper, then he freaks out and tells Randolph to seal up the grave and flee.  Then a disembodied voice on the line tells him that the guy is dead.
<p>
<h2>The Strange High House in the Mist</h2><p>
A guy goes to a weird house on a cliff where he parties with various gods and legendary figures, and when he comes back it seems that he has left his soul and sense of wonder to revel at the house, and he’s now content with being a boring suburban dad.
<p>
<h2>The Street</h2><p>
Blatantly racist nonsense.  It’s the story of a street where there were houses built by good white pilgrims, and then over the years immigrants move in and make it bad, and then finally it collapses in on itself to punish them.
<p>
<h2>Sweet Ermengarde or The Heart of a Country Girl</h2><p>
Convoluted story of the romantic life of a farmer’s daughter.  There’s some gold buried under the farm, and nothing supernatural happens, just a few weird coincidences.
<p>
<h2>The Temple</h2><p>
A German submarine sinks a British ship and a survivor from the ship comes on board with a carved ivory head.  The head makes the submarine guys go nuts, and then they drive the submarine to Atlantis where they find a statue whose head matches the small ivory one.
<p>
<h2>The Terrible Old Man</h2><p>
An old sea captain has his old crewmates’ souls in little jars.  Some guys try to rob him, but the crewmates manifest somehow and cut them up with their scimitars.
<p>
<h2>The Thing on the Doorstep</h2><p>
A guy cheats death by mind-swapping with his daughter just before he dies, then swaps into a different guy, but the guy, now in the daughter’s body, manages to kill the old guy while he’s in his own body.
<p>
<h2>Through the Gates of the Silver Key</h2><p>
The story of Randolph Carter’s fantastical interdimensional travels after his return to boyhood in The Silver Key.  There’s a part where he disappears through a clock, which is cool.
<p>
<h2>Till A’ The Seas</h2><p>
The earth has gotten closer and closer to the sun until everybody dies except one guy, who then dies.
<p>
<h2>The Tomb</h2><p>
A 10-year-old boy becomes obsessed with a tomb and believes he is hanging out and partying with the entire ancestral line of the family that’s buried there.  Observers note that all he’s actually doing is sleeping outside the tomb.  Eventually he is institutionalized, and when they open up the tomb to see what’s inside they see a coffin with the kid’s name on it.
<p>
<h2>The Transition of Juan Romero</h2><p>
A British guy gets a job at an American mine with a Mexican guy who is obsessed with a Hindu ring he has.  They dynamite open a cave that is too big to measure.  They go back that night to explore it, and Juan goes nuts and falls into an abyss.  Later, they’re both found dead in their bunks, and people say they never actually left the bunkhouse at all, but Juan’s ring is gone.
<p>
<h2>The Trap</h2><p>
There’s a mirror that sucks people in, and it’s a mirror world where colors are weird and objects are weird.  It was made by a Danish glass blower who was trying to become immortal, and he sort of does, as long as nobody breaks the mirror.
<p>
<h2>The Tree</h2><p>
Kalos and Musides are sculptors, and there’s a contest to carve a statue.  Musides is a drunken reveler and Kalos is a homebody.  Kalos gets sick and dies so Musides wins by default, but then a tree grows out of Kalos’ grave and falls, killing Musides and breaking his statue.
<p>
<h2>The Tree on the Hill</h2><p>
A guy named Single stumbles into a weird alien landscape and takes a photo of a tree.  He takes it  to Theunis, a “writer of esoteric books.” Theunis recognizes it as being an incursion from a planet with three suns, and says he needs to find a magic gem to drive it back to where it belongs.  Weeks later Single is invited to a hospital where Theunis is recovering.  Theunis says he successfully got the gem and saved the world, but that Single needs to destroy the photograph, and that the tree was actually the hand of a big monster.
<p>
<h2>Two Black Bottles</h2><p>
A preacher from 200 years ago learns some demonic ritual to put peoples’ souls in black bottles.  The knowledge is recovered, and this guy Foster puts a guy named Vanderhoof’s soul in a bottle but then his corpse tries to come up from its grave because of it.  A different bottle gets broken and Foster says aww shucks, that was my soul in there, it’s been there for 200 years, then crumbles to dust.
<p>
<h2>Under the Pyramids</h2><p>
(ghost written for Harry Houdini) Houdini gets thrown into a temple in Egypt and finds a vast underground cavern.  He encounters living beings that are like the animal-headed humans in hieroglyphics, and they’re all making offerings of food to a giant monster.  The monster is apparently the thing the Sphinx was a carving of, but each of the fingers on its forepaw are big furry heads.
<p>
<h2>The Unnamable</h2><p>
A guy and his friend (who is probably Randolph Carter) are talking in a graveyard and the guy says that Carter’s horror stories are silly and the idea of something “unnamable” is lame, but then they encounter something unnamable so I guess Carter gets the last laugh.  [Riff:  iirc this one is pretty explicitly HPL clapping back at his detractors]
<p>
<h2>The Very Old Folk</h2><p>
In Roman times there’s a tribe of maybe-not-humans called the Very Old Folk who, a couple of times a year, kidnap some people from a small town.  One year they don’t come, so the townsfolk send soldiers to wipe them out once and for all, but the soldiers find that they are gone, and that some ancient evil has emerged and blotted out the stars and is coming to wipe everybody out.  I guess because the old folk didn’t sacrifice anybody?
<p>
<h2>What the Moon Brings</h2><p>
A guy hates the moon because one time it showed him a terrible basalt statue whose head was emerging from beneath the waves.
<p>
<h2>The Whisperer in Darkness</h2><p>
A guy named Akely writes to a Miskatonic professor saying there are aliens from Yuggoth (the recently discovered ninth planet in our solar system) in Vermont, mining metal they don’t have at home and taking out peoples’ brains to send them on cosmic voyages and that it’s really awful.  Then he sends another letter that says “wait just kidding, the aliens are great and want to be our friends, come immediately.”  The professor does, and talks to Akely, but it turns out to be a fake Akely (aka a Fakely) and the professor finds the real Akely’s face and hands chopped off.
<p>
<h2>The White Ship</h2><p>
A lighthouse keeper walks across a bridge of moonlight to a phantom ship, which takes him on various adventures.  The ship sails off the edge of the world and he wakes up back in his lighthouse.
<p>
<h2>Winged Death</h2><p>
There’s a bug in Africa that bites people and when they die their soul and personality go into the bug.  The narrator dies (of a heart attack, not the bug bite, but his soul goes into the bug anyway, WTF,) and dips his body in ink and writes a message on the ceiling.

]]></description></item>
<item><title>There's Goofs in Them Thar Hills</title><link>https://horrible.farm/index.php?id=3</link><guid>https://horrible.farm/index.php?id=3</guid><description><![CDATA[This is one of two GDC talks I did in 2018.   This one is about our approach to comedy in our games, and the way our tools and processes have evolved to support the jokes.
<p>
It's up on <a target=_blank href=https://www.youtube.com/watch?v=OZzpDOK8PoI&t=1s>YouTube</a> as well, but here's a copy just in case somebody accidentally knocks the YouTube server into a pond.
<p>
<div class=imagecontainer><center><video width=99% controls><source src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/goofs_gdc_talk.mp4 type='video/mp4'></video></center></div>]]></description></item>
<item><title>West of Loathing Post-Mortem</title><link>https://horrible.farm/index.php?id=4</link><guid>https://horrible.farm/index.php?id=4</guid><description><![CDATA[This is one of two talks I did at GDC 2018.  This is the more technical of them, and it's about the tools and processes used in the making of West of Loathing.
<p>
It also exists on <a target=_blank href=https://www.youtube.com/watch?v=htkO6wUCBT8>YouTube</a>, but this copy is in a directory that I know where it is, and it's at a conveniently lower video quality.
<p>
<div class=imagecontainer><center><video width=99% controls><source src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/wol_gdc_talk.mp4 type='video/mp4'></video></center></div>]]></description></item>
<item><title>ENTER The World Of Computers</title><link>https://horrible.farm/index.php?id=5</link><guid>https://horrible.farm/index.php?id=5</guid><description><![CDATA[<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/basictraining.png><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/basictraining.png></a></center></div>
<p>
In the 80s, Children's Television Workshop (the folks who brought us Sesame Street) published a kids' science magazine called 321 Contact.  For a brief period, they included sections from another of their magazines, a computer-focused one called ENTER.
<p>
The subsection included reviews for early PC games, some weird talk radio themed Q&A sections, and most importantly to me, BASIC games you could type in and play.  This stuff was a big part of how I learned to program.  It's also a big factor in why I'm still so mediocre at it, since these were optimized for brevity and legibility, and all of the good programming languages hadn't been invented yet.
<p>
You can find the entire archive of ENTER <a target=_blank href=https://archive.org/details/EnterMagazineVarious/Enter%20Issue%201%20%28October%201983%29/>over on the Internet Archive</a> but at the time of this writing, the 321 Contact selection there is a little spotty.
<p>
A few years ago, I scanned the relevant pages of all of my childhood copies, and merged them with a couple of different archives I found online.
<p>
It's all in <a href=http://images.kingdomofloathing.com/farm/321contact.rar>this RAR file right here</a> -- I don't know how the web works anymore, so you'll need to right-click and Save As.  You can also browse the individual page scans <a target=_blank href=http://321contact.asymmetric.net/>over on asymmetric.net where I originally uploaded them</a>.
]]></description></item>
<item><title>West of Loathing Fantastic Arcade talk</title><link>https://horrible.farm/index.php?id=6</link><guid>https://horrible.farm/index.php?id=6</guid><description><![CDATA[Fantastic Arcade is (was?) a game developer event that t[a]{oo}k[es] place in Austin TX, alongside the Fantastic Fest film festival.
<p>
People are asked to do talks, but they aren't asked to prepare anything, so you end up with a lot of good off-the-cuff development stuff.
<P>
Here is mine from 2016, where I show the backend tools we use to make Kingdom of Loathing and the then as-yet-unreleased West of Loathing.
<p>
<div class=imagecontainer><center><video width=99% controls><source src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/wol_fantastic_arcade_talk.mp4 type='video/mp4'></video></center></div>]]></description></item>
<item><title>Super Mega Comics guest comic</title><link>https://horrible.farm/index.php?id=7</link><guid>https://horrible.farm/index.php?id=7</guid><description><![CDATA[In 2016, I was asked to do a guest comic for this <a target=_blank href=https://www.amazon.com/Super-Mega-Everything-Depressing-Compared/dp/0998870005>collection of Super Mega Comics</a>.
<p>
It was intimidating to try to imitate something as inimitable as <a target=_blank href=https://www.supermegacomics.com/>the original comic</a> but I think I did an okay job of capturing the spirit.
<p>
<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/supermegaguestcomic.png><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/supermegaguestcomic.png></a></center></div>
]]></description></item>
<item><title>Whiskey Tasting Notes</title><link>https://horrible.farm/index.php?id=8</link><guid>https://horrible.farm/index.php?id=8</guid><description><![CDATA[I made these goofy information cards for a whiskey tasting party we threw at the first Asymmetric office space in San Francisco, which we shared with Campo Santo.
<p>
I mostly just wanted to see if anybody would actually read them.  At least one guy did, I think it was a guy named Brad.
<p>
<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/whiskeynotes.png><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/whiskeynotes.png></a></center></div>
]]></description></item>
<item><title>PARSERPENT</title><link>https://horrible.farm/index.php?id=9</link><guid>https://horrible.farm/index.php?id=9</guid><description><![CDATA[<A target=_blank href=https://horrible.farm/games/parserpent/>
<div class=imagecontainer><center><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/game_parserpent.png></center></div>
</a>
<p>
I made this prototype in 2021.  It's Snake, but with the goal of forming words rather than just eating and surviving.  Any metaphorical attributes are purely accidental.
<p>
You can click the image above to play it in a browser.  It doesn't work on mobile devices, sorry.
<p>
It was originally posted <a target=_blank href=https://zapjackson.itch.io/parserpent>on itch.io</a>.  The music is <a target=_blank href=https://www.youtube.com/channel/UCOFrldzxeKGG8fTpN5_d75Q/>No. 9 Ester's Waltz by Esther Abrami</a>.
]]></description></item>
<item><title>First draft of SOL's prologue</title><link>https://horrible.farm/index.php?id=10</link><guid>https://horrible.farm/index.php?id=10</guid><description><![CDATA[In April of 2019, we had a writers' summit in San Francisco to finalize the plot and structure of Shadows Over Loathing before we dove into full-scale content development.
<p>
This was the result of our initial design brainstorming for the prologue.  Long live <a target=_blank href=https://wizardwall.com/>WizardWall</a>.
<p>
<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/sol_prologue1.png><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/sol_prologue1.png></a></center></div>
<p>
<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/sol_prologue2.png><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/sol_prologue2.png></a></center></div>
<p>
The starting bit with the diner wasn't added until much later, but other than some minor tweaks, this ended up being pretty close to what shipped.
]]></description></item>
<item><title>ZapCon 2019 Escape Room</title><link>https://horrible.farm/index.php?id=11</link><guid>https://horrible.farm/index.php?id=11</guid><description><![CDATA[For several years, I helped organize an arcade and pinball convention in Mesa, AZ called <a target=_blank href=http://zapcon.com>ZapCon</a>.
<p>
At the 2019 instance of the show, we had a bunch of extra space to fill, so I put together an escape room, with the help of my friend Jake Rodkin, who had the presence of mind to make this video of me walking through all of the bits of the experience.
<p>
<div class=imagecontainer><center><video width=99% controls><source src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/zapconwalkthru.mp4 type='video/mp4'></video></center></div><P>
(this video was originally posted to <a target=_blank href=https://www.youtube.com/watch?v=AjKCUs2fPf8>YouTube</a>.)
]]></description></item>
<item><title>Ghost Wizard</title><link>https://horrible.farm/index.php?id=12</link><guid>https://horrible.farm/index.php?id=12</guid><description><![CDATA[<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/game_ghostwizard.png><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/game_ghostwizard.png></a></center></div>
<p>
This was my first 7DRL entry, from before I started doing them in a format that anybody would actually play.  It's written in QuickBASIC using the modernized <a target=_blank href=https://qb64.com/>QB64</a> compiler.
<p>
You can <a href=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/ghostwiz.bas>look at the source code</a> or <a href=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/ghostwiz.exe>download the windows executable</a>, though I suspect any modern security conscious browser would throw a fit if you tried the latter.
<p>
I never wrote up a proper postmortem for this one.  I'm happy with certain parts of it, though I think it's overall kind of a slog to actually play.  The world is too big to really move around in, and the resource economy isn't balanced in an interesting way.
<p>
I did the enemies as cellular automata instead of as discrete data objects, mainly because I didn't know how to do it correctly in the language it's written in.  This is mainly only interesting to me because of how much cooler I now know the stuff I made in QB as a kid would've been if I had thought of this technique back then.
<p>
Some of the better ideas (mostly the narrative bits) made it into Spirit Witch, which I will post here eventually.
<p>
Some screenshots:
<p>
<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/game_gwshot1.png><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/game_gwshot1.png></a></center></div>
<p>
<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/game_gwshot2.png><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/game_gwshot2.png></a></center></div>
<p>
<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/game_gwshot3.png><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/game_gwshot3.png></a></center></div>

]]></description></item>
<item><title>Two Words (Pen &amp; Paper)</title><link>https://horrible.farm/index.php?id=14</link><guid>https://horrible.farm/index.php?id=14</guid><description><![CDATA[This was a finalist in the 2016 iteration of the <a target=_blank href=https://200wordrpg.github.io/>200 Word RPG Challenge</a>.
<p>
<font size=-1>
<pre>
Two Words: A Game

Character Creation:                Some Examples:

Choose Class:    Tough Policeman        Arrogant Wizard        Space Scoundrel

Choose Name:     Chet Greaves           Marvolio Malzworth     Krad Stardrifter

Three Traits:    Intimidating Presence  Raven Familiar         Steady Hand
                 Impressive Physique    Staggering Intellect   Charming Grin
(one liability)  Tremendous Appetite    Germ Phobia            Extremely Greedy             
                
Four Skills:     Discover Clue          Control Animals        Pilot Vehicle
                 Detain Suspect         Conjure Fire           Trick Shot
                 Devastating Punch      Become Invisible       Create Disguise
                 Recognize Lie          Comprehend Language    Bypass Lock

Game Master:     Describe Scene.  Present Problems. Adjudicate Actions.  

Trying Things:   Roll d6.               Normal thing?          4+ succeeds.
                                        Relevant Trait?        3+ succeeds.
                                        Using Skill?           3+ succeeds.
                                        Both appropriate?      2+ succeeds.
                                        Difficult Thing?       Add 1.
                                        Relevant Liability?    Add 1.
Sample Session:

    Game Master:                        Krad Stardrifter:

    Space Station. Decaying Orbit.
                                        Business opportunity!
    Docking Bay. No Guards.
                                        Proceed... cautiously.
    Tunnel Forks.
    Left Branch: Well Lit.
    Right Branch: Less So.
                                        Head Right.
    Reinforced Door. Says "Vault."
                                        Locking Mechanism?
    Oh yeah. Expensive one.
                                        Bypass It.
    Roll die. Need... 3.
                                        (rolls die) Got 3.
    Lock beeps.  Door opens.
                                        Big score?
    No treasure. Just guards.
                                        Well, Crap. Pull gun. Shoot quick.
    Need... 3.
                                        Steady Hand?
    Nope -- ambushed.
                                        (sighs loudly) Okay, Fine. Rolled 2.
    Gun Jams.
                                        Dag nabbit. Create disguise?
    Ha ha. Fat chance.
                                        Okay then. Run away!
</pre>
</font>
]]></description></item>
<item><title>West of Loathing Design Doc</title><link>https://horrible.farm/index.php?id=15</link><guid>https://horrible.farm/index.php?id=15</guid><description><![CDATA[<div class=blimagecontainer><center><embed src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/wol_designdoc.pdf width=100% height=900/></center></div>]]></description></item>
<item><title>West of Loathing video interview</title><link>https://horrible.farm/index.php?id=16</link><guid>https://horrible.farm/index.php?id=16</guid><description><![CDATA[Originally posted <a target=_blank href=https://www.youtube.com/watch?v=dZX8lRt9EQc>over here on YouTube</a>.
<p>
<div class=imagecontainer><center><video width=99% controls><source src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/wol_nintendofuse.mp4 type='video/mp4'></video></center></div>]]></description></item>
<item><title>The Encroaching Gloom</title><link>https://horrible.farm/index.php?id=17</link><guid>https://horrible.farm/index.php?id=17</guid><description><![CDATA[<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/7hrl_title.jpg><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/7hrl_title.jpg></a></center></div>
<p>
In 2018 I made a roguelike game in 7 1-hour sprints, using QuickBASIC.  This was before I discovered <a target=_blank href=https://qb64.com/>QB64</a>, so there's not really a good way to play it.  You can <a href=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/7hrl.bas>read the source code</a> if you want, but the GIFs below probably deliver 99% of this thing's value.
<p>
<h1>Hour 1</h1>
<p>
Basic game structure is in place. Status area for showing messages and stats. Player can move around. 4 collectible treasures. Level has an exit, reaching it spawns a new level.
<p>
<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/7hrl_hour1.gif><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/7hrl_hour1.gif></a></center></div>
<P>
<h1>Hour 2</h1>
<p>
Keys and doors. Bombs that you can use to destroy everything near you. Spikes that hurt you. Spreading Gloom that damages you as you walk through it. Heart-shaped healing mushrooms.
<p>
<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/7hrl_hour2.gif><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/7hrl_hour2.gif></a></center></div>
<p>
<h1>Hour 3</h1>
<p>
Level generation. Create a grid of rooms, guarantee a path to the exit. Stamp templated layouts into each room. (Need way more of these.) 
<p>
<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/7hrl_hour3.gif><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/7hrl_hour3.gif></a></center></div>
<p>
<h1>Hour 4</h1>
<p>
Refine level generation. Tear out some walls to create more open space. A bunch more room templates, now reversible. Treasures are worth points now instead of collected. Increasing Gloom spawns as you go deeper. 
<p>
<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/7hrl_hour4.gif><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/7hrl_hour4.gif></a></center></div>
<p>
<h1>Hour 5</h1>
<p>
Bunch of small tweaks. Potions can now be kept and used later. Procgen treasure flavor. Further east = better treasure. Spikes do less damage. New icons for stuff. Polished status area.
<p>
<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/7hrl_hour5.gif><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/7hrl_hour5.gif></a></center></div>
<p>
<h1>Hour 6</h1>
<p>
Title screen and game over screen. Game now has name. High score tracking (stored between sessions.) More room templates. Tweaked level generation for better early Gloom propagation. Playtesting.
<p>
<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/7hrl_hour6.gif><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/7hrl_hour6.gif></a></center></div>
<p>
<h1></h1>
<p>
Because I had never done it before, I decided to spend the last hour figuring out how to <a target=_blank href=https://zapjackson.itch.io/the-encroaching-gloom>publish the game</a> on <a target=_blank href=http://itch.io>itch.io</a>.
<p>
This whole thing was a fun exercise.
]]></description></item>
<item><title>Kingdom of Rogueing</title><link>https://horrible.farm/index.php?id=18</link><guid>https://horrible.farm/index.php?id=18</guid><description><![CDATA[<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/kor_title.png><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/kor_title.png></a></center></div>
<p>
In 2020, I decided to make 20 jam games, and this is one of them -- a standalone game built in the West of Loathing / Shadows Over Loathing engine, made for the 7-Day Roguelike competition.
<p>
It was originally posted <a target=_blank href=https://zapjackson.itch.io/kingdom-of-rogueing>over on itch</a> but in keeping with the spirit of this web page, you can download the <a href=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/kor_windows.zip>Windows</a> or <a href=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/kor_mac.zip>Mac</a> builds of the game from right here.
<p>
What follows is the development diary I kept during the competition.
<p>
<h1>Prior to the beginning of the challenge</h1>
<p>
For a couple of years, Victor (Asymmetric’s Unity programmer) and I had been tossing around the idea of making a standalone build of SWOLE, the Standard West of Loathing Engine, that could load in an arbitrary set of data and assets.  The 7-Day Roguelike Challenge provided a context and a deadline for finally doing it. Victor got it to me several weeks before the start of the challenge.
<p>
When we began production on the next big Loathing game, we focused on moving more and more engine features into the game data.  It’s a subtle distinction when viewed from outside, but the core consequence is that moving features out of the engine and into the data makes them much easier to mess around with, especially for the team members who aren’t fluent in Unity, such as… me.  Things like the title screen, saving and loading games, the combat engine, and animations are no longer housed in the engine, and that means that they can be replaced with whatever we want in any given game, without making significant changes to the Unity application.
<p>
There are still some remnants of West of Loathing specificity in the build I used for the 7DRL.  The “YER STUFF” label in inventory, the horse speed slider, etc -- but we’re picking those off as we go.
<p>
Before the start of the 7DRL challenge, I had:
<p>
<ul>
<li>the standalone SWOLE engine
<li>all of the animations and character models from West of Loathing
<li>the collection of scripts that comprise the combat system
<li>the art assets from West of Loathing
</ul>
<p>
<h1>Day 1</h1>
<p>
I started midway through Sunday, so I really only spent a few hours on it the first day.  I stubbed out the basic progression through the game, [level, level, town, level, level, town, level, level, ending] and got some very rough tech in place for filling rooms with objects.
<p>
I had been messing around with procgen rooms prior to the challenge, and I reconstructed the tech with the needs of this project in mind.  Every single location you visit in Kingdom of Rogueing except the towns is actually the same room, in the data -- it just gets built based on seeded random numbers, and all of the individual elements have tech on them that keeps track of their state if you leave and come back.
<p>
At the end of this stretch of work, I rewarded myself with one of the more fun tasks on my list, which was the building out of the procgen food, booze and potion items.  Because the scope of this thing is big and the time is short, I’m trying to delay gratification on the parts of the work I’m really excited about so I don’t end up spending too much time on minutiae and not enough on core system stuff.
<p>
<h1>Day 2</h1>
<p>
My goal for Monday was to get one area type (the Gulch) fully built out, so I’d know how long it takes.  This ended up being unrealistic, because so much of the underlying scripting for doing basic stuff had to be made alongside the creation of gulch content.  I spent about half a day on basic stuff -- wiring up treasure chests, fights, stat challenges, etc.
<p>
I made a checklist of features that I felt were part of a Minimum Viable Roguelike, and started tackling them one at a time.  Among them were:
<p>
itemization: This is more of a category than a to-do item, but to make progress on it today I built out the system for procgen weapons and made 3 of the game’s 9 eventual weapons.  They’re way less random than most of the other stuff in the game -- the generation script is mostly there to make them more powerful the later in the game they’re found.
<p>
player skills: I wired up the 9 different player skills. This took a lot less time than I thought it would.
<p>
monsters: I figured I could launch the game with 3 different types of monster.  I got most of the way through one set (goblins) and it was quick enough that it made me less stressed out about having enough in place by the end of the week.
<p>
I was pretty burned out on writing code at this point, so I decided to spend an hour making a nice title screen.  I was worried that if I didn’t do it early, it’d get deprioritized and half-assed later.
<p>
Before I went home for the evening, I had a sudden urge to wire up one of the bodyguard characters (the Sauceror) and one of her skills, just as a test case for the whole pardner system.  This wasn’t on the MVR list, I chided myself, but then I told myself that rules were made to be broken, especially rules I made up earlier today.
<p>
<h1>Day 3</h1>
<p>
I had a lot of real-life stuff going on Tuesday, so this was a pretty abbreviated work day.  I filled out the remaining six weapons, wired up all of the familiars’ behavior, finalized the 9 player skills, and added basic versions of the procedural hats and pants.
<p>
I finished up the set of goblins and all of the remaining Gulch content.  So the answer to “how long does it take to make a zone in this game” turned out to be “too long, at least for the first one.”
<p>
<h1>Day 4</h1>
<p>
I decided on Wednesday to do quasi-formalized 2-hour sprints on specific items in the MVR list, and also that the game would be five levels long instead of six, with the goal of having five zone types (even though the MVR only requires three) and letting the player visit each of them every game, but in a different order each time.
<p>
The first sprint was making a new area type, the Mansion.  This actually got done in the two hours -- turns out once the groundwork was laid by all the gulch work, making the content for a second type was much more straightforward.  It was a pretty grueling two hours, but it was satisfying to suddenly have twice as much video game.
<p>
The second sprint was focused on itemization.  I wired up most of the combat items and all of the rings (some of the rings do weird stuff, so these were more work than other item types) and finalized all of the generation scripts for consumables.
<p>
The third sprint was spent making the towns.  By the end of this two hour period, all of the stores were in place, along with the familiar-boosting trough and the bodyguard-for-hire stand.  Now we just need some bodyguards, but what we need even more than that is to go home.
<p>
<h1>Day 5</h1>
<p>
When I’m excited about a project and/or under intense time pressure, there’s some switch that flips in my head that allows me to work with a lot more focus than I normally do, and while it feels good in the moment, it is extremely mentally and physically fatiguing.  Since this was both very exciting and has a rapidly approaching deadline, everything was coming up Milhouse and Milhouse was getting very tired.
<p>
On Thursday I added the Wizard Tower area type.  I think this turned out to be one of the weakest areas in terms of diversity of content, but it was quicker to make than the Mansion, since it really only has one room type with no sub-rooms.
<p>
I also added three additional monster types: demons, skeletons and cans of vegetables.  The vegetables are secretly just the goblin model with a can for the body and no head. You can see the little necks poking through if you look carefully.
<p>
I finished up the 3 bodyguard characters and their skills, and added the ending reward tiers and character creation unlocks associated with various achievements.
<p>
Short of a few minor tweaks, the game was now in Minimum Viable shape for release, which was a relief.  Having another entire day and a half for polish and extra content took some pressure off.
<p>
<h1>Day 6</h1>
<p>
Friday brought the Cemetery and Cave zone types.  The caves, like the Wizard Tower, are a little sparse and could use some love in the future.
<p>
Added one additional monster type (the vampire,) bringing the total for both zones and monsters to 5.  Now that this was done, I could wire up the overall progression through the game such that a given playthrough contained one of each zone and one of each monster type with no repeats.
<p>
I went through a bunch of notes I had left myself and tied up various loose ends, then started playtesting.  The tweaks based on that testing included:
<p>
A big reduction in XP gains.  When I stub out systems I always err on the side of being too generous, and in this case it made it too easy to get all of the skills and robbed the whole system of feeling rewarding.
Changing a lot of sources of potions to be sources of food/booze instead.  They had a tendency to pile up. The overall balance of consumable distribution still definitely needs some work.
Making each area have exactly 3 fights in it.  There were two problems here -- one was that a given run contained too many fights, and they weren’t fun enough to bear that much repetition.  The other was that the number of fights in a given run was pretty random, which meant the amount of Swagger earned was similarly random.
<p>
<h1>Day 7</h1>
<p>
Saturday was another busy day, without a ton of time to work on the 7DRL.  I woke up having thought of an infinite loop state combat could get into if all of the player-controlled characters were defeated with a certain combination of player familiar and enemies, so I added a lame escape valve system where combats automatically resolve in a loss on the eleventh round.  I also added the tattoo stand to the second town, to give players a better Meat->Swagger value proposition than the ending bribe.
<p>
<h1>The Future</h1>
<p>
I’m not really sure what my plans are for KoR.  I keep thinking of things that would be cool to add to it, but I definitely need to prioritize my normal work for a good long time after spending a week’s worth of time and three weeks’ worth of brain juice on this thing.
]]></description></item>
<item><title>RAT13</title><link>https://horrible.farm/index.php?id=19</link><guid>https://horrible.farm/index.php?id=19</guid><description><![CDATA[<A target=_blank href=https://horrible.farm/games/rat13/>
<div class=imagecontainer><center><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/rat13.png></center></div>
</a>
<p>
This was one of my 20 2020 jam games.  You can play it by clicking the image above.  WASD to move, and... that's it.
<p>
It was originally published in February 2020 <a target=_blank href=https://zapjackson.itch.io/rat13>over here on itch.io</a>.
<p>
<h1>Development Post-Mortem</h1>
I had always sort of ignored Bitsy, because it seemed like I’d find its limitations too frustrating.  This is not to knock it, it’s just not built for the kind of stuff I like to make. As I understand it, Bitsy lets you do all kinds of conditional logic inside conversations, but basically none with objects in the world.  An NPC can comment on items you’re carrying or remember having met you before, but as far as I can tell there is no way, in un-hacked Bitsy, to let the player pick up a key that unlocks a door. I think this probably says a lot about the creator’s intentions for the engine.
<p>
When this jam showed up on the itch feed, I thought it might be an interesting challenge to insert the kind of interactivity I prefer into a format that doesn’t really want it.  I’d been thinking of the kind of paper puzzles used in the MIT Mystery Hunt (https://www.mit.edu/~puzzle/) as an example of something that was deeply interactive without actually providing much in the way of affordances.  I decided to make a series of rooms with a bunch of wrong doors and one right door, and a puzzle to solve in each room to learn which was which.  If the wrong doors made you waste a bunch of time backtracking to try again, you’d be incentivized to actually solve the puzzles instead of just brute forcing them.
<p>
The theme (RAT) eventually made rot13 pop into my head, and I decided that each room’s puzzle could just be a simple code.  I didn’t want to limit the audience to puzzle enthusiasts, but I did want to appeal to them. I made the main sequence a series of very simple codes.  A=1 B=2, Morse code, etc. I then concealed a more difficult puzzle in the interstitial spaces, and made that puzzle lead to a secret “good” ending.
<p>
As a kid, I had dreams where I was in a room full of objects, and whenever I would touch one of them an NES-style dialog window would pop up and give me some text about it.  I think it was probably spawned by the weird first-person exploration segments of The Goonies 2. Making the break rooms between the puzzles in RAT13 was some serious accidental deja vu.
]]></description></item>
<item><title>Beyond the Madlib (but just barely)</title><link>https://horrible.farm/index.php?id=20</link><guid>https://horrible.farm/index.php?id=20</guid><description><![CDATA[This is a talk I gave at the inaugural Roguelike Celebration in 2016 in San Francisco.  It's about the use of procedural text generation in Kingdom of Loathing, and how our tools and techniques evolved over time.
<p>
Kingdom of Loathing isn't a roguelike, but I think they were a little bit starved for talks when they were just getting started.
<p>
<div class=imagecontainer><center><video width=99% controls><source src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/roguelike.mp4 type='video/mp4'></video></center></div>]]></description></item>
<item><title>Magicstormer</title><link>https://horrible.farm/index.php?id=21</link><guid>https://horrible.farm/index.php?id=21</guid><description><![CDATA[This barely counts as "a thing I made," but I like it, so I'm posting it.
<p>
At some point I stumbled across <a target=_blank href=https://renaissancewoodsman.wordpress.com/2020/07/10/magic-the-trading-card-roleplaying-game/>this pen-and-paper RPG</a> that used random Magic cards as elements.  It linked to the <a target=_blank href=https://scryfall.com/>Scryfall</a> database, which has a really powerful query system.
<p>
Using that, I put together
<p>
<center><Font size=+2><a target=_blank href=http://magicstormer.asymmetric.net/>The Magicstormer</a></font></center>
<p>
It uses frames (which remain, to this day, a fantastic technology with an absolutely undeserved bad reputation) to display random cards of a selected type or mana color.
<p>
I used this tool a lot while working on the combat parts of Shadows Over Loathing.  I'd find myself with a pile of a dozen monsters I needed to come up with distinct combat abilities for, and if I got stuck on one, it usually only took two or three draws from the deck to plant the seed of an idea and get me unstuck.
]]></description></item>
<item><title>Nebula Jalopy</title><link>https://horrible.farm/index.php?id=22</link><guid>https://horrible.farm/index.php?id=22</guid><description><![CDATA[<a href=/games/nebulajalopy>
<div class=imagecontainer><center><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/nebulajalopy.png></center></div>
</a>
<p>
This is one of my least favorite of the 20 jam games I made in 2020.  You can click that picture up there to play it, or see it in its <a target=_blank href=https://zapjackson.itch.io/nebula-jalopy>original context on itch.io</a>.
<p>
It was more interesting as a programming challenge than it is as a game, I think.  Looking at it now, I probably should have cranked up the intensity of the ship reconfiguration stuff by like 3x, since that's the only actual interesting thing happening.
<p>
<h1>Original devlog/postmortem post:</h1>
<p>
The Dream Arcade Archive jam seemed like a good excuse to make a pure arcade action game.  I didn’t use the entirety of the time -- I didn’t really feel like the project deserved a week’s worth of time stolen from my core work projects.
<p>
I didn’t explore any fundamental new code or web development concepts, but the idea I had was a little more challenging than usual from a programming standpoint.  I took the permanent particle concept from Haywire Island and made a spaceship out of parts that could be parented to other parts with specified X and Y offsets.  This let me randomly move and resize multi-part segments of the ship on the fly, which I thought would be funny and also add some randomness to the level of bullet-dodging challenge.
<p>
The bullet patterns are pure RNG, and I know this probably isn’t the most satisfying way to do it, but googling stuff about Javascript already exposes me to a lot more righteously-framed advice than I can really tolerate.  I had no interest in diving into threads of shmup orthodoxy.
<p>
I’m very happy with the way the nebula effect turned out.  I re-purposed a trick I learned from some Dwitter post years ago -- not this one (<a target=_blank href=https://www.dwitter.net/d/9906>https://www.dwitter.net/d/9906</a>) but an earlier, similar one I can’t find now.  It uses offset canvas redraws to make really nice organic-looking color smears.  There’s a hidden canvas where the nebula is being generated and drawn at much a lower resolution, and every frame a slice of it is blown up to display in the main game window.
<p>
I made a single sound effect using BFXR, which is a nice tool if you want your video game to sound like a video game.  I learned about the archive YouTube maintains of songs and SFX that are available to use for videos (<A target=_blank href=https://www.youtube.com/audiolibrary/>https://www.youtube.com/audiolibrary/</a>) and grabbed a suitably synthy track to use as background music.  I’ve got to find a way to get myself more interested in the audio for these things.
]]></description></item>
<item><title>Hangmagus</title><link>https://horrible.farm/index.php?id=23</link><guid>https://horrible.farm/index.php?id=23</guid><description><![CDATA[<a href=/games/hangmagus/>
<div class=imagecontainer><center><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/hangmagus.png></center></div>
</a>
<p>
This is another one of my 20 jam games from 2020, and I think it's one of the most interesting of the batch.  You can click the image above to play a copy here, or <a target=_blank href=https://zapjackson.itch.io/hangmagus>on itch.io</a> where I originally published it.
<p>
I still sort of want to revisit this project at some point and improve the word selection at higher difficulties.
<p>
<h1>Original devlog/postmortem:</h1>
<p>
The description of this jam included this video about Hangman:  <a target=_blank href=https://youtu.be/le5uGqHKll8>https://youtu.be/le5uGqHKll8</a>  As of the time of this writing, the only other entries to the jam are pen and paper games, which might be what the jam was about.  I dunno.  It said to make the Hangman that you find inside yourself, and mine was a video game that had a wizard in it.
<p>
I liked the idea of spells becoming available as the body parts became visible on the gallows.  My hope was that it would be strategically interesting to decide when to use the spells based on your progress with the current word.  I don’t think I really got there -- most of the insane high scores people showed me were done without using the spells at all.
<p>
I used a list of the 10,000 most common English words (from some random Russian school website) and wrote this function to determine the hangman difficulty of a given word.
<p>
difficulty = (100 - the number of unique letters in the word times 8) -2 for each of RSTLNE that it contains and +2 for each of JXQZKV.
<p>
The first word it gives you is somewhere between difficulty 0 and 10, the second is between 5 and 15, the third between 10 and 20 and so on until it stops increasing at 70-80.  Apparently there were only a handful of words in the set between 70 and 80, which meant the game eventually gets trivially easy.  If I had had more time…  by which I mean if I had decided to spend more time on it, it would’ve been worth it to do some analytics on the word set and maybe alter the difficulty bands a little.
<p>
I published it without adding any sound, which feels cheap, but I just couldn’t muster up the enthusiasm for it.  I’m starting to feel my typical end-of-the-year pressure with day job stuff, and I’m still four jams short of my original goal.  Expect some very small games in the near future.
]]></description></item>
<item><title>DECURSOR</title><link>https://horrible.farm/index.php?id=24</link><guid>https://horrible.farm/index.php?id=24</guid><description><![CDATA[<a href=/games/decursor/>
<div class=imagecontainer><center><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/decursor.png></center></div>
</a>
<p>
Another of my 20 2020 jam games.  I like this one.  As usual, click above to play, or check it out <a target=_blank href=https://zapjackson.itch.io/decursor>on itch.io where it was originally posted</a>.
<p>
<h1>Original devlog/postmortem</h1>
<p>
I stumbled onto Kenney Jam 2020 on itch's list of upcoming jams.  Its constraint is that the games must use assets made by someone I assume is named Kenney.  I took a look, and what jumped out at me was a set of generic icons - arrows, play/rewind/stop, joysticks and controller buttons, that kind of thing.  I spent some time background-mulling a vague idea for a puzzle game where each level was a grid of glyphs that each did a different thing when activated.
<p>
The theme (CURSED) was announced.  It didn’t really change anything, it just provided a prompt for the flavor, which I was glad to have -- the mechanics didn’t immediately lend themselves to anything I felt like I could write about in a funny way.
<p>
Even though I think of them as lasting two days, MiniJams are actually three days each, which means I had significantly less time to work on this one.  I got the grid (5x5 with one surrounding layer of gutter tiles) and most of the glyph types working in a basic way in a couple of hours on Friday afternoon.  I foolishly decided that I could save time if I also used that 7x7 structure as the level select screen.  I thus created a situation where, in my spare time on Saturday, I had to wire up all of the progression and top-level UI stuff and design FORTY NINE levels.  Really just 42, I guess, since 7 of them are demonstrations of glyphs, but still.  Too many.
<p>
Of all of my 2020 jame games so far, I think this is the one that is the most unlike anything I’ve made before.  It is also very clear to me that I wasn’t a strong enough programmer at the beginning of the year to have been able to make this work in such a short span of time.  That feels pretty good.
<p>
The levels are full of unintended shortcut solutions, and they’re almost certainly too easy across the board.  I’m hoping Kevin will get excited about helping me make some harder puzzles for a 1.1 version.  It could also use some sound and a little more visual polish.  I also intended to play with making proc-gen puzzles by running the glyph logic backwards, but I didn’t have time to even try that.  It’s remarkable how much more time constrained this felt than all of the MiniJams.  1.1 days is a lot less than 2.1 days.
]]></description></item>
<item><title>Spirit Witch</title><link>https://horrible.farm/index.php?id=25</link><guid>https://horrible.farm/index.php?id=25</guid><description><![CDATA[<a href=/games/spiritwitch>
<div class=imagecontainer><center><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/spiritwitch.png></center></div>
</a>
<p>
Another of the 20 2020 games.  This was a two-week jam, and the scope of the game really reflects the additional time.
<p>
You can play it by clicking the image up there, or <a target=_blank href=https://zapjackson.itch.io/spirit-witch>see it on itch.io</a>.
<p>
In retrospect, I'm really pleased with how this one turned out.  With some incremental improvements to various systems, I think this could be a totally serviceable metroidvania -- one that I'd enjoy playing if somebody else had made it.
<p>
<h1>Original devlog / postmortem post</h1>
<p>
This was made for LOWREZJAM 2020.  The theme suggestions were all optional (and I ignored them) but the basic requirement was to make a game at a resolution of 64x64.  I didn’t really have a compelling game idea going in, so I decided to do a quasi-remake of Ghost Wizard as an action game.
<p>
It occurred to me that if I just made the game happen on one big canvas, I could have a “camera” centered on the player that got projected out at 64x64.  I started with a bunch of the Cy Gerber tech, so it didn’t take too long to get a foundation in place.  The world gets built out of tiles, but the tiles can be arbitrary sizes and don’t actually need to be fixed to a grid.
<p>
I don’t think that making decent pixel art is totally beyond me, but I didn’t want to spend the time trying to make good sprites for this.  I had been thinking about giving the player a power-up that expanded the field of view, effectively pulling the camera back to a wider view, and this gave me the idea to have the 64x64 display window not fixed to a 64x64 segment of the main playfield.  This made the pixel art look a lot less sterile.  I made the camera constantly wobble in and out a little bit to enhance the effect.
<p>
I initially felt like adding this weird blur to cover up my bad pixel art was a copout, but I got over it by just declaring that it was a style choice.  I came to think of it like being a mediocre guitarist and making up for it up by playing really loud and with a lot of distortion.
<p>
One of these days I want to make a straight up twin stick arcade shooter, and adding the sword mechanic allowed me to get some practice for that.  It also created an obligation to make a bunch of distinct enemy types, which was a fun challenge.  I could probably have stood to make it quite a bit harder, but it feels like a game that’s more about exploration than execution.
<p>
I learned that most modern browsers have built-in text-to-speech, and since I figured displaying text at this resolution would be a pain in the ass (which it is) I decided to make liberal use of it.  I’m happy with how it turned out -- it let me make the kind of text-heavy thing I like to make without forcing the player to read in the middle of an action game.  I really like the effect of the voice slowing down and getting lower in pitch over the course of play.
<p>
The sound effects are nothing to write home about, just some bfxr-generated stuff with some reverb effects added.  For the soundtrack I found an already-slow song in Youtube’s free audio library and rendered it at ¼ speed.  I like the effect of that -- it reminds me of the ambience of Star Control 2 a little bit.
<p>
Two weeks is too long for one of these.  If I do another two week jam I think I’m just gonna pretend it’s a two day jam.  I can’t have these things interfering with my day job for so long, and there were multiple points where this one kinda felt like a chore.  There was one point where a voice in my head said “when you were younger, this is the exact moment at which you would have abandoned this project.”  If nothing else, this whole enterprise is an exercise in discipline.
]]></description></item>
<item><title>Spider Dungeon Spider</title><link>https://horrible.farm/index.php?id=26</link><guid>https://horrible.farm/index.php?id=26</guid><description><![CDATA[<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/spider.png><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/spider.png></a></center></div>
<p>
This was the first of the 20 jam games I made in 2020.  It's another <A href=http:qb64.com>QB64</a> project.  You can <a href=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/spider.bas>look at the BASIC source code</a> or <a href=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/spider.exe>try to convince your browser to let you download the Windows executable</a> if you'd like to play it.
<p>
<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/spider_screenshot.png><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/spider_screenshot.png></a></center></div>
<p>
I like the idea of it, but I don't think I executed on it particularly well.  Fortunately, it was in a format that made it so almost nobody played it.
<p>
<h1>Original devlog / postmortem post</h1> (uncharacteristically long)
<p>
After making my 7-hour Roguelike in 2018 and finally participating in the 7-Day Roguelike competition in 2019, I decided that I’d try doing a few random game jams in 2020.  Not a New Year’s resolution, precisely, just something I’d always wanted to do but never made the time for.
<p>
I kept forgetting to unsubscribe from an itch.io e-mail newsletter that lists jams, and one showed up that featured MiniJam #45 with the theme of “DUNGEON.”  I got excited, because I like dungeons. Dungeons are way better than dragons, I’ve always said. I didn’t have a particular game idea in mind, I figured I’d just do another turn-based QuickBASIC thing to get back in the habit of quickly starting and finishing something.
<p>
The way MiniJam works is that the theme is announced weeks ahead of time, but when the jam starts an additional constraint is revealed.  Something like “mouse input only” or “has to use the CGA palette.” This time it was “pocket-sized,” and described as being more open to interpretation than usual.  The limitation was announced at 9pm, so I slept on it, and woke up with the idea for SDS more or less fully formed.
<p>
The premise is that you’re a spider, crawling around on a Game Boy, using its controls to play a simple dungeon crawl game.  There’s a hunger meter that you have to refill by eating flies that land on the Game Boy, but that requires you to move away from the controls, which puts your avatar in danger. The dungeon crawl game is just a small scale grid-based, turn-based treasure hunt in a series of nominally procgen rooms.
<p>
Balance requirements emerged -- monsters had to respawn (and HP had to tick down, Gauntlet-style,) in the interior game or you could just leave the avatar in a safe spot while you went and filled up on flies.  I added between-level confirmation screens so you’d have to go to the more distant A button more regularly, but realized that I needed to stop new flies from landing while the interior game was effectively paused.  This isn’t communicated.
<p>
I’ve found it hard, historically, to design systems that are intrinsically interesting like the ones in games I like to play.  I’m too in love with the feeling of a sword that gives you +3 to your Strength stat to ever do anything particularly innovative.  So instead, I’ve either made games that a) rely primarily on tons of entertaining content, or b) have systems so big and messy that interesting interactions emerge accidentally.
<p>
Type a) didn’t feel like a good fit for this, so I figured I’d try to force out a b) in a short timeframe.  Instead of having one big system that piles up against itself, though, this one has two systems that I hoped would multiply against one another.
<p>
I’d been playing a bunch of Hearthstone’s Battlegrounds mode, which is their answer to DOTA Autochess.  Battlegrounds is essentially two games, a card drafting one and one that plays itself. Neither of them is all that complex, but their intersection is compelling.
<p>
I guess the same thing is true of poker.  There’s the card game, which is math+randomness, and the betting game, which is math+psychology.  The intersection of two simple things creates a hugely complex and appealing and enduring gestalt.
<p>
Anyway, SPIDER DUNGEON SPIDER didn’t do any of that.  I just wanted to try making a game that was larger by virtue of multiplying two small games instead of perpetually adding to one.
<p>
Watching the submissions get judged was illuminating.  There were a handful of people who, like me, played and rated basically every game in the jam.  Those people commented on SDS, mostly surprised that it was written in BASIC. The submissions that were web-playable got 5x as many ratings and plays as the download-only ones.  Downloading an executable becomes a bigger ask with every passing browser version. I suppose I should be grateful to the QB64 folks that it’s still even possible to write a game in a 35-year-old language and get it running on 2020 hardware.  For the purposes of these jams, though, it’s probably time to stop being afraid of Javascript.
]]></description></item>
<item><title>Just Ice, Exclaimed the Sorcerer</title><link>https://horrible.farm/index.php?id=27</link><guid>https://horrible.farm/index.php?id=27</guid><description><![CDATA[<A href=/games/justice/>
<div class=imagecontainer><center><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/justice.png></center></div>
</a>
<p>
Another early jam game from 2020.  This is the first one I made in Javascript, before I had built up much of a code library.  You can click the title up there to play it, or <a target=_blank href=https://zapjackson.itch.io/just-ice-exclaimed-the-sorcerer>on itch.io where it was first published</a>.
<p>
<h1>Original devlog / postmortem:</h1>
<p>
I found the scale and magnitude of MiniJam 45 very comfortable, so I preemptively signed up for the next one.  The theme was JUSTICE. I, like many of the other participants, thought “Oh ho ho! Justice can be split into two words, JUST and ICE!  How droll!” I mostly don’t want to make games that don’t have wizards in them, and ICE felt more like a wizard thing than, like, jurisprudence.
<p>
Unlike the MiniJam 45 game, I spent a week or so percolating on it and had a pretty good idea of what I wanted to do before the additional constraint was announced.  Luckily, it was “the game can only use 5 colors,” and I don’t find that having a limited color palette cramps my style in the slightest.
<p>
I set out to make a clicker game with finite scope and a little bit of a resource management / optimization puzzle built into it.  I always liked the part of Civilization 1 where you build extra walls and towers onto your castle as a reward for progress, and I wanted to evoke that.  I guess it ended up being more like the town management parts of the Heroes of Might and Magic games.
<p>
My other goal was to become more comfortable with Javascript, which is a desire that constantly gnaws at me like an unfinished homework assignment.  It’s just similar enough to languages I’m comfortable with to be extremely frustrating when stuff doesn’t work. Online documentation for it spans 20+ years and a million different frameworks for turning a basic web page into a 40-megabyte trash monster.
<p>
Anyway.  Over the last couple of years I spent some time messing around with Dwitter (<a target=_blank href=http://dwitter.net>http://dwitter.net</a>) so I had some basic facility with getting graphics onto a CANVAS element.  It worked out okay -- I think I’ll try using Javascript again the next time I’m doing a non-engine-specific jam.
<p>
I feel slightly weird about asking people to playtest these indulgent personal projects on such a short timeframe, and I knew I wasn’t going to be able to take the time to do enough of it myself, so I built it with automated testing in mind -- I wrote a routine to play through the game over and over again, making weighted random action choices, and logged the results.  I tweaked values until this resulted in a nice range of scores. I never saw the bot get a perfect score, so I shipped it without being entirely sure it was possible to score 100%. A guy on Twitter sent me a screenshot of having done it, though, so apparently it is!
<p>
I had to re-publish once because I’m incapable of spelling SORCERER correctly on the first try.  It’s just so much more intimidating and cool when it ends with OR!
]]></description></item>
<item><title>Extremely Online</title><link>https://horrible.farm/index.php?id=28</link><guid>https://horrible.farm/index.php?id=28</guid><description><![CDATA[<a href=/games/extremelyonline/>
<div class=imagecontainer><center><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/extremelyonline.png></center></div>
</a>
<p>
Another of my 2020 jam games.  This one's pretty cool, I think.  You can click the picture up there to play it, or see it <a target=_blank href=https://zapjackson.itch.io/extremely-online>over on itch.io</a> where it was originally published.
<p>
<h1>Original devlog / postmortem post:</h1>
<p>
Another MiniJam entry, and the last-minute limitation almost hoisted me this time.  Maybe I should just stop reading the themes ahead of time, so I don’t get married to an idea in my head and then have to shift gears when the jam starts.  That said, the point of this whole exercise, if there is one, is to make a bunch of games, not to follow a bunch of rules. The constraints are tools, not supervisors.
<p>
Anyway.  The theme was “Internet.”  I have extremely fond memories of first getting online in the early 90s.  My first experience of the Internet was also my first exposure to the UNIX command line, and I had to learn by just randomly trying stuff.  “mail” seems like it should be something. Hey, turns out this is how you do e-mail. At some point I tried every single letter command in sequence, and I learned you could type “w” to see a list of other users on the system and what commands they were running.  This broke it wide open. I saw people using archie, and gopher, and a newsreader, and a randomly named executable in a temporary directory that was secretly a copy of the IRC client, which the sysadmins couldn’t officially install. I wanted to make a game that included that “w” moment.
<p>
I was thinking about the kinds of programming I’m comfortable doing, to try to figure out how to best get outside of that mindset.  BASIC, PHP, the internal scripting language for the Loathing games -- the thing they all have in common is that they are essentially turn-based.  The states are “present output” and “wait for input.” This is also the kind of game I like to make, I guess, but who can say which direction that causality flows.  (NOTE:  The scripting language in the West of Loathing engine is NOT actually limited to this kind of behavior, it's just the kind I use it for most of the time.)
<p>
I knew I wanted to use Javascript, because I want to keep stepping on that thumbtack until I get used to it.  Javascript, like most modern languages and engines, assumes you want things happening in real time, not the call-and-response mode I’m used to.  I had the idea to split the difference -- a game where you issue commands one at a time and seeing the results, but one where stuff is also happening in real time because there are other agents besides the player.  Like a MUD, or… a multi-user UNIX environment in 1993.
<p>
Just Ice was turn-based in its gameplay, but the display happened in real time so I could animate the fairies and orrery bits in script.  There was no reason stuff couldn’t have been happening on its own, there. This game has a similar loop where it just draws whatever is supposed to be on the screen 10 times a second, and autonomous processes collect player input and the actions of AI agents.
<p>
I had always assumed, for some reason, that it would be impractical to include a comprehensive(ish) English wordlist in a Javascript program, but I tried it and… it was fine?  Not sure what that hangup was. This allowed me to turn the hacking and social media elements of Extremely Online into word-based minigames. (Side note: How the hell does Javascript not have a built-in function to tell you whether a value appears in an array or not?  Christ.) I also tracked down some of Chris Moyer’s code from a previous project, a JS implementation of a basic version of our madlib system for generating procedural text. This will come in handy in future jams.
<p>
The last-minute limitation of the jam was “everything dies in one hit,” which I kinda assumed I’d have to just ignore since the game I was planning had nothing in it to kill.  That limitation gave me the idea for the ads, though, which I think turned out pretty cool and funny.
<p>
I don’t care too much about the ratings these games get in the jams -- I know this stuff isn’t going to be broadly appealing.  That said, I did get annoyed with myself when Just Ice got a zero in the sound category, on account of having no sound. Fair enough, judges.  I don’t really enjoy doing sound design, so I decided I would spend exactly one hour on it for this project. Deciding that the kid using this computer had installed a pirated NES sound pack made it way easier to steal assets.  I mean easier to source assets.
<p>
I do feel like I’m getting more comfortable with Javascript. I spent less time banging my head against basic syntax stuff this time around.  Maybe next time I’ll force myself to learn how objects work.
]]></description></item>
<item><title>Haywire Island</title><link>https://horrible.farm/index.php?id=29</link><guid>https://horrible.farm/index.php?id=29</guid><description><![CDATA[<a href=/games/haywireisland/>
<div class=imagecontainer><center><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/haywireisland.png></center></div>
</a>
<p>
Another of the 2020 20.  I used this one as an opportunity to learn how to capture mouse events in JS games.  As usual, click the picture up there to play it, or check it out <a target=_blank href=https://zapjackson.itch.io/haywire-island>on itch.io</a> where it was published first.
<p>
I think the game is fun, but I definitely made the experience a little bit user-hostile with the glitchy stuff and the soundtrack.
<p>
<h1>Original devlog / postmortem:</h1>
<p>
After waiting out a bit of jam fatigue brought on by the hyper-focus of the 7-Day Roguelike challenge, I hopped back into another MiniJam.  The theme was Islands, and the limitation was that there could only be one level. Once again, the limitation didn’t have a significant effect on the idea I had been percolating for a few days based on the theme.
<p>
My jam games prior to this had mostly been keyboard-controlled, and I wanted to try something mouse-driven.  I had never made a tile-placing puzzle-type game before, and the theme of Islands made me think of Islanders, which made me decide to do an extremely simplified 2D version of that concept -- item placement where each item’s score is dependent on what items are adjacent to where you place it.
<p>
I did an experiment a few weeks ago with the goal of learning how to use objects in JavaScript.  I made a rudimentary particle system that could arbitrarily spawn rectangle objects, run behaviors (movement, color change, etc.) on them every frame, and then destroy them when they expired.
<p>
I wanted this game to use some of that tech, and it occurred to me that in a sense, a static pixel is just a particle that doesn’t move or expire.  That gave me the idea of randomly glitching out parts of the display over time, taking what used to be static visual elements and making them move or disappear, or change size or appearance.
<p>
I didn’t end up using as much of the 72-hour period as I normally do during MiniJams, because the basic game loop came together very quickly.  I wouldn’t yet say that I’m getting good at JavaScript yet, but I can say that I am waaaaaay more comfortable in it than I was at the start of 2020.
<p>
As I make more of these things, I’m noticing that some of them are more fun for me to play than others.  This one ranks pretty highly in that regard -- I think it’s the combination of two factors:
<p>
1) The game is not super content-driven, but rather a system-driven score chase with a lot of randomness to deal with.
<p>
2) The glitch effect produces things that are surprising and funny.
<p>
The music was a fun experiment, although I don’t know if it’s quite interesting enough to make up for how annoying it can be.  My natural inclination would be to not put sound in these jam games at all, but MiniJam having sound as a ranking category is providing some external pressure against that.  I was irritated by this at first, but I was ultimately forced to ask myself why I’m doing these jams at all, if not for the sake of external pressure.
<p>
I found a simple synth library made for the JS13k competition (which I am now really looking forward to participating in this year) and used it to build a system to procedurally generate music.  It’s pretty samey from iteration to iteration, but I’m fairly happy with how comparatively listenable it turned out to be. I think if I spend a couple of hours messing with its parameters to make it sound a little less tinny, I could probably use it to add a (much sparser and more restrained) soundtrack to something in the future.
]]></description></item>
<item><title>Spooky Mountain</title><link>https://horrible.farm/index.php?id=30</link><guid>https://horrible.farm/index.php?id=30</guid><description><![CDATA[<a href=/games/spookymountain/>
<div class=imagecontainer><center><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/spookymountain.png></center></div>
</a>
<p>
This was one of the better 2020 games I made, I think.  You can click up there to play it, or see it in <a target=_blank href=https://zapjackson.itch.io/spooky-mountain>its original context on itch.io</a>.
<p>
<h1>Original devlog / postmortem:</h1>
<p>
Spooky Mountain Breakdown:
<p>
MiniJam #52.  The theme was “Summit.”  When the jam started, the revealed limitation was that the game could only use WASD or the arrow keys as inputs.
<p>
I knew what kind of game I wanted to make, going in -- a turn-based game with a small number of stats and choose-your-own-adventure style progress through a sparsely-written story.  A lot of the stuff I make works like this -- I realized in thinking about it that most of my games could be described as “genre fiction finite-state machines.” It was unlikely that the theme would force me to change my plans, since I could work a bunch of fantastical prose into basically any setting.
<p>
The limitation, however, wound up making this game different and better than what I was expecting.  Forcing me to think of the choices as four distinct categories of thing that were thematically linked regardless of the current circumstances made it much easier to come up with a structure and fill it in with content.
<p>
I wanted it to look better than my stuff normally does, so I spent a good chunk of the first day working on the layout and presentation.  I think it worked out okay, that sore thumb of a paperclip notwithstanding. At the end of the first day I had the basic systems in place and more or less looking the way they did at the end.
<p>
I also wanted to do something that used Javascript’s weird thing where a function can be assigned to a variable.  I guess it’s not that weird, as programming concepts go, it’s just a thing I think of as being beyond me because I’m not a strong programmer.  I’ve been trying to use these games to learn specific things that have been confusing to me in the past, and this was one of them. Chris Moyer helped me understand the syntax, and I was able to use it to embed most of the game progression logic in the same data set that contained the text content.  This made it a lot easier to build the content.
<p>
I’d been playing a ton of the Arkham Horror card game from Fantasy Flight.  It’s designed to support solo play, which works well in a quarantine. You build a deck and play through campaigns made up of sets of scenario cards.  It’s true to the Lovecraft source material -- it’s thematically bleak and difficult to win. The thing I find the most interesting about it is the way it supports player stories.  I like board games where players can bring light role-playing or storytelling elements to the table -- Betrayal at House on the Hill is pretty good for that, and I think it’s the most compelling thing about Gloom.
<p>
Arkham Horror does something really clever with its events -- the narrative content of a given bad thing that happens to you is usually just a couple of words.  “Crypt Chill” makes you discard an asset, and assets can be guns, or allies, or training you’ve received. When this event happens, it prompts you to imagine why you lost this particular thing, in this particular place, because of the cold.  Playing it alone eliminates the self-consciousness I would normally have about off-the-cuff storytelling, and really makes the whole thing feel like a solo pen-and-paper RPG.
<p>
I’m still mulling over how you’d make a video game that was mostly about this feeling, so Arkham Horror’s influence on this game was more thematic than structural.  Although I did basically copy the four stats across directly from the card game, replacing its Will with Heart because that meant there was a reason for it to be on the left side.
<p>
I’m trying not to lean on content-heavy games for these jams, but I figured it’d be okay in this case because the content is all very short sentences, and I can crank out that kind of writing pretty quickly and with fairly even quality.  In my experience, spooky stuff works better when it’s short, and leaves more room to absorb fear from the reader’s imagination. That fear is better for them than the writer’s fear would be.
<p>
I still wound up procrastinating finishing the writing.  This is the first time that has happened on one of these jam games -- I’m usually pretty excited about it for the duration.  I think this is because the balance of the work was tilted so far towards the content side, and a few hours spent writing content isn’t as much fun as the first few hours of programming on a new project is.  I should keep this in mind for future jams.
]]></description></item>
<item><title>Cy Gerber, Cyber Burglar</title><link>https://horrible.farm/index.php?id=31</link><guid>https://horrible.farm/index.php?id=31</guid><description><![CDATA[<a href=/games/cygerber/>
<div class=imagecontainer><center><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/cygerber.png></center></div>
</a>
<p>
This is one of my favorites of the 20 jam games I made in 2020.  In retrospect, this project was the source of a huge amount of the code library I built up over time while making these things.  The basic player movement and collision code from here got reused over and over, and laid the groundwork for Pogue Thacker, my 7DRL entry from the following year.  As usual, click the picture up there to play it, or <a target=_blank href=https://zapjackson.itch.io/cy-gerber-cyber-burglar>visit it in its original context on itch.io</a>.
<p>
<h1>Original post-post-mortem post:</h1>
<p>
(This is me from 2020, not me from 2023 when this is being posted to Horrible Farm.)
<p>
Apparently I forgot to write a post-mortem for this one at the time, so I’m backfilling this from memory.  Another action game, but without any of the goofy gimmicks of the previous couple.  It uses the collision detection stuff I learned in making Nebula Jalopy, and I think it does so in an extremely inefficient way, which makes its performance really bad on certain browser/OS combinations.  I need to learn how to use the Javascript profiler in Chrome.  I’m certain I could make the code more efficient, I just don’t know which code is the actual problem.
<p>
EDIT:  Chris Moyer taught me some basic stuff about the profiler, and I learned that the performance problems were not collision related, but more or less entirely due to drawing the walls every frame.  This is apparently mostly due to having shadow blur applied to them, which is also the thing that makes them look hella cool.  This is way worse on other peoples’ computers than it is on mine -- probably a video card issue.  I might revisit this and try to figure out a way to make it work better, but it’s gonna be tricky if I can’t actually get it to perform badly.  Maybe my old laptop.
<p>
EDIT EDIT: I patched it, and now it performs way better.
<p>
The jam theme was “Stealth.”  I liked the idea of spotlights as enemies for scope and laziness reasons, because they don’t have to be constrained by walls, and they don’t really need to consist of anything other than a shape.  If you get caught by one, it starts a sweep of red static that wipes out the screen, and you have to escape before it catches up with you.  This is stolen from a part of Tron 2.0 I really liked, where you were in a system that was being formatted, and the deletion of your environment was presented as a red wall that ate the level.
<p>
I’m pleased with the way the procedural level generation turned out.  I tried a slightly different approach than I usually use -- instead of an algorithm that guarantees a traversable level, this one makes a much more random level and then checks whether or not it’s traversable.  If it finds that the exit is blocked, it tries again.  It also ensures that the levels have a certain amount of space blocked off.  Putting all the treasures in those inaccessible spaces serves the whole key/wall destruction mechanic.
<p>
Incidentally, walls are destroyed with keys instead of bombs because the jam’s last-minute limitation was “no violence,” and I wasn’t sure if bombs counted as violence or not.
<p>
I found this one pretty fun to play.  Again, I think the combination of a score chase and procedural scenarios is what made the difference there.  It’s probably too easy for younger people with better reflexes, but I found that it was tuned well for me.  It felt challenging but not impossible to get the maximum score on a run.
]]></description></item>
<item><title>Billy Basement</title><link>https://horrible.farm/index.php?id=32</link><guid>https://horrible.farm/index.php?id=32</guid><description><![CDATA[<a href=/games/billybasement/>
<div class=imagecontainer><center><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/billybasement.png></center></div>
</a>
<p>
Another of the 2020 20.  I like this one.  You can play it by clicking up there, or check it out <a target=_blank href=https://zapjackson.itch.io/billy-basement>check it out on itch.io</a>.
<p>
<h1>Original devlog / postmortem:</h1>
<p>
The theme of this jam was “Underground” and the last-minute limitation was that the game had to take place in a single room.  I’m not sure Basement Billy really obeys that limitation.  I’m also not sure if the name is Billy Basement or Basement Billy, because I can’t seem to type it the same way twice in a row.  I am sure, though, that the five people who recognize the “Cellar William’s” reference will find it very amusing.
<p>
For a while, I’ve wanted to make a top down adventure game - something where you just move around a tile-based environment and interact with different objects and read little blurbs and solve really lightweight puzzles and don’t fight anything.
<p>
This is the first time I’ve done a grid-based game where the player sprite actually traverses the screen space between grid spaces, and I think this makes a really outsized difference in how it feels to play.  For everything other than the walls, I used sprites from an asset pack that was in that huge itch bundle. It came with walk cycle sprite sheets, so I gave that a try.  I don’t think I did an amazing job of wiring them in, but it’s acceptable.
<p>
The theme suggested a digging/mining system, which I think adds a compelling mechanical layer to what could otherwise just be a bitsy game.  I also think that adding multiple endings made it more enticing to play, but this is one of those content-driven games that I can’t really experience as a player, so I’m just basing this on the feelings of an imaginary copy of me.  My, aren’t you handsome.
<p>
I’m very happy with the way this one turned out.  There’s a part of me that aspires to one day make something as perfect as Don’t Shit Your Pants, and this might be the closest I’ve ever gotten to achieving that goal. Let’s call it 10%.
<p>
Adding the endings and a handful of little hidden interactions reminded me of the secrets I built into Ghost Wizard, my 2019 7-Day Roguelike.  I think there is a much better game hidden inside that game, and Billy makes me think that maybe it’s as simple as the better game having an authored environment and no fighting.
]]></description></item>
<item><title>OREAKBUT</title><link>https://horrible.farm/index.php?id=33</link><guid>https://horrible.farm/index.php?id=33</guid><description><![CDATA[<a href=/games/OREAKBUT/>
<div class=imagecontainer><center><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/oreakbut.png></center></div>
</a>
<p>
One of the smallest of my 20 2020 jam games, but it still makes me smile.  Click the image up there to play, or see it in <a target=_blank href=https://zapjackson.itch.io/oreakbut>its original context on itch.io</a>.
<p>
<h1>Original devlog / postmortem:</h1>
<p>
This was another case where I sought out a jam to suit an idea I had, and just fully ignored the theme, which was “COG.”  Oh well.  I googled “Breakout except you’re the bricks” and didn’t find anything, but I can’t imagine it’s actually the first time somebody has done it.
<p>
This is the first time I’ve done a straight-up game-as-joke, and I’m pretty happy with it.  I was able to repurpose a lot of existing code and execute on this idea in just a few hours, which is the only way it was ever going to exist.  Players told me it made them laugh, so mission accomplished.
]]></description></item>
<item><title>Two Words</title><link>https://horrible.farm/index.php?id=34</link><guid>https://horrible.farm/index.php?id=34</guid><description><![CDATA[<a href=/games/twowords/>
<div class=imagecontainer><center><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/twowords.png></center></div>
</a>
<p>
Another genre fiction finite-state machine, one of the 2020 20.  This one's kinda middle of the pack.  I like it, but it doesn't really break any new ground.  Click the image up there to play, or see it <a target=_blank href=https://zapjackson.itch.io/two-words>in its original context on itch.io</a>.
<p>
<h1>Original devlog / post-mortem:</h1>
<p>
For this one, I had an idea I wanted to try and found a jam that it would work for.  Is this cheating?  Is it even possible to cheat when you haven’t established any rules?  I’m a little behind schedule, so this probably isn’t the last time this will happen.
<p>
Five years ago, I submitted an entry to a 200 word pen and paper RPG contest, and this game is based on that.  I wanted to see if I could actually pull off a decent length game with those constraints.  I took it a little further with this one, by deciding that I’d try not to use the “word word colon word word period” construction to cheat extra detail out.  I also forbade myself from using things like gore-splattered or… I dunno…  Once-in-a-lifetime.
<p>
This turned out to be more like Spooky Mountain than I expected, which is a little bit of a bummer, but I think it was worth the experiment to try to deliver an entire game in this writing style.  I don’t really feel like I developed any new programming skills or techniques, either, but I guess practice is always good.  On the design side, it was an interesting challenge to thread so many secret paths through it.
<p>
Simple game.  Short postmortem.
]]></description></item>
<item><title>The Worm Has Turned</title><link>https://horrible.farm/index.php?id=35</link><guid>https://horrible.farm/index.php?id=35</guid><description><![CDATA[<a href=/games/thewormhasturned/>
<div class=imagecontainer><center><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/thewormhasturned.png></center></div>
</a>
<p>
One of the later 2020 games.  This one still makes me smile.  I really like the music gag, and I actually find it challenging to play in an interesting way.  You can click the picture up there to play, or see it in <a target=_blank href=https://zapjackson.itch.io/the-worm-has-turned>its original context on itch.io</a>.
<p>
<h1>Original devlog / post-mortem:</h1>
<P>
For the One Button Jam, I set out with the idea of implementing Snake as a single-button game, and then... I did.  When I conceived of the method, I worried that it was going to involve a lot more trigonometry than I’m comfortable with, but it ended up being relatively straightforward.
<p>
I’m really amused by having the music reverse when you switch from clockwise to counterclockwise.  There is theoretically a way to get Javascript to set the playback rate of an audio file to negative one, in order to reverse it from its current position, but I couldn’t get it to work.  I ended up just having two tracks playing all the time, one forward and one backward, and toggling the volume of each track based on where you are.  I think this might secretly be better, because otherwise the song would probably average out to always being in the same place, and depending on what that place was it might be mostly silence.
<p>
A very small game, but that's okay.  The clock is turning, after all.
]]></description></item>
<item><title>Script Kiddie</title><link>https://horrible.farm/index.php?id=36</link><guid>https://horrible.farm/index.php?id=36</guid><description><![CDATA[<a href=/games/scriptkiddie/>
<div class=imagecontainer><center><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/scriptkiddie.png></center></div>
</a>
<p>
Another one of my 20 2020 jame games.  This is one of my favorites from a design perspective, but I'm not sure it's top of the pack in terms of being actually fun to play.  As usual, click the image up there to play, or see it in <a target=_blank href=https://zapjackson.itch.io/script-kiddie>its original context on itch.io</a>.
<p>
<h1>Original devlog / postmortem:</h1>
<p>
Terminal Jam provided an opportunity for me to prototype a turn-based combat system I’d been simmering on for a few years.  The basic idea is that the player has a set of tools that are random combinations of different verbs, used against an ordered stack of enemies.  Sort of like Cinco Paus wands against Darkest Dungeon monster groups.  Thematically, I had always thought of it as a hacking game -- I guess the player actions could be magic spells you don’t fully understand, but a rigid formation of enemies feels more natural to me as a list of files than a group of goblins or whatever.
<p>
Starting with the basic interface of Extremely Online, I was able to get started on gameplay stuff pretty much right away, which was nice.  I also modified my particle system to make cool glitchy terminal effects, which I think turned out pretty well.
<p>
Each enemy has two sets of HP, both of which have to be depleted in order to defeat it and collect its treasure (if any.)  The player has an alarm level and a link strength (just cyber-HP).  If the alarm level gets too high, you get disconnected from the server without penalty.  If you run out of link, you get disconnected and lose some of your money.
<p>
The player’s starting scripts are guaranteed to have basic attacks against the two enemy HP types, and those “basic attacks” are weighted fairly heavily in the generation of new scripts.  Other script actions raise or lower your alarm level or link strength, or change the order of the enemies.
<p>
Certain enemies fight back at regular turn intervals, usually raising your alarm level or weakening your link.  Some enemies have effects that trigger when they are defeated, and some fortify other enemies in various ways.  Certain rarer enemies have randomly generated abilities that can be extremely good for the player, or extremely dangerous.
<p>
In between battles, you can buy new scripts, add random additional commands to your existing scripts, or buy “secrets,” which reveal specific server addresses you can attack, weird jokey UI features, and hidden commands to get free resources.  The secrets were where most of the bespoke content lives, and they were fun to make.
<p>
I decided not to add a whole-game fail state -- I kept thinking there needed to be punishments for losing individual battles, but everything I considered felt like it’d lead to a failure spiral.  There probably should have been something in place to discourage you from re-rolling servers until you get a really easy one, but for a game that mostly exists as a proof-of-concept for a fight system, I figured there wasn’t any serious need to balance it in a challenging way.  A friend made the clever suggestion of an X-Com style countdown timer for the entire game, which puts pressure on, but not in an immediate way.
<p>
The game also procedurally generates the sets of enemy programs you’re facing.  This is cool some of the time, but boring some of the time, and I think maybe a better version of this game also has a set of defined puzzle fights for you to solve.  There are a few enemy attacks and player script features that are really chaotic and interesting, and I probably should have guaranteed that you’d see those on any given playthrough.
<p>
I enjoyed making this a lot.  It was nice to have a more design- than content-focused project, and I think the end result is fun enough for me to conclude that the system has potential.
]]></description></item>
<item><title>FOX99</title><link>https://horrible.farm/index.php?id=37</link><guid>https://horrible.farm/index.php?id=37</guid><description><![CDATA[<a href=/games/fox99/>
<div class=imagecontainer><center><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/fox99.png></center></div>
</a>
<p>
This was by far the weakest of the 2020 20, made for a 3-hour jam.
<p>
<h1>Original devlog / postmortem</h1>
<p>
This was another TriJam, so a quick 3-hour prototype.  The theme was 99%.  This one was loosely based on Solar Fox, a fairly obscure arcade game I loved as a kid.  It was… sort of a Pac Man clone, I guess?  Your ship is always moving, you just control the direction (and can toggle between fast/slow speed with a button.)  You move to the next level by collecting all of the little… space bits.  Enemies on the sides of the level shot at you, and occasionally an item would spawn that wandered across the screen and gave you bonus points if you grabbed it.
<p>
FOX99 generates a level with a few walls and 100 coins in a four-way symmetrical pattern.  Once you’ve collected 99, the remaining one turns into a new set of mirrored walls, 100 new coins spawn in, and you start again.
<p>
I think the idea of leaving a wall behind where the player leaves the last coin is interesting, but it’d probably be more interesting at 19/20 than it is at 99/100.  I just felt like I had to give some kind of lip service to the theme.


]]></description></item>
<item><title>Word Factory</title><link>https://horrible.farm/index.php?id=38</link><guid>https://horrible.farm/index.php?id=38</guid><description><![CDATA[<a href=/games/wordfactory/>
<div class=imagecontainer><center><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/wordfactory.png></center></div>
</a>
<p>
Another of the 20 2020 jam games.  This was a fast one to make, but I think it's actually pretty fun to play.  Click the title up there to give it a shot!
<p>
<h1>Original devlog / postmortem:</h1>
<p>
I figured it wouldn’t hurt to try one of the three-hour TriJams that kept going by in the jam feed.  Word Factory is a super quick game about recalling and typing words under time pressure and with constraints.
<p>
A couple of years ago I participated in the STDIO jam and made a game called Word Wizard, which was pretty similar to this.  It would tell you you were facing an [adjective] monster, and you had to cast spells (words) that started with the same letter as the adjective.  The longer the word, the more damage it did to the monster, and the quicker the fight was over, the less HP you lost. You couldn’t use the same word twice in one game.  It was written in PHP and played from the command line, though, so I couldn’t figure out a good way to make it playable online.
<p>
This is essentially that game, but with a real-time clock to beat, and with additional constraints on the words.  And some annoying sound effects. I should probably have spent that time trying to make it funny, instead.
<p>
I’m building up a good supply of Javascript functions to reuse in these things.  That was pretty essential to getting this done so quickly.
]]></description></item>
<item><title>Disadventure</title><link>https://horrible.farm/index.php?id=39</link><guid>https://horrible.farm/index.php?id=39</guid><description><![CDATA[<a href=/games/disadventure/>
<div class=imagecontainer><center><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/disadventure.png></center></div>
</a>
<p>
This was the last of the 20 jam games I made in 2020, and by a coincidence of the way I name project folders, it's also the last to be posted here to the farm.  Click the image up there to give it a go.
<p>
There's not much game, but I like the content.  I never try to get all that serious with the tone of the stuff I write, but I think this one manages to be a little sad.
<p>
<h1>Original devlog / postmortem</h1>
<p>
With this last jam, the 2020 20 is complete!  I was getting a little nervous as the year ticked away, so I tried a different strategy -- I joined a bunch of jams and waited for the theme to be announced, and then only stuck with the one that caused an idea to spring to mind.  The theme was Downgrade.  I had been playing a ton of WoW, and got excited about the idea of writing a bunch of name generators for various tiers of RPG equipment.
<p>
Mechanically, it’s almost identical to Spooky Mountain and Two Words, which is a little bit of a bummer, but with just a few days left in the year I figured beggars couldn’t be choosers.  The gameplay differs in that there is nearly none.  The options presented to you are guaranteed to advance the overall goal by decrementing the quality of your equipment (or your XP/gold) so you will get almost the same experience by key mashing that you would by choosing carefully.  That’s okay though, the point is just to deliver the writing and art.
<p>
I had a huge stock of GAN generated images that I wanted to use for something, which I assumed would be a creepy Halloween game.  I didn’t end up using them here, instead using Artbreeder to make new ones.  It’s a weird situation -- I guess in theory there aren’t any licensing issues with these since they’re brand new images, but they clearly use a lot of high quality source art to seed the generator, and those are just things people could upload.  The landscapes it generates are extremely Magic The Gathering.  It’s better at making those than it is making objects, but you can just keep hammering on the button until it makes something weird and cool.  It has a very robust system for making portraits of sexy anthropomorphic animals.  A tool finds its uses, I suppose.
<p>
I’m happy with the theme and writing.  The end-of-the-journey tone is a fitting capstone to the year’s project, I think.  I wish I had had more time to add more content, but adding a location took more time than I expected it would.  Part of it was constantly jumping back and forth between messing with the art and doing the writing, which is a bad practice I’ve apparently carried over from my day job.  I probably could have served it just as well by making it shorter, but I wanted to use the WoW item quality scale, which meant 6 tiers of gear in each slot.


]]></description></item>
<item><title>Pogue Thacker, Rogue Hacker</title><link>https://horrible.farm/index.php?id=40</link><guid>https://horrible.farm/index.php?id=40</guid><description><![CDATA[<a href=/games/poguethacker/>
<div class=imagecontainer><center><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/poguethacker.png></center></div>
</a>
<p>
This was my entry in the 2021 7-Day Roguelike Competition, and I'm really proud of it.  It was a culmination of everything I learned over the course of 2020.  Click up there to play it!
<p>
It fared pretty well in the competition, too.  The <a target=_blank href=https://itch.io/jam/7drl-challenge-2021/results>jam results page on itch.io</a> says it's ranked 6th out of 246 entries, but it's tied for 6th with 21 other games, with 5 games tied for first ahead of it.  I would say that means maybe it's tied for second?  And for sure it means that their ranking system, in spite of having scores out to three decimal places, needs <i>much</i> finer granularity.  All of that said, people don't enter that competition to win, they enter it to make cool roguelikes.
<P>
I don't think I ever wrote up a formal devlog / postmortem for this one, but I did find a document with a list of the things I did on each of the seven days.
<p>
<h1>Progress log</h1>
<p>
<b>Day 1</b><br>
Got a level rendering and a camera pointed at it<br>
Basic player movement and collision<br>
hostile bullets and player damage<br>
powerups moving the grid reticle around<br>
grid/text buffer display<br>
friendly bullets<br>
shooting controls<br>
	using way more trig in this one<br>
shooting stuff hooked up to grid numbers<br>
exit -> new level<br>
coin powerups<br>
HP/armor/coinmult hooked up<br>
very very basic enemy class, trying to learn more about object inheritance<br>
rudimentary level generation<br>
<p>
<b>Day 2</b><br>
enemy movement<br>
damage adding impulse<br>
room template stamping<br>
camera zoom<br>
bombs implemented and hooked up to grid<br>
player speed/size/inertia hooked up to grid<br>
20 room templates<br>
enemy/chaser art<br>
<p>
<b>Day 3</b><br>
more enemies<br>
loot crates<br>
lots more room templates<br>
luck stat, drops from destroyed enemies and walls<br>
preliminary/tutorial level<br>
3 starting character classes<br>
feedback when grid values change<br>
pickups can now be bounced around with player bullets<br>
Grabbed and wired up a bunch of music.  Good old Francis Preve.<br>
<p>
<b>Day 4</b><br>
short day owing to family stuff<br>
title screen<br>
safe zone levels every 3<br>
more enemy variants<br>
tracking and increasing difficulty over time<br>
boss and boss level<br>
designed unlockable character classes<br>
<p>
<b>Day 5</b><br>
another short day, another short dollar<br>
6 new unlockable character classes and all the tracking stuff necessary for them<br>
visual and behavior polish<br>
game over screen, high score tracking across sessions<br>
hooked up "secret" stat<br>
hid some stuff<br>
worked on sprites a little<br>
<p>
<b>Day 6</b><br>
SFX, writing, and polish<br>
new, more impressive boss sprite<br>
lots of playtesting<br>
improved vfx for miscellaneous things<br>
made it impossible to get stuck if the player's size increases too much to get through single-wide gaps<br>
stopped pickups from spawning overlapping each other and becoming immobile<br>
better feedback for why certain things don't work in certain grid states<br>
took forever fixing a collision bug because I couldn't see the difference between textx and testx and something, SOMEWHERE was setting a global called textx to 1200.


]]></description></item>
<item><title>Dreadsylvania Design Doc</title><link>https://horrible.farm/index.php?id=41</link><guid>https://horrible.farm/index.php?id=41</guid><description><![CDATA[Dreadsylvania is one of Kingdom of Loathing's multiplayer clan dungeons.  I built it in an atypical way -- almost all of it was designed on paper before anything actually went into the game data.
<p>
This document is the result of a few days spent up in the mountains of northern Arizona with no computer and lots of spooky thoughts.  You can see a description of the end results <a target=_blank href=https://kol.coldfront.net/thekolwiki/index.php/Dreadsylvania>over on the KoL Wiki</a>.
<p>
<div class=blimagecontainer><center><embed src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/dreadsylvania_design_doc.pdf width=100% height=900/></center></div>]]></description></item>
<item><title>The Park</title><link>https://horrible.farm/index.php?id=42</link><guid>https://horrible.farm/index.php?id=42</guid><description><![CDATA[These notes are for a game I was planning sometime in 2001 or 2002, a year or so before I started working on Kingdom of Loathing.
<p>
The game would've taken place in a city park after some apocalyptic event that eradicated humans and made animals inteligent.
<p>
There are some pages missing -- I definitely remember writing stuff about the game's basic character classes, etc.
<p>
Players would be hedgehog warriors, squirrel rangers, or turtle magi.  KoL retained the 3 basic stats and the turtles.
<p>
<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/park/park_01.png><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/park/park_01.png></a></center></div>
<p>
I think my plan was for the entire game to be text-only -- navigation would be done via hyperlinks, rather than on a map.
<p>
This was a diagram of the central hub (The Clearing) and the nearby, early game areas.
<p>
<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/park/park_02.png><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/park/park_02.png></a></center></div>
<p>
This was stuff you could do in The Clearing.
<p>
"[A] chat room would be really good."  Indeed!
<p>
<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/park/park_03.png><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/park/park_03.png></a></center></div>
<p>
The game's intro area, The Meadow.  KoL came by its hokey "The Noun" names honestly.
<p>
At any given node of the world, the player would have a menu of options.  Some of them would be equivalent to KoL adventures, some would just be one-off tasks.
<p>
I don't think these notes were too concerned with which things would cost turns and which things wouldn't.
<p>
<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/park/park_04.png><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/park/park_04.png></a></center></div>
<p>
Narrow Beach features the enemies (ripped off from the Dark Tower series) that would eventualy become KoL's lobsterfrogmen.
<p>
<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/park/park_05.png><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/park/park_05.png></a></center></div>
<p>
The Hermit is mentioned here.  No word on whether you'd be able to kill him in this game.
<p>
Some areas required character properties, which could either be innate or granted by effects/potions.  Lightness, for instance -- squirrels would have the passive ability to do things in the treetops but the other animals would need some help.
<p>
<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/park/park_06.png><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/park/park_06.png></a></center></div>
<p>
Here I propose the world's dumbest data storage method for quests.
<p>
KoL started out doing it this way, until the limits became clear to me.  The stuff in a KoL campsite is still stored this way, and it causes occasional headaches.
<p>
<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/park/park_07.png><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/park/park_07.png></a></center></div>
<p>
Similiar to KoL, The Park characters had skills that could grant temporary effects or conjure items.
<p>
There were no combat skills, though, because...
<p>
<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/park/park_08.png><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/park/park_08.png></a></center></div>
<p>
Like early KoL, combat wasn't interactive -- you'd just have a set of starting conditions and the engine would play out the fight and tell you what happened.
<p>
It had a kind of MUD-style system where a timer would tick up and different attacks/abilities would occur at different intervals.
<p>
<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/park/park_09.png><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/park/park_09.png></a></center></div>
<p>
Data structure for enemies.  Some of this (the special attack stuff, for instance) made it into early KoL more or less unchanged.
<p>
<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/park/park_10.png><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/park/park_10.png></a></center></div>
<p>
Some crafting recipes.
<p>
<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/park/park_11.png><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/park/park_11.png></a></center></div>
<p>
This page was the only one that was legally binding.  Too bad it was mostly just a boring list of wood.
<p>
And some IP address notes.  And the phone number of a landscaping company in Illinois, for some reason.
<p>
In conclusion, THE END.

]]></description></item>
<item><title>Krakrox the Barbarian</title><link>https://horrible.farm/index.php?id=43</link><guid>https://horrible.farm/index.php?id=43</guid><description><![CDATA[<a href=/games/krakrox/>
<div class=imagecontainer><center><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/krakrox.jpg></center></div>
</a>
<P>
This is a little turn-based game I made in Javascript sometime in 2001.  It's not particularly well-designed, but there's definitely quite a bit of KoL's DNA visible in there.  Click the image up there to play it.
<p>
It's important to read the instructions, or you won't understand that you use 8, 4, 6 and 2 on the freaking numpad to move.  5 stands still, because this game is from before they invented zugzwang.
<p>
Once you find the ring of half-assed regeneration, an obvious degenerate strategy reveals itself to the cunning exploiter.
<p>
The game ends with you recovering an emerald ampersand.  The Jungle Raoul chronicles, which I will post here soon, concern the recovery of a sapphire version.  I had this idea that all of my games would share a world in which various jewels carved into ampersands had been stolen from some piece of ancient machinery that was important to the continued existence of reality.  I apparently gave up on that idea at some point.
]]></description></item>
<item><title>Jungle Raoul</title><link>https://horrible.farm/index.php?id=44</link><guid>https://horrible.farm/index.php?id=44</guid><description><![CDATA[<div class=imagecontainer><center><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/jungle1.png></center></div>
<p>
QuickBASIC source code: 
<a href=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/jungle.bas>JUNGLE.BAS</a>
<p>
Executable (requires DOSBOX): <a href=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/JUNGLE.EXE>JUNGLE.EXE</a>
<p>
This is a game with ASCII graphics, kind of in the style of a traditional roguelike (though we did not refer to them as either 'traditional' or 'roguelike' at the time.)  Only the first level is procedurally generated.  This might be the first time I actually packaged a complete game and published it where anybody else could see it.  I think it predates my first personal website by a year or two.
<p>
I made this as a submission to a website called All BASIC Code, which collected programs in what was even then a very old language.  The comments say 1996, but it's in their 1997 packet, so I guess I took a while to get around to it.  Because I explicitly made this for other people to see, it's weirdly comprehensively commented.
<p>
I can't find the original ABC site, but somebody has made <a target=_blank href=http://www.phatcode.net/downloads.php?id=204>an archive of it</a>.
]]></description></item>
<item><title>Jungle Raoul 2</title><link>https://horrible.farm/index.php?id=45</link><guid>https://horrible.farm/index.php?id=45</guid><description><![CDATA[<div class=imagecontainer><center><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/jungle2.png></center></div>
<p>
QuickBASIC source code: 
<a href=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/jungle2.bas>JUNGLE2.BAS</a>
<p>
Executable (requires DOSBOX): <a href=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/JUNGLE2.EXE>JUNGLE2.EXE</a>
<p>
A sequel to Jungle Raoul.  Everything is slightly fancier.  The ampersand has been stolen by an alien with an apostrophe in its name.  The text is more self-aware.
]]></description></item>
<item><title>Cragne Manor</title><link>https://horrible.farm/index.php?id=46</link><guid>https://horrible.farm/index.php?id=46</guid><description><![CDATA[<div class=imagecontainer><center><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/cragne.jpeg></center></div>
<p>
In 2018, friend of the web page Jenni Polodna and Ryan Veeder organized a massive collaborative interactive fiction project called Cragne Manor.
<p>
There were over 80 authors, each of whom added one room to the game.
<p>
You can play it <a target=_blank href=https://rcveeder.net/cragne/>here on Ryan's site</a>.
<p>
If you're interested in the Inform source code, <a target=_blank href=https://eblong.com/zarf/zweb/cragne/>Andrew Plotkin has collected a bunch of it</a> on his web page.
<p>
My room is also available as a direct download here: <a href=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/cragne_manor_rec_room.txt>cragne_manor_rec_room.txt</a>
]]></description></item>
<item><title>Trivia Set:  1984-1993</title><link>https://horrible.farm/index.php?id=47</link><guid>https://horrible.farm/index.php?id=47</guid><description><![CDATA[During the 2020 pandemic lockdowns, my friends Ken and Penelope ran a weekly online bar trivia night for a small group of people.  I hosted it a few times, and this is the first set of questions I made.
<p>
Making these was an interesting challenge.  I developed the theory that the ideal bar trivia question is one that 80% of teams get correct, and the ideal set is one where it's a different 80% of the teams for each question.  This way everybody gets to feel good in general, and the game comes down to a definitive but narrow edge in knowledge, rather than anybody getting totally steamrolled.
<p>
A question that nobody gets is a clear failure.  A question that everybody gets is fine if you want to throw out some early gimmes just to keep the mood high, or if you want to put Never Gonna Give You Up in the music round as a joke, but generally should be avoided.
<p>
The way these sessions worked was that the last round was a single question, and teams would wager up to half a round's worth of points (each of the early rounds gave 2 points per question, so half-points could be given when necessary) based on their confidence in their answer.
<p>
The PDF I exported from the original Google Slides presentation doesn't include the song clips for the music round.  Here they are in a convenient ZIP file.
<p>
<center><b>Download: <u><a href=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/trivia1_songclips.zip>trivia1_songclips.zip</a></u></b></center><p>
The answers, just in case you don't know all of them:
<p>
<center><b>Download: <u><a href=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/trivia1_answers.txt>trivia1_answers.txt</a></u></b></center><p>
<div class=blimagecontainer><center><embed src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/trivia1_slides.pdf width=100% height=900/></center></div>]]></description></item>
<item><title>Trivia Set: Beans and Rice</title><link>https://horrible.farm/index.php?id=48</link><guid>https://horrible.farm/index.php?id=48</guid><description><![CDATA[Another set of trivia questions, this one focused on beans and also focused on rice.
<p>
Answers and song clips here:
<p>
<center><b>Download: <u><a href=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/trivia2_songclips.zip>trivia2_songclips.zip</a></u></b></center><p>
<center><b>Download: <u><a href=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/trivia2_answers.txt>trivia2_answers.txt</a></u></b></center><p>
<div class=blimagecontainer><center><embed src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/trivia2_slides.pdf width=100% height=900/></center></div>]]></description></item>
<item><title>Trivia Set:  Beginnings</title><link>https://horrible.farm/index.php?id=49</link><guid>https://horrible.farm/index.php?id=49</guid><description><![CDATA[This set was a collaboration with Frank and Hilary Lantz.  The first round presents opening lines from books, and identifying the title and author are worth one point each.  The second asks players to identify movies based on the opening scene, and the music round features only instrumental intros to songs.
<p>
This set also incorporates the pop quiz round, which was a single question round in which points were awarded only to the first team to submit a correct answer.
<p>
Answers and song clips below:
<p>
<center><b>Download: <u><a href=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/trivia3_songclips.zip>trivia3_songclips.zip</a></u></b></center><p>
<center><b>Download: <u><a href=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/trivia3_answers.txt>trivia3_answers.txt</a></u></b></center><p>
<div class=blimagecontainer><center><embed src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/trivia3_slides.pdf width=100% height=900/></center></div>]]></description></item>
<item><title>Trivia Set: Bridges</title><link>https://horrible.farm/index.php?id=50</link><guid>https://horrible.farm/index.php?id=50</guid><description><![CDATA[Answers and song clips:
<p>
<center><b>Download: <u><a href=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/trivia4_answers.txt>trivia4_answers.txt</a></u></b></center><p>
<center><b>Download: <u><a href=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/trivia4_songclips.zip>trivia4_songclips.zip</a></u></b></center><p>
<div class=blimagecontainer><center><embed src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/trivia4_slides.pdf width=100% height=900/></center></div>]]></description></item>
<item><title>Trivia Set: Frankenstein</title><link>https://horrible.farm/index.php?id=51</link><guid>https://horrible.farm/index.php?id=51</guid><description><![CDATA[Answers and song clips:
<p>
<center><b>Download: <u><a href=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/trivia5_answers.txt>trivia5_answers.txt</a></u></b></center><p>
<center><b>Download: <u><a href=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/trivia5_songclips.zip>trivia5_songclips.zip</a></u></b></center><p>
<div class=blimagecontainer><center><embed src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/trivia5_slides.pdf width=100% height=900/></center></div>]]></description></item>
<item><title>Trivia Set: The Sky</title><link>https://horrible.farm/index.php?id=52</link><guid>https://horrible.farm/index.php?id=52</guid><description><![CDATA[Answers and song clips:
<p>
<center><b>Download: <u><a href=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/trivia6_answers.txt>trivia6_answers.txt</a></u></b></center><p>
<center><b>Download: <u><a href=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/trivia6_songclips.zip>trivia6_songclips.zip</a></u></b></center><p>
<div class=blimagecontainer><center><embed src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/trivia6_slides.pdf width=100% height=900/></center></div>]]></description></item>
<item><title>Trivia Set: Threes</title><link>https://horrible.farm/index.php?id=53</link><guid>https://horrible.farm/index.php?id=53</guid><description><![CDATA[I wrote this set and then realized later that a previous host had already used "three" as a theme, which is why this is Threes Part II.
<p>
Answers and song clips:
<p>
<center><b>Download: <u><a href=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/trivia7_answers.txt>trivia7_answers.txt</a></u></b></center><p>
<center><b>Download: <u><a href=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/trivia7_songclips.zip>trivia7_songclips.zip</a></u></b></center><p>
<div class=blimagecontainer><center><embed src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/trivia7_slides.pdf width=100% height=900/></center></div>]]></description></item>
<item><title>Trivia Set:  Vampires</title><link>https://horrible.farm/index.php?id=54</link><guid>https://horrible.farm/index.php?id=54</guid><description><![CDATA[This is probably the weakest of these sets.  It was too specific for even the fairly dorky audience it was presented to.
<P>
There was a new guy in the group and he got mad and started submitting frustrated fake answers, and he never came back after that.
<p>
Answers and song clips:
<p>
<center><b>Download: <u><a href=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/trivia8_answers.txt>trivia8_answers.txt</a></u></b></center><p>
<center><b>Download: <u><a href=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/trivia8_songclips.zip>trivia8_songclips.zip</a></u></b></center><p>
<div class=blimagecontainer><center><embed src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/trivia8_slides.pdf width=100% height=900/></center></div>]]></description></item>
<item><title>Escape from the Prison of the Tower of the Wizard</title><link>https://horrible.farm/index.php?id=55</link><guid>https://horrible.farm/index.php?id=55</guid><description><![CDATA[For 2023's National Novel-Writing Month, I adapted one of the old choose-your-own-adventure booklets we used to give away at San Diego Comic Con into a novel-length gamebook type of thing.
<p>
As of the time of this writing, it can be <a href=https://www.amazon.com/Escape-Prison-Tower-Wizard-Adventures/dp/B0CTW34JV1/>purchased on Amazon.com</a>.
<p>
<div class=imagecontainer><center><a target=_blank href=http://images.kingdomofloathing.com/farm/wizcyoa.png><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/wizcyoa.png></a></center></div>
]]></description></item>
<item><title>Podcast Interview</title><link>https://horrible.farm/index.php?id=56</link><guid>https://horrible.farm/index.php?id=56</guid><description><![CDATA[Listen here:
<p>
<div class=imagecontainer><center><audio controls src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/etao150.mp3></audio></div>]]></description></item>
<item><title>MasterSwords</title><link>https://horrible.farm/index.php?id=57</link><guid>https://horrible.farm/index.php?id=57</guid><description><![CDATA[<A target=_blank href=https://masterswords.asymmetric.net/>
<div class=imagecontainer><center><img class='embedded' src=https://s3.amazonaws.com/images.kingdomofloathing.com/farm/masterswords.png></center></div>
</a>
<p>
In 2014, Asymmetric was hired to make a version of Word Realms for kids, with an educational and vocabulary-building focus.  The company was developing curriculum software to deploy to tablets in elementary schools, and part of the project was a suite of games.  They saw a bunch of kids playing and enjoying Word Realms when we were exhibiting it at IndieCade, and realized what we had not -- that we had, in fact, made a kids' game, despite my insistence on trying to make it much darker in tone than our other work.
<p>
In a lot of ways, this turned out way better than Word Realms, and it was definitely a turning point for Asymmetric -- we used the money we got for this to make West of Loathing.
<p>
You can't buy it anywhere anymore, and I hated the idea of it getting lost entirely, so I asked our crackerjack Unity programmer to make a web build, at <a target=_blank href=https://masterswords.asymmetric.net/>https://masterswords.asymmetric.net/</a>.
<p>
It's made for touch screens, so a lot of stuff that ought to be mouseovers is instead invoked via the loathsome <i>long-click</i>.
]]></description></item></channel>
</rss>
