Kevin MacFarland, creator of “Assassin”

From writing tic-tac-toe in BASIC as kid to creating the classic BBS door game Assassin, computer engineer Kevin MacFarland remembers his past life as the “C Monster.”

Assassin was of one my favorite role-playing games as a teen, so it was exciting to get in touch with MacFarland and discuss his game. This interview was conducted by email Mar. 2 through May 14, 2013.

Were you a big Atari fan, or more of a computer platform agnostic?

For the longest time, yes, I was an Atari fan. Technically I still am, but no longer have any of the old computers. Guess that started with the 2600 gaming system. Yes, Adventure with slaying the large-pixel dragons and the first easter egg of finding the little hidden pixel and rooms to see the authors name.

I moved on to a friend’s Atari 400 system playing Star Radiers on cartridge and using the tape drive to load a B1 bomber game where you attack the Soviet Union. It was written in BASIC, which I modified for my friend by editing the program to give him 100 long-range missiles instead of the original two.

Then the 1200 XL system, and finally an Atari ST that my parents got for me while I was in college which I used for the next seven or eight years.

That ST, along with a 9600 baud modem and an external hard drive I built, were the basis of both my development platform and the BBS, The Monster’s Lair. I called myself “C Monster” at the time, as I developed in (you guessed it) C.

And then for work purposes and expansion of the game I went into PCs.

How did you get into computers?

I really got into computers in 6th or 7th grade (circa 1977) when the grade school I attended had a terminal connected to some distant mainframe as part of the very early computer education. I think only about four of us had access to it granted by the resource library teacher who managed it. I learned BASIC on it, and coded a few simple things on it. I eventually worked with one of the other kids to write a Tic-Tac-Toe program that actually beat you if you didn’t play well.

That was what drove my educational goals. From that point on, I knew that I wanted to be working with computers, both the hardware and the software aspects. So I took all the programming classes in high school that I could, and went into electrical/computer engineering in college.

How old were you when you began BBSing? What did you enjoy about it?

I think that it would go back to the simple email program on that old terminal/mainframe in grade school, but it really took off while I was in college. I started with a lightning speed 300 baud modem to keep in touch with other friends who had Ataris, and to get info and opinions on all the various games out there. (I’m sure that you, like me, didn’t have a lot of disposable income while you were in college. I wanted to make smart purchases.)

I really didn’t get into hosting [a BBS] until after I graduated and moved out to California. One of the local Atari club members was playing around with a Fidonet system. I set one up as well so that we could see how it worked before he went fully online with it. Then we met Tony Castorino of the Space Station BBS in Santa Clarita, Calif., to whom my friend leaked a beta of Assassin. He encouraged both the development of Assassin and the setup of the BBS for both local access and the game’s support.

Title screen of the Atari ST version of 'Assassin.'

Title screen of the Atari ST version of ‘Assassin.’

Who was the friend who leaked the beta?

The friend was Tim McCoy, one of the members of the local Atari users group, and the other Sysop I was helping to check out BBSes. He leaked it to Tony Castorino.

Needless to say, I was very surprised when I got an email (or was it a phone call?) from Tony saying how much he liked the game concept. He offered to be the first BBS to host it while I was still developing the game, trying to see what worked and what didn’t. Mind you, that also helped with his BBS’s popularity, as his was originally one of the only places to download the game.

Assassin is one of my favorite BBS door games, but I wonder: what were your favorite door games to play?

Two of them come to mind, the first of which comes back to your interview with Amit Patel. I loved Solar Realms Elite, and was actually starting to put some of its game mechanics into Assassin before all the other complications of work and family took more of my time. I loved the way you could send fleets out to other BBSes and attack the players there, and I was starting to do the same with henchmen in Assassin. I had it all ready to go, but couldn’t get the Fidonet packet ID needed to send game packets across the net.

The other one, I can’t remember the name of but it was you playing the role of a Hollywood studio producer, matching up stars, genres, and titles to make blockbusters. It was more of a random thing, but some of the combinations were hilarious!

[Editor’s note: Kevin may be thinking of The Movie Producer]

