Please enable Javascript to play this story!

You pounce on the mouse and hold it between your paws.



[[Play|PlayHold]]

[[Kill|Kill]]

He throws you in a bag.<<fadeoutsound "drone.mp3">>



[[Escape|Escape]]

He laughs. “I know what you are.”



[[Kill|Kill3-Man]]

“Your cat is not who she seems.”



[[Listen|Listen4]]

[[Go back|Back]]

You stare at the man.<<fadeinsound "drone.mp3">>



[[Kill|Kill2-Man]]

You stare harder. The girl begins to twitch.



[[Kill|Kill3-Girl]]

You are a cat on a couch. <<set $prey to "a mouse">><<set $girl to "alive">>



[[Sleep|Sleep]]

[[Prowl|Prowl]]

You never escape.



[[Play again|Start][state.restart()]]

[[Share on Twitter|https://twitter.com/intent/tweet?text=The+Black+Cat%2C+a+bite-sized+horror+game%3A+http%3A%2F%2Fbitesizedhorror.com%2Fblackcat%2F]]

<a href="https://www.facebook.com/sharer/sharer.php?u=http://bitesizedhorror.com/blackcat/" target="_blank">Share on Facebook</a>

[[Play more bite-sized horror|http://bitesizedhorror.com]]

The girl hits the man in the head, and he stumbles.



[[Kill|Kill5-End]]

You bat at the man's face.<<if $theend is true>><<else>><<timedgoto "TheEnd" 2s>><<endif>><<set $theend to true>>

“Where is your cat?” the man demands.



[[Listen|Listen2]]

[[Go back|Back]]

version.extensions.timedgotoMacro={major:1,minor:2,revision:0};

macros["goto"]=macros.timedgoto={timer:null,handler:function(a,b,c,d){function cssTimeUnit(s){if(typeof s=="string"){if(s.slice(-2).toLowerCase()=="ms"){return +(s.slice(0,-2))||0

}else{if(s.slice(-1).toLowerCase()=="s"){return +(s.slice(0,-1))*1000||0

}}}throwError(a,s+" isn't a CSS time unit");return 0}var t,d,m,s;

t=c[c.length-1];d=d.fullArgs();m=0;if(b!="goto"){d=d.slice(0,d.lastIndexOf(t));

m=cssTimeUnit(t)}d=eval(Wikifier.parse(d));if(d+""&&state&&state.init){if(macros["goto"].timer){clearTimeout(macros["goto"].timer)

}s=state.history[0].passage.title;macros["goto"].timer=setTimeout(function(){if(state.history[0].passage.title==s){state.display(d,a)

}},m)}}};

You hear a thump, and then he grabs you and picks you up.



[[Scratch|Scratch-Man]]

[[Bite|Bite-Man]]

[[Kill|Kill-Man]]





You chase the mouse around the <<print $location>> until it's cornered.



[[Crouch|Crouch]]

[[Kill|Kill]]

You crouch.



[[Pounce|Pounce]]

[[Kill|Kill]]

(function () {

"use strict";

version.extensions['soundMacros'] = {

major: 1,

minor: 1,

revision: 2

};

var p = macros['playsound'] = {

soundtracks: {},

handler: function (a, b, c, d) {

var loop = function (m) {

if (m.loop == undefined) {

m.loopfn = function () {

this.play();

};

m.addEventListener('ended', m.loopfn, 0);

} else m.loop = true;

m.play();

};

var s = eval(d.fullArgs());

if (s) {

s = s.toString();

var m = this.soundtracks[s.slice(0, s.lastIndexOf("."))];

if (m) {

if (b == "playsound") {

m.play();

} else if (b == "loopsound") {

loop(m);

} else if (b == "pausesound") {

m.pause();

} else if (b == "unloopsound") {

if (m.loop != undefined) {

m.loop = false;

} else if (m.loopfn) {

m.removeEventListener('ended', m.loopfn);

delete m.loopfn;

}

} else if (b == "stopsound") {

m.pause();

m.currentTime = 0;

} else if (b == "fadeoutsound" || b == "fadeinsound") {

if (m.interval) clearInterval(m.interval);

if (b == "fadeinsound") {

if (m.currentTime>0) return;

m.volume = 0;

loop(m);

} else {

if (!m.currentTime) return;

m.play();

}

var v = m.volume;

m.interval = setInterval(function () {

v = Math.min(1, Math.max(0, v + 0.005 * (b == "fadeinsound" ? 1 : -1)));

m.volume = Math.easeInOut(v);

if (v == 0 || v == 1) clearInterval(m.interval);

if (v == 0) {

m.pause();

m.currentTime = 0;

m.volume = 1;

}

}, 10);

}

}

}

}

}

macros['fadeinsound'] = p;

macros['fadeoutsound'] = p;

macros['unloopsound'] = p;

macros['loopsound'] = p;

macros['pausesound'] = p;

macros['stopsound'] = p;

macros['stopallsound'] = {

handler: function () {

var s = macros.playsound.soundtracks;

for (var j in s) {

\t\tif (s.hasOwnProperty(j)) {

s[j].pause();

if (s[j].currentTime) {

\t\t s[j].currentTime = 0;

\t\t }

\t\t}

}

}

}

var div = document.getElementById("storeArea").firstChild;

var fe = ["ogg", "mp3", "wav", "webm"];

while (div) {

var b = String.fromCharCode(92);

var q = '"';

var re = "['" + q + "]([^" + q + "']*?)" + b + ".(ogg|mp3|wav|webm)['" + q + "]";

k(new RegExp(re, "gi"));

div = div.nextSibling;

}



function k(c, e) {

do {

var d = c.exec(div.innerHTML);

if (d) {

var a = new Audio();

if (a.canPlayType) {

for (var i = -1; i < fe.length; i += 1) {

if (i >= 0) d[2] = fe[i];

if (a.canPlayType("audio/" + d[2])) break;

}

if (i < fe.length) {

a.setAttribute("src", d[1] + "." + d[2]);

a.interval = null;

macros.playsound.soundtracks[d[1]] = a;

} else console.log("Browser can't play '" + d[1] + "'");

}

}

} while (d);

}

}());

The man stumbles toward you with a bag, twitching.



[[Kill|Kill4-End]]

<<display previous()>>



[[Play again|Start][state.restart()]]

[[Share on Twitter|https://twitter.com/intent/tweet?text=The+Black+Cat%2C+a+bite-sized+horror+game%3A+http%3A%2F%2Fbitesizedhorror.com%2Fblackcat%2F]]

<a href="https://www.facebook.com/sharer/sharer.php?u=http://bitesizedhorror.com/blackcat/" target="_blank">Share on Facebook</a>

[[Play more bite-sized horror|http://bitesizedhorror.com]]

You bat the corpse around for a bit before you get bored.



[[Sleep|Sleep]]

[[Prowl|Prowl]]



body {

\t/* This affects the entire page */

\t

\tbackground: white;

}

.passage {

\tpadding-top: 16%;

\tfont-family: IM Fell English;

\tfont-size: 25px;

\tcolor: black;

}

.passage a {

\tcolor: black;

\ttext-decoration: none;

\tfont-weight: bold;

\t

}

.passage a:hover {

\tcolor: red;

\ttext-decoration: none;

\tfont-weight: bold;

}



#sidebar { display: none; }

#passages { border-left: 0px; padding-left: 0; }

@import url(http://fonts.googleapis.com/css?family=IM+Fell+English);

<<if visited() is 1>>You cuddle with the girl.<<else if visited() is 2>>You really snuggle.<<else if visited() is 3>>You are warm and happy.<<else if visited() is 4>>You feel at peace.<<else>>You feel totally at peace.<<endif>>



[[Sleep|Dream]]

[[Play|Play-Girl]]

[[Kill|Kill-Girl]]

You wake up.



<<if $prey is "a mouse">>[[Sleep some more|Dream]]

[[Prowl|Prowl]]<<else if $prey is "the girl">><<if $girlfound is true>>[[Sleep some more|Dream]]

[[Play|Play-Girl]]

[[Kill|Kill-Girl]]<<else>>[[Sleep some more|Dream]]

[[Prowl|Prowl]]<<endif>><<else>>[[Sleep some more|Prowl]]

[[Prowl|Prowl]]<<endif>>

“Get out of here!” the girl screams. You hear them fight.



[[Listen|Listen5]]

[[Go back|Back]]

You sleep.



[[Dream|Dream]]

You eat the corpse.



[[Sleep|Sleep]]

[[Prowl|Prowl]]

“Why do you want Fluffy?” the girl asks.



[[Listen|Listen3]]

[[Go back|Back]]

<<if previous("Prowl")>>You stare at the man. He looks straight at you and says, “I know what you are!”<<else>>You stare at the man while he fights the girl.<<endif>><<fadeinsound "drone.mp3">>



[[Kill|Kill2-End]]

You find <<print $prey>>. <<if $prey is "the girl">>She is asleep with a book on her chest.<<set $girlfound to true>><<endif>>



<<if $prey is "a mouse">>[[Crouch|Crouch]]

[[Play|Play]]

[[Kill|Kill]]<<else if $prey is "the girl">>[[Cuddle|Cuddle-Girl]]

[[Play|Play-Girl]]

[[Kill|Kill-Girl]]<<else if $prey is "the man">>[[Run|Run-Man]]

[[Hide|Hide-Man]]

[[Kill|Kill-Man]]<<endif>>

.transition-in {

\tposition:absolute;

\topacity:0;

}

.passage {

\ttransition: 1s;

\t-webkit-transition: 1s;

}

.transition-out {

\tposition:absolute;

\topacity:1;

}

The mouse dies.<<set $prey to "the girl">><<fadeoutsound "drone.mp3">>



[[Eat|Eat]]

[[Play|PlayDead]]

[[Leave|Leave]]

You leave the man's corpse.<<if $theend is true>><<else>><<timedgoto "TheEnd" 2s>><<endif>><<set $theend to true>>

You run into another room. You hear the girl scream, “Get out of my apartment!”



[[Listen|Listen]]

[[Hide|Hide-Man-Girl]]

<<if $prey neq "the man">>You prowl into the <<if $location is "">><<set $location to either("bedroom","kitchen", "den", "study", "living room")>><<else>><<set $location2 to either("bedroom","living room", "study", "library")>><<if $location neq $location2>><<set $location to $location2>><<else>><<set $location2 to either("bedroom","living room", "den", "study", "library", "bedroom")>><<if $location2 neq $location>><<set $location to $location2>><<else>><<set $location to either("bedroom","living room", "den", "study", "library", "bedroom")>><<endif>><<endif>><<endif>><<print $location>>.



[[Search|Search]]

<<if visited("Sleep")>>[[Sleep|Dream]]<<else>>[[Sleep|Sleep]]<<endif>><<else>><<if $girl is "dead">>A man barges through the door. He is big and loud.



[[Run|Run-Man]]

[[Hide|Hide-Man]]

[[Kill|Kill-Man]]<<else if $girl is "alive">>A man barges through the door. The girl screams, “Who are you?”



[[Run|Run-Man-Girl]]

[[Hide|Hide-Man-Girl]]

[[Kill|Kill-Man-Girl]]<<endif>><<endif>>

You leave the corpse in the <<print $location>>.



[[Sleep|Sleep]]

[[Prowl|Prowl]]

You hear a thump, and then silence.<<set $girl to "dead">>



[[Hide|Hide-Man]]

[[Go back|Back]]

Black Cat

She starts to shake.



[[Kill|Kill4-Girl]]

[[Cuddle|CuddleKill-Girl]]

Instead, you cuddle her.<<set $prey to "the man">><<fadeoutsound "drone.mp3">>



[[Sleep|Dream]]

You try to hide, but he finds you.



[[Run|Run-Man]]

[[Kill|Kill-Man]]

<<if $prey is "the man">>You dream about being chased.



[[Run|Run-Dream]]<<else>><<print either("You dream about death.","You sleep dreamlessly.", "In your dreams, you feast.", "You dream of being God.", "In your dreams, you hunger.", "You dream of falling, right-side up.")>>



[[Awake|Awake]]<<endif>>

You try to bite him, but his arms are covered.



<<nobr>><<if visited("Bite-Man")>><<else>>[[Scratch|Scratch-Man]]<br><<endif>><<endnobr>>

[[Kill|Kill-Man]]

You hide in the closet. You can't hear anything.



[[Wait|Wait]]

[[Go back|Back]]

<<if visited() is 0>>You claw the mouse.<<else if visited() is 1>>You make the mouse bleed.<<endif>>



<<if visited() is 1>>[[Play|Kill4]]<<else>>[[Play|PlayHold]]<<endif>>

[[Kill|Kill]]

You run from the man, but he grabs you and picks you up.



[[Scratch|Scratch-Man]]

[[Bite|Bite-Man]]

[[Kill|Kill-Man]]

The man dies. The girl says, “I killed him!”<<fadeoutsound "drone.mp3">>



[[Eat|Eat-End]]

[[Play|Play-End]]

[[Leave|Leave-End]]

The mouse begins to twitch.



[[Kill|Kill4]]

You stare harder.



[[Kill|Kill3]]

You nibble on the man.<<if $theend is true>><<else>><<timedgoto "TheEnd" 2s>><<endif>><<set $theend to true>>

The man lets the girl go and looks at you.



[[Kill|Kill3-End]]

You run back. <<if $girl is "dead">>The man stands over the body of the girl.



[[Hide|Hide-Man-Back]]

[[Kill|Kill-Man]]<<else>>The man is fighting the girl.



[[Hide|Hide-Man-Back]]

[[Kill|Kill-Man-Girl]]<<endif>>

You stare at the girl.<<fadeinsound "drone.mp3">>



[[Kill|Kill2-Girl]]

<<if visited() is 0>>You bat the girl's face.<<else if visited() is 1>><<else if visited() is 2>>You nibble on the girl's socks.<<else if visited() is 3>>You put your face in the girl's. She mumbles, “Stop it, Fluffy.”<<else>>You rub the girl, but she doesn't wake up.<<endif>>



[[Cuddle|Cuddle-Girl]]

[[Play|Play-Girl]]

[[Kill|Kill-Girl]]

You kill the girl.<<set $prey to "the man">><<set $girl to "dead">><<fadeoutsound "drone.mp3">>



[[Eat|Eat]]

[[Play|PlayDead]]

[[Leave|Leave]]

You stare at the mouse.<<fadeinsound "drone.mp3">>



[[Kill|Kill2]]

You never escape.<<timedgoto "Escape-End" 2s>>

Greg Karber

After a long wait, the closet door opens. It's the man.



[[Run|Run-Man]]

[[Hide|Hide-Man]]

[[Kill|Kill-Man]]

You jump into the girl's arms. She keeps you warm.



[[Snuggle|Awake]]

You try to scratch him, but you can't.



<<nobr>><<if visited("Bite-Man")>><<else>>[[Bite|Bite-Man]]<br><<endif>><<endnobr>>

[[Kill|Kill-Man]]