[[My Work]]
[[Achievements]]Not up for the game? No problem. If you prefer a more straightforward experience, feel free to jump straight into my work below. It's a different approach, but sometimes simplicity is the best choice.
[[About Me]]
[[My poems]]
[[My Scripts]]
[[My Stories]]
[[My Essays]]
[[My Tools]]
[[My latest Blog post]]
[[What's Next?]]
[[Contact]]
<<set $mirror = false>>
<<set $book = false>>
If you would like to try the interactive version of the portfolio, the same work, just setup in a different format. [[Embark]]>''You open the warm door''
The moment you step inside, you feel an immediate sense of comfort, as if this space was made just for you. The crackling sound of a roaring fireplace fills the room, and the scent of burning wood mixes with the subtle hint of vanilla.
To your surprise, you're now wrapped in a soft, thick robe that feels like it was custom-made to fit you perfectly. A mug of steaming hot chocolate appears in your hands, the warmth seeping into your palms, the scent of cinnamon inviting you to take a slow, deliberate sip.
Looking around, you take in the atmosphere of this room—it's the epitome of a writer’s sanctuary. The walls are lined with rich, dark wood, and in the corner stands an elegant desk, polished to a smooth finish. Beside it, an old bookcase looms, filled with well-worn leather-bound books that seem to whisper secrets of the past.
Every detail of the room seems designed to fuel your creativity, to make you feel right at home.
You can:
''Sit at the desk'' //(Desk)//
''Investigate the bookcase'' //(Bookcase)//
''Turn back'' //(Back)//
<div style="text-align: center;">
<<textbox "$qa" "">>
<<button "Submit">>
<<set _answer = $qa.toLowerCase()>>
<<if _answer == "desk" || _answer == "desk ">>
<<goto "Writing">>
<</if>>
<<if _answer == "bookcase" || _answer == "bookcase ">>
<<goto "Bookshelf">>
<</if>>
<<if _answer == "back" || _answer == "back ">>
<<goto "Main Hall">>
<</if>>
<</button>>
</div>
>''You chose the mirror''
Before you stands a pristine mirror, but your reflection appears blurred, as though you're staring at a memory that refuses to fully take shape.
Pinned around its edges are faded clippings labeled “My latest blog post.” The handwriting feels familiar, even if the words don’t quite connect yet.
You can:
''Ask the mirror 'Who am I?'' //(Ask)//
''Read my latest blog post'' //(Blog)//
''Turn back'' //(Back)//
<div style="text-align: center;">
<<textbox "$qa" "">>
<<button "Submit">>
<<set _answer = $qa.toLowerCase()>>
<<if _answer == "ask" || _answer == "ask ">>
<<goto "About Me">>
<</if>>
<<if _answer == "blog" || _answer == "blog ">>
<<goto "My latest Blog post">>
<</if>>
<<if _answer == "back" || _answer == "back ">>
<<goto "Main Hall">>
<</if>>
<</button>>
</div>
<<set $mirror = true>>Despite your possible assumption of this tab being for 'my achievements'...
This is to highlight beauty of modern video games which lie in the hidden easter eggs and achievements left by creators—those secrets are, in my opinion, some of the best features when utilized correctly. And since my website takes on a 'game' format, well, I had to include a few of my own.
<<if $mind == true>>
!!!Mind Over Matter - You shoved stale popcorn up your own nose. I bet your parents are proud.
<<else>>
You've not discovered this secret achievement yet!
<</if>>
<<if $glasses == true>>
!!!World's Biggest Nerd - You're the one that picked up the magical glasses...
<<else>>
You've not discovered this secret achievement yet!
<</if>>
<<if $win == true>>
!!!A Winner Is You- You reached the end of the game, to that I say thank you as it means the world to me
<<else>>
Beat the game to reveal this achievement.
<</if>>
<<return>>>''You chose to sit at the writing desk''
You settle into one of the most comfortable chairs you've ever encountered, feeling your stress melt away as you stretch your legs.
On the desk, a well-worn notebook lies open, its cover scrawled with the word "poems." Nearby, a pair of broken glasses rest carelessly.
As you relax further, your foot bumps into something cold and metallic, its sharp edges unsettling against your skin.
<<set $book = true>>
You can:
''Read the poems'' //(Poems)//
''Put on the glasses'' //(Glasses)//
''Investigate the metal object'' //(Object)//
''Turn back to investigate the room'' //(Back)//
<div style="text-align: center;">
<<textbox "$qa" "">>
<<button "Submit">>
<<set _answer = $qa.toLowerCase()>>
<<if _answer == "poems" || _answer == "poems ">>
<<goto "My poems">>
<</if>>
<<if _answer == "glasses" || _answer == "glasses ">>
<<goto "Glasses">>
<</if>>
<<if _answer == "back" || _answer == "back ">>
<<goto "Cave right">>
<</if>>
<<if _answer == "object" || _answer == "object ">>
<<goto "Toolbox">>
<</if>>
<</button>>
</div>
<<if $crowbar == false>>
> ''You investigate the bookcase''
Turning your gaze to the towering presence in the corner of the room, you can’t help but feel overwhelmed. You see its shelves are crammed with well-worn leather bound books, their spines cracked and faded with time, yet still emanating a sense of wisdom and mystery.
!!!!As your eyes wander across the shelves, you notice something odd—a small gap behind the bookcase, barely visible but just enough to catch your attention. // If only you had something to pry it loose, you could see what lies hidden in the shadows.//
You can:
''Read the shelf labelled ‘Stories’'' //(Stories)//
''Read the shelf labelled ‘Essays’'' //(Essays)//
''Turn back'' //(Back)//
<div style="text-align: center;">
<<textbox "$qa" "">>
<<button "Submit">>
<<set _answer = $qa.toLowerCase()>>
<<if _answer == "back" || _answer == "back ">>
<<goto "Cave right">>
<</if>>
<<if _answer == "essays" || _answer == "essays ">>
<<goto "My Essays">>
<</if>>
<<if _answer == "stories" || _answer == "stories ">>
<<goto "My Stories">>
<</if>>
<</button>>
</div>
<<else>>
> ''You investigate the bookcase''
Turning your gaze to the towering presence in the corner of the room, you can’t help but feel overwhelmed. You see its shelves are crammed with well-worn leather bound books, their spines cracked and faded with time, yet still emanating a sense of wisdom and mystery.
!!!!As your eyes wander across the shelves, you notice something odd—a small gap behind the bookcase, barely visible but just enough to catch your attention. //Good thing you found that random crowbar!//
You can:
''Read the shelf labelled ‘stories’'' //(Stories)//
''Read the shelf labelled ‘essays’'' //(Essays)//
''Turn back'' //(Back)//
''Use Crowbar'' //(Crowbar)//
<div style="text-align: center;">
<<textbox "$qa" "">>
<<button "Submit">>
<<set _answer = $qa.toLowerCase()>>
<<if _answer == "back" || _answer == "back ">>
<<goto "Cave right">>
<</if>>
<<if _answer == "crowbar" || _answer == "crowbar ">>
<<goto "Chest">>
<</if>>
<<if _answer == "stories" || _answer == "stories ">>
<<goto "My Stories">>
<</if>>
<<if _answer == "essays" || _answer == "essays ">>
<<goto "My Essays">>
<</if>>
<</button>>
</div>
<</if>><<if $book is true>>
''You read in scribbled handwriting, a message of clarification.
Almost like you were expected to read this''
//I wrote alot of these in my first year, but they're still my favourites - even if they need some work to improve them.//
[[Childhood-onset Fluency Disorder->Childhood-onset Fluency Disorder - An Acrostic Poem]]
[[Summer]]
[[Trapped - Sijo]]
[[2:36]]
[[Return->My Work]]
<<else>>
I wrote alot of these in my first year, but they're still my favourites - even if they need some work to improve them.
[[Childhood-onset Fluency Disorder - An Acrostic Poem]]
[[Summer]]
[[Trapped - Sijo]]
[[2:36]]
[[Return->My Work]]
<</if>><<if $mirror is true>>
''You hear a voice in your head speak''
//Who am I?//
//I’m a writer, creator, and risk-taker. My modern work—some of which you’ll find here, and much more yet to come—reflects that. I started writing as a way to make sense of the world, to process emotions and help others through theirs. Over time, it’s evolved into a crowbar-like tool for breaking down barriers and pushing boundaries that others simply won’t cross. I don’t believe that sticking to what’s comfortable will get me where I want to go as a writer. My work isn’t about following the rules; it’s about rewriting them.
In recent years, I’ve dedicated myself to honing my craft, studying the works of brilliant writers, and experimenting with new ways of telling stories. Whether I’m delving into the complexities of human relationships or venturing into uncharted genres, I approach each project with one goal in mind: to defy expectations and create something unexpected.//
//Does that answer your question?//
<<return>>
<<else>>
''About Me''
I’m a writer, creator, and risk-taker. My modern work—some of which you’ll find here, and much more yet to come—reflects that. I started writing as a way to make sense of the world, to process emotions and help others through theirs. Over time, it’s evolved into a crowbar-like tool for breaking down barriers and pushing boundaries that others simply won’t cross. I don’t believe that sticking to what’s comfortable will get me where I want to go as a writer. My work isn’t about following the rules; it’s about rewriting them.
In recent years, I’ve dedicated myself to honing my craft, studying the works of brilliant writers, and experimenting with new ways of telling stories. Whether I’m delving into the complexities of human relationships or venturing into uncharted genres, I approach each project with one goal in mind: to defy expectations and create something unexpected.
<<return>>
<</if>>
Don’t worry, these aren’t the kind of essays you’d find in a textbook or ones meant for copying. Think of them more like the essays George Clooney might write—focused on meaningful ideas, crafted with thoughtfulness, but not bound by the formalities of academic writing. These pieces are about the things I believe deserve attention and reflection.
[[I wanna be yours - Arctic Monkeys]]
[[Return->My Work]]
''Your story begins in the main hall:'' a vast space imbued with something that you can’t quite place your finger on.
Whatever it is, you feel warm in its embrace.
It's comfort is smothering, if you weren’t too intrigued to explore this place; You’d likely want to fall asleep right here on the floor. You feel safer as everything from the outside world fades away with every breath and exhale.
You’re standing on a large triangle with 3 walls that surround you. They lead your gaze upward, where floating books, soft clouds, and countless stars stretch endlessly into the expanse. Dim, ambient lighting is cast from above you, making shadows dance across the polished floor, revealing faint footsteps of others who have walked here before. The space feels like a crossroads between worlds, a place where the tangible and the imagined come together.
Directly in front of you, an ornate mirror catches your attention. Pinned next to it are scattered papers fluttering slightly,
as if stirred by a breeze you cannot feel.
To your left stands a red curtain, its folds reminiscent of a theatre.
The tantalizing smell of popcorn drifts through the doorway beyond it.
To your right, a sturdy wooden door radiates warmth.
Its gentle heat inviting and steady, like a fireplace on a cold night.
You can:
''Investigate the mirror'' //(Mirror)//
''Head left, through the curtain'' //(Left)//
''Go right, through the door'' //(Right)//
<div style="text-align: center;">
<<textbox "$qa" "">>
<<button "Submit">>
<<set _answer = $qa.toLowerCase()>>
<<if _answer == "mirror" || _answer == "mirror ">>
<<goto "Wall">>
<</if>>
<<if _answer == "left" || _answer == "left ">>
<<goto "Cave left">>
<</if>>
<<if _answer == "right" || _answer == "right ">>
<<goto "Cave right">>
<</if>>
<</button>>
</div>
>''You chose to go left through the curtains''
You find yourself in a surprisingly intact old-school movie theater—an odd contrast to the rest of this place.
The smell of stale popcorn hits you first, sharp and unmistakable. The floor is littered with it, scattered like caltrops, and each step leaves a sticky reminder of its presence. The sensation is oddly unsettling, riling something deep in your gut.
Ahead, past a dozen red velvet seats, an old film projector hums softly. Its beam cuts through the dark room, casting a blank white screen onto the wall beside the door you just entered. There’s no reel, just the static whir of machinery.
Nearby, a screenplay lies abandoned, its edges curled and stained, as if it’s been waiting here for someone—maybe you.
You can:
''Investigate the popcorn'' //(Popcorn)//
''Read the first minute of the screenplay'' //(Screenplay)//
''Turn back'' //(Back)//
<div style="text-align: center;">
<<textbox "$qa" "">>
<<button "Submit">>
<<set _answer = $qa.toLowerCase()>>
<<if _answer == "popcorn" || _answer == "porpcorn ">>
<<goto "Popcorn">>
<</if>>
<<if _answer == "screenplay" || _answer == "screenplay ">>
<<goto "The Affair - 1st Minute">>
<</if>>
<<if _answer == "back" || _answer == "back ">>
<<goto "Main Hall">>
<</if>>
<</button>>
</div>
!Hi, I’m Niall Rooney
!!And this is my portfolio.
If you're here just to dive straight into the work—no frills, no distractions—go ahead and click the link below. I won’t keep you.
[[My Work]]
But…
If you're someone who enjoys the unexpected, someone who steps off the usual path and sees value in the unconventional, then I think you’ll find this more interesting.
Trust me, you’re going to want to take the leap.
[[Embark]]
Both options show you the same work, just in a different format.
!!If any errors pop up, just refresh and try again
<<set $crowbar = false>>
<<set $popcorn = false>>
<<set $visitCount = 0>>
<<set $mind = false>>
<<set $butter = false>>
<<set $glasses = false>>
<<set $crowbar = false>>''I admire your curiosity.''
Choosing to ‘Embark’ instead of jumping straight into my writing says something about you—or at least I’d like to think it does. It tells me you’re looking for something a little more interesting, something beyond the plain and expected.
That’s good, because ‘plain’ isn’t what I do.
Let me explain: by ‘expected’, I don’t mean boring or bad, my work or anyone else's—I’ve had the privilege of learning alongside incredible writers, whose work is anything but. But for me, plain is predictable, safe, and exactly what I’ve spent years trying to avoid.
So, why 2 options? Why this format?
Because this portfolio isn’t a box to tick or a mirror of every other portfolio you’ve seen. If you’re looking for something neat, conventional, and “safe,” then this probably isn’t the right fit—and that’s okay. There’s value in the traditional, but that’s not where my voice lives.
I’ve designed this portfolio to showcase not only my work but my ability to think beyond the conventional—a skill I believe is essential in today’s creative industries. For me, writing isn’t about fitting into a mold; it’s about breaking it. A good writer adapts to expectations, but a great writer brings something unexpected to the table.
I know a portfolio in HTML isn’t original, but in my opinion, neither is creating a basic website and calling it a day.
This portfolio is authentically me. It’s not polished into anonymity, you’ve got my name already and I won’t pretend you’ve not. I’ve spent too much time hiding parts of myself to keep doing it here.
If you're still here though and find this resonating with you, then we’re off to a good start. If it doesn’t, well, I hear cross-stitching is supposed to be relaxing.
This interactive approach isn’t just a creative experiment—it’s a strategic choice. By engaging you as a participant rather than a passive observer, I hope to leave a lasting impression, just as I’ve always aimed to do with my writing.
If you’re ready to cut the thread that pulled you here and see what’s waiting, type ''Start'' to begin.
Or, if this has been enough of a detour, type ''Stop'' to jump straight to my work.
<div style="text-align: center;">
<<textbox "$qa" "">>
<<button "Submit">>
<<set _answer = $qa.toLowerCase()>>
<<if _answer == "stop" || _answer == "stop ">>
<<goto "My Work">>
<</if>>
<<if _answer == "start" || _answer == "start ">>
<<goto "Main Hall">>
<</if>>
<</button>>
</div>
''“I don’t know whether to laugh or cry”''
''Content Warning: This post discusses personal struggles with body image and body dysmorphia. Please proceed with caution if you feel this may be triggering''
My Year 9 drama teacher was the first to introduce me to this phrase, though at the time, I didn’t fully understand it. Neither did my classmates. This large hall was filled with puzzled acne ridden faces that clung onto his unsympathetic words as he explained ‘Your performance was so bad, I don’t know if I should laugh or feel bad for you as a human.’
Thankfully, I was never on the receiving end of this critique. My reluctance to perform first, combined with being terrified of my own shadow, had its perks. But the phrase stuck with me—just like so much of what he taught me. I mean, he was the first teacher to give me creative feedback, of course I had english classes but it never felt anything less than life threatening. ‘Learn this Shakespeare or you will die’—there was no room for imperfection, just relentless pressure. I still remember my thick glasses filled with tears as I shrivelled up snot trying to perform a sonnet, my stammer repeating words to a class who would have preferred nails on a chalkboard. It's a memory that still bothers me on sleepless nights.
The whole experience was harsh, strict and abrasive. It felt like the weight of it all could crush you in an instant; If you told me back then that I’d be taking English at university, I’d have happily joined Banquo and the rest of the ghosts in the afterlife haunting whoever I damn pleased thinking this was my future. But unlike my plethora of English teachers who each had a different yet regimented way of drilling quotes into you, my drama teacher taught his lessons in a way that didn’t feel academic. No life or death scenarios by failing, just learning what can be improved. He taught that Creativity was a performance, that it can’t be ruined through other perceptions. Taking my own writing for example, this whole piece can be printed off, judged and then burnt in that order – but what’s really the harm done if I’m enjoying what I do?
''“I don’t know whether to laugh or cry”'' is an incredibly harsh thing to say to a 13 year old trying their best, who hadn’t learnt that message yet but it was also an incredibly clarifying comment that other people will have and by my teacher cutting deep, it managed to give perspective. Although what had sting was that after their performance, they couldn’t scrap the idea. No, they had to improve upon it until they liked it. To make it better for themselves, because only then can the audience appreciate it. At least then they can be proud of themselves and not give a damn about what others think. In such a subtle Mr. Miyagi teaching lesson that I’m sure only the highest order of teachers know, he imbued the message of ‘Not everyone needs to like you, or the work you produce. As long as you’re happy with it’ and like a hard riddle or some corn stuck in your teeth, I’m still struggling with this nearly 10 years later.
I’m telling this story, just about a decade later, as my first blog post because ''“I don’t know whether to laugh or cry”'' were the nasty words I just now said to myself in the mirror. I didn’t even realise that such feelings snuck up on me, as all depressive thoughts do; they inch their way under your skin and steal pieces of you until you can’t remember yourself or recognise what you are now.
Seeing my reflection has long been a source of dread—not from shame, but from the weight of relentless negativity toward myself, my image, and the work I produce. It’s a battle I’ve fought for years, much like those early struggles with performance and creative feedback.
Reflecting on these fears, I realise they often stem from memories—like my terror of bananas, rooted in a childhood incident, or the lingering shadow of self-doubt from my school days
I know I’m struggling a lot right now, but so was my younger self whose eyes were red and damp after they couldn’t read a damn page out to the class.
I’m still here because they didn’t give up, and neither will I for that same ‘me’ in the future.
Like I said, I still have a lot to learn. But maybe, one day, I’ll look in the mirror and laugh—not at myself, but with the confidence that I’ve grown into someone who doesn’t need to ''know whether I should laugh or cry'' as long as I’m enjoying the life I live.
<<return>>
''Childhood-onset Fluency Disorder'' An Acrostic Poem
''S''-s-slowly you watch me in contempt as I,
''T''-t-try attempt to my words.
-
''S''-struggling silently, an assault has sieged my sentences.
''T''-taking listeners hostage as a ticking time bomb awaits.
-
''S''inking feelings within stomachs as my face
''T''urns an even deeper shade of red.
''U''nderstandingly, you
''T''ry to tell me to breathe”,
''T''ake a moment to calm down”.
''E''ven though, you are the
''R''eason I choke myself trying to read out loud.
<<return>>
''Summer''
My two tired eyes open up in the city of Stockholm, Sweden.
Adjusting to another cool evening,
scanning the room until my eyes aren't tired anymore;
//Instead, they're frozen,//
fixated on a white door that should be open still.
But no -// It's shut.//
That cold feeling still remains even after a few minutes,
ironic inside a room without any circulation... //right?//
But this chill emanates from the mattress below me.
The duvet smothering me like a warm winter scarf,
yet still true do I shiver.
Shaking from the nightmares in my head,
that dance like children around a maypole.
For whoever may be behind this door
that snuck up on me whilst I slept,
may as well be the Sandman
or Jack Frost himself.
Underprepared and wearing only underwear,
I tiptoe like Santa clause in a non-upholstered house
before reaching the bedroom door with its chilly handle.
And exposing myself to the even colder contents of the living room.
//including my girlfriend's dad, meeting him for the first time.//
<<return>>''Trapped. - Sijo ''
Helpless. I cry innocence from within my porcelain cell,
Reminiscent feelings of a prisoner in my own home.
Waiting, for the warden, my wife to return with toilet paper
//A sijo is a traditional Korean poem consisting of three lines, each with fourteen to sixteen syllables. The first line introduces an idea, the second develops it with a twist or expansion, and the third provides a resolution or reflection.//
<<return>>''2:36''
The intense feeling of flaming coals in my mouth.
With Satan frolicking on my tongue,
his barbed tail wrapped around my dry throat.
My own boiling saliva dripping from my agape jaw,
like magma purging itself from an active volcano.
Tick-tock
Painful tears well up in my eyes.
Through my blurred vision,
I see my closest friends screaming.
Their faces turning red,
whilst they savagely punch the table.
Cheering me on.
Tick-tock
Next to them is a waiter holding a stopwatch,
who can care less about the timer he holds;
since the helpless martyr in front of him is rewriting history with each agonizing morsel,
Avenging those who've fallen to the inferno wing challenge.
//I wrote this in my first year after completing the 666 inferno wing challenge in birmingham, to eat 6 incredibly spicy wings, in 6 minutes with 6 minutes afterwards without any drinks. The title, 2:36 was my time eating the wings.//
<<return>>I've only just written this script in my 3rd year for a module but I had such a great time that I've been dying to write more that I'll be putting here.
[[The Affair - 1st Minute]]
[[Return->My Work]] ''The Affair''
''INT. MOUSE’S EAR BAR – NIGHT''
A cosy, upscale speakeasy. Low mood lighting glints off
polished wood and glass chandeliers, casting playful shadows
over patrons - dressed sharp, speaking in soft purposeful
tones.
MARCUS, 28 Male stands behind a pristine counter, polishing a
glass. His eyes drift to CHASE, 31 Male dressed in a dinner
jacket and jeans, seated in front of him.
Chase stares at a WEDDING BAND, placed on a beer coaster with
the bar’s logo: //“The Mouse’s Ear.”//
The muted hum of the bar fades further. The faint strains of
music blur, distant and unimportant.
Chase’s gaze locks on the ring, his eyes tracing its shape.
''MARCUS ''
//(faintly)//
Chase.
No response.
// (louder)//
Chase!
The music swells as Chase jolts, blinking back into the
moment.
''CHASE''
Yeah... sorry about that.
He wipes his face, his hand hovers reluctantly over the ring.
His grip tightens around the gold band before trapping it in
his jacket pocket.
''MARCUS''
Here she is, man. Good luck.
Chase quickly turns to see DAWN, 30 Female hovering at the
doorway. Dressed in a timeless dress that glimmers remarkably
in the low lighting of the bar, she scans the room, smiling
in awe of the décor but clutches her purse tightly.
''CHASE''
Thanks, Marcus. Let’s keep it
simple tonight, yeah?
END
<<return>>Whilst this portfolio will be a fully accessable site in due time...
I don't really feel like giving out my information just yet without a proper way of dealing with any potential spam by putting my contact information out there into the dark and scary web.
!!!!My apologies
<<return>><<if $butter == true>>
>''You open the toolbox to read a hand written note''
//Hey, these are just the tools I sometimes use to work on my writing and I wanted to share them with people//
[[100 Word story generator]]
[[Niall-Libs (coming soon)]]
!!You also find a crowbar!
<<set $crowbar = true>>
[[Return->My Work]]
<<else>>
Hey, these are just the tools I sometimes use to work on my writing and I wanted to share them with people.
[[100 Word story generator]]
[[Niall-Libs (coming soon)]]
[[Return->My Work]]
<</if>>
Every year, I take part in a 100-word short story challenge—a fast-paced, creative sprint that tests both skill and imagination.
Writers are given three elements to work with:
A word, an action, and a genre.
All three must appear in the story to qualify. You’ve got just 24 hours to write, submit, and wait as the entries are collected, judged, and returned with feedback.
To stay sharp, I built this generator to keep myself on track, and I’m sharing it here for you to use as well.
Give it a try—it might spark something unexpected.
<<set _list1 = ["Juice", "Telescope", "Crowbar", "Cat", "Outline"]>>
<<set _list2 = ["Poisoning", "Building", "Tracing", "Lying", "Sleeping"]>>
<<set _list3 = ["Mystery", "Horror", "Sci-fi/Fantasy", "Crime Noire", "Action/Thriller"]>>
<<button "Pick Words">>
<<set _word1 = _list1.random()>>
<<set _word2 = _list2.random()>>
<<set _word3 = _list3.random()>>
<<replace "#results">>
<p id="results">Word: _word1, Action: _word2, Genre: _word3</p>
<</replace>>
<</button>>
<p id="results"></p>
<<return>>
''The first 1000 of my horror themed short story''
[[The Last Will and Testament of Damien Doyle]]
''My latest 100 word short story that beat 60 other writers''
[[MISSING PERSON'S CASE]]
[[Return->My Work]] >''You investigate the popcorn''
You pick up a piece of popcorn, rolling it between your fingers. A slick, greasy film clings to your skin—unpleasant, yet oddly intriguing.
Maybe it’s worth keeping. You never know when something like this might come in handy...
You can:
''Take the popcorn with you'' //(Take)//
''Eat the popcorn instead'' //(Eat)//
''Turn back'' //(Back)//
<div style="text-align: center;">
<<textbox "$qa" "">>
<<button "Submit">>
<<set _answer = $qa.toLowerCase()>>
<<if _answer == "take" || _answer == "take ">>
<<goto "Take popcorn">>
<</if>>
<<if _answer == "eat" || _answer == "eat ">>
<<goto "Eat Popcorn">>
<</if>>
<<if _answer == "back" || _answer == "back ">>
<<goto "Cave left">>
<</if>>
<</button>>
</div>>''You take the popcorn''
Quickly, you stuff a handful into your pocket, ignoring the slick, greasy residue now clinging to the fabric. Your clothes stick uncomfortably as you move, //but hey—who knows when this might prove useful?//
<<set $butter = true>>
You can:
''Eat some floor popcorn'' //(Eat)//
''Keep searching the rest of the room'' //(Back)//
<div style="text-align: center;">
<<textbox "$qa" "">>
<<button "Submit">>
<<set _answer = $qa.toLowerCase()>>
<<if _answer == "eat" || _answer == "eat ">>
<<goto "Eat Popcorn">>
<</if>>
<<if _answer == "back" || _answer == "back ">>
<<goto "Cave left">>
<</if>>
<</button>>
</div>
<<set $visitCount += 1>>
<<if $visitCount == 1>>
>''You eat the popcorn''
Against your better judgment, you cautiously place the stale popcorn in your mouth. The texture is all wrong—it doesn’t crack as you’d expect but wilts, soggy and lifeless, under the pressure of your teeth. A faint, bitter aftertaste spreads across your tongue, leaving you to wonder if this was really the best idea.
You can:
''Keep investigating the cinema'' //(Back)//
<div style="text-align: center;">
<<textbox "$qa" "">>
<<button "Submit">>
<<set _answer = $qa.toLowerCase()>>
<<if _answer == "back" || _answer == "back ">>
<<goto "Cave left">>
<</if>>
<</button>>
</div>
<<elseif $visitCount == 2>>
>''You eat the popcorn again''
If you didn’t learn your lesson the first time, you certainly have now. The faint, bitter aftertaste from before never really left your mouth, and adding another piece only deepens the misery. It doesn’t taste like popcorn anymore—just regret and a hint of sadness.
You can:
''Keep investigating the cinema'' //(Back)//
<div style="text-align: center;">
<<textbox "$qa" "">>
<<button "Submit">>
<<set _answer = $qa.toLowerCase()>>
<<if _answer == "back" || _answer == "back ">>
<<goto "Cave left">>
<</if>>
<</button>>
</div>
<<elseif $visitCount >= 3>>
>''You eat the popcorn a third time.''
Whether out of sheer spite or dumbfounding curiosity, you raise a third piece of popcorn to your mouth. Your hand trembles, almost as if it’s pleading with you to stop this madness. But no—you power through, overpowering your body’s instincts, determined to consume this morsel of misery once more.
Only... your mouth rebels. It clamps shut, refusing to welcome the anguish back inside, like slamming the door on a toxic ex.
Faced with no other option—and an unrelenting need to assert dominance—you do the unthinkable. You shove it up your nose.
<<set $mind = true>>
!!!Achievement Unlocked: Mind Over Matter.
You can:
''Keep investigating the cinema'' //(Back)//
<div style="text-align: center;">
<<textbox "$qa" "">>
<<button "Submit">>
<<set _answer = $qa.toLowerCase()>>
<<if _answer == "back" || _answer == "back ">>
<<goto "Cave left">>
<</if>>
<</button>>
</div>
<</if>>Thats right I'm bringing Mad Libs back
and no one can stop me.
I've not wrote any yet but the main reason for this website was so I can have condiitonal programming that would allow user input that Wix or Squarespace doesn't have.
<<return>>>''You pick up the broken glasses.''
A dark sense of horror looms through their contact with your skin, and as the jagged edges of the lenses catch the light, your reflection warps into twisted, distorted versions of yourself. The image is unsettling, almost unreal.
You can’t shake the feeling that these will become familiar to you—a symbol that will mark your journey into the darker corners of writing. Something about them feels destined to represent the unsettling, the eerie, and the broken pieces that make up the horror stories you'll craft.
You can:
''Wear them'' //(Wear)//
''Put them back'' //(Back)//
<div style="text-align: center;">
<<textbox "$qa" "">>
<<button "Submit">>
<<set _answer = $qa.toLowerCase()>>
<<if _answer == "wear" || _answer == "wear ">>
<<goto "Wear">>
<</if>>
<<if _answer == "back" || _answer == "back ">>
<<goto "Writing">>
<</if>>
<</button>>
</div>
>''You investigate the metal object''
Peering beneath the desk, you spot an old rusted toolbox. It looks like it's seen better days, and despite your efforts, it refuses to open.
<<if $butter == true>>
You smear some of the popcorn grease onto the edges, and with a satisfying creak, the toolbox finally gives way, its contents now within your reach.
You can:
''Open the toolbox'' //(Open)//
''Go back'' //(Back))//
<div style="text-align: center;">
<<textbox "$qa" "">>
<<button "Submit">>
<<set _answer = $qa.toLowerCase()>>
<<if _answer == "open" || _answer == "open ">>
<<goto "My Tools">>
<</if>>
<<if _answer == "back" || _answer == "back ">>
<<goto "Writing">>
<</if>>
<</button>>
</div>
<<else>>
It seems you’re missing something greasy to loosen the hinges. For now, it stays firmly shut.
You can:
''Go back'' //(Back)//
<div style="text-align: center;">
<<textbox "$qa" "">>
<<button "Submit">>
<<set _answer = $qa.toLowerCase()>>
<<if _answer == "back" || _answer == "back ">>
<<goto "Writing">>
<</if>>
<</button>>
</div>
<</if>>> ''You wear the broken glasses''
Despite their dark nature, you slip the glasses onto your face. The moment they settle, a chill runs down your spine as the glasses seem to //snap// into place, repairing themselves as if by some unseen force. Your hair pulls itself taut, straightening unnaturally, and your clothes shift into something too crisp, too neat, almost suffocating. A tie, too tight, winds around your neck, like a noose that feels //tighter// than you ever expected.
You don’t need a mirror to know your reflection is someone else. A version of you that feels too polished and completely wrong.
Congrats, you’re the biggest nerd for wearing glasses and this reality wanted to reflect that. ''You can't take them off.''
<<set $glasses = true>>
!!!Achievement Unlocked: World’s Biggest Nerd
You can:
==''Remove the glasses'' //(Remove)//==
''Go back to the desk'' //(Back)//
<div style="text-align: center;">
<<textbox "$qa" "">>
<<button "Submit">>
<<set _answer = $qa.toLowerCase()>>
<<if _answer == "back" || _answer == "back ">>
<<goto "Writing">>
<</if>>
<</button>>
</div>
> ''You open the chest to find a note''
<<set $win = true>>
Congratulations. You've made it. You've pushed through, navigated the chaos, and witnessed the raw, unfiltered version of my work. You've done more than just visit a website—you’ve engaged with it, moved through it like an active participant, and that matters.
I had planned to drop my contact info here, but since this website is still in its early, imperfect stages—still an experiment, really—I’ll hold off for now. But I do want to say this: thank you. Truly. You’ve taken the time to dive into something that’s meant a lot to me, and that deserves recognition
This project? It’s been on my mind from the moment I first realized writers need portfolios. And though this is just the first version, don’t mistake that for me being done. No, there’s always room for refinement. Always something to change, to improve, to perfect. And you’ve helped me take a step closer to that.//
If you’re looking for a more polished overview of my work, head to the “My Work” tab on the left—it’ll show you a neater, more organized version of what I’ve created so far.
Thanks again for everything. You've made this process a bit less lonely.
!!!Niall
If you liked everything you've seen then I highly recommend that you follow this [[Link ->What's Next?]] to see my upcoming projects.
[[Return->Bookshelf]] //Dearest esteemed reader,//
This novel has been reconstituted for educational purposes only, and is not suitable for audiences below the age of 14 or those with heart problems.
Whilst only the utmost of safety standards have taken place for the exorcism of this material story, we here at ‘Penance Publishing’ like to disclose the measures taken place on this text for the reassurance of our audience.
Whilst the original contents were found at [REDACTED] in possession of a confirmed demoniac: the cover (Discovered with the author’s bloodied fingernail tracks carved throughout) has since been unbound, burned and buried on holy ground. The original pages, imbibed with blood and stomach acid were scanned and reprinted with ink blessed by the late Father McGillian. Furthermore, digital scans have been created as a final precautionary measure against most possibilities of late stage possession. Any instances of demoniac sigils or scribings within this text have been removed*, though be warned ‘Penance Publishing’ cannot be held liable for any instance of possession or demonic manifestation following the reading or acquiring of this text.
Godbless & Goodluck,
Penance Publishing
*Anything that we are aware of
Hour 19
Well shit.
I’m pretty sure I’m a ‘Demoniac’. At least that’s what the media call them - I much prefer the more appropriate title “FUCKED” .
and no, that’s not an exaggeration.
Well, I mean there is no recorded evidence of a Demonaic possession through sexual relations but that’s not what I meant. To be ‘diagnosed’ with this condition in the prettiest term of things, is to be diagnosed with super cancer crossbred with mega aids. And lit on fire. (And also been given 20 hours to live).
So FUCKED, atleast in my eyes, is very fitting for someone like me.
And the worst part of it all - It’s all covered up in newspapers when demoniacs die so no one really knows about them.
Therefore… I’m sorry if I’ve already forgotten to mention to whoever finds this notebook after I'm gone that what you’re holding in your hands will be the first, and Last Will and Testament of Damien Doyle.
I wanted the title to have one of those “amperthingys” but it’s easier to just use ‘and’. Anyway, I learnt from a customer that wills can’t be legally destroyed, therefore the media can’t cover it up if I were to write something like…
Will Clause #1. This entire notebook is to be published to the public after my gruesome death.
Will Clause #2. Additions are allowed for the sake of publishing but you can’t take away or change my words or phrasing as I’ve written them.
Will Clause #3. All Clauses must be followed exactly as written to receive the rights to publish this notebook.
Will Clause #4. Whichever company that publishes this notebook first is entitled to all profits.
Will Clause #5. Include how I died in the most vivid details.
Will Clause #6. Don’t talk about fight club.
Pretty smart isn’t it? To use these clauses. Now I don’t know for sure that my death will be gruesome but you have to assume it would be right? With how all the other folks have been killed lately, I can only hope I follow the same suit. Like come on, if I died of drowning… was life really worth living to begin with?
Wherever the afterlife takes me, I’ll be cringing if I'm not murdered like Father McGillian.
I mean, that guy was the first account of a demoniac. It kind of sets a standard don’t you think? It’s only been a couple of months since then but that still hasn’t stopped whatever it is that keeps punishing folks. INCLUDING the people with self appointed powers such as “The Purifiers”, that great big mob with a literal god complex to cleanse the world of any suspected demoniacs. Whatever.
//Editor’s note: for better context, Penance Publishing decided to include an exclusive eye-witness testimony of Father Mcgillian’s unfortunate passing.//
!!!!‘It was the final Sunday of February, and it was during the third quarter of the service when something changed. The stale air within the large parish seemed to shift into something sinister, a gradual difference closer to the site where the public execution had taken place; the altar.
!!!!Maybe it was a foretelling sign that the altar boy, a young child, had already begun crying before the mass had started, or that he was visibly distraught whilst kneeling next to Father McGillian throughout the consecration of the eucharist (declaring the body and blood of Christ).
!!!!Audible groans of discomfort echoed from the church’s speaker system - The microphone attached to the priest’s collar had picked up his final moments and ensured that everyone present heard. It all started with Father McGillian’s jovial reaction of “Oops” followed by an awkward laugh after overfilling the chalice with red wine but within moments, the amusement on his face had abruptly changed to alarm. His arms had remained still, pouring the wine was involuntary despite the large mess being made as the wine soaked into the ceremonial garbs worn by himself, the crying boy and the cream coloured carpet beneath them.
!!!!After a visible struggle with his own body, the priest had managed to regain mobility as hesitant church spectators watched on. After stumbling past the boy, Father Mcgillian had made his way to the centre of the room, seeming almost drunk from the wine spilled on his lower abdomen. It was at this moment, as the altar boy scarpered away to an exit, did I notice it; The wine stain on the child's clothing was much darker than McGillians’. Like something different had begun to soak through the priest's clothes. It was inconsistent with the wine.
It was Brighter.
!!!!Thicker.
!!!!Blood.
!!!!Subtle gurgling was picked up by the microphone emanating from the priest's lower abdomen. Father McGillian tried to speak but only a shallow rasp escaped his crusty mouth as he tried shambling off the altar steps before ultimately collapsing to the floor from the small height.
!!!!No one moved. No one could, the sheer paralysis of fear is genuine. Although if someone was able to reach the fallen priest, they wouldn’t have been able to help before he started rising above the altar.
!!!!In the centre of the pews, and similar to a crucifix, Father McGillians arms were outstretched beyond their natural capabilities soon before his body began to rotate upside down. Resembling the inverted cross of St Peter, his body was rigid and immovable against gravity.
!!!!Throughout the haunting experience, his final words stuck with me the most. His futile attempts at speaking previously had finally succeeded as a lonely “I’m sorry” whispered through the surrounding speakers before the horrific sound of his head rupturing against the church’s floor echoed and mass panic set in.
<<return>>''MISSING PERSON'S CASE'' - 100 word short story
Word: Include
Action: Tracing
Genre: Horror
My therapist said that I should write you a letter,// "it helps to grieve".//
I have this nightmare, that I'll receive a calla from the police saying that they've found your body.
That I'll arrive with tears in my eyes, looking at your corpse with an outline of chalk included.
I wake up panicking and run my fingers down your side of the bed, tracing your silhouette in imaginative chalk.
//Picturing that very same outline.//
How distraught I would be if they told the news that I've been dreading all this time;
''I didn't bury you deep enough. ''
!!!!Curious about writing one of these yourself? Use my generator
[[100 Word story generator]]
[[Return->My Stories]] ''I wanna be yours - Arctic Monkeys''
The beauty behind a song is chameleonic, dependent on its audience. Somehow, songs can always find a way to resonate with their listener. For those listening to songs for the first time can create new memories, while for others, it can relive their most heartfelt moments by replaying the soundtrack of their life.
Even in a language unknown to you, I believe the emotional impact can be just as profound, if not greater. The few words understood can still cause emotions to run rampant, moving even the coldest among us to tears.
–
To me, this song evokes the solution that should have been voiced when the time was right, and the lunacy that's heard instead when telling them afterwards.
It's a complete dissolution of the inner self, expressing true lamentation behind the frightening Jungian psychology of ego death.
These pleas are shouted to an audience of nothing beyond the cliff’s edge of a void; their words amplified in volumes for all the times they would have whispered them intimately to the one they love and call home.
It's the guilty pain behind the knife's edge as it carves channels through wrists — Euphoric, yet filled with crippling sadness. Meandering between the realms of life and death, it leaves scars of reminders of its destruction.
Yet, they still do it. They choose destruction. That they reduce themselves to objects, submitting their human spirit for the low basis that they can be useful as an item. To find themselves held in the lovers hands once again as a coffee pot that will never give itself the allowance to break.
Without the instrumentals, the song is akin to a bard's lament of a broken heart. Everyone hears the lyrics but rarely understands why it was written. There's immense pain in this song, shown through the fracture of a life they yearn for and the reality they cannot attain.
The chorus is the cries spoken by a beggar that knows the world is unfair, who knows the risks of the game, yet is still surprised when they lose.
<<return>>''What's Next?'' 05/12/24
This site, this portfolio—it’s just the beginning. Everything here was built with Twine, a tool made for crafting narrative-based games. Sounds simple, right? But here’s the kicker: Twine isn’t just about simplicity. It’s capable of so much more—complex mechanics, dynamic visuals, even full-blown games that feel worlds apart from what you’re seeing here.
Why am I telling you this? Because what you’re exploring now is just a taste. A starting point. When my dissertation is finished, using this very same software, you’ll see just how far I’ve pushed myself. How far I’ve stretched what Twine—and I—can do.
I won’t spoil the details, but trust me: if this caught your attention, you’re going to love what comes next.
<<return>>