letterboxd

letterboxd category

The Final Sacrifice, 1990 - ★★★★★

Watched on Sunday October 27, 2024.

Mad God, 2021 - ★★★★

Watched on Monday October 21, 2024.

I Saw the TV Glow, 2024 - ★★★★

A remarkable neon tone poem on sadness.

Terrifier 2, 2022 - ★★★

Somehow, after the first Terrifier was at best fine and at worst politically gross, this movie rules. Gone is the gender stupidity, in is the whimsy, the dreams, the characters you care about. In short, it's a real movie. And gross, but in a good way.

Terrifier, 2016 - ★½

This is a pretty rote slasher, without much of the whimsy and humor Art the Clown would later grow. It's also incredibly misogenistic and transphobic, thanks to a few of the more elaborate kills near the end. Really inessential.

All Hallows' Eve, 2013 - ★

This sucked, and I understand how these movies got a reputation for misogyny now. Glad Damien got better. A few good scenes but mostly pretty lame.

Saturday Night, 2024 - ★★★

One time, the seventies threw up a TV show.

The Wild Robot, 2024 - ★★★½

Yep, I cried.

Terrifier 3, 2024 - ★★★

Watched on Sunday October 13, 2024.

The Final Girls, 2015 - ★★★★

So fun

Taylor Tomlinson: Have It All, 2024 - ★★★

Watched on Tuesday October 1, 2024.

Sabotage, 1936

More like sand-bo-tage

Alien, 1979

Watched on Saturday September 28, 2024.

Total Recall, 1990

Watched on Monday September 23, 2024.

The Substance, 2024 - ★★★★

This movie keeps going harder. But then? It goes even harder.

James Adomian - Path Of Most Resistance, 2024 - ★★★½

That was the only impression of Jerome Powell I've seen this year.

Demolition Man, 1993 - ★½

"Jeffrey Dahmer? I love that guy!"

Largely a clumsy conservative power fantasy, Wesley Snipes still manages to be very entertaining.

Hot Shots!, 1991

Watched on Tuesday September 17, 2024.

Come back, Astoria

The wind whipped my hair, slathering it around my skull. I was standing alone outside my family’s church, looking up the hill to the grotto where the Mother Mary statue stood. We went to a Protestant community church, even though my parents were raised Catholic, and they raised me hair-shirt New Age. My pants rippled against the wind.

The “church” was a rec hall the congregation rented from a convent. We hired a visiting priest every week to give the sermon, and took turns bringing wine and bread for the sacrament. The convent was perched on the New Jersey cliffs overlooking New York City. For a while, Gwyneth Paltrow’s aunt went there.

It was after Service as I stared up the hill. Maybe I was eleven. Wind, dark clouds, the manicured humble grandeur of the grotto and its winding approach; it dripped dramatics.

I lived in my head, a verified space cadet, as my aunt put it. I’d wander around, head down, too scared to look the world in the eye, lost in stories I told myself of saving the day from incursions of Saturday morning cartoon villains invading the real world. I didn’t identify with kids who saw fantasy as an escape. It was fun! Just an interesting place. Why imagine what you already see when you could imagine anything? Why then, did I always imagine a fight?

I was a good boy. Very dutiful. Unwavering dogma at home; things would have to work out if I did everything I was told. “This is my son, of whom I am well pleased,” my mother would coo, reciting the Bible, God speaking of Jesus. Escape was for lesser minds. I was too mature, too knowing, too far down the rabbit hole.

Everything I did and thought and felt needed a definitive ending. A purpose. An answer. Leaving questions open felt like a cop out. No, a betrayal. I had divine expectations to live up to. It was my destiny, an inalienable fact. And yet, I could still fail at it. I was failing. The gap from what I was, to what I must be, was immense. Of course it was. How can that gap ever be closed?

Yet that day, it all fell into place. I had claimed my birthright. There was no one else around to tell me otherwise. I lifted my head, eyes raised, invigorated, a hero. I saw my path—mine! It was snaking up the hill, to the grotto. I knew every curve. I knew it. I would meet The Devil at the top. There would be a fight, of course, and I would win.


