The WeBL Simulator

These are the gory details of the Web Boxing League Simulator

This document consists of the following parts:

  1. Fighters' Abilities and Tactics
  2. Weight
  3. Fight Plans (Tactics)
  4. How Each Round Is Simulated
  5. Effects of Injuries
  6. How Decisions are Determined
  7. Changes in Abilities

Ability Points

Each fighter has eight abilities --- height (HGT), speed (SPD), agility (AGL), strength(STR), knockout punch (KP), conditioning (CND), chin (CHN), and cut resistance (CUT):

HGT
The fighter's height and reach. A fighter's is considered to be 5 feet + HGT inches tall, so a fighter with HGT of 12 is exactly 6 feet tall.

SPD
The fighter's hand speed and punching technique.

AGL
The fighter's ability to avoid punches.

STR
The fighter's ability to hurt his opponent and push him around the ring.

KP
The fighter's ability to get "flash" knockdowns and to follow up and finish an opponent when he's hurt.

A fighter has 3*KP added to his STR when determining stun damage. However, KP is not permitted to exceed STR/3 at the start of the fight. If, at the start of the fight KP > STR/3, the "extra KP" is just added to STR.

Unlike other abilities, KP does not decrease as a fighter fatigues. A tired slugger still has his "puncher's chance". (Note that the KP < STR/3 does not apply after the fight starts.)

CND
The fighter's endurance and his ability to take punishment.

CHN
The fighter's ability to take a punch and stay on his feet.

CUT
The fighter's resistance to cuts and swelling -- may be high, low, or normal.

Endurance Points

Each fighter starts each fight with 10*CND endurance points. For example, a fighter a CND of 11 would start a bout with 110 endurance points.

A fighter becomes less and less effective throughout the fight as he loses endurance points. If a fighter loses all of his endurance points, he can no longer defend himself and the bout ends in a TKO.

Weight

A fighter's fighting weight is the weight at which he fights best. A taller, stronger fighter has a greater fighting weight than a shorter or weaker fighter.

Making Weight

Every weight division (except Heavy) has a weight limit. A fighter always makes weight for his weight division.

A fighter can lose up to 0.25*(CND+2)% of his fighting weight without penalty. However, if a fighter must lose more than that, he has to "sweat off" the pounds before the fight, and loses endurance points based on the following formula:

        (1 - R*R) * normal endurance
Where R is the ratio of the division's weight limit to the fighter's minimum safe weight.

For example, suppose a fighter with a CND of 10 and a fighting weight of 200 pounds fights in the Light-Heavyweight division, where the weight limit is 175 pounds. He can lose (10+2)/4 = 3% of 200 pounds (6 pounds) without penalty, so R is 175/(200-6), which is approximately 0.90. Then R*R is approximately 0.81, so the fighter starts the fight with 81% of his 100 endurance points = 81 endurance points.

Note that endurance points lost due to making weight reduce a fighter's abilities due to (fatigue penalties).

The effect of making weight is temporary and lasts only for one bout. The fighter immediately regains his full strength if he moves to a higher weight division.

Weight Advantages

Just as there is a penalty for fighting at too low a weight division, there is a reward for fighting an opponent who is actually lower.

Whenever one fighter has a higher fighting weight than his opponent, the heavier fighter has his STR increased by 1 point for every 5% in weight difference. Fractions are retained so that, for example, a 103 pound fighter with a 3% weight advantage over a 100 pound fighter would gain 0.6 STR.

However, a fighter does not get credit for weight that he loses in order to make a weight limit. Thus, if a fighter with a fighting weight of 180 pounds fights in the Light-Heavy division with a weight limit if 175 pounds, then his fighting weight is only 175 pounds for that bout.

Advantages for weight are applied before style rules. Thus, for example, a fighter with a 10% weight advantage could gain 3 points of STR if he fights inside against a weaker opponent.

Giant-Killer Rules

To prevent the heavyweight division from being dominated by 7 foot goliaths, very heavy fighters are penalized as follows: For every 10 pounds in minimum safe weight over 200 pounds, the fighter loses 1 additional fatigue point every round. Fractions are retained so that, for example, a 215 pound fighter would lose 1.5 fatigue points per round.

