Encumbrance (Apocalypse)

From UFOpaedia
Revision as of 03:27, 30 April 2008 by Zaimoni (talk | contribs)
Jump to navigation Jump to search

Empirical approximation

Tentatively (needs more testing):

  • Encumbrance allowance (A): 4 x Strength
  • Encumbrance (E) is calculated as a weighted sum: the listed weight is multipled by the number of squares of the item. I'm not sure how items in the hand work yet, tentatively assuming same as elsewhere. Contrary to appearances, each armor unit only has one square.

The scaling factor for actual speed is then the square root of (A-E)/A. Multiply this by maximum speed, then "do something" (both truncation and rounding are sometimes off by one).

The real question: how is the square root being approximated with integer math?

RT speed is simply INT(TB speed/8).

Some examples courtesy of Captain Midnight's editor

For STR 55, Speed 85 (the theoretical maximum starting STR and Speed for a human):

  • Full suit of Megapol armor: 14+12+10+10+9 = 55 weight/encumbrance
  • Medikit: weight 3 · 4 squares = 12 encumbrance
  • Marsec rifle: weight/encumbrance 7
  • 3 clips: weight/encumbrance 1 each, 3 total (in-game the rifle is weight 8 as the loaded clip counts)
  • 2 frag grenades, 2 gas grenades: 2 weight/encumbrance each, 8 total

This checks in as 85 encumbrance; calculated MP is 66.58, in-game 67. Oops. Calculated/actual aimed shot with a Marsec rifle at 67 MP is 8 MP, with corresponding autofire 2 MP/shot. We'd like 66 MP, for a calculated/actual aimed shot with a Marsec rifle of 7 MP, with corresponding autofire 1 MP/shot.

WeightMPCalculated MP
856766.58
866666.33
876666.09
886665.84
896565.59

So: the empirical formula is not what Apocalypse actually uses, as rounding the calculated MP at weight 89 gives 66 MP, not 65 MP.

Even worse (in vivo):

SpeedStrengthWeightMPCalculated MP
7344855152.49

Quest for the Real Formula

Consider the thresholds as "pre-squared":

  • INT(85*85*135/220) = 4,433
  • INT(85*85*134/220) = 4,400
  • INT(85*85*132/220) = 4,335
  • INT(85*85*131/220) = 4,302

It turns out that the truncated arithmetic average of two squares in sequence, is their geometric average. So neither is being used by Apocalypse (65·66 = 4290, so 89 encumbrance would give 66 MP in this scheme rather than 65 MP).

Apocalypse is not using either the geometric or arithmetic averages of the squares as the threshold (both check in around 4,290 for 65² and 66², which would give 66MP rather than 65MP. Inverting Apocalypse's distance function doesn't work either: INT(85*135/220)=52, calculated MP would be 69 rather than 67.