Violently violining Vienna veterinarian
Lalalalalalalalala means I wuv you
- The Typing of the Dead, 1999
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].
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…
i would like:
— Brandon Boyer (@brandonnn) July 9, 2016
- to meet the people who localized TYPING OF THE DEAD
- a translated list of the original JP phrases pic.twitter.com/ggHRMRKufe
…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?
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
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.