trenchant.org

by adam mathes  ·  subscribe  ·  RSS  ·  archive

glitch_eve.exe

Created with a Sierra AGI picture resource to PNG converter that now includes the ability to bit shift, swap, and manipulate the input to create glitched output.

QUEST_EBOOKS

This weekend’s project was creating a Twitter bot based on the content of early Sierra adventure games.

It’s already way better than anything I’ve ever tweeted on my own.

Follow @quest_ebooks on Twitter

A 3D Animated Adventure

Currently it’s tweeting out things based on a language model created by extracting the text from the MS-DOS versions of King’s Quest, King’s Quest II, King’s Quest III, Leisure Suit Larry, Police Quest, Space Quest, and Space Quest II.

Why those games? I own and have played (in most cases repeatedly) each of them. To me they share a certain “Sierra sensibility.” The improvements to the parsers, writing, and systems means the later games are more advanced and differentiated but also don’t have quite the same house style.

And they all use the same early AGI system so I could extract the text (relatively) easily. I didn’t get around to figure out how to parse out text from the later SCI games.

Technical Details

I was afraid I might have to do Real Computer Science but luckily there’s a community that reverse engineered the Sierra AGI formats years ago and made their work available.

I relied on some AGI utilities by Lance Ewing to do the hard work of extracting the resources of the old games into readable formats. In particular, I used XV3 and VOLX to extract the LOGIC files out of VOL files.

(Note: I wanted to include a few more AGI games, in particular Gold Rush and King’s Quest IV but the strings don’t seem to be in the LOGIC files in these later games, maybe due to internationalization schemes, or maybe because I’m extracting them wrong.)

After extracting the LOGIC files I used SHOWLOG to decrypt them into readable text.

This was slightly more complicated than it needed to be because these are DOS utilities, and I didn’t want to try and revamp them to be POSIX compatible and recompile them to work on OS X, so I ended up writing some scripts to create DOS BATCH files to do the hard work for me in a DOSBOX session. (Probably could have just re-booted into Windows but, whatever.)

The text is (mostly) hardcoded into these logic files. I wrote some python scripts to pull the message text out and reformat them a bit, leaving me with a few giant text files of strings from the games.

The twitter bot part I followed Joel McCoy’s How To Make an ebooks Bot which clearly walks you through the process of setting up mispy’s twitter_ebooks ruby scripts.

Some good stuff from it already:

You are too prickly to be touched.

You tap out a message in Morse code; unfortunately, only some rats hear a hollow, ringing sound.

The Continuously Measured Self

The interesting possibility of Apple’s HealthKit and the various other solutions isn’t the easy monitoring of data itself but the correlation of that with the rest of our lives already documented digitally.

Things like the intersection of blood pressure and heart rate to approximate stress levels cross referenced to your calendar and phone’s GPS - that’s the possibility of being able to look back at the past and see where the moments were that caused us stress or joy, the things that are most helping and hurting.

How much does checking your email actually quicken your pulse?

What was the impact of the second coffee that afternoon?

What will it mean to measure these things in a way that is much more accessible and actionable - thinking of it not as health or fitness or quantified self but as they way to listen to our bodies tell us about our commutes or jobs or interpersonal interactions or dietary habits or hobbies in a way we can’t as easily ignore.

Numbers and graphs and charts that are irrefutable.

To The Clouds

I managed to get a string to properly synchronize across Mac, iPad, and iPhone and I’m going to take that as a victory.

Apple’s entitlements files are basically a form of magical realism in software.

Quadruple Bypass

“This hurts more than getting hit by a truck.”

Stress Packing

Stress packed:

  • laptop
  • iPad Air
  • GCW Zero
  • 3DS XL
  • iPhone 5S
  • Samsung Galazy S5
  • HTC One
  • Nexus 5

“Four phones. I don’t need four phones. Three phones is already too many phones,” I thought.

So I narrowed it down to three phones.

“Three phones — still too many phones.” I put another back.

“Which games do I really need? Am I even going to play Phoenix Wright? Do I need the 3DS?” I closed the bag and decided it was close enough.

Stress packing is a thing, right?

Life is hard and full of uncertainty and on top of that I’m expected to decide what devices to pack and not pack? Why. I don’t want to decide.

Stress packing is kind of like the real life equivalent to grabbing everything in an adventure game because you might need it later. Except in real life that’s not going to help solve problems.

There should be an adventure game where you can pick everything up but none of it is useful. That would be an interesting game.

Hidden Characters

Because I never played Castlevania games (I thought they seemed lame in 1986 when I saw the first one) I am just now playing Rondo of Blood and discovering Maria attacks with doves.

Doves!

And sometimes cats.

How did I miss this? Why didn’t anyone explain this to me over the past 20 years?

Quieter Mac Workspace

A few things I’ve been doing to create a more usable work environment in OS X.

Remove Notification Center From Menubar

I find notification center annoying. To remove it entirely from the menubar -

$ launchctl unload -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist

Kill Dashboard

Also annoying, also able to remove it.

$ defaults write com.apple.dashboard mcx-disabled -boolean true
$ killall Dock

Run A Tiling Window Manager

I’ve started to use (sometimes) a tiling window manager. This can take a little bit of ramp-up time and getting used to, and may feel a bit claustrophobic at times but overall I’m liking it for task-centric computing work.

I’ve been using Amethyst. (See also xnomad and xmonad)

Remove Drop Shadows

If you’re using a tiling window manager things generally look better without drop shadows. I’ve been using toggle-osx-shadows to turn them off.

Projections

“Who are you going to pick?”

“Holographic projections of my imaginary friends.”

“How’s that going to work?”

“I don’t know. I’ve got time to hack something together.”

Bedside Keyboards

Usually I look back at the decade when I used a laptop in bed as barbaric.

Then sometimes I change my website so the backgrounds are javascript programs and I want to edit it but I’m already in bed so whoops.

Sent from my iPad.

Now More Pixelated

There’s pixels from my (abandoned, indefinitely on hold) pixodes project in the background of everything because it all just seemed too boring.

Also somehow it’s 2014 and browsers don’t know how to do nearest-neighbor scaling reliably anywhere so that was more complicated than I thought it would be.

To Follow, Please Enter Your Name And Photograph

Life was so much simpler when readers were just IP addresses.