02 Jan, 2010, Barm wrote in the 1st comment:
Votes: 0
I've spend the last couple days working on a skills-based combat system. In my implementation, skills are capped at;
10 * level * class_modifier

So a fighter might have a "sword" class modifier of 1.0 and a wizard might have 0.0. Then the player's current skill is multiplied with a stat bonus to create a rating, i.e., a 10th level warrior with a 100 sword skill and high dexterity might end up with a 110 sword rating.

A hit rating is the average of the fighters general combat rating plus specific weapon rating. This is compared against the target's defense rating like so:
def primary_weapon_test(src, tar):
"""
Test for a hit using Source's primary melee weapon.
"""
hit = primary_hit_rating(src)
defend = defense_rating(tar)
return bool(random.randrange(defend + hit) > defend)

I really like this approach – the two ratings are added and a lawn dart is tossed somewhere in the middle. If the dart land on the defense end, we missed. You always have *some* chance to hit and it scales itself to any level range.

Damage I'm still futzing with. I don't want a system that causes a level 50 fighter to lightly brush a rat with a rusty dagger and vaporize it. Currently, I've got this, which compares the Source's hit rating against the target's raw armor amount:
def primary_weapon_dmg(src, tar):
"""
Scales Source's primary weapon damage against Target's armor.
"""
dmg = primary_max_dmg(src)
armor = armor_rating(tar)
hit = primary_hit_rating(src) * .25
attack = random.randrange(armor + hit)
if attack < armor:
scale = (armor / 100.0) * attack
dmg *= scale
return dmg

We have a random chance to score full damage (based on the Source's attack rating), otherwise scale it down based on where "attack" landed within the armor range. A guy in full plate will mitigate more often than one in a wizard robe, but both will generate values from 0 - max_dmg. I'm not sure if I like that last part.

One idea I'm thinking about is some kind of "soak" value that shaves off a fixed amount of damage.
02 Jan, 2010, quixadhal wrote in the 2nd comment:
Votes: 0
The Arduin RPG system used the idea that on any given combat action, the attacker and defender both rolled, whomever got the higher number won. So, if you're attacking and get to roll a d20, but the defender only gets a d10, it's very likely that the swing will hit, but not absolute.

As for damage from hits that actually do land… I like to look at the type of damage vs. the type of defense. A slicing attack will shred leather armour (more damage gets through, the armour takes more wear and tear), while sliding off plate or chain. A blunt attack will cave in plate, but be absorbed by thick padding. A piercing attack almost ignores chain, but is more often deflected by plate or stopped by padding.

In any case, my idea is that armour in good condition does its job. It mitigates the kind of damage it was designed to protect against, but it also becomes damaged every time it does so. The more damaged it is, the less well it protects you. A shiny breastplate will easily bounce away a few club hits, but it gets dented a bit each time. Once a dent is there, another hit tends to follow the terrain (so to speak), and makes the dent worse. Soon, you have metal pushing against your ribs and every hit transfers more damage inwards.

No idea if that helps or not, but… :)
03 Jan, 2010, Lyanic wrote in the 3rd comment:
Votes: 0
Was there a question hidden in this somewhere?
03 Jan, 2010, Cratylus wrote in the 4th comment:
Votes: 0
Quote
Damage I'm still futzing with. I don't want a system that causes a level 50 fighter to lightly brush a rat with a rusty dagger and vaporize it.


Not trying to be argumentative here, but why not?

I'm pretty sure Pai Mei could do exactly that. Why is that something
to avoid in your mud?

-Crat
http://lpmuds.net
03 Jan, 2010, Barm wrote in the 5th comment:
Votes: 0
Cratylus said:
Not trying to be argumentative here, but why not?


You're not, it's a legitimate question. Two of my goals are a resistance to mudflation and no hard level caps, so I'm trying to avoid a system that can create excessive scaling of base damage. Using the above function, the level 50 will (almost always) hit a rat for maximum weapon damage and kill it, but he wont hit harder than he could (potentially) hit anything else.

@Lyanic: This is intended as an open conversation on scaling damage, but if you desperately need a question mark please take this one – '?'
03 Jan, 2010, Tonitrus wrote in the 6th comment:
Votes: 0
Two words: logarithmic growth.

If you use log 2 for example, each skill/power/whatever level/rank is either twice as hard to acquire as the last or half as effective. Gains continue forever, but get harder and harder at higher ranks.

