Five Ways
Subscribe to my newsletter and get a free story!
Share this:

On The Treatment of Coders

Dog in a ladybug costume
Coders can seem like odd creatures sometimes. Under that ladybug costume, though, they're as human as you or I.
This article originally appeared in the now-defunct online magazine Imaginary Realities. It talks about MUD administration, and draws on my experience working with Armageddon MUD, the world of Zalanthas. For those who don’t know what a MUD is, it’s a text-based roleplaying game. Here’s the wikipedia article on MUDs.

One of the sad truths of the mud world is that there are never enough coders. Builders aplenty, brimming with fresh idealism and plans for entire zones, appear (and sometimes disappear) at the drop of a hat. But coders are the unicorns of the mudding world, seldom glimpsed and ardently pursued. We are lucky enough to have three dedicated coders on Armageddon MUD: Morgenes, Tenebrius and Tiernan, as well as a few other staff members willing and able to wade through the bugs file and tinker with things upon occasion. How, then, does an administrator keep these rare beasts happy? The following four steps may help.

1) Communicate: When asking for new code, try to let the coders know exactly what is desired. For example, instead of ‘Let’s make archery more complicated,” a staff member might propose “Let’s put a range on archery, so the farther away the target is, the harder it is to shoot it.” A full description of the the idea, perhaps including examples, such as fake logs showing what the idea will look like when being used, helps make sure the originator of the idea and the coder are on the same track as far as things like syntax and usage are concerned.

The same holds true for bugs. Describing how it’s supposed to work as well to how it’s working right now helps clarify ideas. Coders want to know if the bug is REALLY a bug, or something being reported because it doesn’t work as the reporter feels it should.

With bugs, give the coders as much information as possible, including how to reproduce the bug. Examples by way of logs are great, and if they include some form of error message (or message that they’re getting that shows it’s an error), it often allows the coder to track down what section of the code needs to be worked on.

Make sure people aren’t bumping into each other. On Armageddon, we’ve got a coder’s board, where people post changes as they make them. This alerts fellow team members to what they’re doing and is also helpful if unexpected bugs crop up, enabling people to track exactly what got changed and when. Two people should not be working on the same idea at once unless they know it, and can divvy up the work accordingly.

2) Have a purpose: Will it get used? Is it something players are asking for? This one is a matter of ego, but we’re all human and we all do have egos. Seeing their work getting used, regularly and as envisioned, is a reward beyond any thanks or congratulations other staff members can give a coder. Track player requests, through entries in the bugs/ideas/typos files as well as emails to the account and posts on the general discussion board in order to convince a coder that the players want, and will use, something.

Generally, with new ideas figure out how they are moving towards some goal. A piece of code like a new skill is going to sound more interesting if it fits into some overall purpose, such as a master plan of non-combat related skills for the economy than it would if it is just a random idea. You are also going to end up getting more out of the idea if it is part of a greater whole.

Make it innovative. Some coders like to be trail breakers, to feel that they’re not just playing catch-up with another mud, but are creating ideas and concepts new to the mud community. Some ideas get requested to ‘balance’ things out between groups: guilds, or races, or mount speed. When a coder starts to feel like the code they’re doing that day only works to nullify a change made last week, then they’re going to start wondering what they will be asked to implement tomorrow.

3) Share the work: Do as much of the grunt work as you can for the coders, including helping thoroughly test, providing help files and documentation, and fleshing things out. In testing, give coders information about what is not working and how to recreate the result. Be precise about what needs to be changed: not ‘the plague of locusts spell needs to do more damage’, but ‘it needs to do about twice the damage it is now.’ When something requires a new help file or modification of an existing help file, do not expect the coder to do it, but supply it yourself. If it is something that requires building, provide the items. Teamwork of this kind, when it is working well, is terrific, and will often produce amazingly cool results.

4) Appreciate: Good coders can never be praised sufficiently. We try to make sure that players know who is responsible for new and interesting changes, by posting information about them in the news as well as in our weekly update, which is a mailing our players can subscribe to, which provides information about changes, staff and world news, upcoming recommended playing times, etc. When players write in with compliments or feedback on a code change, make sure that the note gets passed along to the person , as well as that the coder knows how cool or slick you think the ideas they have implemented are as well.

