We spoke with the researcher who developed a tool that calculates the best classes in Baldur’s Gate 3 – He explains: There is much more to come

We spoke with the researcher who developed a tool that calculates the best classes in Baldur’s Gate 3 – He explains: There is much more to come

Behind many tier lists for Baldur’s Gate 3 often lie opinions and analyses from experts, sometimes even hours of testing. A German researcher found that wasn’t enough: He mathematically calculated the best classes with a tool. MeinMMO was allowed to ask him a few questions.

Johannes Pfau, professor of game AI and analytics at Utrecht University, has developed a tool that calculates the best classes in Baldur’s Gate 3. The simulation generates data for the potential damage of each class.

Behind the tool lies cold, hard mathematics: raw numbers intended to eliminate human influence, which is present in analyses like ours tier list for Baldur’s Gate 3. No experts, no personal favorites, just the hard facts.

In the end, the Druid in the Circle of the Moon takes first place. You can see more results on YouTube. Johannes Pfau was available for MeinMMO to answer some questions about his tool, his research, and his connection to gaming.

“No player wants to just watch while their teammates clear every fight”

MeinMMO: For people who have absolutely no idea about math: How does your tool work?

Johannes Pfau: In principle, there is a simulator (as a backend) and an interactive visualization (as a frontend). The simulator is connected to a database that knows all executable actions, spells, attacks, and passive talents or class abilities of the game. Now, let’s say every character build consists of (at least) one class, and thus receives a set of skills and passives. Now the frontend gives you 2 options: You can either explore what happens when you chain your favorite skills together – or let the autocomplete find the skill sequence that leads to the most damage dealt.

In principle, it’s a small, classic AI that knows the expected values of the skills and tries a few steps into the future to see what is most worthwhile. For example, it knows that it’s sensible to cast the spell Hex before another spell or attack, and not afterward. And of course, this also works with other buffs, debuffs, or more complex mechanics, and over several rounds.

So I have just modeled all classes, spells, talents, etc. in BG3, and asked the simulator to give me the best strategy for each class, along with the respective damage value at the end. You can look at various scenarios… For example, to find the potential to deal as much damage as possible in one round (Nova), or to calculate which classes consistently deal a lot of damage over 10 rounds.

Depending on the scenario, such as the number of opponents, their resistances, stats, other group members, etc., you obviously get completely different numbers, so one must not lose sight of the big picture when claiming class X deals more damage than all others. And of course, one must also always say – damage is not everything, and maximum damage is not always the most interesting strategy.

MeinMMO: How did you come up with the idea of calculating the classes in Baldur’s Gate 3 based on their strength?

Johannes Pfau: In a rather grand way, I could say that science is fundamentally about finding information or evidence where there is much uncertainty and differing opinions. And to be honest, there’s seldom such a lack of consensus as in the opinions of player communities regarding which classes/characters/builds/etc. are actually “the best.” If you look at 10 different tier lists, experience reports, or guides, you’ll get 10 completely different perspectives. Even though there is often much truth in them, most games lack a standardized benchmark that could lend weight to statements.

Especially with big questions like balancing, I find it interesting when one can argue backed by evidence. So I connected it with a study that aims to unite many different dimensions of balancing (see: Progression Balancing × Baldur’s Gate 3: Insights, Terms and Tools for Multi-Dimensional Video Game Balance on dl.acm.org). Now one could argue about whether Baldur’s Gate 3 is perfectly balanced or should be – but I think, especially when playing in multiplayer, no player wants to just watch while their teammates clear every fight. And in the end, I’m just a big fan of the game, the studio, and the genre, and love to combine hobby and profession.

Originally, our tool comes from the world of Guild Wars 2, where there is fortunately already a good way to create such benchmarks in-game. However, that wasn’t enough for us, as we wanted to investigate: What are the theoretical limits of a class, even if human players struggle to reach them?, and: What happens to the damage potential of the class when the next announced balance patch goes live? In one of my publications, I showed that players who engage with the tool learn more (meaning their in-game performance improves) than those who simply learn by playing (see: Damage Optimization in Video Games: A Player-Driven Co-Creative Approach on dl.acm.org).

