1 <?xml version="1.0" encoding="UTF-8" ?>
3 html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
4 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
5 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:t="http://template.sesse.net/">
7 <title>Foosball!</title>
8 <link rev="made" href="mailto:sgunderson@bigfoot.com" />
9 <link rel="stylesheet" type="text/css" href="foosball.css" />
10 <meta name="MSSmartTagsPreventParsing" content="TRUE" />
13 <h1>...on a clear day, you can play foosball forever</h1>
15 <div class="box" id="addsingle">
16 <h2>Add a singles result</h2>
18 <form method="post" action="add-single-result.pl">
22 <td><input name="username1" value="" size="10" /></td>
26 <td><input name="username2" value="" size="10" /></td>
31 <input name="score1" value="" size="2" /> –
32 <input name="score2" value="" size="2" />
36 <td colspan="2"><input type="submit" value="Add result" /></td>
42 <div class="box" id="adddouble">
43 <h2>Add a doubles result</h2>
45 <form method="post" action="add-double-result.pl">
50 <input name="team1_username1" value="" size="10" /> and
51 <input name="team1_username2" value="" size="10" />
57 <input name="team2_username1" value="" size="10" /> and
58 <input name="team2_username2" value="" size="10" />
64 <input name="score1" value="" size="2" /> –
65 <input name="score2" value="" size="2" />
69 <td colspan="2"><input type="submit" value="Add result" /></td>
75 <div class="box" id="assesssingle">
76 <h2>Assess a singles match</h2>
78 <form method="post" action="assess-single.pl">
82 <td><input name="username1" value="" size="10" /></td>
86 <td><input name="username2" value="" size="10" /></td>
89 <td colspan="2"><input type="submit" value="Assess" /></td>
95 <div class="box" id="assessdouble">
96 <h2>Assess a doubles match</h2>
98 <form method="post" action="assess-double.pl">
103 <input name="team1_username1" value="" size="10" /> and
104 <input name="team1_username2" value="" size="10" />
110 <input name="team2_username1" value="" size="10" /> and
111 <input name="team2_username2" value="" size="10" />
115 <td colspan="2"><input type="submit" value="Assess" /></td>
121 <div class="box" id="singleboard">
122 <h2>Singles score board</h2>
127 <th class="username">Username</th>
128 <th class="rating">Rating</th>
129 <th class="rd">RD</th>
130 <th class="numgames">Games</th>
131 <th class="lowerbound">Bound</th>
132 <th class="trend">Change</th>
135 <tbody t:id="singletop">
137 <td class="username"><t:username /></td>
138 <td class="rating"><t:rating /></td>
139 <td class="rd"><t:rd /></td>
140 <td class="numgames"><t:numgames /></td>
141 <td class="lowerbound"><t:lowerbound /></td>
142 <td class="trend"><t:trend /></td>
148 <div class="box" id="doubleboard">
149 <h2>Doubles score board</h2>
154 <th class="username">Username</th>
155 <th class="rating">Rating</th>
156 <th class="rd">RD</th>
157 <th class="numgames">Games</th>
158 <th class="lowerbound">Bound</th>
159 <th class="trend">Change</th>
162 <tbody t:id="doubletop">
164 <td class="username"><t:username /></td>
165 <td class="rating"><t:rating /></td>
166 <td class="rd"><t:rd /></td>
167 <td class="numgames"><t:numgames /></td>
168 <td class="lowerbound"><t:lowerbound /></td>
169 <td class="trend"><t:trend /></td>
175 <div class="box" id="lastgames">
176 <h2>Last ten games</h2>
183 <th colspan="2">Opponents</th>
185 <th colspan="2" class="rightmost">Rating diff.</th>
188 <tbody t:id="lastgames">
190 <td><t:gametime /></td>
192 <td><t:username1 /></td>
193 <td><t:username2 /></td>
194 <td><t:score1 /> – <t:score2 /></td>
196 <td class="rightmost"><t:diff2 /></td>
202 <h2 style="clear: left;">About the ratings</h2>
204 <p>The rating system in use is called <em>FoosRank</em>, and is specially
205 designed for this site. It is a Bayesian rating system, inspired by
206 <a href="http://math.bu.edu/people/mg/glicko/">Glicko</a> but re-worked
207 out from scratch with a statistically sound model of non-binary results,
208 and adjusted for teams (with some ideas from Microsoft's TrueSkill
209 system). For those not familiar with Bayesian ratings, the most important
213 <li>Your rating is a <em>statistical estimation</em> of your true skill.
214 It has a mean (the point estimate of your skill) and a deviation
215 (measuring the uncertainity of the estimate), called the RD. It is approximately
217 <li>When you win or lose a game, your rating will change accordingly,
218 based on your score and your opponent. <em>You do not get 'points'
219 for winning or losing, the estimate is merely getting more accurate.</em>
220 In the process, the RD gets lower as you play. However, the RD increases
221 with time, opening up for the fact that your true skill can change.
222 (Glicko 2 also supports a volatility measure, which better models change
223 in true skill, but it has not been implemented here.)</li>
224 <li>The score board is sorted by a conservative estimate of your rating
225 (mean - 3 * RD). This makes it non-attractive for people with artifically
226 high ratings (especially newcomers) to avoid playing to stay high up in
227 the score board.</li>
228 <li>The single and double rankings are separate. Even though you play as a
229 team and all four players' rankings and RDs influence the rating adjustment,
230 you are ranked as an individual, as we do not usually play with fixed
234 <p>For the more technically minded, a
235 <a href="http://home.samfundet.no/~sesse/foosrank.pdf">very rough writeup
236 on the mathematics behind FoosRank</a> is available in PDF format. It is,
237 however, by no means finished.</p>