I doubt you're going to find any other solution to having scaling damage (or much of anything else) that doesn't break at one end or the other.
03 Jan, 2010, Lyanic wrote in the 7th comment:
Votes: 0
Barm said:
@Lyanic: This is intended as an open conversation on scaling damage,

Most things intended as open conversations would have something along the lines of, "This is intended as an open conversation. Please reply with ideas/recommendations on this topic!" So, you'll have to forgive me if I failed to ascertain the point when that was lacking in any form…

Barm said:
but if you desperately need a question mark please take this one – '?'

THANKS!! I GET IT NOW!

This is not intended to start a flame war. I just don't appreciate getting a response I perceived as snippy and condescending, based on my original comment posted out of legitimate confusion. If my perception was incorrect, then I apologize.
03 Jan, 2010, David Haley wrote in the 8th comment:
Votes: 0
I thought it was clear enough that it was intended as a request for comments, and FWIW your initial comment could easily have been (and, I believe, in fact was) interpreted as being somewhat snarky.
04 Jan, 2010, Lyanic wrote in the 9th comment:
Votes: 0
David Haley said:
I thought it was clear enough that it was intended as a request for comments, and FWIW your initial comment could easily have been (and, I believe, in fact was) interpreted as being somewhat snarky.

Was I talking to you? <- SNARKY
04 Jan, 2010, David Haley wrote in the 10th comment:
Votes: 0
You said you had "legitimate confusion" and so I was simply trying to clear things up, because you seem to have not realized that your initial reply might have been interpreted in a way you didn't intend (although now you seem to have chosen snarkiness deliberately). Sorry…
04 Jan, 2010, elanthis wrote in the 11th comment:
Votes: 0
Barm, the number system as a whole doesn't matter much. All that matters is that the game plays the way you want it to. Clearly define those goals FIRST, then come up with a number system that supports it. :)

The numbers that generally matter the most in any game system pretty much come down to (1) how many turns does it take me to kill my opponent and (2) how many turns does it take him to kill me. Those two values form a ratio that predicts the winner of a combat. Everything else (hit points, hit percentages, damage rates, etc.) pretty much flow out of those. Even non-damage abilities like slow effects or ability drain or whatnot all come down to affecting those two primary numbers in some way. What you want, then, is to break down your desired scenarios into those two numbers. Say, wizard versus fighter, using swords only. You almost certainly want the fighter to win, and quickly. So the number of turns it takes the fighter to kill the wizard must be low, while the number of turns it takes the wizard to kill the fighter must be high. This alone ensures that the fighter will win. The second part of the scenario is how many wizards should the fighter be able to kill before he is overcome, when fighting one after another, and how many wizards should the fighter be able to kill, fighting many at a single time.

When you add level/progression features, you have to start worrying about questions like whether a level one fighter should be able to take out a level 20 wizard when both are using swords. It is often easiest to just decide what a suitable level range is for a fair fight against otherwise equal opponents. That is, if a level 10 and a level 12 fighter are going at it, does the level 10 fighter have a chance of defeating his opponent, and if so, how much of a chance? 5%? 40%? 49.96%?

If you are going to rely on equipment at all in your combat mechanics and numbers (most games do, for better or worse), don't fall into the trap of thinking of equipment is meant to unbalance the odds. You are totally justified in assuming a baseline level of equipment for any given level (or class) of character. if a level 12 fighter is meant to have a +3 sword, then just assume that in all your calculations. D&D 3E took the approach of wealth-by-level to determine the general amount of magic a character would have. A character may have spent it all on a weapon far more powerful than his level is intended to have, but that goes at the expense of his defensive items. So that fighter might have a +6 sword and be able to kill his enemies 50% quicker, but without the powerful magic armor expected for a fighter his level, the opponents he faces will be able to kill him 50% quicker as well, so the gameplay balance holds (assuming the game does not allow the fighter to greatly exceed his wealth-by-level or make it too hard for the fighter to sustain the appropriate wealth).

Finding a perfect system that works with all the various combat options available to characters is pretty much impossible with any moderately complex and flexible system, but you'll get closer to perfect if you start at your goal and work your way back instead of starting with a system and trying to figure out where you want to take it. :)
04 Jan, 2010, Barm wrote in the 12th comment:
Votes: 0
elanthis said:
Finding a perfect system that works with all the various combat options available to characters is pretty much impossible with any moderately complex and flexible system, but you'll get closer to perfect if you start at your goal and work your way back instead of starting with a system and trying to figure out where you want to take it. :)