A fighter does not incur this penalty if he fights in a weight division with a weight limit below 200 pounds -- his fighting weight is automatically reduced in order to make weight.

In addition, no fighter gets any benefit for weight above 300 pounds. A 400 pound fighter meeting a 200 pounder gets the same STR and CHN advantages a 300 pound fighter would get, and a 400 pound get fighter gets no advantages over a 300 pound fighter. (But the 400 pound fighter still incurs the full 20 point per round endurance point loss.)

Fight Plans

Each round, a fighter has a fight plan, which consists of several parts -- energy points, (offense, defense, resting, etc) a target area (head, body, etc.), and a fighting style (inside, counter-punching, etc.). A fighter may also choose to fight dirty that round.

Energy Points

First, every round a fighter divides 20 energy points between aggressiveness (AGG), power (POW), defensiveness (DEF). The general effects are as follows:

Any unused energy points are used for resting.

Target Areas

A fighter may choose to throw head punches, to throw body blows, or to box opportunistically. The general effects are:

Opportunistic
Maximizes the number of punches landed.

Head Punches
Maximizes the stun damage inflicted (best chance of inflicting a stunning blow or a knockout), but reduces the endurance damage inflicted and reduces the number of punches landed.

Body Blows
Maximizes the endurance damage (i.e. loss of endurance points) inflicted, but reduces stun damage and reduces the number of punches landed.

Cut
Increases the chance of aggravating a cut or other injury on the opponent, but it reduces the chance of landing a stunning blow or scoring a KO, and reduces the number of punches landed. However, this target area is no more likely to cause a new cut or injury than throwing head punches would be.

Fighting Styles

Third, a fighter may choose any of the following fighting styles:

Fighting Dirty

In addition, a fighter may choose to fight dirty in any given round. This means intentionally throwing illegal punches, such as low blows, kidney punches, and rabbit punches. When a fighter does this, the amount of damage inflicted on his opponent increases, but he risks being penalized or even disqualified.

How A Bout Is Simulated

Each round is resolved in the following sequence:
  1. Either fighter may be penalized or disaqualified (DQ) for foul blows, and may be penalized for excessive clinching. If a fighter is disqualified this round, he cannot win by KO or TKO.
  2. The effects of each fighter's fighting style is determined for that round.
  3. The taller fighter's SPD and AGL are increased for his HGT advantage.
  4. Each figher's STR, SPD, and AGL are reduced according to the percentage of endurance points he has lost. (fatigue penalties).
  5. Each fighter's luck for the round is determined.
  6. The damage inflicted on each fighter is determined. There are two types of damage -- stun damage and endurance damage.
  7. Either fighter may be injured (usually cuts or swelling around the eye).
  8. Each fighter has a chance of being stunned, knocked down, or knocked out depending on the stun damage inflicted that that round and on his CHN.
  9. The punches landed by each fighter are determined.
  10. Each fighter loses additional endurance points due to fatigue.
  11. If either fighter has lost all of his endurance points, a TKO occurs and that fighter loses the bout.
  12. If neither fighter has won by KO, TKO, or DQ, the judges score the round.
  13. If one fighter is very severely cut or has both eyes a swollen shut, a doctor may stop the fight (TKO).
  14. Each fighter recovers some endurance points during the 1 minute between rounds.

Penalties

If a fighter is fighting dirty this round, he has a 50% chance of being warned by the referee. On the second and all subsequent warnings, the referee will deduct a a point from that fighter's score for the round.

In addition, whenever a fighter is warned, he has a 5% chance of being disqualified and this chance doubles with every successive warning.

A fighter who is not fighting dirty has a small (1%) chance each round of being warned for an unintentional foul blow. Unintentional blows can lead to penalties, but never cause disqualification.

If a fighter is clinching and using a high DEF, he has a (DEF-10)*(DEF-10)% chance of begin penalized for refusing to break a clinch. For example, a fighter with DEF of 12 would have a (12-10)*(12-10)% = 4% chance being penalized.

Fighting Styles

Fighting styles modify each fighter's abilities and energy point levels in various ways. However, no ability point and no energy point level is ever reduced below "1" for any reason.

The effects of each fighters' fighting style is determined as follows:

