← Blog

I was Tamino.

// CONTENTS

For twenty-five years, a page on the internet has been wondering where I went.

It belongs to Razimus, an Ultima Online archivist, and it’s titled “Tamino’s 2001 pre-Alpha client Project.” It shows 25 tiny screenshots, each 92 by 75 pixels, and tells a short story. In 2001 someone called Tamino got the original 1996 Ultima Online pre-alpha client running again. He walked around in it, dressed himself in armor, played as monsters and as Lord British, promised to share it, and then vanished, along with his webpage and everything he’d worked on.

“As for his whereabouts,” the page says, “he seems to have disappeared along with his webpage in 2001.”

I was Tamino.

A Client With No World

Some context, for anyone who wasn’t living on dial-up in the late nineties. Ultima Online was one of the first big online role-playing worlds, and I got in early: I played in the beta in 1997, and I was there when the game launched later that year.

But I’d missed the version that came before it. In 1996 Origin put out a pre-alpha client, the first client of the game ever released to the public, and it was a very different game from the one I knew. When that test ended, the servers went away, and that version of the world went with them. For anyone who hadn’t been there, all that was left were screenshots and other people’s stories.

Around 2000, I found a copy of that client sitting on an old AOL FTP server. By then I’d learned enough C++, and enough about TCP/IP networking, to think I could bring it back.

Here’s the thing about an online game client: on its own, it’s almost nothing. It’s a window into a world that lives somewhere else. Without a server, it doesn’t show you a broken game or an error message. It shows you a black screen, and it waits.

Talking to a Black Screen

So I decided to build the somewhere else.

I wrote a server from scratch in C++. The hard part was that I had no idea what the client wanted to hear. Today, if you’re reverse-engineering a network protocol, the first thing you reach for is a packet capture, a recording of the real client talking to the real server. There weren’t any. The real server had been gone for years.

That left the client itself. I worked the protocol out from the inside, down at the level of machine code: what the client sent when it connected, what it was waiting for in return, and what shape each message had to take. Then I’d write my best guess into the server, start the client, and watch.

Black screen. Change something. Black screen. Change something else. Black screen.

Reverse engineering at that level is mostly patience. The client doesn’t tell you what’s wrong. It doesn’t log a helpful message. It just declines to do anything, and you go back and look again.

And then one night, it lit up.

I don’t have a better word for that moment than “miracle.” A world that had been dark for years was suddenly on my screen, drawn by a client that believed it was talking to Origin. I was ecstatic.

Walking Around in 1996

Once the client trusted my server, I could start building the world back up.

Fans had spent years poring over a handful of famous screenshots from the original pre-alpha test. Now I could walk to those places myself. Some of what I found had never been seen outside Origin at all.

I could spawn objects, clothes and armor, monsters and NPCs. I could play as an orc, a guard, a skeleton, or Lord British himself. The surviving screenshots are a little scrapbook of that time, with Razimus’s captions: “House Ruins,” “Bridge of Death,” “Orc Fort,” “Where the Alpha Ended.” One of them is called “Give my pants back.” I stand by it.

What I couldn’t do yet was fight. Years later, a 2009 thread on BetaArchive named my project, Ethereal Void, as one of only two Ultima Online pre-alpha server emulators ever made, and summed it up as “working, but there was no combat.” Fair.

A small handful of testers from Ultima fan sites and IRC came along for the ride. I put up a webpage with a title graphic I made for it, and for a little while Ethereal Void was a real, if very small, thing.

House RuinsWaterBridge of DeathSkill ListOrc FortOutside Bard LibraryWhere the Alpha EndedWorld BoundriesOops, got blocked.Testing AroundGodland Test AreaCrypt EntrancePlaying an OrcPlaying a GuardPlaying a SkeletonPlaying Lord BritishNewbie Rez PointStone BridgeCover Thyself!Orcs in CampGive my pants backFireTamino Bleu!Weapons & ArmorHouses in Town
Images: Razimus's Tamino page · dialup.party Ultima Offline archive

Then I Vanished

The archives make my disappearance sound mysterious. The truth is about as unmysterious as it gets: college.

Between classes and everything else, there was no spare time left for a 1996 game server. The page went down. I stopped answering. Ethereal Void went quiet, and Tamino went with it.

Razimus was one of the people I left hanging. I knew him from the Ultima Online beta in the late nineties, and later from the corners of the internet where Ultima people gathered. He’d emailed to ask for a copy of the client and to be kept up to date, and I’d told him he would be the first to know. Then I disappeared.

He did something I didn’t think to do: he saved my webpage. Those 25 thumbnails exist today only because he archived them. His page still lives on in dialup.party’s Ultima Offline archive, and the Ultima fan archives have kept the story alive ever since.

Why I’m Telling It Now

Partly because it’s a good story, and I’ve sat on it for a long time.

Partly because it’s where everything started. Ethereal Void was the first time I took something that didn’t work, refused to accept a black screen as an answer, and kept going until it lit up. That’s still the job, more or less. The tools are better, and these days there’s usually documentation. The feeling when it finally works hasn’t changed at all.

And partly because the archivists deserve an answer. People like Razimus kept this small corner of history alive after the person who made it walked away. The least I can do is close the loop.

Razimus, sorry for the wait. You asked where Tamino went.

He grew up and kept building things.

// SUBSCRIBE

Get the next one by email.

Double opt-in, no spam, unsubscribe any time.

Your address goes to Kit and nowhere else. Privacy