Great comments, Elanthis.

I've been thinking about how character stats should play into the system as well. It seems to me their are basically three affects to consider with regards to resources (where resources would be health and mana in a class RPG);

Those that modify the replenishment of a resource.
Those that modify the profit per unit of a resource.
Those that modify the quantity of a resource.

For example, a +crit spell effect from high intelligence would increase the profit per point of mana, where a +dodge effect from high agility would increase the fight time per hitpoint. If we decided the goal is steady xp (sorry Roleplayers), then I'm thinking the above is the order of importance too. Limiting replenishment slows DPS with downtown – not that sitting around waiting to regain health is a fun activity. I can give players impressive crits with only a minor increase in xp/hour. The quantity of a resources sets the limits of individual encounters; as you said above, how many smacks before he croaks.
05 Jan, 2010, elanthis wrote in the 13th comment:
Votes: 0
Resources like that are tricky. In the D&D 3E game for example there is a coin termed for when a spell-caster character (or even a whole party) "goes nova." The game was designed around the idea that a combat is supposed to sap X percent of the party's resources (20% or 25%, I think). However, nothing really stops the players from just using up 100% of their resources in a single combat and then resting to regain them all. In a game like a MUD where the player can't just say, "okay we camp for the night and get our spells back," that's far less of an issue as you stated, but it still can be an issue when you try to design special encounters and such into quests or plots. A lot of current thinking in game theory (which is nothing new, just now widely accepted) is that games should focus less on repleshinable resources. If a character has a set of combat abilities, limit their use in a single combat/encounter, not by some arbitrary measurement of time. In so doing, you now know from a mechanical point exactly how much might any given character can bring to bear in a given fight. If you want special/rarely-used abilities, lean towards non-repleshinable resources (or at least, resources the player has to actually work at to replenish), such as requiring material components for spells that the player has to quest for or pay an appreciable sum for. So long as you rely on resources like mana, you never really know how much of that resource the player will opt to burn. If you assume he's going to burn 100% in a combat, then you must to keep the game fun allow him to replenish that resource near-instantly between each combat with no boring down time. If you assume he will use less than 100%, you can easily end up with players who unbalance everything by burning 100% of it anyway. This in particular turns into a problem when the player realizes he can "go nova" and kill far more difficult enemies (or what was supposed to be more difficult enemies) and thus gain more XP or better loot at a faster rate than your design intended. Maybe he has to wait awhile to regain his mana, but in many games it's generally still going to be faster to kill higher-level mobs and wait a while between each than to grind through a series of same-level mobs (and still be expected to stop and wait after X number of such mobs to replenish the mana pool).

Basically, each combat is its own sub-game, that exists separate from the larger concept of the game and especially from other instances of that sub-game.

I would say you're better off just making magic a set of at-will abilities (or if your MUD has a way of identifying/tracking individual encounter, add in per-encounter abilities) and not rely on mana. Likewise, if you can, make HP just replenish itself after each combat (say, if there are no enemies nearby, make HP restore itself very quickly if not instantly). Let HP be an abstraction representing fatigue and luck, not actual cut-open-and-bleeding-everywhere wounds. If every actor (player or mob) has some kind of flag or meta-data indicating when it's involved in any combat (which is set whenever attacking or attacked, and cleared whenever it's set and there are no enemies nearby or X seconds since the last attack was sent/received), you can easily add a bit of code to reset the use of per-encounter abilities when the flag is cleared. I had a plan on taking it a step further and tracking encounters along with parties/guilds so that a player can't run away, reset his skills, and then rejoin his friends in a tough combat; he'd be considered in that combat until the entire party ran away or the enemy was dead, and if the whole party runs away, the mob's HP and per-encounter abilities would reset too. It gets a little complicated when you take into account multi-party combats and such, but then having the encounter tracking helps deal with some of the other sticky parts of that mess, like figuring out whom to award XP and the like to when the mob is finally killed.
05 Jan, 2010, quixadhal wrote in the 14th comment:
Votes: 0
elanthis said:
However, nothing really stops the players from just using up 100% of their resources in a single combat and then resting to regain them all. In a game like a MUD where the player can't just say, "okay we camp for the night and get our spells back," that's far less of an issue as you stated


My old DM would never let us get away with that. *grin*

Ok, you camp for the night. Who's on watch? You're very tired from the huge battle earlier, roll a perceptions check. You're finding it very hard to keep awake so close to the fire, roll a perceptions check and a con check…
05 Jan, 2010, Barm wrote in the 15th comment:
Votes: 0
quixadhal said:
My old DM would never let us get away with that. *grin*

Ok, you camp for the night. Who's on watch? You're very tired from the huge battle earlier, roll a perceptions check. You're finding it very hard to keep awake so close to the fire, roll a perceptions check and a con check…


When I GM'd, that was the moment I'd ask to borrow a dozen or so six-sided dice from the players. Instant paranoia sets in.
06 Jan, 2010, elanthis wrote in the 16th comment:
Votes: 0
Quote
My old DM would never let us get away with that. *grin*


I never had to deal with it because my friends are more interested in playing and adventuring than power-gaming and loop-holing, so I have been fairly lucky myself. :)

