The Early Days of UMoria

Skip to first unread message

Ben Asselstine

Jan 3, 2006, 6:19:52 PM1/3/06

I recently asked James E Wilson to describe the early days of UMoria.
Here's what he wrote...

I'm not sure where you wanted me to send this. Feel free to forward it
on to an appropriate place.

Some early Umoria history can be found in my original
That is a bit long, but if you just go to and search
for "v02i066 wilson" then you will be taken to it. This contains a
shar file (shell archive), of which the first file is a README. It
isn't hard to read it directly from the shar file. This contains some
historical info that I have long since forgotten.

I started work on Umoria in February 1987. I somehow acquired play
testers in April. I don't recall exactly how, but I was at a
university, so maybe they saw me playing it on a public terminal and
asked for a copy. The game slowly spread around the Berkeley area. By
November, the game was in good enough shape that I could post it to I think I was still calling it UNIX Moria then, to
distinguish it from the original, but the moderator
shortened it to Umoria, and that name has stuck. After the posting, the game was widely available, and things
just grew from there. The Usenet group was created
sometime around Jan 1, 1988, and was where most of the early
discussions about it occurred.

I originally got involved with Moria because I was tired of playing
other games. I spent a lot of time playing games such as rogue and
hack, and was looking for something different to try. There was a game
called UltraRogue that I enjoyed playing. Unfortunately, it had some
very frustrating bugs, and it was only available as a binary. I spent
some time investigating the possibilities of trying to decompile it and
fix it. Before I got very far, I chanced upon a copy of the VMS Pascal
Moria sources and quickly decided that porting the sources to Unix was
a better project than trying to fix UltraRogue. After I gained some
fame as the Umoria author, I did manage to get a copy of of the
UltraRogue sources, but by then it was too late, and I wasn't sure if I
had a legal copy of the sources, so I never did anything with them.

The original game was written in VAX/VMS Pascal with some VAX/VMS
Assembler. I did not have access to a VMS machine, and both the Pascal
and Assembler code would not work with Unix because of many uses of VMS
extensions. Since C was a more common language for Unix anyways, I
decided to just convert the whole thing to C. Much of the initial
syntax conversion was done via emacs macros. Then it was just a matter
of tweaking the sources until they would compile. The hardest part was
finding and fixing all of the off-by-one errors, as Pascal array
indexing starts at 1, and C array indexing starts at 0. It took me
years to find and fix all of the off-by-one errors. I still can't
believe how hard it was to find them all. At least, I hope I found
them all.

Mostly what I remember about the early years of working on Umoria was
that it was a good introduction to software engineering principles. I
had to learn how to deal with bugs, bug fixes, release schedules,
making and distributing releases, etc. It was just a game, but I
learned many valuable lessons about real world software development
while working on it.

One of my favorite moments from my Umoria years is when I got mail from
one of the authors of rogue. I recognized the name right away, and had
to ask. He confirmed that he was one of the rogue authors, and that he
was a fan of Umoria. That made my day.

The credits in the PC/Windows game Diablo mention that it was inspired
in part by Umoria.
Jim Wilson, GNU Tools Support,

Reply all
Reply to author
0 new messages