1. Introduction

moebius toolkit 0.2

Moebius Toolkit is a desktop application (with a web-based alternative for your convenience) which consists of a set of loosely related modules. All of them have been useful to me while playing and discussing the Baldur’s Gate games, mostly for powergaming, balance checking (e.g. for mod creators), discussing the design of the videogames and AD&D 2nd Edition or just satisfying my curiosity.

2. Download and online web version

This project is an application for all major operating systems (Windows, macOS, Linux). To get all the features you need to download the package for your operating system, and start the application.

Get the latest version on the releases page on Github.
Find the downloads under Assets.

Download the ZIP or the 7Z compressed archive. Extract it wherever you like and run moebiustoolkit.exe. You can move the uncompressed directory wherever you please (it’s a portable application). An optional installer will be provided eventually if there is community interest (feedback on your preferred installation methods is very welcome!).

Download the DMG image. Open it, and move the application to Applications.

Download the AppImage file. Make it executable and run. Move it wherever you please.

However, as a convenience, if you just want to try something quickly without having to download and extract anything, you can try a special build on the web browser that still retains most of the features (but the real, native application is still highly recommended). The web version misses that it can’t access your disk, so it can’t parse your game files (it uses some predefined data for the charts). It looks a bit awkward at times because it’s supposed to be a desktop application, but it’s constrained by the environment that the web browser supports.

Try it for yourself, and just visit the link (and feel free to share it):

3. Forum on Gibberlings3

Visit us at the Theorycrafting forum at Gibberlings3.net. Ask questions, see numbers and charts done by other people comparing builds and weapons, and get in touch with the community.

4. Getting help and reporting issues

You can use the following places:

The author prefers the latter for reporting issues, but use the site that suits you better.

Additionally, feel free to ping @suy on the Gibberlings3 Discord server.

5. Game Browser

moebius toolkit 0.2 browser

This is the more ambitious and less extravagant module of the application (the one whose purpose is immediately understandable if you know about Near Infinity or EEKeeper), but it’s also one of the more incomplete ones. For now it’s able to index the list of BIFF files (the internal ZIP-like files that pack most of the game content), and show the list of spells, creatures, items or 2DA files. The 2DA files are plain text based tables, and hence are browsable, but not editable yet.

The plan for the browser is transitioning from a proof of concept to a tool that can replace the unmaintained EEKeeper in the future, so it can edit your saved games to fix issues, tweak things, or outright "cheat". On the roadmap there are planned a few unique features to make it more useful for modders.

6. Damage Calculator

moebius toolkit 0.2 damage calculator

This is by far the more complete module, as it was almost the only component of the first public release of Moebius Toolkit, and the project that started it all. It consists of some controls where you can input a large amount of combat stat values, and which produces a chart with how much average damage per round it would do to, as a function of the armor class of the opponent.

This tool can help you optimize your character or party build (for those that care about it), or help you reason about the balance of items or opponents added to the game (for those who create or use mods), or just have fun seeing your own assumptions about how the numbers would be, when you actually sit down and see them calculated with math instead of intuition.

See Damage Comparisons for some example comparisons, and get inspired to make your own!

6.1. Tutorial and overview

This is a short tutorial that shows how to use the most important functions to make a useful comparison. We will chart how well Khalid performs when you recruit him, at the three first recruitment points, with his default equipment.

Each point of the tutorial does a very small thing, and it explains in detail some nice to know things as well. Don’t be overwhelmed by the wall of text: the recording below lasts less than one minute, and does roughly the same thing explained in the text. The text just gives you additional information.

  1. Open Moebius Toolkit. The Welcome page will show.

  2. Completely ignore the Game Setup instructions and controls. Just press Damage Calculator, which will show the default calculation (a level 1 character using a quarterstaff and no bonuses at all).

  3. The chart on the left will display the average damage per round. The damage goes down as the AC of the opponent improves (because the chance to land a hit is smaller). Move the cursor over the points to see their values in the status bar (bottom left).

  4. The controls on the right make the chart update immediately on any change. Start by giving a name to the first calculation. Near the top, look for Name and type "Khalid 1" in the input field, which will change the legend of the chart to display the name.

  5. Now you can move the pointer over the legend shown on the top of the chart (which now just displays "Khalid 1", and a color next to it). The line of each calculation will become thicker when the cursor is hovering its name. Additionally, you can click on the name to toggle the visibility on or off.

  6. Now we will update the stats to match what Khalid would have at level one. When you recruit him, he has no special equipment, and he doesn’t have any bonuses from kit, or Strength. When he is level 1, his THAC0 is 20, so we should not change anything in the box named Common, which is just below the name.

  7. We need to change the damage dealt with his weapon, though, so we look at the boxes below, named Main hand and Off hand, which are nearly identical. We are going to assume that Khalid starts using his Long Sword and his shield, so we can leave disabled the secondary weapon, which is the only one with a check box, of course. When it’s disabled, the contents of the Off Hand are completely ignored.

  8. Time to update the main hand so it reflects the proper stats. Khalid has two proficiency points in Long Sword, so he will have +1 bonus to hit, +2 bonus to damage, and will attack 1.5 times per round dealing 1d8 slashing damage on a successful hit.

  9. At the top of the Main hand box, there is a nested box named To hit, so set a 1 in Proficiency modifier. Any value in this group changes the chance to hit for that weapon alone, and all values are added together, so it doesn’t really matter which values we put where, as long as the total of the three is a positive 1.

  10. In the Damage group box, set Proficiency modifier to 2, and change the weapon damage to 1d8 (1 dice, 8 sides, 0 bonus). Set the type to slashing.

  11. Finally, below the damage, set Attacks per round to 1.5, and this calculation will be done. It should look like in the image below.

    damage calculator tutorial khalid 1 input
  12. We are done with charting Khalid at level 1, but we can now very easily compare him with a small variation of itself, in a fraction of the time. Duplicate the current calculation by pressing CTRL+D, or going to the menus and clicking on Damage Calculator, Duplicate current calculation.

  13. Change the name to "Khalid 2" (the next level at which he can be recruited), and change the value in THAC0 to 19, in the Common box.

  14. Notice that if instead of setting the THAC0 to one value better (lower), you set to 1 to any of the values to its right, the chart would look the same. Every input to the right of THAC0 and in the same line, is a bonus to the "to hit" roll, and all are added together. Use one or the other just for clarity.

  15. But also take note that the row below THAC0, the one that starts at Luck, only affects damage on hit. If Khalid got buffed by Bless he should receive a 1 in both rows, since Bless improves by one both to-hit and damage rolls.

  16. Now duplicate the calculation again (press CTRL+D), and change the name to "Khalid 4" (the next level at which he can be recruited).

  17. Again, change THAC0 to 17, its value for a level 4 Fighter, and given that when recruited at this level he would be a Master (3 proficiency points) in Long Sword, change what we’ve set before. Now Proficiency modifier should be a 3 in both boxes, To hit and Damage, where previously we had 1 and 2 respectively. That is, like in the following image.

    damage calculator tutorial khalid 4 input
  18. We are getting now some decent plots, but let’s try something different. Say that we give Khalid a better sword, like Varscona. That weapon gives +2 to hit, +2 to damage, and one extra point of cold damage. Duplicate again, and give it a new name like we did before.

  19. Change Weapon modifier to 2 for the chance to hit, and in Weapon, set 2 bonus for the physical damage dealt. Now click on Cold and, since the damage is fixed to 1, just set 1 bonus. We are done!