In general, though, sometimes it's a lot harder for DM fiat to really kick in without incredibly silly explanations. The usual example is that the party goes to the dungeon, kills the uber guardian monster, then treks back to town. The next day they venture 20 feet into the dungeon, kill the next encounter, and go back to town. The term "15 minute adventuring day" was coined over at enworld for that common scenario. In many adventures the dungeon is not weeks away from civilization (e.g. a tomb in the local graveyard) so the players aren't forced to camp or rest in a danger zone. Some adventures have a time component that the players have to work within, but most do not and it doesn't make sense to add one to many adventures. And frankly, the players are _smart_ for doing this – in the real world, I'd do whatever I had to make sure I was at 100% before engaging in any potentially life-threatening situation, too.

An inventive DM can of course do all sorts of things as punishment, but it's a huge increase in work that the DM may not have planned on, especially if he's running a pre-written module. The DM can say that now the dungeon denizens are alerted to the players' presence the next day, but that requires a bunch of work of all of a sudden and possibly large changes to the written material. If instead the rules state that the players just need a short rest after an encounter (nothing more than a quick breather), then instead of the DM needing to come up with all the changes that will happen over a 24 hour period he needs only come up with the changes that happen in a 5 minute period (which could be as simple as letting an escaped enemy also refresh his abilities/spells and his hit points).

Simply changing the rules so the issue disappears is in the end way simpler and lacks any notable disadvantages, other than that some people have "taste" issues with settings that don't have resources; probably just due to bias coming from years of running other games. If your setting lets wizards cast earth-shattering spells there is some reason to state that requiring a quick breather between each casting is far too little, but then I'd say that even a 6 months rest between each casting is too little if the spell is that disruptive to the game world or mechanics balance. Just suck it up and strike the spell out of the rules or make the casting of such a spell be a quest in and of itself. This is the same thinking as what happened with magic item creation in D&D with the third edition, where second edition magic item creation was a complicated process ruled by the DM and generally involved quests and plot and hardship, but in third edition it was a simple mechanic. Power gamers just learned to maximize the material and XP costs to create the most mechanically-useful magic items they could and equip the party with better items than the rules said the party should have had at that level. Fourth edition went and removed magic item creation rules again. :) Some people cling to broken rules as necessary to support believable fiction, but they aren't – if the rule can't be made to work in a balanced fashion (sometimes you can, sometimes you can't), remove it and change the fiction (usually a very minor change) so the mechanic is no longer necessary. It's really quite easy and trivial when you approach it from the right angle.
06 Jan, 2010, David Haley wrote in the 17th comment:
Votes: 0
elanthis said:
And frankly, the players are _smart_ for doing this – in the real world, I'd do whatever I had to make sure I was at 100% before engaging in any potentially life-threatening situation, too.

There's also something to be said for the dungeon denizens eventually catching on; assuming they're not utterly mindless (and, not controlled by anything remotely intelligent) they'll move around, perhaps even adapt to the player's tactics by grouping together near the entry or something. Yes, the players are being smart, but if they're allowed to be smart the DM should make the world smart; there's no reason for the entire world to be this utterly static machine that only moves when the players explicitly poke it.

That said I think this is getting kind of off-topic, although it could still be relevant to a simulated world precisely because you could react to players who did things like this (they'd have to be faster than the automatic respawns, of course, which would defeat the purpose of these efforts).
06 Jan, 2010, elanthis wrote in the 18th comment:
Votes: 0
Quote
There's also something to be said for the dungeon denizens eventually catching on; assuming they're not utterly mindless (and, not controlled by anything remotely intelligent) they'll move around, perhaps even adapt to the player's tactics by grouping together near the entry or something.


Of course. Unfortunately, not everyone has the time to think through this. Also, a lot of people are just running pre-written modules that don't take this into account, and the DM does not want to have to rethink through half the module after every combat to see what should be changed, especially if the DM is new or inexperienced and doesn't know how to rewrite and rebalance a module. Besides, why force yourself to do the extra work when better game mechanics eliminate the problem entirely, right? :)

In any case, this is an old discussion. Instead of the two of us debating it all here, just go hit Google, search for the "15 minute adventuring day" (sometimes called the 10 minute adventuring day), and any point either of us has or will make has already been made with plenty of supporting or contradicting evidence by the game theory "pros." :)