I’ve known Byrd and Valentina for over a decade. Byrd and I met doing improv in New York, before we both burnt out. I ended up returning several years later, but Byrd decided he’d had enough of that shit, and became a school teacher. Byrd was always an encyclopedia, and emotionally intelligent, so I can only imagine he’s an excellent teacher. He loves Long Island pop punk, goofy, well crafted jokes, The Knicks, and golf.

Valentina and I met when she and Byrd got together. She’s warm and bubbly, with strong opinions and a stronger belly laugh. She has a background in illustration, and now works trying to make people’s lives better as a UX designer. She loves cute things, tea, books, and silliness.

Byrd and Valentina are lovely people. They converted their second bedroom to an office and exercise room, where they also have a guest bed. I was got to take advantage of that bed several times.

They live in Astoria, the same neighborhood where my ex-wife and I used to live. We were there for seven years, before my ex’s art school ambitions and COVID moved us out. We would see them a lot, and I needed to see them again in this new reality, to keep seeing them, to develop a new relationship with the place.

I’d wander the streets, seeing familiar shops, restaurants, street corners, parks, all soaked with my past life, someone else’s life. Putting into context all the memories. So much time. Was it always good? Always bad? Always both? Why didn’t I leave, even as the whole thing crashed. Just trying, trying, trying to pull the vengeance out of the ghosts around town.

There are three cats—Peter, Bernie, and Chantelle.

Peter is the oldest, a grumpy tabby. He is a dick. He howls and tries to fight the other cats, and slops around because, as Valentina sarcastically whines in his pretend voice, “my life is so haaaaaard”. He likes to be pet with wet hands.

Bernie is a large, sweet, shy black cat, who mostly spends his time hiding. He’s very affectionate when he feels safe, which, in my experience, ends up being about six minutes a day.

Chantelle is the youngest, the only girl, lithe, with an orange coat, and a born hunter. She has her own time zone, mostly ignoring the boys, and is not very bright. She has a blithe swagger that demands attention without seeking it. She’ll often be in the closet, not so much hiding, but lying in wait.

There’s a big cat puzzle in the middle of the living room. It’s this big, plastic spiral, with clear tubes wrapping around it. Treats are put in the top, and the cats have to bat them around the twisting tubes through periodic slots to get them down to the bottom and out through a dispenser.

Chantelle was very good at this game. Peter was okay. Bernie would watch from under something.

While Byrd and Valentina were on vacation, I played the first few dungeons of The Legend of Zelda: Link’s Awakening for the Nintendo Switch. The game’s art direction is gorgeous, recalling shiny plastic toys come to life, but with a human, lived-in warmth. The whole time I played, I felt a blanketing sense of childhood, in small part from the narrative tinged with innocence, longing, and impermanence, but mostly because it’s a remake of a game that came out when I was a child. Guiding the hero Link through the dungeons felt safe, and I relished the indulgence of the escape.

How long could I allow myself to stay in the fantasy, the enforced hallucination, the tunnel vision of solving imaginary problems, secure in the non-reality, yet aware of the indulgence, aware of the pushing away of the hard table in front of me, the unread emails? I craved the escape, and allowed it—we all need a break, right?—but not for long. It couldn’t be the last thing I did before bed. I couldn’t play in the morning before work, or during a lunch break. There had to be rules. I couldn’t afford to get lost.


I set out with purpose. I could see Satan’s face in the clouds, really see it, just about! I could hear his laugh, right there at the edge of my hearing. The wind grew as I crested the hill, painting my clothes against my body. Destiny, doom, extravagance, purpose. Fear scattered like insects brought to light. I glowered, coiled. My inevitability laid before me. The grotto, the statue of Mother Mary, the view of New York City. Giddy, I slashed the air with my fists. Again. Again. Again.

I was breathing hard. Satan stayed in my mind.

Coward.


The days were short, the nights were long.

