Simulationcraft engine/GUI
C++ Python HTML Batchfile QMake Inno Setup Other
Switch branches/tags
Clone or download
Permalink
Failed to load latest commit information.
.github Not sure why I tried to put a link in the issue template, since the l… Dec 22, 2016
SpellDataDump Do not round effect min and max, the raw values are more useful. Jul 22, 2018
WinReleaseScripts Update alternate windows release file Jul 20, 2018
casc_extract MORE HOTFIXES. Jul 18, 2018
cli Hopefully fix OpenSSL related issues in qmake projects Apr 22, 2017
dbc_extract3 Fix Void Stalker's Contract Jul 17, 2018
doc Doxygen: update logo. Mar 23, 2018
engine [Warlock] agony appears to reset to 0 on shard gain Jul 23, 2018
gui [GUI] Improve render engine selection for Linux Jul 20, 2018
lib Add support for SC_GIT_REV to qmake-based build Aug 11, 2016
locale Completely remove glyphs from the sim, since they are purely cosmetic… Jan 15, 2017
logos Update bfa logo. Mar 6, 2018
profiles Update T21_Generate_Mage.simc (#4379) Jul 22, 2018
qt [GUI] Fix webkit compile error Jul 20, 2018
source_files Priest: Refactor affected_by. Jul 19, 2018
tests That's a dir... Here we go Travis! Nov 4, 2017
util_scripts remove some old var files. Feb 7, 2018
vs VS2017: conformance mode (/permissive) and use project-relative paths. Jul 10, 2018
.clang-format set SpacesInAngles to false again Feb 18, 2018
.clang-tidy Play a bit with clang-tidy. Apr 7, 2018
.gitattributes Add {fmt} formatting library. Mar 24, 2018
.gitignore Add ycm stuff to gitignore May 6, 2018
.travis.yml travis: just switch to "g++-5" Feb 9, 2018
CMakeLists.txt cmake: Add option to disable all networking related code Jul 5, 2018
COPYING Restore COPYING. May 13, 2016
Error.html GUI: Add Error page to SC_WebPage, Add Error.html Jan 22, 2014
GUI_dll_setup_mingw.bat [Death Knight] Updated Unholy APL to reflect PL usage at bottom. Also… Nov 30, 2014
LICENSE.BOOST One more license thing. Sep 13, 2016
LICENSE.BSD Add external library licenses. Sep 13, 2016
LICENSE.BSD2 Add {fmt} formatting library. Mar 24, 2018
LICENSE.LGPL Add external library licenses. Sep 13, 2016
LICENSE.MIT Add external library licenses. Sep 13, 2016
README.md Readme: Use https links May 22, 2018
SimulationCraft.pgd Update profile guided optimization file Jan 17, 2017
Welcome.html Completely remove glyphs from the sim, since they are purely cosmetic… Jan 15, 2017
Welcome.png Update Welcome.png Mar 6, 2018
appveyor.yml appveyor: disable vs 2017 for now until appveyor has a working solution. Jul 12, 2018
build_snapshot_osx.sh Adjust MacOS snapshot build script Jan 26, 2017
generate_profiles.bat [Profiles] Initial BFA profile structure Mar 28, 2018
generate_profiles.sh [Profiles] Make a better generate_profiles.sh with more feedback & er… Jul 16, 2018
simc_vs2015.sln Remove PGO option from simc_vs2015.sln file as it is no longer compat… Aug 13, 2016
simc_vs2017.sln [VS] Fixed debug for vs2017.sln Jun 19, 2018
simcqt.pro Removed references to deleted tier profile folders, and made some inc… Jun 15, 2018
simcqt.rc Merge branch 'master' into wod Apr 18, 2014
simulationcraft.pri Add /permissive- for VS2017 solutions done through simulationcraft.pro Jun 25, 2018
simulationcraft.pro Adjust new qmake project for Linux stuff and OSX releasing Aug 6, 2016

README.md

SimulationCraft Build Status Build status

Overview

SimulationCraft is a tool to explore combat mechanics in the popular MMO RPG World of Warcraft (tm).

It is a multi-player event driven simulator written in C++ that models player character damage-per-second in various raiding scenarios.

Increasing class synergy and the prevalence of proc-based combat modifiers have eroded the accuracy of traditional calculators that rely upon closed-form approximations to model very complex mechanics. The goal of this simulator is to close the accuracy gap while maintaining a performance level high enough to calculate relative stat weights to aid gear selection.

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

A simple graphical interface is included with the tool, allowing players to download and analyze characters from the Armory. It can also be run from the command-line in which case the player profiles are specified via parameter files.

How Can I Use It?

Go to the downloads page and get the package for your particular platform. The Windows package offers both a formal install and a archive that can be extracted on to your desktop. There is no Linux release since it is so ridiculously easy to build it yourself on that platform. Releases occur quite frequently so be sure to check the release notes.

Two executables are shipped: SimulationCraft sports a simple graphical user interface whereas simc uses a command-line interface.

Launching SimulationCraft will present you with an explanation on how to use the tool.

There is also an excellent starters guide on our wiki.

How Can I Get Help?

For a simple overview, thoroughly read the Welcome page that is presented upon launching SimulationCraft. In addition, detailed documentation material can be found on our wiki pages. Here you will find a list of features, a starters guide, as well as answers to frequently asked questions.

If your question is not answered there, then see the Community section below on how to reach other users via IRC. We periodically scan the WoW, MMO, and Wowhead forums as well, but we cannot promise swift responses in those arenas.

If you have detailed questions that need to be answered in real time then I recommend you visit the IRC channel detailed in the Community section below. There are active SimulationCraft developers on that channel 24hrs a day.

If you believe that the reported analysis is incorrect please open an issue. If you are unable to download your character, please open an issue. If you feel that the tool is missing features/directives necessary for analysis, please open an issue. Opening an issue (as opposed to an email, forum post, chat msg, etc) is by far the most effective method of getting a swift resolution to your problem.

Also make sure to check our common issues wiki.

How Can I Make Changes to the Models?

So you found an error and want to make a quick correction? Perhaps there is an option or feature you wish to add? Time to get your hands dirty!

Each release includes all the source code used to build that release. The platform specific downloads will include both the source and the necessary build scripts. Alternatively, you can live on the bleeding edge of development and extract the very latest updates from the source code repository.

Platform specific building instructions can be found on the How-To-Build wiki.

How Can I Contribute?

The SimulationCraft team is comprised of volunteer developers from all over the world. We are always looking for new contributors. While C++ expertise is certainly helpful, we have several key members with limited coding experience. Maintaining optimal talent, gear, and default action priority lists is a huge task and requires virtually zero C++ knowledge.

We are a very laid back group of developers. While certain project members have areas of expertise, there is little in the way of strict responsibility and ownership. Developers are expected to exercise their initiative and help out wherever needed. GitHub provides considerable utilities for oversight. The mantra is: Just check it in. Don't ask for permission. If the code needs to be changed for functional (or artistic!) reasons, someone will revert/modify as needed.

If you are interested in joining the team, contact us on Discord or send an email to natehieter@gmail.com with your contact info. We look forward to working with you!

Checkout the Developers Corner wiki page as well.

Community

Discord: SimCMinMax (#simulationcraft)

Important Notice

SimulationCraft is different from SimCraft. Please use the full name SimulationCraft (or SimC) to refer to this project. Visit SimCraft if you are looking for full-motion simulators for SimRacing and FlightSim.

External Libraries

This program uses the following external libraries.

RapidJSON (http://rapidjson.org)

Copyright (c) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. MIT License (see LICENSE.MIT for more information).

RapidXML (http://rapidxml.sourceforge.net/index.htm)

Copyright (c) 2006, 2007 Marcin Kalicinski. All rights reserved. MIT License (see LICENSE.MIT for more information).

The MSInttypes r29 (https://code.google.com/p/msinttypes/)

Copyright (c) Alexander Chemeris. All rights reserved. BSD 3-Clause License (see LICENSE.BSD for more information).

The Qt Toolkit (https://www.qt.io/)

Copyright (c) 2016 The Qt Company Ltd. and other contributors. All rights reserved. GNU Lesser General Public License, version 3 (see LICENSE.LGPL for more information).

UTF-8 CPP (http://utfcpp.sourceforge.net)

Copyright (c) 2006 Nemanja Trifunovic. All rights reserved. Boost Software License, Version 1.0 (see LICENSE.BOOST for more information).

{fmt} (https://github.com/fmtlib/fmt)

Copyright (c) 2012 - 2016, Victor Zverovich. All rights reserved. BSD 2-Clause "Simplified" License (see LICENSE.BSD2 for more information).