Strong classes are not always the most popular: The least played class in Baldur’s Gate is one of the strongest

“Some weeks of development time surely went into it”

MeinMMO: A small personal question: How did you actually come to your profession? Sounds like a dream for many academic gamers.

Johannes Pfau: I started in the German game industry and took the opportunity to create AI tools (reinforcement learning) that automatically or semi-automatically tested our games (see Automated Game Testing with ICARUS: Intelligent Completion of Adventure Riddles via Unsupervised Solving on dl.acm.org). This alleviated a huge workload for our game testers (and opened new ways to thoroughly test games) and showed me that this is what I would like to do professionally.

Since such tools are often experimental, the academic world seemed to be the right path for me. Getting in wasn’t much different from other fields: Sure, I had a very good degree and industry experience, but definitely also some luck that at that time a doctoral position became available that more or less matched me – and luck that I already had contacts who pointed it out to me.

And when so much passion and ambition flow into a dissertation, it tends to turn out well… well enough that I had no significant problems finding my follow-up jobs in the USA and now my permanent position in the Netherlands.

MeinMMO: How long did it take you to develop the whole thing and what was the hardest part?

Johannes Pfau: As mentioned, it all started in the context of Guild Wars 2 when my colleague Manik started with the simulator (now backend) (on github). That was about 2 years ago, and surely some weeks of development went into it. At that time, the simulator could play a predefined skill sequence and calculate damage curves, but not more. When I stumbled upon it, I really wanted to make it interactive so that it would be easy to use and anyone could quickly try out what strategy with which build would work well.

Of course, this also took a few months, then we added a study on top of it and published it (see: Damage Optimization in Video Games: A Player-Driven Co-Creative Approach on dl.acm.org). Last year, while I was working on a Baldur’s Gate 3 run with my wife, I was wondering how various classes could be optimized and how difficult it would be to apply our GW2 tool to BG3. Well, most internal functions are written rather generically, and the biggest difference here was likely that you had to swap a real-time combat system for a turn-based one, but in principle, every turn is just a (discrete) unit of time.

The most time-consuming part was thus not rebuilding the system but rather incorporating and verifying each individual build, skill, spell, feat, etc. in Baldur’s Gate 3 into the system. To save time and ensure compatibility, all these things can simply be loaded and interpreted from JSON files.

Calculating the damage of, for example, a fireball is then relatively intuitive, as it is described in the wiki, rulebook, or in-game: 8D6 means 8 times 1-6 damage, so something from 8-48, with an expected value of 28 in the middle (minus the probability that the target succeeds on a saving throw). It gets more complicated when various mechanics influence damage, hit chance, triggered effects, etc., which not only need careful implementation but should also be tested (ideally compared against in-game numbers). As a quick example, a level 12 Evocation Wizard could therefore do the following in every round:

  • Have their Water Elemental execute a slam that increases all subsequent cold damage by +100%
  • Alternatively, have this one multiattack increase by +183%, if it used Slam in the previous round
  • Have their Ice Mephit(s) cast a Chromatic Orb that can knock the opponent down, making them more vulnerable to attack rolls
  • Cast a Chromatic Orb or Cone of Cold themselves, which could also be enhanced by the passive ability Empowered Evocations
  • Let up to 3 summoned skeletons (and maybe a mummy) hit as well

And that’s without the influence of items or external buffs. Finding the strategy that optimizes damage here is therefore not completely trivial (especially since about 100 other spells would be at one’s disposal).

This tedious work, entering and checking everything, ultimately took the longest, about another 1-2 months – but naturally, ideas and impulses always came up in parallel to add or change functions in the tool to best represent all the mechanics. In the end, I always find it important to have a system that I also enjoy using myself.

“I catch myself thinking about how I would simulate a game”

MeinMMO: What data can I extract with the tool besides pure combat strength? Can it be built “universally” for other analyses?