I’d wrap myself in the thick comforter of the guest bed, pulling the covers up over my head to block out the first rays of the morning sun. While I slept, Chantelle chewed off one of my watch straps. Turns out, the watch didn’t need it, so I guess I didn’t either.

The strap is looser, but here I am, still in time.

Lita Ford, Question Mark?

In my notes, I found some fairly sparse thoughts on listening to Lita Ford’s solo career for the first time. I don’t know why I was listening to it, or what I had in mind when I was taking down notes. Perhaps we can all figure it out together.

I went track for track, jotted down a tiny observation, and gave up after less than two albums. Here’s my essential thoughts in full.

Out for Blood (1983)

  1. Out for blood Rocker. Pretty standard hair metal fair.
  2. Stay with me baby A little slower, but still upbeat. Has a fun intro bass line if I remember right.
  3. Just a feeling Down the middle power ballad.
  4. Ready, willing, and able Mean, heavy riff. Stomper.
  5. Die for me only Screeching metal riff. Galloping.
  6. Rock n roll made me what I am today Hard rocker, more in line with later Runaways runes. Shout-along-style chorus.
  7. If you can’t live with it Another dark, similar to “Ready, willing, and able”, but more melodic and less mean.
  8. On the run Rolling fast number. Production seems worse than the rest of the record, hard to hear her voice. Maybe it’s the copy?

Dancin’ on the Edge (1984)

Bigger more pop production than the first album.

  1. Gotta Let Go Mid-tempo Motley Crue-type rocker, but with more melody.
  2. Dancin’ on the Edge A little more expansive, more like a driving metal song.
  3. Dressed to Kill Slower, but not quite a ballad. That 80s heavy metal slow-ish attempt at epic.
  4. Hit ’n Run Hornier riff, more swing.
  5. Lady Killer Talk opening. Another big riff. Not much to distinguish. Gang vocal chorus.
  6. Still Waitin’ Driving riff, more pop-oriented. Like a pale version of I Hate Myself for Loving You.
  7. Fire in My Heart No comment.
  8. Don’t Let Me Down Tonight No comment.
  9. Run with the $ Heartbreakingly, no comment.

Introducing PCG: Or, How I''m Spending the Pandemic

A lot has changed in the world since I last posted.

I have been extremely lucky during this pandemic. I am still employed, I can work from home, and I have my wife to shelter with. I do not take these things for granted.

And yet.

While my work life has not changed as drastically, my personal life has. Most of the things I did outside work before the pandemic were in person. Can’t do that right now. So, it gave me some time to work on home-bound projects that I pushed back on the shelf.

To that end, I’m very excited to introduce PCG, or Point and Click Game engine, an adventure game creation utility for the open web.

I did a talk about it three years ago (ouch), so this project has certainly been a long time coming.

PCG is very much in active development, but I think I’ve made encouraging progress, which I’ll explore in detail later.

But first, what am I talking about?

What is an adventure game?

If this is old hat to you, skip ahead to the next section.

For those not familiar, a point and click adventure game is a style of narrative, story-based games where progress is made primarily through puzzle solving, rather than violence or reflexes, something I appreciate more and more as I age.

Day of the Tentacle screenshot
Day of the Tentacle, a classic comedic point and click adventure game.

While their popularity peaked in the early 90s for mainstream gaming cultural, they have thrived in the indie space over the past decade or so.

Mechanically, many games in the genre use a system of verbs to interact with the world. You click a verb from a menu, for example “push”, and then the person or object in the game you want to apply it to, such as “crate”. Perhaps there would be a trap door below the crate, and a new area is unlocked.

Indiana Jones and the Fate of Atlantis screenshot
Indiana Jones and the Fate of Atlantis is a game that used a list of verbs.

Another method some games employ is to do away with the specific list of verbs, having pre-determined actions when interacting, or relying on the levers that must be switched in the right order.

Myst screenshot
Myst did away with set verbs, and instead utilized bespoke mini-puzzles to progress.

