Lady Hobbit

Aggiornato il giorno 9 Febbraio 2021

Her name is familiar to whoever knows Melbourne House: Veronika Megler, coauthor of The Hobbit and the first employee of the Australian software house. If Philip Mitchell is like a ghost, quite reserved, maybe not much affable, she is an happy soul: kind, pleasant, with a lot of interesting things to say. She was one of the first programmers to design intelligent and independent NPC’S and we’ll talk about that as well. 

Veronika Megler's PhotoCan you please introduce yourself to our readers?
I am now 41, and work for IBM as a Consulting IT Architect, in the US. I actually worked for IBM Australia for 10 years after leaving Melbourne House, working with mainframes, performance tuning, systems management, and IT management consulting. Then I left and travelled, and moved to the US nearly 10 years ago. I worked for other companies as a consultant for 5 years, then joined IBM Global Services and became an IT architect. Now, I work with wireless solutions. I really enjoy it, because I get to work with high-level architecture and strategy, and actually work with implementing the products as well.

How did you come involved with Melbourne House adventure games?
Philip, Ray, Kerryn and I all studied Computer Science, Physics and Mathematics together at Melbourne University, and worked on many group projects together there. I responded to an advertisement at the university looking for a programmer to design and write games part-time. Alfred Milgrom, the owner of Melbourne House, hired me, and I became Melbourne House’s first employee. I then brought Philip in, and he became the second employee. Alfred’s dream was to provide a natural language interface, and he hired Stuart, who was a language expert, to figure out how to do that.

Alfred’s instruction to us was, “Write the best Adventure game ever”. So Philip and I designed and wrote The Hobbit.

Later Ray and Kerryn joined also. They wrote the Basic games and the books.

At the end of our university degree, Ray, Kerryn and I left Melbourne House. Ray and I went to work for IBM Australia, and Kerryn went to work for a mining company. Philip stayed, and made it his career. Other people came in, and worked on the follow-on games.

Can you tell us something about Philip Mitchell? Was he the “mind” behind the games? Tell us a funny story happened at Melbourne House.
I remember Philip as quiet, very kind, and very patient. Yes, he was quite reserved. We worked very well together; we complemented each other, in many ways.

The funniest story I remember is from the University, not from Melbourne House. Philip, Kerryn, Ray and I had been working on a large group project. Then, just before it was due, Ray was trying to delete all files with at least one space before the filename, created by a bug in our project, and he typed “rm *”. By mistake, he deleted all our program files! We didn’t have paper printouts of our code, because we had a print limit. Philip figured out what had happened first, and quite calmly started recoding all the sections he’d just written. When Kerryn and I calmed down, we did the same. (I was the last to calm down!) We rewrote hundreds of lines of C code from memory, and when we compiled it and tested it, the whole thing worked first time – which it hadn’t before Ray deleted it all! And we made the deadline after all. He never lived that down.

What did you do in the games?
I designed and coded the locations, animals, and behaviour – the “game” portion. I used the book of the Hobbit as the guide to the story design, and tried to stay “relatively” close to it, given the computer constraints of the time. Philip designed and wrote the whole language engine, the message design and picture interface. Stuart worked on semantics.

How many hours did you work a day?
Well, it was part-time work, so it depended on what classes we had each term and each day. Often, we’d come after our classes, and work late into the evening. During vacations, it was more or less 8 to 10 hours per day.

Which kind of difficulties did you find?
Actually, I thought the design on my side was straight-forward; once you applied database concepts, it was pretty easy to make an extensible design. I wish, now, that object-oriented languages had been around then; the design would have translated very nicely.

Philip had far more design challenges in the language engine, but developing those kind of algorithms really played to his strengths. By the time he’d finished decoding the instructions and handed them to me, they were all nicely presented as a set of separated, specific instructions. So “take the hammer and hit Gandalf with it” would become, “pick up hammer”, followed by a next turn of “hit Gandalf with hammer”, from my perspective.

Infocom was famous for his Hawaiian atmosphere in the offices. Was it the same at Melbourne House?
The atmosphere was fun, because we already all studied together and liked each other. It was basically a large, open room with lots of equipment, and we each staked out a favorite desk.

How long have you worked there?
I worked there for 1 year.

