VampireDice is a small utility library that helps with the simulation and statistical evaluation of dice pools occurring in the Vampire v5 role playing game.

In addition to the core library, a command line interface and a Telegram bot expose the functionality for interactive use.


You can install the VampireDice library via NuGet or use the VampireDice Bot interactively.

To build VampireDice from source you will need an F# 7.0 compiler (or newer) and a .NET development environment. The .sln and .fsproj files in the source directories should be understood by .NET SDK command line tools, or IDEs such as VSCode, VisualStudio, or Rider.


Here's a brief example for using the VampireDice library:

#r "nuget: Murphy.VampireDice, 1.0.0.*"
open System
open Murphy.VampireDice

let random = Random()
let pool = { Count = 5; Hunger = 2 }

let qualifier, result = Pool.simulate random pool
printfn $"simulate -> %d{result} (%O{qualifier})"

let result = Pool.estimate random pool
printfn $"estimate -> %.1f{result.Expected}, P[result >= 2] = %.0f{100.0 * result.SuccessAtLeast(2)}%%"

Similar results can be obtained from the bot using the commands:

/hunger 2
/roll 5
/estimate 5, difficulty 2

Or from the command line using the calls:

v5d roll 5 --hunger 2
v5d estimate 5 --hunger 2 --difficulty 2


VampireDice is licensed under the Apache License, Version 2.0. Refer to the NOTICE for licenses of third-party dependencies.