There is a tendency sometimes to regard coders as resources that spit out code at request. But the fact of the matter is that treating coders in that way will frustrate both sides, leading coders to become discouraged and unmotivated to implement new ideas and builders to feel that their coding needs are not being met. These four points may help avoid such frustration.

This article originally appeared in the April 2001 issue of Imaginary Realities.
© 2002 Cat Rambo. All rights reserved.

Leave a Reply

Your email address will not be published. Required fields are marked *

Get Fiction in Your Mailbox Each Month

Want access to a lively community of writers and readers, free writing classes, co-working sessions, special speakers, weekly writing games, random pictures and MORE for as little as $2? Check out Cat’s Patreon campaign.

Want to get some new fiction? Support my Patreon campaign.
Want to get some new fiction? Support my Patreon campaign.

 

"(On the writing F&SF workshop) Wanted to crow and say thanks: the first story I wrote after taking your class was my very first sale. Coincidence? nah….thanks so much."

~K. Richardson

You may also like...

Clarion West Writeathon: 2013 Edition

Picture of a tortoiseshell cat staring upward.
Taco wants to know: Have you pledged?
This year, I’m again participating in the Clarion West Writeathon.

A lot of people are driving pledges with backer incentives. Here’s mine:

I plan to complete one story each week. At the end of the six weeks, all backers will receive copies of the stories written during the Write-a-thon along with a bonus story.

So I just wanted to point out – you get to pick the donation amount. In return, you’re getting at least seven Cat Rambo short stories, which, although they’ll be a bit drafty, I’d like to think is a pretty good value. 😉

You can sign up as a backer by clicking the Donate button on this page.

...

Retreat, Day 22

coffeeToday I am letting myself slack a little, feeling caught up from the weekend’s excesses and so I can game tonight.

Today’s wordcount: 2592
Current Hearts of Tabat wordcount: 119954
Total word count for the week so far (day 3): 13568
Total word count for this retreat: 60229
Worked on Hearts of Tabat, “Moderator,” untitled piece
Works finished on this retreat: “California Ghosts,” “My Name is Scrooge,” “Blue Train Blues.”
Time spent on SFWA email, discussion boards, other stuff: 45 minutes

From the untitled piece:

The magician gestured, and out of the pool came musicians, the very first thing the tip of a flute, sounding, so it was as though the music pulled the musician forth, accompanied by others: grave-eyed singers and merry drummers; guitarists and mandolinists with great dark eyes in which all the secrets of the moon were written; one great brassy instrument made of others interlocked, so it took six to play it, all puffing away at their appointed mouthpiece, and all of them bowed down to the priestess who stood watching, her sand-colored eyes impersonal and face stone-smooth.

“Very pretty,” she said, and yawned with a feline grace, perhaps even accentuating the similarity in a knowing way with a tilt of her head.
The magician smiled, just as catlike, just as calm. “You can do better, I am sure,” he said.

She shrugged, her manner diffident, but rather than reply, she pursed her lips and whistled. Birds formed, swooping down, and wherever they swooped, they erased a swathe of the musicians, left great arcs of nothingness hanging as the seemingly oblivious players continued, their music slowly diminishing as they vanished, the instruments going one by one, and the last thing to hang, trembling in the air, was an unaccompanied hand, holding up a triangle that emitted not a sound.

Landing, the birds began to sing, and though the music was not particularly sweet, there was a naturalness about it that somehow rebuked the mechanical precision of the song theirs succeeded. As they sang, more and more birds appeared, and the music swelled, washing over the pair where they stood, like a river.

The priestess patted the air with the flat of her hand and the birds winked out of existence, leaving the two of them in a great white room, the antechamber of her temple.

“Will you go further in, then?” she said, and her voice was still casual.

The magician’s eyes were green as new grass and the black beard on his chin, which grew to a double point, was oiled and smelled of attar-of-roses. He considered her as though this was the smallest of debates, and finally stepped forward.

“We are still evenly matched,” he said.

...

Skip to content