Talk:Dwarvish Dice

From A KoL Wiki

Seems as two random rune digits are thrown for each player, then the difference is calculated, and multiplied by 7. The values of the digits? I'm on it. Sure about the *7 part, though, 'cause 40/40 results are dividable through 7. --Ocoma 21:29, 27 April 2009 (UTC)



Some results from my testing. Value of the digits can be found at Dwarvish language.--Quickdart 21:31, 27 April 2009 (UTC)

  • OK heard the possibility of this being base 7. How does that make things work...

B + B = 1,1 = 1 * 7 + 1 * 1 = 8

D + D = 3,3 = 3 * 7 + 3 * 1 = 24

diff = 24 - 8 = 16

Gain = 56 = 16 * 3.5


F + B = 6,1 = 6* 7 + 1*1 = 43

B + B = 1,1 = 1 * 7 + 1 * 1 = 8

diff = 43 - 8 = 35

Lose = 196 = 35 * 5.6

... not quite.... B + B = 2,2 = 2 * 7 + 2 * 1 = 16

D + D = 4,4 = 4 * 7 + 4 * 1 = 32

diff = 32 - 16 = 16

Gain = 56 = 16 * 3.5

F + B = 7,2 = 7 * 7 + 2 * 1 = 51

B + B = 2,2 = 2 * 7 + 2 * 1 = 16

diff = 51 - 16 = 35

Lose = 196 = 35 * 5.6

Gah! --Quickdart 22:33, 27 April 2009 (UTC)

  • OK scrapping my results. From what I can see, yes the result is multiplied by 7, but the name of the rune isn't necessarily congruent with it's value. Ex new rolls

Them D F

Me D A

Result +7

Therefor DA - DF = 1 , A - F = 1


Them H A

Me H G

Result -42

Therefore HG - HA = -42 , G - A = -7

This will take some time :)

  • More details. Here's hopw you can go about figurign this out (I think).

Them = D,F

Me = D,A

Result Gain 7

7/7 = 1

DA - DF = 1

Therefore (A – F = 1)

Them = H,A

Me = H,G

Result Lose 42

-42/7 = -6

HG - HA = -6

Therefore (G – A = -6)

Not impossible, just takes some time :).--Quickdart 22:51, 27 April 2009 (UTC)


  • I had a rather lengthy post written up because I hadn't found the Language discussion... thanks for the help. I can confirm the role of the x7 as mentioned above for my 25 rolls, for what that is worth. --Miststlkr 21:43, 27 April 2009 (UTC)

Yeah--this is how you decode the digits. However, I was getting different values for them, I think. The main thing to remember is that the Dwarven digits are BASE SEVEN! That means no rune can represent 7 (just like in our base 10, no digit can represent 10; we use two).Qaianna 21:47, 27 April 2009 (UTC)

That's not a well founded assumption when looking at dice. a d10 has numbers 1-10, a d8 1-8, and so on. Why says that a d7 doesn't have 1-7 as opposed to 0-6?--Valliant 22:08, 27 April 2009 (UTC)

Something to note: The number on the dice is set up as the first die being the sevens digit and the second die being the ones digit, or vice versa. That is, they can't be the same value. When the dwarf rolled H,C, and I rolled C,H, I won 126 meat, which means that the sequence in which the numbers come is important. --Valliant 22:12, 27 April 2009 (UTC)


After more than 30 trials, I'm satisfied with the conclusion that the Dwarven number system is base seven, that the dice are numbered 0-6, and that the order matters, in that together a roll represents a two-digit number in base seven. Also, double-zeroes as a roll counts as 100 in base seven, or rather a roll of 49, so payout is 7*(49-(value of the other roll)). TimRem 22:55, 27 April 2009 (UTC)

I'll confirm the double-zero as 100. --Sparksol (t|c) 03:33, 28 April 2009 (UTC)

As far as I can tell the rules are as follows:

7 out of the ten possible runes in Dwarvish language are used, presumably randomised for the player. Each rune represents a digit from 0 to 6, the order of the dice is significant, one dice role therefore represents a number from 00 to 66 in base 7. The payout is the difference between the higher roll and the lower roll multiplied by 7, paid from the lower roll to the higher. Anyone want to confirm? --Atillo 22:49, 27 April 2009 (UTC)

