Announcing the Tibia Charm Optimizer

We’re proud to announce the Tibia Charm Optimizer, a new tool that calculates the objectively optimal charm configuration for any given Hunt Analyzer log. Use it to maximize the impact of charms during your hunts, based on your exact hunting style!

The Tibia Charm Optimizer figures out the optimal charm configuration for any given Hunt Analyzer log!

Illustrative example

Imagine you want to figure out the best charms to use in Darklight Core. The creatures in this spawn are:

Creature Hitpoints Best damage type(s) Suboptimal damage type(s)
darklight matter 30,150 125% fire 110% physical, 110% earth
darklight source 31,550 115% fire 110% physical, 110% earth
darklight striker 29,700 125% fire 115% earth, 100% death
walking pillar 38,000 115% fire, 115% earth 110% physical

Which charms would you apply on these creatures? What’s your thought process when making these decisions? It’s not obvious how to optimally solve this. 🤷

Fire damage is the best option for all the creatures, but we can only use Enflame on one of them. How do we decide which one of the four creatures gets it? Wait a minute, walking pillars are equally weak to earth damage as they are to fire damage, so if we use Poison on them, we can then use Enflame on any of the other three creatures. Is it better to use Enflame on darklight matter, darklight source, or darklight striker? The answer is not obvious. Either way, two out of the four creatures in this spawn cannot get an individually optimal charm for them. Hmm… It’s not at all obvious what the best charm configuration is. Clearly, considering damage type resistance alone is not enough — we need more information.

We need to take into account each creature’s hitpoints as well, for two distinct reasons:

  • Damage charms deal 5% of the creature’s total hitpoints as base damage. Thus, other things being equal, it makes sense to prioritize creatures with more hitpoints and apply better charms to them.
  • Creatures with more hitpoints require more attack turns to kill, creating more opportunities for the charm to proc.

Sticking with our Darklight Core example, walking pillars have 38,000 hitpoints — by far the highest in the spawn. It’s tempting to prioritize the charm on the walking pillar, to make sure it gets one of its individually optimal charms (i.e. either Enflame or Poison). However, as we’ll explain soon, this is not always the optimal choice. Focusing on hitpoints alone is not enough.

Finally, we need to also consider the relative kill counts. The impact of any charm increases if its creature gets killed more often, as that creates more opportunities for the charm to proc. Similarly, it doesn’t make sense to waste the best charm on a creature that only gets killed a few times per session. But just like with damage type resistances and hitpoints earlier, focusing on kill counts alone would not work. For example, imagine killing 500 cave rats and 100 juggernauts. Despite killing far fewer juggernauts, the charm on it would have significantly more impact than any charm applied to cave rats.

It’s clear we must consider damage type resistance, hitpoints, and kill counts holistically. While it’s tempting to focus on any one of these aspects in isolation, doing so doesn’t always lead to optimal charm configurations. Luckily, the Tibia Charm Optimizer can now solve this difficult problem for us.

Here’s a Hunt Analyzer snippet for one of my first hunts in Darklight Core:

Session: 01:00h
Killed Monsters:
251x darklight striker
251x darklight matter
160x walking pillar
156x darklight source

The exact number of kills doesn’t really matter — what’s interesting is the relative kill ratio. During this session, the most commonly killed creatures were darklight striker and darklight matter, in equal amounts. Walking pillar and darklight source got fewer kills, in roughly equal amounts. For this particular ratio of creature kills, the optimal charm configuration is:

  1. Poison on darklight striker
  2. Enflame on darklight matter
  3. Wound on walking pillar
  4. Curse on darklight source

However, here’s a Darklight Core hunt my friend Elder Aaron did recently. His team is stronger (higher levels), uses a different route through the spawn, and the area was boosted that day — resulting in a wildly different kill ratio:

Session: 01:00h
Killed Monsters:
339x darklight striker
279x darklight matter
211x walking pillar
184x darklight source

For this ratio of creature kills, the optimal charm configuration is different!

  1. Enflame on darklight striker
  2. Wound on darklight matter
  3. Poison on walking pillar
  4. Curse on darklight source

The take-away is: the optimal charm configuration for a given spawn depends on how you hunt. A charm configuration that works well for a friend might not be the best for you. Many variables can influence the creature kill ratio in your Hunt Analyzer: team size, level, skills, equipment, hunting style, route through the spawn, active preys, boosted area, the daily boosted creature, and more.
Our new Tibia Charm Optimizer tool shows you the best charm configuration for any given Hunt Analyzer log. Use it to maximize the impact of charms during your hunts!