Note: When each fighter is either clinching or counter-punching, AGG penalties are determined using the opposing fighter's AGG before any penalty.

Height Advantage

The effect of height is determined. The taller fighter has his SPD and AGL are each increased by half the HGT difference. For example, if fighter A has a HGT of 13 and fighter B has a HGT of 10, then A has his SPD and AGL increased increased by 1.5.

Fatigue Penalties

Each fighter's STR, SPD, and AGL are reduced in proportion to the number of endurance points he has lost. For example, suppose a fighter began the bout with 100 endurance points but begins the round with 80 endurance points. Then the fighter's STR, SPD, and AGL are each multiplied by 0.8. These values are used for the remainder of the round.

Note that KP and CHN are not reduced by fatigue.

Luck

Each fighter gets a luck factor for the round, which is a random number somewhere around "1" - usually between 0.8 and 1.2 - used in various ways described below.

Damage

Each fighter inflicts two types of damage on his opponents - endurance damage and stun damage.

Each point of endurance damage causes a fighter to lose one endurance point. Endurance damage is calculated as follows:

End. Damage = POW * STR * sqrt(AGG * SPD) / opp(DEF * AGL)

Each point of stun damage is used to determine if a fighter is stunned, knocked down, or knocked out. Stun damage is computed like endurance damage with two modifications:

Damage is further modified as follows:

  1. Endurance damage is decreased by 20% if a fighter is throwing head punches, and 10% if going after a cut, and is increased by 20% when throwing body blows.

  2. Stun damage is decreased by 20% if a fighter is throwing body blows, by 10% if going after a cut, and is increased by 20% when throwing head punches.

  3. When a fighter is fighting dirty, all damage is increased by 10% unless the fighter is warned that round, in which case damage is only increased by 5%. (He stops cheating for the remainder of the round.)

  4. Both endurance damage and stun damage are multiplied by the luck factor.

These increases and decreases are implemented successively. For example, if a fighter is throwing body blows and fighting dirty in the same round, endurance damage is multiplied by 1.2 for body blows, and multiplied again by 1.1, for a total of 1.32.

Injuries

"Base damage" is determined before additions or subtractions for target area, chin, or knockout punch. Thus, it is the same as endurance damage except that there is no subtraction for throwing head shots or aiming for cuts, and no addition for body blows.

Base damage is important for determining cuts. The chance of opening a new cut is (base_damage * base_damage)/10%. This is multiplied by 1.5 if a fighter is throwing head punches or aiming at a cut. It is multiplied by 0.25 if a fighter is throwing body punches. It also is multiplied by 1.5 if the target has low cut resistance, and by 0.5 if the target's cut resistance is high. This probability, though, is never greater than 50% (to prevent "infinite cuts"). For example, if a fighter with low cut resistance sustains 12 points of base damage, his chance of being injured is 1.5*(12*12/10)% = 21.6%. If his opponent is throwing head punches, his chance of injury is increased to 32.4%.

There is an additional chance each round of any existing injury being aggravated, equal to the chance of a new injury occurring, with one exception. If a fighter is using the cut target area, this chance is multiplied again by 1.5 (in addition to the 1.5 multiplier the fighter already received), so in effect the chance is 2.25 times the normal chance.

The chance of a incurring a new injury, or aggravating an old injury, is further increased by 0.5% for every fight the fighter has had. Thus, a fighter with 20 fights under his belt who sustains 12 points of damage against an opponent who is head punching has a (1+20*0.005)*1.5*(12*12/10) = 23.8% chance of being cut each round.

A fighter may be injured repeatedly in the same round. If he is injured once, then he has the same chance of being injured a second time, and a third, and a fourth, etc. until he "misses" one injury.

If a fighter sustained an injury in an earlier round, there is a chance that the injury will be aggravated. This chance is equal to the chance of sustaining a new injury that round, but is additional to the chance of a new injury. If the opposing fighter is going after the cut, the chance of aggravating an injury is multiplied by 1.5 (in addition to the 1.5 multiplier the fighter already received.)

If a fighter sustains a new injury that is identical to a previous injury, then the injury is considered aggravated and is not treated as a new injury.

When a fighter is injured, the location and severity of that injury are determined randomly. The following locations are possible (most are equally likely, but swellings are twice as likely as other types of injury):