I wonder if, rather than SRE, you might have meant either Space Empire Elite (the Atari ST BBS game which inspired SRE) or Barren Realms Elite (a sequel released two years later by Amit’s brother Mehul). The reason I ask is that SRE never supported inter-BBS play, but SEE and BRE both implemented inter-BBS features.

It probably was SEE that brought about the ideas of inter-BBS play.

Tell me about the process of creating Assassin. Where did the idea come from?

Assassin really started as a diversion from the coding of data extraction and reduction tools I was doing at work. That was challenging, and helped me hone my programming skills — but that was work, and I wanted to work on something that really excited me. Since I started dabbling with BBSes, I had always enjoyed playing the RPG and simulation games that were out for the computers. I saw this as a way of merging the two areas, a BBS door RPG, which I had not really seen any when I started the coding.

Instead of creating the whole concept and end-product view like current big-budget games do, I just started working ideas from off the top of my head, working the underlying framework API first to build the simple menus and BBS interface code. Then I went about filling in the detail.

It started with just the player versus random characters, then it evolved with the player-vs.-player fights and a guild system (I wanted a way to let players choose their level of risk, if they could afford it), and then the whole henchmen idea (which I got from a similar system I saw in SSI’s Road War 2000. I always hated losing those busses full of supplies after an attack).

Looking back at it, I guess Assassin was one of the first multiplayer online games with different interactions between players.

How was Wayne Myers involved?

Wayne really didn’t come into the picture until near the end when I was still looking for more content to put in. He was a high school kid from the local user group who had a few ideas, but didn’t know programming. Several of the in-game games were his ideas, especially craps. I taught him some pseudo-coding, so he could lay out the basic rules those games, and then I coded what he provided.

What was reaction like from sysops and players? Did you get a lot of feedback?

Sysops loved the game, as can be witnessed by Tony’s original reaction. I had a few bug reports that kept coming in to fix a few issues, but mostly I got a lot of suggestions for tweaks and features to add to the game, most of which I think I put in.

What really surprised me was the level of interest from PC BBS operators. They loved what they saw on the ST boards, and wanted to run Assassin on their boards as well.

Without going into a whole lot of programming detail, when I wrote the original code, I basically wrote my own door framework, so it was easy enough to break the low-level stuff into Atari-specific and PC-specific code. The real pain was converting the graphics files and prompts into my own code scheme so that I could send it to both Atari VT-52 screens and PC ANSI screens. That and also having to format data files to be interchangeable between the two systems (if you know Big Endian and Little Endian, you’ll understand what I’m saying).

Digging up another assassin's grave in Assassin.

Digging up another assassin’s grave in Assassin.

I always got a kick out of the Assassin environment: the alchemist, the graveyard where you can dig up other players’ corpses, the way the game speaks to the player using “thee” and “thou,” etc. What inspired your medieval setting of the game?

I always loved the Ultima series by Lord British (Richard Garriott) and the overall immersive environment that they portrayed. Since I envisioned Assassin in a medieval setting, it just seemed natural to go that way.

That and a little bit of Alternate Reality. [I was developing a] a 3D layout that had elements of Xebec’s Demise to it, but I never got a chance back then to complete it. Since I already had locations with their own menus, I liked the “street” view and the random encounters, similar to what I was doing with the Assassination section, but in more detail.

You may not remember, but I’ll ask anyway: What did the “mystic seer” in Assassin do? And what could you use the lantern for?

I did not remember, so I had to go through a HUGE stack of floppy disks to find a copy of my old code, which thankfully I did.

The lantern was used to minimize the turns needed to dig up a grave (it helps to see what you are doing).

The mystic seer was a way to find out the stats of your opponents. I set it up as an incentive for sysops to register the game, because it was only available if you had a working key.

Earlier you mentioned working on inter-BBS features and a 3D layout. Can you tell me more about these unfinished developments?

