
In this interview with Nick Gammon, we talked about Gammon
Software Solutions, MUSH Client, the mudding community, and life in
general. The interview was conducted by Ntanel.
1. Why, When and where did you start MU*ing?
In 1978 I was working as a programmer on Prime computers, and amongst the
usual text-based games you got on computers in those days, we found the
Original Adventure, by Crowther and Woods. Although not multi-user, we
programmers had great fun playing at lunch time, and after work. In fact, as
we all sat side-by-side at the terminals, it was multi-user in a way,
because we would talk to each other IRL, thus simulating what would
eventually happen on MUDs. These sessions were great fun, and we would pass
on tips to each other (eg., how to get past the bear). Details about the
Original Adventure can be found at http://www.rickadams.org/adventure/
A while these later "straight" adventure games became available on the PCs
of the day, and were quite popular, with more advanced ones like Zork
becoming available on the Apple II computer (and others).
Also, around that time, Scott Adams released quite a number of similar
spin-offs, available on Apple, Tandy, Commodore PET, etc. These can still be
found at http://www.msadams.com/
When I eventually got an Internet connection I tried to play some MUDs, but
obviously didn't find a very friendly one to play, because the few times I
connected someone immediately killed my character. This was rather
discouraging, but perhaps I stumbled across a non "newbie-friendly" game.
Later on, in 1993, I read the paper "Cultural Formations in Text-Based
Virtual Realities" by Elizabeth M. Reid (at
http://home.att.net/~aluluei/cult-form.htm) which reignited my interest in
MUDs.
At that time I had a Mac, and after a brief time trying to play MUSH games
with a telnet client, soon realised how useful a client was. MUSH games in
particular don't line-wrap (unlike most Diku-based MUDs) so without a client
the paragraphs just wrapped in the middle of a word at the end of each line,
and trying to key in commands was hopeless.
I found a Mac client (Mud Dweller, I think), and some friendly MUSH sites,
and had some good fun getting to know how to play in that environment.
Around that time (1995) my PC development moved from Macs to Intel PCs using
Windows, so I tried to find a MUD client for the PC. After some searching I
found about four or five, but they were all hopeless. They would either
crash straight away, run really slowly, or be very hard to use.
Of course, nowadays there are a few nice clients around, this is partly
because the original one have been improved, and some of the other good ones
available today were not yet written. For example, Zugg tells me that he
started writing zMUD at around the same time that I started on MUSHclient.
Since I wanted to play MUDs, and didn't have a client that worked, I thought
I may as well try writing one myself, after all, how hard could it be? :)
The first one I have a record of (version 0.63 of MUSHclient) was dated 13th
December 1995. I still have a copy of that, and it is a very basic MUD
client. However the basics were there - separate command window, line
wrapping, ANSI colour etc. This was written in Microsoft Visual C++ using
MFC (Microsoft Foundation Classes), which simplified doing a GUI program.
I eventually released version 1 around January 1996, which is still
available as it runs under Windows 3.1 (if you install Win32s).
A year later I added a whole heap of improvements, such as asynchronous
connecting (so it didn't hang while you connected) and released version 2 in
May 1997.
More recently I have added MXP support, and other things such as scripting
in your choice of language (VBscript, Perlscript, Jscript), so it is an
ongoing work. :)
You can read about MUSHclient at http://www.mushclient.com/
2. Have you helped contribute or design any codebases, MU*s or websites?
After playing PennMUSH for a while, I wanted to learn more about how a MUSH
worked, without making an idiot of myself in a "live" one, so I tried to set
my own up. The trouble was they were designed for Unix, and I only had
Windows. I downloaded the source and tried to compile it under the Microsoft
Visual C++ compiler. After about a week's work I got it to work, and then
emailed the developer - Alan Schwartz - offering him my Win32 changes to
make the codebase compileable under Windows. He accepted and merged them in,
and since then we have stayed in touch, with me making suggestions for minor
changes to support Windows, and he occasionally sends Windows-related
queries to me.
I also set up some tutorial web pages (you can see them at
http://www.gammon.com.au/mush/mush.htm) which give some general hints for
getting started playing and building in PennMUSH.
More recently I set up a forum so people can post questions and get replies
on web pages, because I found I was answering the same questions over and
over in emails. Once the forum got going, people can find their own answers
by searching earlier questions, or generally help each other by posting
answers to each others' questions. This is at
http://www.gammon.com.au/forum/. As I write this there are 758 registered
users (you don't need to register to read posts, so probably a lot more read
them), 6,330 separate posts in 1,511 threads, and threads have been read
171,060 times.
A couple of years ago I started fiddling with Diku-based MUDs, particularly
SMAUG, and realised how tedious it was to change the area files. Thus,
another major project was born, the rather boringly-named "Area Editor".
This was another Windows GUI program that lets you read in area files,
display them in a tree view (one node per mob, object, room etc.) and
add/change/delete in an easy-to-use graphical environment. You can read
about that at http://www.gammon.com.au/smaugeditor/
3. What is your proudest accomplishment in the MU* community?
MUSHclient, and to a lesser extent the SMAUG Area Editor.
4. What website would someone visit to see your current work?
http://www.mushclient.com/
http://www.gammon.com.au/muds.htm
http://www.gammon.com.au/forum/
5. Please give us a general description of your MU* background.
(See above). Developer of MUSHclient, Area Editor. Porter of PennMUSH to
Windows. Maintainer of various web pages regarding MUDs, including my MUD
forum.
6. What sets Gammon Software Solutions apart from all those others out
there?
Probably the thing that might set me apart is my experience with various
platforms. I currently have a couple of Macs, Windows PCs, and also OpenBSD
(Unix). I don't tell Windows people they should use Unix, or vice-versa. My
web pages are (try to be) brower friendly regardless of operating system or
browers. For instance, I often answer queries on the Mac set up in our
kitchen. I recently installed Mac OS X - which is a Unix-based OS running on
a Mac.
Not everything we do is "for a dollar". All the support for the PennMUSH,
Dawn Of Time, and SMAUG servers on the forum and elsewhere is done free as a
service to the MUD community.
7. Do you still run Gammon Software Solutions and where would someone
reading this interview find it, if you do?
Yes, it is still a going concern. :)
You could go to http://www.gammon.com.au/ to see everything we do (there are
even some Mac programs there).
8. Please include any information you feel the readers would like to
know about your MU*ing career not asked about in this interview.
I think I covered most of it. ;)
9. What caused you to decide on the creation of Gammon Software Solutions?
After writing MUSHclient, which was initially for my personal use, I thought
that I may as well try to share it, and make some money from it as well. If
it worked out, then I would be able to afford to spend more time improving
it.
10. Did you design and/or create the Gammon Software Solutions by yourself
or did you have help? If you had help, who else had a hand in the
development?
The web site was all my own design (and writing). I wrote the forum software
myself from scratch as the existing forums didn't quite do what I wanted
them to do (and/or were too expensive).
Various people have made suggestions for improvements, but the end result
was done by me.
11. What caused you to decide on the creation of MUSHClient?
None of the clients available when I started work on it worked reliably or
quickly enough.
12. What are the most mentionable features of MUSHClient?
It was written in C++ (rather than VB or Delphi) and is very fast. It
supports scripting in a use-choosable language (VBscript, Jscript, or
Perlscript). Triggers and aliases can be regular expressions which allow
very powerful pattern matching. You can have many worlds open at once, and
even send the same command to some or all of them. You can log sessions in
HTML, preserving the original colours from the MUD. There is support for MXP
which allows hyperlinks and other neat features, if the server provides it.
The scrollback window can be up to 500,000 lines long, with a fast search
feature for finding individual lines. Up to 5,000 previously-entered
commands can be recalled in the "command history" window (which also has a
search feature). Most program functions can be accessed from the scripting
interface (a COM interface - Microsoft's "Component Object Model").
MUSHclient now saves its "world" files in XML format, so it is much more
extensible, and forwards and backwards compatible, than before.
Recently I have added support for developer plugins, which allow related
triggers, aliases, timers and script snippets to be distributed in a single
file (eg. wilderness walker, random socials, things like that). You don't
need to have a compiler to write a plugin, just a text editor. Each plugin
can use a different language (eg. VBscript, Jscript) so you can have mixed
languages in a single MUSHclient session.
13. What were the most mentionable features to the MUSHClient release?
Not sure I understand that question. The most recent releases supported MXP,
and one due in a day or so will be the public release with plugins support.
A couple of releases back I added XML support, to make editing the "world"
files much easier.
14. Did you design and/or create the MUSHClient by yourself or did
you have help? If you had help, who else had a hand in the
development and release?
I did it myself. Various things like MXP were assisted by suggestions from
other developers like Zugg and Kalahn.
15. Will you be releasing other projects in the known future and if so,
what and when will it be?
I have been working on my own MUD server, which has its own scripting
language modelled on C. This has been dormant for a while while I improved
MUSHclient, but one day that will be reactivated. :)
16. you have any licensing advice for those who may one day start
and possibly release code or a codebase of their own either by
using another's code or starting from the ground up?
Most of the existing MUD servers have license restrictions, eg. you cannot
make a pay MUD. If you wanted to do it your own way (eg. charge, use the GNU
license) you would need to start from scratch (as I did with my MUD server).
This can be quite time-consuming, but rewarding in the end. If you want to
do this make sure you really start from scratch and don't borrow (except as
ideas) code from existing servers with license restrictions.
My other advice would be - if you are doing a new server, use XML (or a
database) as your file format. Probably XML is the most extensible. Most of
the problems people have with Diku-derived MUDs is that as soon as they add
even one more field to the database they can't use existing area editors,
because the area editor expects the exact area format from stock areas.
XML is very powerful, and lets you do all the things you need in area files,
eg multiple instances of things (like mobs) and containers (eg. objects
containing objects). I would definitely use XML next time.
Back to the Interviews
|