The severity or level of an injury is a number from 1-4. When an injury occurs, there is 2/3 chance it will be of level "1", a 2/9 chance of level "2", a 2/27 chance it will be level "3", and 1/27 chance of level "4".

The effects of an injury depend on the type of injury and on the level of the injury:

Bleeding above or below an eye:
A bleeding injury is called a minor cut, a cut, a serious cut, or a gash according to the level of the injury.

A cut causes a fighter to sustain one point of endurance damage for every level of injury.

A cut over the eye also interferes with a fighter's vision. This causes the fighter to lose 0.5 points of SPD for every level of injury. In addition, a serious cut over the eye causes the fighter to lose 0.5 points of AGL, and a gash over the eye causes the fighter to lose 1 point of AGL.

Swelling above an eye.
Swelling always starts at level 1, but every time it is aggravated the level of swelling increases. At level 4 the eye is said to have swollen shut and cannot be swollen further. If both a fighter's eyes are swollen shut the fighter loses by TKO.

Swelling can seriously interfere with a fighter's vision. Starting with level 2, each level of swelling causes the fighter to lose 0.5 points of SPD and 0.5 points of AGL.

Injured nose.
A level 1 injury is a bloody nose, a level 2 or 3 injury is a fractured nose, and a level 4 injury is a broken nose. For a level 2 or greater injury, the fighter sustains one point of endurance damage for each level of injury. At any level, the fighter fatigues an extra 1 point per round to reflect the fact that he cannot breathe properly.

Injured jaw.
Level 1, 2, and 3 injuries to the jaw are reported as "bloody lip", "bloody mouth", and "broken tooth", but they have no effect. They are just there for "color."

However, a level 4 injury is said to be a broken jaw. A broken jaw is a serious and painful injury -- the fighter immediately sustains 10 points of endurance damage. If this injury is aggravated, the fight is stopped and the injured fighter loses by TKO.

Changes to SPD and AGL due to injury do not take effect until the following round. Also, no ability is ever reduced below 1.

When an injury is aggravated, there is a 50% chance that it will be "promoted" to a level 2, 3, or 4 injury. Level 1 injuries are promoted to level 2 2/3 of the time an to level 3 2/9 of the time, and to level 4 1/9 of the time. Level 2 injuries are promoted to level 3 2/3 of the time and to level 4 1/3 of the time. Level 3 injuries are promoted to level 4. (Exception: swelling is always promoted exactly one level, to a maximum of level 3.)

When an injury is aggravated, any endurance damage caused by that injury is repeated. For example a level 1 cut, if aggravated, causes one additional point of endurance damage. If promoted to level 2, it would cause 2 additional points of endurance damage.

If an injury is at level 3 or 4 and a total of 7 or more points of endurance damage have been caused by that injury, the fight is stopped by the doctor and the injured fighter loses by TKO. The fight is also stopped by the doctor if the injury is at level 4 and a total of 6 or more points of endurance damage have been caused.

Stunning Blows, Knockdowns, and Knockouts

When a fighter sustains 2.5*CHN points of stun damage in a single round, he is knocked out and immediately loses the fight. If a fighter is knocked out, a KO time is computed by comparing the stun damage inflicted on him to his CHN -- a more severely damaged fighter is knocked down more quickly.

When a fighter sustains 1.5*CHN points of stun damage in a single round, he is stunned that round. If a fighter sustains 2*CHN points of stun damage, he is stunned twice that round, at 2.25*CHN points he is stunned three times, etc.

If a fighter is stunned twice in a single round, this is often reported as a single knockdown, but the effect is the same as being stunned twice.

Stuns affects scoring -- a stunned fighter always loses the round (unless his opponent is also stunned) and may lose by 2 or 3 points.

In addition, if a fighter is stunned, knocked down, or knocked out, he loses some of his own offense -- his LUCK factor is multiplied by 0.75 and his punches landed and the damage (both stun and endurance) he inflicts is recomputed. The number of punches he throws is also multiplied by 0.75. This penalty applies only once, no matter how many times a fighter is knocked down, and the penalty applies to only one fighter. If each fighters can potentially stun the other in the same round, only one fighter is penalized -- the fighter with the highest stun-damage/CHN ratio.

