Violently violining Vienna veterinarian

Lalalalalalalalala means I wuv you

- The Typing of the Dead, 1999

Go straight to the lists: phrases, words, groups, 3+ characters, 3-letter words, 2-letter words, full list

Once upon a time there was a videogame called The Typing of the Dead, an incredible cross between a zombie apocalypse shooter and Mavis Beacon Teaches Typing [see: here].

Battling the boss on the first level

Instead of shooting the zombies you type phrases like:

  • Cows are watching how you drive
  • Sad sour shrimp
  • Sexy and smart bohemian dentist
  • Tristan and Isolde
  • Bright, large 1BR, ceil fan, tile bath

It’s real, I swear, you can see it on YouTube.

I owned the Dreamcast version, but it also existed on Playstation 2, PC, and the original Japanese arcade version (of course).

The Typing of the Dead is perfect. Typing those phrases is like looking into the sweet face of an unhinged angel. But apparently it’s so perfect that the list of weird phrases from the game has never made it to the internet.*

Until now.

Not actually true! furryyiffer is an absolute genius and cracked apart the game in a much more elegant way than I, providing both the English and Japanese content, and in a proper format. I’ll be updating this page with that content as soon as I get a chance.

Yesterday Brandon Boyer tweeted about it…

…and unknowingly convinced me to spend a few hours convincing the game to give up its secrets.

The lists

There are thousands upon thousands of things to type in this game. Read and rejoice:

Phrases only: ~9700 entries

An amazing compilation, it’s anything that has spaces in it. For example…

Inebriated infantile
Wanna bite my ankle?
Antidandruff hair lotion
Egg boiled in a hot spring
Did the devil show up yet?

See all phrases

Groups: ~4000 entries

Groups are mostly from boss fights, and includes questions like “Which is Chinese food?” and “Which one is stinky?”. I’ve broken them out into the categories they belong in (rhymes, jokes, lists, etc). For example…

PEOPLE ASK ME WHY I YELL ALL THE TIME.
I TELL THEM THAT I AM NOT YELLING!!!
MY CAPS LOCK KEY IS STUCK .
I DON'T KNOW HOW TO FIX IT. SO THERE.

See all boss-fight grouped phrases

3+ character words: ~2800 entries

3+ characters is everything without spaces that’s 4 letters or more. For example…

Mudskipper
Muffins
Mujibar
Mulberry
Mullet

See all 3+ character words

And also!

I’ve also pulled out lists for 3+ characters, 3-letter only and 2-letter only. You can also give the full list a shot but it includes a metric ton of garbage.

I did minimal processing on this just in case some of the phrases that seem like junk aren’t.

How the list was generated

I acquired an image of the Dreamcast version of the game, mounted it via DAEMON Tools, and poked around until I found a file called WORD.AFS. Might it contain… words?

I opened WORD.AFS in a few different text editors (BBEdit crushed the competition, everything else just wanted to crash), then tried it in Hex Fiend, a very pleasant hex editor. Scrolling through Hex Fiend found me some English phrases, and it was all cutting out junk from there.

Of course, we all know how well “junk DNA” turned out, so the stuff I got rid of very well may be “stuff that’s probably important but I just don’t know what to do with it.” I thought I was onto a beautiful translation list when I tried some flavor of Shift-JIS encoding (pictured above) but I think it’s all actually gibberish.

If you have a PC you can probably use this Shenmue AFS file opened to extract all of the .bin files out of the AFS file and deal with this in some nice clean method.

The command

This is the embarrassing command I used to generate the files. For some reason sed makes me terrible at regular expressions and Python refused to open the file, so you get the horrible mismash below. Life would also be a lot better if I could get \x20-\x7e to work appropriately.

echo "Processing WORD.AFS..."
mkdir -p generated

cat WORD.AFS | # Open up the WORD.AFS file
  perl -np0 -e 's/^/ /; s/\0/\n/g' | # Strip all of the \0's per 
  LANG=C sed "s/[^A-Za-z0-9\.\x20\'\,\-\%\;\&\?\!\:\"\$]/ /g" | # Grab the output of the first command
  perl -p -e "s/^[ \d]*$/ /g" | # Remove any lines with only numbers
  sed "s/^ *//g" | # Strip beginning whitespace
  sed "s/ *$//g" | # Strip trailing whitespace. Why does this take two lines?
  sed "/^ *$/d" | # Remove any blank lines
  sed "/\.bin$/d" | # Remove the list of .bin files at the end
  cat > generated/content.md

echo "Generating sublists..."
cd generated
grep ^..$ content.md > content-twos.md
grep ^...$ content.md > content-threes.md
grep " \w\w" content.md > content-phrases.md
grep "..." content.md > content-three-plus.md
grep "...." content.md > content-four-plus.md
grep "^\w*\w\w\w\w*$" content.md | sort | uniq > content-words.md
python3 ../groups.py content-three-plus.md > groups.md
cd ..

echo "Done."

All my code (and WORD.AFS) is up on GitHub - if you have Thoughts/Feelings/Corrections etc feel free to comment/submit a pull request or straight-up hassle me at jonathan.soma@gmail.com.