Some finishing touches:

  • The chart can be visual tweaked in some ways. In the first menu entry, you can change the "theme" that the chart uses. In the Damage Calculator menu, the last entries can control some small things, like hiding the axis descriptions, or the labels at each point. On top of the chart there are some extra controls to add a title, or change the maximum and minimum AC to display (this allows to simulate a "zoom" on some parts of the chart).

  • The calculation can be saved to the clipboard, or directly to a file, as image. Use the main menu, or the shortcuts.

  • Additionally, the inputs can be saved to a file so they can be loaded again. The file is plain text (can edited with a program like Notepad), and you can share it with others so they can tweak or visualize it by themselves the calculations. Find some examples that you can download and open with the application in Damage Comparisons.

  • You can open more than one Damage Calculator. Go back to Welcome, and click again on Damage Calculator. You can switch back and forth the different pages using the large buttons on the left.

7. Backstab Calculator

moebius toolkit 0.2 backstab

This simple calculator is much less mature than the Damage Calculator, and more limited in scope, so it’s way less useful for now. Similar to the previous one, it allows to show the damage dealt by a setup for a character compared to another. Please, feel free to submit feedback on how you would like this visualized. In this case, it’s mostly an experiment to show how can a detailed view of a single hit can be broken down into pieces (a feature that it’s planned for the Damage Calculator).

8. Repeated Probability

repeated probability

This simple module just shows a fixed chart with the outcome of how repeating an action improves the probability of it happening. It’s easier to understand with an example…​

If you hit a character with a Dart of Stunning, it has to make a save or be stunned for 7 rounds (provided it’s not immune, of course). If you know the number of the Save versus Spells score of the creature, you instantly know the probability: an 11 means a 50% chance, and each point over it means the character has a harder chance (it needs to roll higher). Each point above 11 is 5 percent points harder (increase the chance to succeed by adding 5), and each point below 5 percent points easier (the reverse). So a 13 score means you have a 60% chance of stunning the target.

But what if you hit them two or three times? Then the calculation is fairly hard (or at least tedious) to do by hand, because you would have to use the binomial distribution.

With a glance at the chart, and hovering the mouse over the right spot reveals the results: look at the column with the 11/50% result (or the one that you expect the opponent to have), and pick up the right level of the stack (the second for two tries, the third for three, etc.). The value is shown in the top left corner, and in this example it would be 75% chance for two tries, and 83% chance for three.

9. Progression Charts

moebius toolkit 0.2 progression charts

A small module that charts the progression of level vs experience, or THAC0 versus experience. Both can be charted at the same time (with different axis, given that level goes up, and THAC0 goes down, and the values are different), so it’s possible to compare at a glance classes that typically are said to be provide a similar experience, like Bard versus Fighter/Mage (as shown in the figure).

This module is one of the few that actually read from the real game data (not just some built-in tables), so it is only enabled if you have done the setup in the Welcome page. This means that the charts will look different if you load the game data from Icewind Dale or Baldur’s Gate, or if you have modded your game to change the level progression of any class. This can be a nice feature to modders that want to review their changes to the level progression for balance purposes.

The web-based version of Moebius Toolkit works differently. Since it can’t load the data from the game, it ships a built-in table from Baldur’s Gate 2.

10. Dual XP Calculator

moebius toolkit 0.2 dual xp calculator

This is a very simple module that charts the XP needed for a class to reach a certain level, stacked on top of another class at a different level. Intended mostly to compare some dual class combinations, and to illustrate graphically how different can be dualing to different classes, or the huge impact that can be dualing from a level 13 Fighter instead of 9.

This module loads the experience tables from the real game data, so it won’t be enabled if you have not setup the location of your game in the Welcome page. The charts will also look different depending on the game that you use (and if you have modded it), as Icewind Dale has different experience tables for some classes (or if you modded Baldur’s Gate to have some progression like in Icewind Dale).

The web-based version of Moebius Toolkit works differently. Since it can’t load the data from the game, it ships a built-in table from Baldur’s Gate 2.