Archive for November, 2009

Ability Array

Posted in MUD Development on November 30, 2009 by sigmud

Most MUDs adhere to the standard D&D ability set, and most players don’t bother to change them.  Why bother?  Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma have worked well in the past, and they’re present on most MUDs, so lets stick with it.  I had no intention of switching around statistics, or even messing with the base d20/d% D&D system, so why mess with how abilities are defined?  Because it makes coding other elements a lot easier.

TbaMUD, like most MUDs, define abilities as individual bytes in the CHAR struct (in structs.h).  Utils.h then takes these stats and converts them to an easy-to-use format, allowing shortened versions such as GET_DEX(ch) instead of ch->real_abilities.dexterity.

If you’re going to add ability checks for skills, you need to first redefine the CHAR struct.  Instead of having variables ch->real_abilities.dexterity, str, con, etc., add a new array variable, such as “abilities[6]”, then define GET_DEX(ch) to ch->real_abilities.abilities[0].  This means that for checks of multiple ability scores, you can use a for loop.  You can still use GET_DEX(ch) elsewhere in the code, so things shouldn’t change much.

Continue reading

Race Relations

Posted in MUD Development on November 29, 2009 by sigmud

Races are a staple in most roleplaying games, starting with D&D.  Since then, a number of fantasy systems have introduced races with different effects in game.  For example, some systems give races certain attribute (e.g. strength) bonuses, or increase the maximum attribute score that a character can have.  Others give characters innate abilities, such as flight, special abilities, or limited spellcasting.  Still others restrict which classes you can play based on your race selection (or vice versa).

And then there are the others, where class is irrelevant and race dominates (such as the original Godwars muds), or where race is eliminated altogether, all characters are humans and that’s that.

I wanted to strike a balance in my mud, give races benefits, but make those benefits limited.  I think character race is an important roleplaying tool, and adds a layer of complexity to character creation and development, but it should not overpower other considerations.

Therefore, I settled on two (primary) benefits of races: size and attribute bonuses.  I’ll skip over the steps to add races to TBAmud, a process which is fairly easy.

Continue reading

Classy

Posted in MUD Development with tags , on November 27, 2009 by sigmud

For anyone that has downloaded, or even looked at, TBAmud, one of the first things you’ll realize is that there are only four classes: Mage, Cleric, Warrior, Thief.  In game terms, that means all four of the standard D&D roles are filled; range damage, healing, tank, and melee damage.

But in order to make your MUD more interesting, you need more classes.  Why?  Because it’s boring with just the standard four.  What about the Paladin, a Cleric/Warrior hybrid?  Or an anti-Paladin, a Mage/Warrior hybrid.  By combining classes into hybrids of two or more, you can create some more interesting classes.

Continue reading

First!

Posted in MUD Development with tags on November 25, 2009 by sigmud

OK, so maybe it loses something when I’m the only person writing here.

I thought I’d take a moment to explain what this blog is supposed to be, what I’d like to accomplish, and other related things.

Overall, this blog is going to be about development of TBAmud, a MUD program.  The program has the basics of a MUD, combat, spell casting, four classes (Mage, Thief, Cleric, Warrior), and a plethora of areas, developed at the TBA mud.

Unfortunately, it doesn’t have a lot of personality.  Which is to be expected, because the idea is to provide a jumping off point for any coder/developer/implementer to design their own MUD.

My idea is for (admittedly not very creative) yet another medieval mud.  But I do plan on reworking a lot of the codebase, adding a lot of new features and areas, and generally (hopefully?) making the MUD an interesting place to be.

This blog then will be a brief discourse on my coding and area building woes, a base point for area ideas, and discussion of overall design issues.

I don’t expect to have a huge audience, but if anyone does stumble across this blog and is interested in MUD development, please stay tuned.