Confirmed. On my account there are 7 of these runes, and after playing the dice game many times and taking tedious notes, I am now able to predict perfectly what I will owe/win. It is indeed 7 times the decimal difference between the two numbers.--Krazybob 23:07, 27 April 2009 (UTC)

One very convenient way to think of the payoff is (using the base 7 method) that the first roll is the "49"s place and the second is the "7"s place... and the "1"s place is zero. However, I had not rolled a double zero in my trial, so that needs to be taken into account. --Almightysapling 00:46, 28 April 2009 (UTC)

Its 7 of the 7 values of the Dwarvish Numerical System, and there are actually 12 letters i believe, and do you mean (higher- lower)*7 cause that would make sense, but we really only need to know the values. Also my friend had the same Dwarven letters for the other thing but didnt checkc the digits, so i think it might be universal--Coolness 23:10, 27 April 2009 (UTC)

  • The alphabet and numbers are different for each player. My clan tested that. Also, I would have to disagree that one is the 10's place, and 1 is the 1's place, unless that somehow means that the first digit doesn't determine which number is higher, because my testing has disproven that assumption.--Terrabull 01:05, 29 April 2009 (UTC)
  • Also, when I roll what I assume to be two zeros, it always loses.--Terrabull 01:07, 29 April 2009 (UTC)
  • My new theory is that this is a 2-die poker game. Highest hand wins, left number breaks ties.--Terrabull 01:34, 29 April 2009 (UTC)
  • Never mind, apparently one of my proofs go copied wrong.--Terrabull 02:11, 29 April 2009 (UTC)


How to solve runes by comparing two rolls

It is possible to solve the value of 5 runes based on the information of two rolls. Log all rolls using the following syntax:

roll 01: -EI+AA=77/7
roll 02: -CG+JJ=-77/7
roll 03: -JE+FI=224/7
roll 04: -IA+AE=189/7
roll 05: -JG+IJ=-77/7
roll 06: -CF+AC=70/7
roll 07: -AC+AJ=-7/7
roll 08: -AA+IE=-203/7
roll 09: -IC+EJ=140/7
roll 10: -JE+GF=217/7
roll 11: -AC+JI=-161/7
roll 12: -AE+EC=-56/7
roll 13: -EJ+IC=-140/7
roll 14: -AF+JJ=-182/7
roll 15: -CC+CA=14/7

Find any two equations that share a dice pair so you can intercept the two equations.
Roll 03 and 10 both share -JE as a dice pair.
Rewrite equations to solve for -JE.

e1: -JE+FI=224/7
      -JE=(224/7)-FI
      -JE=32-FI
e2: -JE+GF=217/7
      -JE=(217/7)-GF
      -JE=31-GF

Our equations now read:

e1: -JE=32-FI
e2: -JE=31-GF

Intercept on -JE

32-FI=31-GF
GF+32-31=FI
GF+1=FI

Based on that result, since adding 1 to F caused G to increase as well,
we know that F is 6 and I is 0.
Also we know that G+1 is F.

F=6
G=5
I=0

Now that we know F and I, we can solve for the reset of the runes used in either equation.
Substitution for FI

eq1: -JE+FI=224/7
-JE+s60=32
-JE=32-s60
-JE=32-(42)
JE=10
express is septenary (base-7)
JE=s13

Assign J:1 and E:3

J=1
E=3

Although the first 10 letters of the alphabet goes ABCDEFGHIJ
Only 7 of the letters are used in the dice game.
For me, the other two letters used are A and C.
Find an equation that uses A and C.

roll 11: -AC+JI=-161/7

We know JI so plug that in.

-AC+s10=-161/7
-AC+s10=-161/7
-AC+7=-23
-AC=-30
AC=30
AC=s42

And now we have A and C
Final results:

I=0
J=1
C=2
E=3
A=4
G=5
F=6

--Annoying nerd 13:09, 29 April 2009 (UTC)


How to Solve Runes by Ranking Them