Quote
That said I think this is getting kind of off-topic, although it could still be relevant to a simulated world precisely because you could react to players who did things like this (they'd have to be faster than the automatic respawns, of course, which would defeat the purpose of these efforts).


Automatic respawns of the old-skool Diku variety suck for a number of reasons, and this is one of them. More dynamic creature spawning logic can better deal with more dynamic player behavior. If players are waltzing through an area (average lifetime of mobs is lower than expected), increase spawn rate or increase monster level, etc. Change up where creatures spawn so players can't learn or predict spawn patterns. Allow spawns to be from a set of possible creatures instead of a fixed instance at each location, making spawns unpredictable.

If you don't mind the bit of a mind-bend it puts on "realism," instanced zones for parties/guilds also are a great idea if you have the time to implement them – if the party leaves the area, it just resets (which is one of the things some DMs do when their table-top party leaves a dungeon early, of course). Adding instancing to a stock MUD would probably be a mega-horrific pain in the ass, but anyone working on a custom codebase should at least put a little thought towards the idea before really digging in to the technical design of their codebase. It's not for everyone, but it does have some nice perks.
06 Jan, 2010, KaVir wrote in the 19th comment:
Votes: 0
elanthis said:
Resources like that are tricky. In the D&D 3E game for example there is a coin termed for when a spell-caster character (or even a whole party) "goes nova." The game was designed around the idea that a combat is supposed to sap X percent of the party's resources (20% or 25%, I think). However, nothing really stops the players from just using up 100% of their resources in a single combat and then resting to regain them all. In a game like a MUD where the player can't just say, "okay we camp for the night and get our spells back," that's far less of an issue as you stated, but it still can be an issue when you try to design special encounters and such into quests or plots.

I've only had this happen once in a D&D game, in one of the few pre-written modules I've used, and I didn't have a problem with it. It was a trapped tomb that hadn't been opened for centuries, so it's not as if there were monsters wandering around - and the party were badly hurt, so it would have been silly for them to continue without first recovering their strength.

Normally I'm pretty lazy about my adventures. I usually have notes and a general storyline, but make up most of the details on the fly, so I just adjust the adventure as needed.

On the other hand I find this to be more of an issue in most muds, because the areas tend to be generic, with a difficulty based solely on level. They don't account for larger or smaller groups, they don't stop you resting whenever you like, they don't account for specific character builds designed for certain creature types, etc. To tie this is with the topic of this thread, there's nothing stopping you from pulling on your asbestos suit before entering the fiery pit for some easy exp - while in a tabletop game, I'd simply adjust the monsters or introduce some other element of the adventure.
06 Jan, 2010, Barm wrote in the 20th comment:
Votes: 0
I played and dungeon mastered 1st Edition AD&D. I don't think we had that issue because a DM ruled with benevolent tyranny over game flow and play itself was pretty loose and organic. Players could argue a point, especially if they could find a corresponding rule in Gygax's long, mishmash of tiny-print paragraphs, but the DM had final say and sometimes it was as simple as, 'that's lame and we're not doing it.' You tried not to be too much of a prick because your disgruntled buddy might be DM next time around.

Thief: "I want to knock the gem out of the statue's eye with my dagger."
DM: "Umm, it's twenty feet off the ground. Roll a percentile and you want to roll high."
Thief rolls a double 0.
DM: "You botched it – badly."
DM rolls a six-sided die.
DM: "Your dagger bounces off the statue's face and stuck in the … cleric's … head."
Cleric: "I'm wearing a helm."
DM rolls a twenty-sider.
DM: "… with a hole in it."

Typically, there would be one or two reasonable places to rest in a dungeon level (depending on size). I suspect the shrines in DDO were inspired by this. For mega dungeons, player would usually go back to a town, level and restock before descending into the tougher level below.
0.0/20