One thing to note is that your theoretical and dota 2 sample sizes are different, and as such the distribution is a bit skewed, so it probably shouldn't be graphed on the same axes - but anyway it shows qualitatively that the distribution models are fundamentally different.

For reference I put my VB code for excel below:

It works for dice of sides of less than approximately 10000 (only due to int overflow) and up to 3 dice, with included error checking for using more than 3 dice, but none for negative values etc.

Code:

Sub Diceroll()
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim dice As Integer
Dim sides As Integer
dice = 3 'Can't be bothered having a proper input for this, but easy to just edit the code - can now specify #dice & dice rolls
sides = 11
Dim answer() As Integer
ReDim answer(dice To sides * dice)
i = 1 'Counter 1
j = 1 'Counter 2
k = 1 'Counter 3 - there should probably be a loop to set all values of "answer" to 0 somewhere here, but bad coding by me :P
sides = 11
If (dice > 3) Then
Cells(1, 1).Value = "dice must be less than or equal to 3"
GoTo Finish
End If
Do While (i <= sides) 'Die 1
If (dice = 1) Then
answer(i) = answer(i) + 1
End If
Do While (j <= sides And dice >= 2) 'Die 2
If (dice = 2) Then
answer(i + j) = answer(i + j) + 1
End If
Do While (k <= sides And dice >= 3) 'Die 3
answer(i + j + k) = answer(i + j + k) + 1 'Counting all possible combination that make 3, 4, 5, 6 etc.
k = k + 1
Loop
j = j + 1
k = 1
Loop
i = i + 1
j = 1
k = 1
Loop
i = 0
Do While (i < (sides - 1) * dice + 1) 'Just an output function for my excel :D
Cells(i + 1, 1).Value = answer(dice + i)
i = i + 1
Loop
Finish:
End Sub