Almost all have you collecting various esoteric items, having the player apply those items to people or objects in the game, or combining them with each other.

A relatively simple system, from a game mechanics perspective, but one that hides a lot of depth, story-telling potential, and that particular player satisfaction from figuring out a puzzle.

Why a web-based adventure engine?

Most innovation in the web game space is around the <canvas> element and Web Assembly, which allows developers to “start from scratch” and create entirely custom rendering divorced from any of the preconceptions of the web.

Angry bots screenshot
AngryBots is an example of a web game rendered via web assembly and the canvas tag.

This works well for action games or games with pixel-pushing graphics. However, the goal here is always to emulate a native application, and since games written for the browser cannot by definition ever be native, the best they can be is a close approximation.

While close might be good enough, this always felt like a missed opportunity to me. We spend all these resources trying to get the web to be more like native applications, but hardly any on what new and interesting experiences we can create that are unique to the web. As Marshal McLuhan wrote, an author I’m proud to say I got a few pages into, the medium is the message.

I started thinking about what kind of games would work well inside the traditional web context - aka, HTML, CSS and JavaScript (and SVG) rendered into a DOM tree.

After some thought, I settled on point-and-click adventure games.

My reasons being:

  1. They are not real-time games—Having game play that relies on any kind of precise timing are going to need a more controllable rendering model than the traditional web.
  2. They rely on text/audio—Text is a first class citizen of the web, and new web audio APIs make that aspect possible.
  3. They are narrative-driven—The web is a powerful method of communication, and I’m excited by new methods of leveraging that.
  4. I like them :smile:—This is important, because without it I wouldn’t be able to finish a big project like this.

In short, I thought I could re-create many of the different point and click adventure paradigms on the web, while taking full advantage of the things that make the web the web.

Some of the unique things that are attractive about the web are:

  1. It’s universal—Many more people have access to a web browser than those with access to a machine that can play a triple A game.
  2. It’s accessible by default (with a rich API for extensions)—This enables access by those with visual, auditory, motor, or other disabilities. Accessibility is sadly an afterthought in a lot of digital design, and seems entirely absent in the gaming space. Treating accessibility as a first class citizen makes the experience better for everyone.
  3. It’s sharable—An oft taken for granted killer feature of the web is URLs. The power of sharing a permanent link that will work in every browser and can be posted to any platform is one I cannot understate.

Design goals

The ultimate goal of PCG is to foster a open, welcoming, and creative community around making point and click adventure games on the web.

In game engine terms, the goal is to create a flexible, modular, and pluggable system of components that can be combined to create most if not all the point and click varieties mentioned above (and many that were not), as well as opening up the possibility for new and unique games only possible in the web format.

After a lot more thought, writing, re-writing, trial and error, and leveraging embarrassingly earned career experience, I settled on some design principles for PCG.

The thought of even having design principles was something hard earned, but one I strongly believe in: a north star for how you go about making something out of nothing.

  1. Leverage core web tech (HTML/CSS/JS)—Rely on core web technologies and patterns over writing new systems. While new systems may offer benefits, building off existing ones usually means a more familiar, fast, and pleasant player experience.
  2. Player experience over developer experience—While developers are important, the end result that players consume takes precedence over the experience of the developers creating the game. These first two principles are why PCG is built without a framework in vanilla HTML/CSS/JS.
  3. Through documentation—A well documented system is an understood system, and an understood system is a powerful tool.
  4. Newbie friendly—As the web has professionalized, many exciting capabilities have opened up. It has also raised the barrier to entry. Creating something fun and expressive that can be used at a basic level to good results, while still offering a much larger world of possibility for those interested in learning, I think strikes the right balance.
  5. Open source—This is essential to creating a community, which is critical to the success of a tiny project like this. I also believe in it.

Next steps

This is a very high level introduction to the ideas surrounding the PCG project. I plan on writing posts going in-depth on each component of the system as they’re built and as updates are made. These posts will hopefully serve as a living progress report.