In recent years, your game “Lord of the rings” has gained a new audience due to the movies. But adventure games are still a thing for a small audience. Do you think things will change in the future, so we’ll see again text games on the shelves?
Oh, I think that a lot of the people who used to play adventure games moved on to the “God” games – I know a lot of my friends did. And some of the God games are very powerful, now – think of the Sims! Also, the huge surge in fantasy science fiction books has filled some of that need. So I think that it will stay a small niche.

What about Sherlock?
By the time the Sherlock series was released, I’d lost touch with Melbourne House. So I’m sorry, I don’t know!

“The Hobbit” and other Melbourne games are milestones in text adventures’ history, but they also are famous for their bugs. Was the games not tested enough?
The Hobbit was a tough game to test. Unlike the other games of the time, it was written in Assembler, not Basic, and we would find bugs in the assembly and linking programs. Also, it was not deterministic, and the game played differently every time you played it, as a result of Philip doing a lot of work to develop a “perfect” randomizing routine. Literally, the player had a turn, then each animal had a turn, and the animals just “played” the game themselves according to their character profile, which included interacting with each other. In essence, the animals would do to each other anything that they could do to or with you. So we would constantly have animals interacting in ways that had never been progammed or envisioned. The game would crash because of something that happened in another part of the game that you as the user (or person testing the game!) didn’t see, because the game only showed you what was happening in your location. For a while, we had terrible trouble with all the animals showing up in one location and then killing each other before you got there, before I got the character profiles better adjusted!

For the time, this was a very revolutionary design; the model then was the classic Unix Adventure, where each animal was tied to one location, only did one thing, and acted the same way each time. Even in the arcade games, we were able to identify that each object that you interacted with performed the same way each time, and never interacted with each other at all.

Also, with the language engine, you could interact with the animals in ways we’d never thought of. So people would constantly be writing to us telling us they’d done things that we never thought of, and didn’t realize the game was capable of. In fact, we originally wrote the “save” mechanism to help us debug.

Can you tell us more about technical aspects of the games? Did you program each game starting from scratch… or not?
The Hobbit was all written using the latest techniques from university. The messages, for example, were coded in a database that would contain the sentence structure only. When you used a sentence, the message engine would replace the subject, object, adjective, and verb for the current situation, and put the right ending on each (singular, plural, female, etc). The actual words were kept elsewhere, and were looked up when needed. So, unlike other games of the time, you couldn’t dump the message database to give you clues about how to play the game.

Each object had a set of characteristics, and you could perform actions on the object based on the characteristics. For example, it could be alive (an animal) or dead. It had weight associated with it. So you could pick up any object that was light enough and use it as a weapon, whether it was a “weapon” or not. If it was a dead animal, that was no different from any other heavy object. If it was a live animal, it would probably struggle or fight, depending on it’s character profile.

Each animal’s “character” was a list of actions that they could choose between. Sometimes, they would just cycle through the actions one after the other, and sometimes they would change to a different set based on what had happened before – like the friendly dwarf, who could become violent once he’d been attacked (or picked up). An action could invoke a general routine – like, choose a random direction and run, which was the same for all animals; or, it could be an action specific only to this animal, like, choose any live object and kill it.

The Hobbit was written with the intention of being a “game engine”. The locations, the animals, the language engine and the message engine were all built using database-like techniques, so that they could be replaced to turn the game into a different game. We even talked about developing a “game editor” that allowed people to develop their own games through an interface. But I don’t think it was ever followed through the way we’d originally thought. When we started talking about Sherlock as the next game, it was clear that the adventure engine wouldn’t apply, and we’d need a different model for solving mysteries.

Were you an aventure games fan when you landed your job at Melbourne House? What about your favorite text games? Do you still play text adventures?
When I started at Melbourne House, I played classic Unix Adventure, and Space Invaders, and the big arcade games at the time. We used to go to the arcades and play all the games to see what the latest game techniques were there. At the time, arcade games were a completely separate industry with different techniques. Then, when I left, I didn’t play any computer games for over 15 years! Now, I play Tetris maybe 5 times a year, and I played the Sims a little a few years ago. I really got game-playing out of my system while I was there!

What do you do in the spare time? Are you married? Where do you live?
Yes, I am married, and I live in Portland, Oregon with my husband, my cat, and his dog. In my spare time, I read, garden, cook, party with friends, go to the theater, museum and concerts, travel, and ski. I have a really good life!

Is it true that you speak Italian?
My father studied in Italy, at the University in Padua, and my mother worked in Italy. They met and married there, although they were both from other countries. When I was a child, they often spoke fondly of their time there, and often spoke to each other in Italian.

April 2002