SimulationCraft is a tool to explore combat mechanics in the popular MMO RPG World of Warcraft. It is a multi-player event-driven simulator written in C++ that models raid damage.

The SimulationCraft team is comprised of volunteer developers from all over the world. We are always looking for new contributors. The team consists of people of various backgrounds and skills. Programming skills (and especially C++ programming skills) are not necessary for everything we do.

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. The Google Code site 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, senior developers might revert/modify as needed.

Below are a set of topics to contribute on and their brief descriptions. They are not listed in any order of importance. The need for class specific contribution depends on the number of active developers for a given class. The number of class developers is a very dynamic quantity for many classes, so the best way to see if help is needed is to ask about the current situation in IRC.

Class/spec specific action lists

Class specific action list updates are more about writing well functioning action lists in the Simulationcraft action list scripting language, than writing C++. Updating default action lists inside the actual source code is straightforward and requires no knowledge of programming. Area of effect action lists are typically the ones needing the most work.

Class module development

Class module development does not require in-depth knowledge of C++, however it does require some basic understanding of object oriented programming. The class modules in Simulationcraft typically does not require worrying about memory management, it is handled by the core sim. The largest challenge in class development is to understand how to map in game functionality to the conventions Simulationcraft uses to model it.

Documentation

The wiki documentation is always looking for helpers to improve and expand it or just keep it up to date with the development of SimulationCraft. Here you can generate a big impact on the usability of the project while getting to know the manifold options SimC offers yourself. There is also the possibility to write usage guides here, either by creating new ones or reworking the Starters Guide.