Finally, if a fighter is stunned 6 times more than his opponent in a single round (or, equivalently, knocked down 3 more times), the referee will stop the fight and a TKO occurs.

Punches Landed

Each fighter lands a certain percentage of 9*AGG punches, calculated as follows:

PERCENT = SPD*SPD / (SPD*SPD + k * sqrt(k*opp(AGL)))
where opp(AGL) is his opponent's AGL and k is a "fudge factor" constant computed as 12 + 1/3 of the rating of the two fighters involved. (Using the rating keeps the punch percentages from increasing dramatically as the two fighters get more experienced.)

Also, jabs are easier to land than other punches, so SPD is increased by 50% when determining the percentage of jabs that land. The different types of punches are described below. This percentage is then further modified as follows:

  1. Defensiveness -- a fighter's DEF rating affects both his and his oponent's punch percentages. PERCENT is multiplied by 15/(DEF+opp(DEF)).

  2. Luck -- if a fighter's luck factor for this round is less than 1, then his PERCENT is multiplied by his luck factor. If the luck factor is more than 1, his PERCENT is increased by (1 - PERCENT) * (LUCK-1).

  3. Target area -- if the fighter is being choosy about his punches (throwing head punches, body blows, or going after a cut), he lands fewer punches. Punches landed is reduced by 20% if he is throwing head punches or body blows, and 10% if he is targeting types.

However, not all punches are equal in the eyes of the judges. The number of each type of punch thrown is determined by a fighter's POW and AGG. The first 3*POW punches thrown are power punches. The next 3*POW are right straights and crosses, and the remainder are jabs. Thus a fighter with AGG=POW throws about the same number of each type of punch. However, there is a little bit of randomization in the punch distribution -- just for variety.

PERCENT applies equally to every type of punch.

After determining how many punches a fighter lands, the number of punches that miss is further randomized -- these "phantom punches" make it harder to determine what tactics your opponents are actually using.

Fatigue