Johannes Pfau: Nice question! I hear from many communities that there’s always a cry for damage, and when I play a game for myself, I often feel the urge to find (and be able to execute) an optimal offensive strategy. However, once you reach the point where many mechanics in the game and boss mechanics are trivialized by too much damage, you’re likely harming yourself and your gaming experience more than the opponent. And although this is certainly the main application of this tool, it is not the only output that can be generated. In theory, the healing done could also be a parameter that could be output – however, healing is often much more situational, since one could argue that you always need damage and healing only when it’s necessary.

It also shows how long (calculated over combat time) certain buffs and debuffs can be actively maintained with your build and rotation, which is particularly interesting in MMOs.
But of course, it can be expanded at will. Instead of only looking at a fixed opponent, you can simulate a whole range of enemies and check how many of those fights a build would achieve (success rate) or how long one could survive (survivability).

Or you compare different agents, such as an AI that plays optimally against a strategy that simply executes random actions/spells. If the gap between these two performances is not particularly high, it suggests that this build is relatively “simple” to play – while a high variance between the two would suggest that this build requires more thought. Since such games aim to appeal to various player types, this is also an interesting metric for balancing.

Ultimately – if you had recorded logs of fights, you could also find out what players do wrong or suboptimally (since you can calculate the optimal comparison value in the background). Either to learn from it oneself or to understand when players prioritize flair over optimality.

MeinMMO: How difficult would it be to rebuild the tool to work for ALL role-playing games?

Johannes Pfau: As I’ve somewhat mentioned earlier: Not immensely difficult. I actually find myself mentally catching thoughts when I play anything else about how I would likely simulate it. The “hardest” aspects would be two things:

  • Accurately capturing and entering any game mechanics (actives, passives, buffs,…) (tedious work)
  • Knowing the fundamental damage calculation formula
  • (In GW2, for example: Damage = (Weapon Damage * Strength * Skill Coefficient) / (Target’s Armor Value) * Modifiers)
  • (In BG3, mostly the expected value of the dice roll, where depending on the damage type the hit rate (Attack Roll: Miss/Hit/Crit), (Spell Save: Miss/HalfMiss/Hit) is taken into account)

Wikis often form relatively quickly that simplify information finding significantly, although you still have to check them again.

MeinMMO: Two final questions: What is your favorite class in Baldur’s Gate 3 and what is your favorite role-playing game?

Johannes Pfau: Both are very difficult!

In terms of flavor, I thought I would be a fan of the Warlock – however, the limited spell slots don’t really allow you to dive much into the beautiful debuffs of the class, and you end up getting lost in the Eldritch Blaster or Pact of the Blade attackers, because you don’t have to manage resources there. The Wizard has a nice range, but I never feel like I can typically only perform one action per round, and the subclasses lack a bit of identity.

Therefore, the Sorcerer is the class I’ve enjoyed the most in my runs, due to the great flexibility and strength (especially through the Metamagics Quickened/Twinned Spell) – no matter if damage dealer, debuffer, or even supporter, the Sorcerer is just fun and generous to multiclass. When I play physical classes, the Fighter is often part of the build, as it is simply too well-rounded – but in terms of design, I like the Monk variations the most.

My favorite RPG depends on the day: My guilty pleasure is definitely the Gothic series, which I grew up with as a child. The combat system is quite idiosyncratic, but seldom does anything come close to the atmosphere, quest design, and heart and soul that went into the earlier Piranha Bytes games.

However, if I look at my Steam hours (MMOs excluded), then it’s without a doubt Divinity: Original Sin II. It was no surprise to me that Larian would turn BG3’s generous budget into something wonderful. But when it comes to the combat system, D:OS2 still stands quite a bit ahead, and I’m more than curious for them to return to their roots!

MeinMMO: Thank you for the answers!

For many players, damage in RPGs is an important detail: feeling powerful is simply fun. But especially in games like Baldur’s Gate 3, not only fights are important but also the overall experience. And there are completely different factors at play: A fan asks which class in Baldur’s Gate 3 has the most special dialogues, and gets a statistic presented

Deine Meinung? Diskutiere mit uns!
0
I like it!
This is an AI-powered translation. Some inaccuracies might exist.
Lost Password

Please enter your username or email address. You will receive a link to create a new password via email.