I'm a fan of using rolls like
EH beats EA awarding 28. I then know EA - EH = 28/7 = 4, so

 EH
-EA
---
 (H-A)=4

or

FB beats EB awarding 147
FB-EB=21 so

 FB
-EB
---
 7*(F-E)=21
 F-E=3

or

GE beats EG awarding 168
I then know

7G + E - (7E + G) = 168/7 = 24
6G - 6E = 24
G-E=4

You can also use technique mentioned above to link two equations
so (already divided earnings by 7 to get difference)

FG-EH=20 -> FG=EH+20
FG-EB=23 -> EH+20-EB=23 -> EH-EB=3
 EH
-EB
---
 (H-B)=3

Although I haven't actually singled out what letter is what value, I am able start ranking letters, and placing letters in their order by putting them the number of spaces apart as determined by subtracting them. From the 3 equations listed, I can tell their order is at least __H__BA__ and __G___E__ going from first=6 to last=0. At this point I have no way of knowing if H is highest or if A is lowest (hence the extra spaces before and after the known order), or how the GE ranking fits with the HBA ranking. However using other equations, like AG beats AA earning 21, I can get G-A=3 so I am now able to link the rankings into __HG_BA__. Once I have all (or at least most - if you're able to fill in a gap or two) the letters ranked in this way, my left most letter will be 6, the next 5, and so on.
Note: The only thing to watch out for is something like DD beats HD for 49 meat. This leads one to deduce that D-H=1, but rolling 00 counts as a max roll of 49 and not a low of 0 (or at least that's what others report), so using doubles to rank numbers can be misleading if the double wins. Also, always check your conclusions afterwards by doing the base-7 math for multiple rolls
--Pastela 21:19, 29 April 2009 (UTC)


Easier Way to Rank

After some experimentation I've found a ranking method that seems to work a lot easier than some of the others I've seen here. What I did is keep playing until I received a pair that shared the same first rune and had a low payout. For example,

Them: DD Me: DI Payout: Lose 7 meat Diff: 1

That means that D is one greater than I, so chart that as D<I.

Them: FF Me: FB Payout: Lose 21 meat Diff: 3

That means that F is 3 greater than B, so chart that as F<?<?<B.

Them: BB Me: BD Payout: Lose 14 meat Diff: 2

That charts as B being 2 higher than D, so chart that as B<?<D. Combine that with above, and I get F<?<?<B<?<D<I. Thus, F is 6 and I is 0.

Keep doing that and eventually you'll be able to form a range of relationships that'll show the runes from highest to lowest. Daltonator 11:37, 30 April 2009 (UTC)

A Worked Example

Think of this as solving a system of 7 linear equations.
Because you have 7 unknowns.
Don't get nervous, you can get a computer to solve this for you.


We must throw out any cases where the two symbols are the same, AND that side won.
So I throw out the second line, because I won it, but my symbols were the same.
And I throw out the 6th line, because the dwarf won it, but his symbols were the same.

Dw 1	Dw 2	My 1	My 2	Meat	Ignore?	Equation
A	A	F	C	203	FALSE	7F+C-7A-A=29
A	B	H	H	252	TRUE	FALSE
C	D	C	A	-14	FALSE	7C+D-7C-A=2
A	C	C	B	77	FALSE	7C+B-7A-C=11
H	B	F	D	224	FALSE	7F+D-7H-B=32
G	G	D	G	-49	TRUE	FALSE
F	B	G	D	-70	FALSE	7F+B-7G-D=10
B	A	G	G	-77	FALSE	7B+A-7G-G=11
G	H	B	A	105	FALSE	7B+A-7G-H=15


So we have our system of linear equations:
7F+C - 8A = 29
D - A = 2
6C + B - 7A = 11
7F + D - 7H - B = 32
7F + B -7G - D = 10
7B + A - 8G = 11
7B + A -7G - H = 15


Put this into matrix form:

a  b  c  d  f  g  h  x
-8 0  1  0  7  0  0  29
-1 0  0  1  0  0  0  2
-7 1  6  0  0  0  0  11
0  -1 0  1  7  0  -7 32
0  1  0  -1 7  -7 0  10
1  7  0  0  0  -8 0  11
1  7  0  0  0  -7 -1 15


perform the reduced row echelon reduction, and get:
a b c d f g h x
1 0 0 0 0 0 -1 1
0 1 0 0 0 0 -1 6
0 0 1 0 0 0 -1 2
0 0 0 1 0 0 -1 3
0 0 0 0 1 0 -1 5
0 0 0 0 0 1 -1 4
0 0 0 0 0 0 0  0

or, in equation form:
a - h = 1
b - h = 6
c - h = 2
d - h = 3
f - h = 5
g - h = 4

we notice that this is undefined (or, that there are infinite possible solutions)
But, we also know the values must range from [0 to 6], inclusive.
So, we use logic to select a value for h to be zero

And we end up with:
a = 1
b = 6
c = 2
d = 3
f = 5
g = 4
h = 0

Yes, I am very aware that this is a complicated way to do it by hand, but if someone were to write a computer program, or web app, or mafia plug-in that performed this automatically, then all the person would need to do is input what the dwarf's letters were, what their letters were, and what the Meat gain (positive for win, negative for loss) was. --MindlessGames 20:20, 30 April 2009 (UTC)

  • Solving the system is the right idea, but it's not so large that a simple brute force approach actually works. Here's some javascript code. Copy this into a text file, replace the equations and then load the file as web page in a browser. After your browser calms down it should display the solution. --Fig bucket 22:27, 30 April 2009 (UTC)
<html>
<body>
<script>
// replace these with your equations
var eqns = { '7F+C - 8A':'29', 
 'D - A':'2', 
 '6C + B - 7A':'11', 
 '7F + D - 7H - B':'32',
 '7F + B -7G - D':'10',
 '7B + A - 8G':'11',
 '7B + A -7G - H':'15' };
var p={};
for (var a=0;a<7;a++) {
 for (var b=0;b<7;b++) {
 if (b==a) continue;
 for (var c=0;c<7;c++) {
  if (c==b || c==a) continue;
  for (var d=0;d<7;d++) {
   if (d==c || d==b || d==a) continue;
   for (var f=0;f<7;f++) {
    if (f==d || f==c || f==b || f==a) continue;
    for (var g=0;g<7;g++) {
     if (g==f || g==d || g==c || g==b || g==a) continue;
     for (var h=0;h<7;h++) {
      if (h==g || h==f || h==d || h==c || h==b || h==a) continue;
      var works=true;
      for (var eqn in eqns) {
       var e = eqn.replace(/([1-9][0-9]*)([ABCDFGH])/g,'$1*$2').replace('A',a).replace('B',b).replace('C',c).replace('D',d).replace('F',f).replace('G',g).replace('H',h);
       var x = eval(e);
       if (x!=eqns[eqn]) { works = false; break }  
      }
      if (works) p['A='+a+',B='+b+',C='+c+',D='+d+',F='+f+',G='+g+',H='+h] = true;
}}}}}}}
document.write("<h1>Solution(s)</h1>");document.write('<ul>');
var count=0;
for (var soln in p) {
 count++;
 document.write('<li>'+soln+'</li>');
}
if (count==0) document.write('<li>None: maybe you made a mistake?</li>');
document.write('</ul>');
</script>
</body>
</html>

New script

A clannie, goffrie, made this convenient browser script that will solve the digits for you. It's hosted at [1]. -Shademaster00 00:12, 2 May 2009 (UTC)

Spading the odds?

I'd like to start a project to figure out (spade) what exactly the odds are for Dwarvish Dice. We've already spaded how to read the runes and calculate winnings, but the page states the odds are in the dwarves' favor without giving specifics.

Honestly, we can just run through the game a given number of times (a few thousand) and merely put down win and loss amounts - no need to state which runes were given, as this is purely about who is winning and how much they're winning, not about grokking the runes.

Does anyone have suggestions as to how to tabulate and store this data? Kawa 18:15, 4 December 2010 (UTC)

Spaded, thanks to the lovely people at the KoL spading forum! Raw data here, my quick analysis on my page. Kawa 22:34, 4 December 2010 (UTC)