While I’ve spent a lot of time on PCG already, it is still in the beginning stages. It is very much a leap of faith.

I can’t predict what kind of community it will attract, if any, or what this project may or may not evolve into.

But I am excited to find out.


You can check out the Github repository or the documentation site for PCG, both very much in progress. If you have any feedback or would like to contribute, please don’t hesitate to reach out.

If you’d like to see what PCG is capable of currently (as much as I cringe to reveal the multitude of missing features) my friend made a tiny, rough demo game, and I made a little demo showcasing the text box component.

Thanks for reading all the way to the end, hope you and yours are safe and healthy, and I’ll catch you on the next adventure.

Syndicated to:

Understanding your cat, astrologically

This is a piece I wrote for McSweeny’s that I didn’t think would get published, but wanted to go through the process regardless. As suspected, it was not published. Here it is, in all it’s rejected glory.


Cats have lived with humans for thousands of years, but their behavior can still be baffling. The best method for understanding cat personalities is the same as it is for humans: figuring out which lifeless rocks were in the sky when they were born.

Aries

Your Aries cat is energetic and headstrong, which is why he ruined your couch. Drawn to competition, he excels at interpersonal struggles, like stealing the neighbor cat’s food. He can appear selfish, but only because he has tunnel vision for his task at hand. That’s why he seems so disinterested in you when he’s staring at dust.

Tarus

Your Tarus cat is peaceful and non-combative, and other cats will beat the ever living Christ out of him. Trusty and reliable, he will always pee on the exact same spot on the carpet. Naturally seeking luxury, your cat would never make it on the street. In fact, all street Tarus cats are dead.

Gemini

Feeling a deep need to be with others, your Gemini cat will make a habit of barging in whenever you take a crap. A philosopher at heart, you will often see your cat gazing out the window, pondering life’s great questions. Questions such as, “Will I get to kill that bird?”

Cancer

Much like Vin Diesel, your Cancer cat is obsessed with family. Except only metaphorically; cats are really territorial. Have you ever seen two cats getting to know each other? It’s brutal. But somewhere in her heart, she thinks of them as family, even as she’s ripping off an ear.

Leo

The ur-cat, Leos do what cats do, but more. Lay around? Check. Eat? Check. Hunt your shins? Check and check. In addition, Leos are very courageous, and will barely run away from the vacuum.

Virgo

Don’t let the surface fool you - it may look like your Virgo cat is doing nothing, but rest assured, inside, her mind is alive with calculations and predictions. Yes, to you it looks like she has been asleep for upwards of three days, but inside, she just did your taxes. Trust me.

Libra

Your cat craves balance above all else; can’t have too much or too little, everything has to be just right. Dry or wet? Felt or feather toy? Petting or no? Whatever it is, you better get it God damn right.

Scorpio

Scorpio cats are not aggressive on their own, but are quick to violence if provoked. Like, if you look at them too long.

Sagittarius

The symbol of Sagittarius is the centaur - half human, half horse - but that’s for humans. The cat version is half cat, half shetland pony. The cat half is terrified of the pony half.

Capricorn

Driven by ambition, your Capricorn cat will stop at nothing to achieve things no cat has ever accomplished before. That’s why she keeps fighting the dog. One of these days, she’s going to win, so separating them is against the stars.

Aquarius

Generous and dedicated, Aquarius cats are the philanthropists of the feline world. This means they’ll think twice before stealing the neighbor cat’s food. They’ll still do it, but they’ll think about it first.

Pisces

The symbol of Pisces is a fish, and all Pisces cats won’t eat fish out of self respect, even though they love it. The only way to get your Pisces cat to eat fish is if she’s hungry.

Reading picks for week 3 of March, 2019

This is what I’ve been reading this past week.

There it is, and here we are. Go forth.

Reading picks for week 2 of March, 2019

This is what I’ve been reading this past week.

There it is, and here we are. Go forth.

Reading picks for week 1 of March, 2019

This is what I’ve been reading this past week.

There it is, and here we are. Go forth.