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="lowerbound">Bound</th>
131 <th class="trend">Change</th>
134 <tbody t:id="singletop">
136 <td class="username"><t:username /></td>
137 <td class="rating"><t:rating /></td>
138 <td class="rd"><t:rd /></td>
139 <td class="lowerbound"><t:lowerbound /></td>
140 <td class="trend"><t:trend /></td>
146 <div class="box" id="doubleboard">
147 <h2>Doubles score board</h2>
152 <th class="username">Username</th>
153 <th class="rating">Rating</th>
154 <th class="rd">RD</th>
155 <th class="lowerbound">Bound</th>
156 <th class="trend">Change</th>
159 <tbody t:id="doubletop">
161 <td class="username"><t:username /></td>
162 <td class="rating"><t:rating /></td>
163 <td class="rd"><t:rd /></td>
164 <td class="lowerbound"><t:lowerbound /></td>
165 <td class="trend"><t:trend /></td>
171 <div class="box" id="lastgames">
172 <h2>Last ten games</h2>
179 <th colspan="2">Opponents</th>
181 <th colspan="2" class="rightmost">Rating diff.</th>
184 <tbody t:id="lastgames">
186 <td><t:gametime /></td>
188 <td><t:username1 /></td>
189 <td><t:username2 /></td>
190 <td><t:score1 /> – <t:score2 /></td>
192 <td class="rightmost"><t:diff2 /></td>
198 <h2 style="clear: left;">About the ratings</h2>
200 <p>The rating system in use is called <em>FoosRank</em>, and is specially
201 designed for this site. It is a Bayesian rating system, inspired by
202 <a href="http://math.bu.edu/people/mg/glicko/">Glicko</a> but re-worked
203 out from scratch with a statistically sound model of non-binary results,
204 and adjusted for teams (with some ideas from Microsoft's TrueSkill
205 system). For those not familiar with Bayesian ratings, the most important
209 <li>Your rating is a <em>statistical estimation</em> of your true skill.
210 It has a mean (the point estimate of your skill) and a deviation
211 (measuring the uncertainity of the estimate), called the RD. It is approximately
213 <li>When you win or lose a game, your rating will change accordingly,
214 based on your score and your opponent. <em>You do not get 'points'
215 for winning or losing, the estimate is merely getting more accurate.</em>
216 In the process, the RD gets lower as you play. However, the RD increases
217 with time, opening up for the fact that your true skill can change.
218 (Glicko 2 also supports a volatility measure, which better models change
219 in true skill, but it has not been implemented here.)</li>
220 <li>The score board is sorted by a conservative estimate of your rating
221 (mean - 3 * RD). This makes it non-attractive for people with artifically
222 high ratings (especially newcomers) to avoid playing to stay high up in
223 the score board.</li>
224 <li>The single and double rankings are separate. Even though you play as a
225 team and all four players' rankings and RDs influence the rating adjustment,
226 you are ranked as an individual, as we do not usually play with fixed
230 <p>For the more technically minded, a
231 <a href="http://home.samfundet.no/~sesse/foosrank.pdf">very rough writeup
232 on the mathematics behind FoosRank</a> is available in PDF format. It is,
233 however, by no means finished.</p>