CLI tool
simulationcraft/simc avatar
simulationcraft/simc

SimulationCraft: An Event-Driven Simulator for World of Warcraft Combat Mechanics

Simulationcraft engine/GUI. SimulationCraft allows raid/party creation of arbitrary size, generating detailed charts and reports for both individual and raid performance.

1,592 stars784 forksC++GPL-3.0

At a glance

What is it?
SimulationCraft is an open-source C++ simulator that models player damage-per-second in World of Warcraft raids and dungeons. It replaces closed-form calculators with event-driven simulation to produce stat weights and detailed reports, though its GUI is largely unmaintained.
Who is it for?
Adopt SimulationCraft if you are a World of Warcraft player or theorycrafter who needs accurate stat weights and detailed raid performance reports that closed-form calculators cannot provide, and you are comfortable with the command-line interface. Do not adopt it if you expect a polished graphical tool or if you need support for games other than WoW.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 2 days ago.
What is it written in?
Mainly C++, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 14, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The Problem: Closed-Form Calculators Are No Longer Accurate

SimulationCraft addresses a specific failure of traditional damage calculators for World of Warcraft. The README states that increasing class synergy and proc-based combat modifiers have eroded the accuracy of calculators that rely on closed-form approximations. These older tools assume simple, static relationships between stats and damage. In modern WoW, damage output depends on random procs, cooldown interactions, and group buffs that cannot be captured by a formula. SimulationCraft replaces those approximations with an event-driven simulation that models each combat event as it happens. The intended audience is players who want to know which gear pieces or stats will improve their damage, as well as theorycrafters who need precise DPS estimates for raids and dungeons.

How the Simulator Works: Event-Driven Modeling

The core is a multi-player event-driven simulator written in C++. Rather than computing an average outcome from a formula, it generates a sequence of combat events such as ability casts, procs, and damage ticks, and updates the state of the simulation with each event. The README describes it as modeling player character damage-per-second in various raiding and dungeon scenarios. It allows raid/party creation of arbitrary size, so you can simulate a single player or a full raid group. The output includes detailed charts and reports for individual and raid performance. This approach lets the simulator capture complex interactions like proc chains and cooldown alignment that a closed-form model would miss. The trade-off is computational cost, but the README claims the performance is high enough to calculate relative stat weights, which are used to guide gear selection.

Getting It Running: CLI and GUI

The README directs users to the downloads page to get a package for their platform. Two executables are shipped: simc for the command-line interface and SimulationCraft for a graphical user interface. The README explicitly warns that the GUI is largely unmaintained and strongly recommends the command-line interface. For Linux, there is no release because, in the README's words, it is ridiculously easy to build it yourself on that platform. The command-line interface takes player profiles as parameter files. The README mentions a starters guide on the wiki, which would contain detailed instructions, but the provided material does not include specific command examples or config keys. To get started, you would download the package, extract it, and run simc with a profile file. The Windows package offers both a formal install and an archive that can be extracted to the desktop. Releases occur frequently, so checking release notes is advised.

The GUI Is a Trap: Stick to the CLI

A notable limitation is the state of the graphical interface. The README states it is largely unmaintained and highly recommends the command-line interface. This is a direct warning from the project itself. If you are a player who expects a point-and-click tool to import your character and see results, you may be disappointed. The GUI is shipped, but it is not the primary path. The CLI, while more powerful, has a steeper learning curve because you must understand profile files and directives. This is a clear trade-off: the CLI is the maintained, recommended route, but it demands more from the user. For a tool aimed at players, this is a significant usability barrier. The project seems to accept this, prioritizing accuracy and flexibility over polish.

The Wrong Tool for Some Cases

SimulationCraft is not a general-purpose game simulator. It is specifically for World of Warcraft. The README includes an important notice distinguishing it from SimCraft, a full-motion simulator for SimRacing and FlightSim. That distinction matters: if you are looking for a racing or flight simulator, this project is the wrong choice. Within WoW, the tool is also not for casual players who want a quick answer without learning the command line. The README's warning about the GUI means that a user who cannot or will not use the CLI will likely have a poor experience. Additionally, the simulator models combat mechanics as they exist in the current game; if the game changes, the simulator must be updated. The README says releases occur frequently, but it does not guarantee that the simulator always matches the latest patch. You must verify that the version you use is current for your in-game build.

Alternatives: Other Calculators and Simulators

The README does not name direct competitors, but it implies the alternative is traditional calculators that use closed-form approximations. Those tools, like spreadsheet-based stat calculators, are faster and simpler but less accurate. The key difference is the approach: closed-form calculators apply a static formula to derive DPS, while SimulationCraft runs a full simulation. Another alternative is to use the in-game training dummy or combat logs to measure your own DPS, but that only gives you one sample and does not account for group synergy or proc variance. SimulationCraft's advantage is that it can simulate thousands of iterations to produce a statistically reliable average. If you need a quick estimate and do not care about precision, a closed-form calculator might suffice. But for stat weights and gear comparisons, the simulation approach is more reliable.

Licence and External Dependencies

SimulationCraft is licensed under GPL-3.0, which means if you distribute modified versions, you must make the source code available under the same license. This is a standard copyleft license, but it has implications if you plan to embed the code in a proprietary project. The README lists several external libraries with permissive licenses: RapidJSON (MIT), RapidXML (MIT), MSInttypes (BSD-3), Qt Toolkit (LGPL-3), UTF-8 CPP (Boost), {fmt} (MIT), cpp-semver (MIT), and utf8.h (Unlicense). The Qt dependency is notable because it is used for the GUI; the LGPL allows dynamic linking without requiring your code to be GPL. The presence of these libraries means the build system must handle them, but the README does not detail the build process. For a user, the licence does not affect normal use, but it does affect redistribution. The README does not mention any maintenance or upgrade cost, but the frequent release cycle implies you need to keep up with updates to stay accurate with the game.

Editorial conclusion

Adopt SimulationCraft if you are a World of Warcraft player or theorycrafter who needs accurate stat weights and detailed raid performance reports that closed-form calculators cannot provide, and you are comfortable with the command-line interface. Do not adopt it if you expect a polished graphical tool or if you need support for games other than WoW. Before relying on its results, verify that your character profile imports correctly and that the simulator version matches the current game patch, since the README notes that releases occur frequently and the GUI is unmaintained. Also check the wiki and common issues for known pitfalls. Open an issue if you find discrepancies, as the project explicitly directs users to do so.

Official sources

  1. Official README
  2. Project repository
Community notes

Community notes