I was setting up for both inter-BBS gaming, along with revamping the look and feel of the game, as each place was going to have a “physical” location. So instead of just being text based, it was going to be a randomized 3D mapped world. It would have started with direction keys for movement around the world and probably would have eventually had a first-person perspective to it. That would have allowed for multi-player gaming on the PC boards, real-time running through the city hunting each other, and the player with more familiarity with the layout would logically have the upper hand in setting up a trap (insert evil grin here).

From a business perspective, what were some of the challenges of selling the game as shareware?

Shareware was always a risky proposition for a developer. You put something out there, and hope people like it well enough to register it. The ultimate in “try before you buy.” I knew a lot of sysops would probably run the game in unregistered mode, which was OK as people would still be able to play and enjoy it. But the logon screen would indicate that the game was unregistered, so that if a user really liked it, he could chip in some bucks to the sysop to register.

The way I went about it was to have incentives in the game if it was registered, as opposed to crippling key features if it was not, like some games did. If registered, the setup utility would allow the sysop to change guild names and other various player stats — and there were in-game options such as the Mystic Seer.

How many registrations did you sell over the years? How did that split between Atari ST and PC registrations?

I don’t really remember the totals. I would see a few come in every now and then, which kept me developing the game, but not a whole lot.

The breakdown was roughly half and half, with ST the main input early, and the PC in later stages, just because of the port to PC near the end of my updates.

Did the PC version supplant the Atari one, or did you continue working on both versions until the end?

The PC version supplemented the ST version, it did not replace it. Since I had isolated the low-level interface code which was different between the platforms in my own door framework code, I could work on the core game experience, and then apply it to both at the same time by compiling both an ST and PC version based on the same code. Nowadays it’s called code-reusability or common source library, but back then with me it was just a good idea that made sense.

When did you cease developing of Assassin? Why did you decide to stop?

I stopped actively working on the game back in 1995, simply because I got too busy with work and family to continue doing it. During the heyday of coding, I would be on the computer at home each night for several hours after the kids went to bed, but as they got older, and my job got busier, Assassin had to fall off the plate, so to speak.

Let’s fast-forward to the present. What are you up to these days?

I’m still working for the same employer as I was during the days of coding Assassin, just in in a different branch, working on a different program as one of the senior folks. Guess that happens when you’ve been someplace for as long as I have.

I’m splitting time being at home with my family, and then going on travel for work. Over the course of this interview as I have been going back over code, my adult son has expressed an interest in reworking the game and somehow creating it in an app format. It sounds like a nice idea, the adventure of breathing new life into it, so we might just do it.

Looking back, how do you think BBS games fit into computer gaming history?

Games of all kinds for entertainment are inately human, whether solo games like Solitaire, or group games like tag, baseball, or D&D. How the games are played just depends on what you have available. Any kid can take a stick and turn it into anything with just their imagination.

BBS games just took the next step on the path of game evolution: taking a stand-alone computer which could play solo games and adding a modem. This allowed the user to interact with other enthusiasts to try to beat each other’s high scores, form an alliance against a common foe, or, in the case of Assassin, sneak around and knife someone in the back — just because they could.

While the Internet was still just a DARPA project, and computers were all command line beasts, there was the humble BBS. BBSes, and BBS games, were the parents of the current chatrooms, blogspheres, email and games. The only three differences are connectivity, bandwidth, and computing power. Our modems have been replaced by always-on internet service from your ISP. Bandwidth has changed from single digit Kbps to double (or triple) digit MPS per second. And then there is computing power which always grows, and it seems games keep pushing the envelope for hardware in a continuous cycle. Kind of brings to mind the old Bill Gates comment: 640K is all anyone would even need on their computer. Hardly!

What is the legacy of Assassin?

I think that Assassin has both a public and a personal legacy. Publically, I think it was one of the first available multiplayer online games, which allowed sysops and users with different computer systems (ST and PC) to both run and play the game with one another, and at the same time.

Personally, this was the largest project I had worked on at that time. That it had the success it did made all the time put into it worth while.

That people like you still remember Assassin 20 years later really speaks for itself.

2 thoughts on “Kevin MacFarland, creator of “Assassin”

  1. Pingback: t3xtm0d3

  2. Pingback: T3xtm0.de

Share your thoughts!