Each fighter may lose endurance points to fatigue (his own actions, not his oponent's actions).

A fighter's fatigue for the round is equal to AGG + 0.5*POW. However, a fighter can "absorb" up to CND/2 fatigue points without any ill effect. Any points in excess of that are subtracted from his endurance points.

For example, suppose that a fighter with a CND of 10 uses an AGG of 4 and a POW of 6. Then he incurs 4 + 0.5*6 = 7 points of fatigue, but he can absorb 10/2 = 5 points of fatigue. He therefore loses 2 endurance points.

Normally, the effect of fatigue in one round is delayed until the next round. However, if a fighter earns N points of fatigue in a round, and N > CND (his conditioning), then N-CND points of fatigue are applied *immediately*. For example, if a fighter with CND of 10 incurs 15 fatigue points in round 3, his STR, SPD, and AGL would be reduced by 5% ([15-10]/100) in round 3, and then reduced by the remaining 5% in round 4 (for a total of 9% after recovery). However, this rule only applies to fatigue earned from AGG and POW, and not to fatigue for extremely heavy fighters, or fatigue penalties for using styles such as ring or feint. This rule makes it harder to create fighters with CND of 1-3 who absolutely must win in the first round or collapse.

A fighter with a high fighting weight may incur additional fatigue, as described above.

Note that it is possible for both fighters to be KO'd or TKO'd in the same round. In that case, we choose the winner by calculating, for each fighter, the ratio of the stun damage required to cause a KO or TKO to the stun damage actually done. This ratio gives an estimate of how early in the round a fighter was KO'd or TKO'd. A similar comparison is used when both a KO and a TKO are inflicted on the same fighter in the same round.

The Judges' Scoring

Three simulated judges reside over each bout. If a bout ends without a KO, TKO, or DQ each judge selects a winner. If two or three judges agree on a winner, that fighter is declared by the winner by decision, otherwise the bout is declared a draw.

The judges select winners based on the following criteria:

Stuns and Knockdowns
The fighter who stuns his opponent more than he is stunned himself automatically wins the round. For this purpose, being knocked down is the same as being stunned twice.

Most Punches Landed
If neither fighter is stunned or knocked down (or both are, the same number of times), the fighter who lands the most punches is awarded the round. However, not all punches are weighted equally. In WeBL, each power punch is worth 2 jabs, and any other kind of punch is worth 1.5 jabs.

Close Rounds
In close rounds, judges may be swayed the amount of damage each fighter is inflicting on the other. To reflect this, each fighter's punch total is increased by 1% for each point of damage he inflicts on his opponent. The damage used here is an average of the stun damage and endurance damage.

Note that the judges estimates of punches landed are randomized somewhat to simulate human error. This results in "majority decisions", "split decisions", and occasional incorrect decisions.

WeBL uses a "10-point must" system. At the end of each round, each judge awards the winner of a round 10 points and awards the other fighter between 7 and 10 points. The winner of a round normally wins 10-9, before any deductions for foul blows or clinching. However, a fighter can win 10-8 or 10-7 for stunning or knocking his opponent as follows:

  1. Each knockdown scores gives the winner one additional point. A fighter who wins by a knockdown typically wins the round 10-8. A fighter who wins by two knockdowns typically wins 10-7.
  2. A stun counts as half a knockdown, and a fighter who outpunches his opponent by a ratio of 4-1 or more gets credit for an additional half a knockdown. So a fighter who stuns his opponent and severely outpunches him wins round 10-8. A fighter who scores a stun, a knockdown, and severly outpunches his opponent wins 10-7. A half a knockdown is not, in itself, worth a point, so a fighter who wins by a knockdown and a stun only wins 10-8.
  3. Each stun or knockdown scored by the loser negates one stun or knockdown by the winner, and the loser also gets credit for a stun if he (somehow) outpunches the winner 4-1. Thus, a fighter who knocks down his opponent twice but is stunned or knocked down himself once himself wins the round 10-8 rather than 10-7.

Recovery Between Rounds

Each fighter regains 10% of the endurance points he has lost. For instance, if the fighter started the bout with 120 endurance points and has 90 endurance points remaining at the end of round 3, then he has lost 30 endurance points. He regains 3 endurance points between rounds and begins round 4 with 93 endurance points (fractions are retained).

In addition, if a fighter uses less than 20 energy points during the previous round, he regains an additional 2% of his lost endurance for each point of unused energy. If, in the previous example, the fighter had spent only 18 energy points in round 3, he would regain an additional 2 * 0.02 * 30 = 1.2 endurance points between rounds, thus starting round 4 with 95.7 endurance points.

Changes in Abilities

To keep things from becoming predictable, a fighter's abilities change over time, depending on his performance.

  1. Status Gain: Every time a fighter gains a point of status, he gains an ability point. one ability point. At status level six and all even status levels thereafter, the fighter gains two ability points. The first ability point gained at each status level is determined by training. The second point is selected randomly from STR, SPD, AGL, and CND.

  2. Aging/Injury: During a fight, a fighter can sustain up to 5 points of base damage for each point of CHN without any permanent effects. However, every point of damage in excess of that is treated as an injury point. (This has nothing to do with injuries actually sustained during a fight, such as cuts and swelling.)

    When a fighter loses by KO, the damage he sustains in that round is not counted towards injury points. Rather, he automatically incurs 25 injury points for that round.

    Every time a fighter accumulates 500 injury points he loses one ability point.

    Note that fatigue (losing endurance from high AGG) does not count towards injury points, only damage sustained from opposing fists.

    Also note that when a fighter loses by TKO, he may sustain a lot of damage in the last round. All of that damage is added to the injury point level -- no attempt is made to determine how much of that damage was sustained before the fight was stopped. This same rule applies if a fighter wins by KO or TKO. (This may sound strange and, in fact, it is really a bug, which will be fixed in the next version of the simulator.)

Before each bout, a fighter should choose one ability to train. That ability is increased by 1 point for that bout. If the fighter wins the bout and if his status increases as a result, that ability point gain is permanent. Otherwise, the point is lost after the bout. (But the fighter can train it again for his next bout).

Training does not affect a fighter's weight unless the ability point gain is permanent.

Finally, if a fighter gains an ability point and loses an ability point in the same session, the gain and loss cancel one another and no change in ability occurs. Similarly, if a fighter gains two points but loses one, the only change would be gain of a single ability point, etc.