Simulationcraft engine/GUI
C++ Python POV-Ray SDL HTML Batchfile QMake Other
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 Regenerate spelldatadump to fix mage differences. Jan 24, 2017
WinReleaseScripts bump minor Jan 18, 2017
casc_extract Update DBFile for 7.2 Jan 21, 2017
cli Fix cli.pro; Disable xml report in GUI. Oct 28, 2016
dbc_extract3 Pull hotfix data, update spelldatadump Jan 24, 2017
doc adjust mainpage. Sep 14, 2015
engine [Priest] Try to fix a very very rare crash relating to insanity Jan 24, 2017
gui Include Nighthold profiles in MacOS GUI releases Jan 18, 2017
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 Add contributed Simulationcraft legion logo Sep 1, 2016
profiles [Death Knight] change Frost relics for NH profiles Jan 24, 2017
qt linux workaround workaround Jan 16, 2017
source_files Add an experimentalish thing to fix some GUI crashing Jan 15, 2017
tests Adjust test helper for travis Jan 17, 2017
util_scripts adjust measuring script. Dec 3, 2015
vs Merge branch 'legion-dev' of https://github.com/simulationcraft/simc Jan 1, 2017
.clang-format Use clang-format to format priest module. Oct 18, 2015
.gitattributes Revert gitattribute change Jul 29, 2016
.gitignore add *.ilk to gitignore Oct 9, 2016
.travis.yml Disable coreutils install to fix(?) OS X travis builds Dec 2, 2016
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.LGPL Add external library licenses. Sep 13, 2016
LICENSE.MIT Add external library licenses. Sep 13, 2016
README.md One more license thing. Sep 13, 2016
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 Add legion logo to welcome.html, and also make the background transpa… Sep 1, 2016
appveyor.yml Revert "appveyor: parallel build." Oct 21, 2015
build_snapshot_osx.sh Adjust MacOS snapshot build script Jan 19, 2017
configure Add install script, which does all the ./configure, make, make install Dec 2, 2012
generate_profiles.bat [Demon Hunter] Havoc Hotfixes Aug 23, 2016
generate_profiles.sh - cosmetics Dec 23, 2016
install install script: clean-up before building. Dec 2, 2012
simc_vs2013.sln [Death Knight] Unholy Aug 26, 2016
simc_vs2015.sln Remove PGO option from simc_vs2015.sln file as it is no longer compat… Aug 13, 2016
simcqt.pro Removed references to Tier18 in qmake project file. Sep 25, 2016
simcqt.rc Merge branch 'master' into wod Apr 18, 2014
simulationcraft.pri Add addresssanitizer config for gui building. Nov 18, 2016
simulationcraft.pro Adjust new qmake project for Linux stuff and OSX releasing Aug 6, 2016
uninstall Add install script, which does all the ./configure, make, make install Dec 2, 2012

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 IRC 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

IRC: irc.gamers-irc.org (#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.

Migrating from GoogleCode to GitHub

To switch the remote git repository from googlecode to github, execute the following in your simc development folder:

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 (http://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).