Implementation details

This section explains how the tool works behind the scenes. If you don’t care for math, stop reading and go play around with the Tibia Charm Optimizer tool instead 🙂

Computing the efficiency of a given charm configuration

First, for every creature killed in the session, we compute its charm damage factor:

charmDamageFactor = hitpoints × hitpoints × killsPerSession
[A] [B] [C]

[A]: because the 5% charm base damage scales with hitpoints
[B]: because more hitpoints → more attack turns → more opportunities to proc
[C]: because more kills → more opportunities to proc

The charm damage factor captures how impactful damage charms are on this creature, taking into account the number of kills per session as well as the two distinct ways creature hitpoints come into play. This metric gives us a single absolute value for each creature in the session, enabling us to more easily compare creatures in terms of their relative charm impact.

By default, the tool considers the seven damage type charms Curse, Divine Wrath, Enflame, Freeze, Poison, Wound, and Zap — but the tool allows selecting any subset of them. This is useful in case you haven’t unlocked all charms yet, or if you regularly hunt in multiple spawns and would like to avoid swapping charms. For sessions with more creatures than charms to consider (e.g. Issavi), we first select the creatures with the greatest charm damage factors.

Once we’ve computed the charm damage factor for each creature in the session, we can calculate the charm efficiency for any charm/creature pair:

charmEfficiency = charmDamageFactor × damageTypeMultiplier ÷ sumOfCharmDamageFactors

Offensive charms deal base damage equal to 5% of the creature’s total hitpoints, and the creature’s weakness to the damage type (damageTypeMultiplier) is applied on top of that. That’s why we’re taking it into account here. For example, a creature that takes 125% fire damage has a damageTypeMultiplier of 1.25 for Enflame.

The charm efficiency metric captures the impact of this particular charm/creature combination in the context of the overall session. The tool reports it as “impact: xx.xx%” on each line. By studying the tool’s output, it’s clear that optimizing the charm efficiency for a specific charm/creature pair does not always result in the greatest total charm efficiency overall.

For any charm configuration, the total charm efficiency is simply the sum of each individual charm/creature pair’s charm efficiency. The total charm efficiency is the metric that lets us objectively rank different charm configurations against each other.

The Tibia Charm Optimizer handles all that for you: it parses your Hunt Analyzer log, extracts the “Killed Monsters” data, generates and analyzes every possible charm configuration, and presents the optimal results.

In the field of combinatorial optimization, finding the optimal charm configuration is an instance of the assignment problem. If we wanted to find only the optimal charm configuration, we could use the Hungarian algorithm. If we wanted to find only the k best charm configurations, we could use Murty’s ranked assignment method. However, since Tibia only has 7 raw damage charms at the moment, the upper bound for the number of possible configurations (for hunts with at least 7 distinct creatures) is P(7,7) which is 5,040. Because we find the computation cost to be acceptable even in this worst case, our tool intentionally generates and visualizes all configurations, enabling Tibians to compare the optimal charm to other options and quantifying the difference (i.e. how much better it is).

Computing the efficiency of a given damage type

In addition to the optimal charm configuration, the tool also reveals the optimal damage type to use for weapons, runes, and spells, taking into account the kill counts and damage type resistances of each creature killed in the session.

Here’s how that works. Similar to charmDamageFactor above, we compute a damage type damage factor for each creature:

damageTypeDamageFactor = hitpoints × killsPerSession

The damage type damage factor expresses the total amount of damage required to kill this particular creature killsPerSession times.

Once we’ve computed the damage type damage factor for each creature in the session, we can calculate the damage type efficiency for any damage type + creature pair:

damageTypeEfficiency = damageTypeDamageFactor × damageTypeMultiplier ÷ sumOfDamageTypeDamageFactors

Finally, we compute the total damage type efficiency by adding up the damage type efficiency for each creature in the session.

Acknowledgments

Cheers to Picture, Kikaro, Zalina Myth, Poseidons Hope, Top Maximum, Elder Aaron, and Acolyte Tempest for sending me their Hunt Analyzer logs and for giving early feedback on the tool.

Have fun optimizing your hunting sessions! To support our work on maintaining Tibia map data, tools, downloads, and this website, consider donating Tibia Coins.

Support TibiaMaps.io by bidding on a character auction!

The character Wablieftru is being auctioned for 59 TC.