From The Mana World

Ultima Online

This is how Ultima Online handles combat calculations: http://uo.stratics.com/content/arms-armor/combat.php


Length of Attacks

Theory:

We want attack speed to depend on 1) weapon speed and 2) dexterity so that positive weapon speeds and dexterities contribute positively to the speed of attack (or negatively to the length of the attack)

(i use the words positively and negatively not mathematically, but from player's perspective)


1) weapon speed


if there's not a system for weapon speed, you could simply make it inversely proportional to weight so that:

ws = c/w , where c is some constant (generally 1)

so bigger weighted weapons would be slower.

This might also need to be augmented by strength, so that heavier weapons are faster in the hands of stronger peoples.

perhaps:

ws = c*s/w where s is strength and w is weight of weapon, c a constant


2) dexterity


assuming a player with better dexterity will have a quicker swing, dexterities contribution could simply be the players dexterity multiplied by an arbitrary constant:

b*d (b constant)


Swinging Speed


swinging speed, denoted SS can then be equated to 1) and 2) by

SS = c*s/w + b*d

where c and b are constants that can be adjusted to balanced between strength-based characters and dexterity-based characters


Length of Attack


L = 1/SS

so that the Length of time is infinite when chracters have 0 swinging speed.

-Zao

The problem with these formulas is that they would cause a huge difference between the combat behavior of low-level and high-level characters. A character with 100 in both strength and dexterity would have a swinging speed that would allow it to attack 10 times as often as a character with 10 in both attributes. With these formulas it would be impossible to balance the attack speed in a way that it wouldn't be pure button-mashing for high-level chars or long waiting times for the next attack for a low-level char. To have a better control over the feel of the combat system the influence of attributes on the attack speed should be less strong. Personally I would in fact prefer when the attack speed would be a weapon constant.--Crush 05:21, 3 November 2007 (CET)

"perhaps we could incorporate an logarithmic scale into it so that the rate of increase decreases as you get into the higher numbers of dex and str so that:

SS = c*log(str)/w + b*log(dex)

if we take c and b to be 1 and w to be 5, here's what I get (using Matlab):

for str=dex=10:

SS = 2.76

for str=dex=100:

SS = 5.53

Now 100 swings only twice as fast as 10

We can put constants inside the ln functions too for further manipulation --Zao 3 Nov 2007"

Special Attacks

Lunge Attack

speed: one combat turn prerequisite: Dexterity

jump forward a square or two and engage an enemy, doing 1.5x damage (an extra 30%). Requires a dexterity of n. Can only be used to start combat. If you are already next to an enemy you're lunging towards, you will push them to your new square as you lunge. Accuracy is reduced slightly.

Wild Swing

speed: one combat turn prerequisite: Strength

Character's defense goes to half but their attack damage is x2.

Tactical Roll

speed: one combat turn prerequisite: Dexterity

Character rolls behind opponent in one turn, during which his defense is doubled. Opponent is then stunned for one turn figuring out what happened and turning around. Character can use a suprise/engagement/first strike move during this moment.

Dash

speed: half a combat turn prerequisite: Dexterity

Character dashes forward a square without any focused attack. The chance to hit with a dash is good (100?), with a Str% chance of knocking opponent down. Opponent spends one turn recovering, getting back on their feet. Can only be done to two legged creatures.

Spin Attack

speed: 1.5 combat turns prerequisite: dexterity

Character harvests rotational energy (well, a longer path length to build up speed anyway) and swings on his enemy. For the moment, his defenses and accuracy go down dramatically, but he scores 3x the damage on his opponent when (if) he connects

Upthrust

speed: 2 combat turn prerequisite: strength

Character more-or-less uppercuts with his weapon, knocking opponent into air for 1.5x damage. Wares characters out*.


  • what's the chances of having a stamina bar, especially for special attacks and running. My idea here is that we

don't have to put as many consequences on special moves if they can't be used infinitely.