]> git.sesse.net Git - foosball/blob - www/index.xml
315a7ac0f7c0cf1d46aed79441adf8e5cd052081
[foosball] / www / index.xml
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE
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/">
6   <head>
7     <title>Foosball!</title>
8     <link rev="made" href="mailto:sgunderson@bigfoot.com" />
9     <meta name="MSSmartTagsPreventParsing" content="TRUE" />
10   </head>
11   <body>
12     <h1>Foosball!</h1>
13     
14     <h2>Add a singles result</h2>
15
16     <form method="post" action="add-single-result.pl">
17       <table>
18         <tr>
19           <th>User name 1</th>
20           <td><input name="username1" value="" size="10" /></td>
21         </tr>
22         <tr>
23           <th>User name 2</th>
24           <td><input name="username2" value="" size="10" /></td>
25         </tr>
26         <tr>
27           <th>Score</th>
28           <td>
29             <input name="score1" value="" size="2" /> -
30             <input name="score2" value="" size="2" />
31           </td>
32         </tr>
33         <tr>
34           <td colspan="2"><input type="submit" /></td>
35         </tr>
36       </table>
37     </form>
38     
39     <h2>Add a doubles result</h2>
40
41     <form method="post" action="add-double-result.pl">
42       <table>
43         <tr>
44           <th>Team 1 (usernames)</th>
45           <td>
46             <input name="team1_username1" value="" size="10" /> and 
47             <input name="team1_username2" value="" size="10" />
48           </td>
49         </tr>
50         <tr>
51           <th>Team 2 (usernames)</th>
52           <td>
53             <input name="team2_username1" value="" size="10" /> and 
54             <input name="team2_username2" value="" size="10" />
55           </td>
56         </tr>
57         <tr>
58           <th>Score</th>
59           <td>
60             <input name="score1" value="" size="2" /> -
61             <input name="score2" value="" size="2" />
62           </td>
63         </tr>
64         <tr>
65           <td colspan="2"><input type="submit" /></td>
66         </tr>
67       </table>
68     </form>
69
70     <h2>Singles score board</h2>
71
72     <table>
73       <thead>
74         <tr>
75           <th>Username</th>
76           <th>Rating</th>
77           <th>RD</th>
78           <th>Lower bound</th>
79           <th>Since -1d</th>
80         </tr>
81       </thead>
82       <tbody t:id="singletop">
83         <tr>
84           <td><t:username /></td>
85           <td><t:rating /></td>
86           <td><t:rd /></td>
87           <td><t:lowerbound /></td>
88           <td><t:trend /></td>
89         </tr>
90       </tbody>
91     </table>
92
93     <h2>Doubles score board</h2>
94
95     <table>
96       <thead>
97         <tr>
98           <th>Username</th>
99           <th>Rating</th>
100           <th>RD</th>
101           <th>Lower bound</th>
102           <th>Since -1d</th>
103         </tr>
104       </thead>
105       <tbody t:id="doubletop">
106         <tr>
107           <td><t:username /></td>
108           <td><t:rating /></td>
109           <td><t:rd /></td>
110           <td><t:lowerbound /></td>
111           <td><t:trend /></td>
112         </tr>
113       </tbody>
114     </table>
115
116     <h2>Last ten games</h2>
117
118     <table>
119       <thead>
120         <tr>
121           <th>Registered</th>
122           <th>Type</th>
123           <th colspan="2">Opponents</th>
124           <th>Score</th>
125           <th colspan="2">Rating diff.</th>
126         </tr>
127       </thead>
128       <tbody t:id="lastgames">
129         <tr>
130           <td><t:gametime /></td>
131           <td><t:type /></td>
132           <td><t:username1 /></td>
133           <td><t:username2 /></td>
134           <td><t:score1 /> &#8211; <t:score2 /></td>
135           <td><t:diff1 /></td>
136           <td><t:diff2 /></td>
137         </tr>
138       </tbody>
139     </table>
140     
141     <h2>Assess a singles match</h2>
142
143     <form method="post" action="assess-single.pl">
144       <table>
145         <tr>
146           <th>User name 1</th>
147           <td><input name="username1" value="" size="10" /></td>
148         </tr>
149         <tr>
150           <th>User name 2</th>
151           <td><input name="username2" value="" size="10" /></td>
152         </tr>
153         <tr>
154           <td colspan="2"><input type="submit" /></td>
155         </tr>
156       </table>
157     </form>
158     
159
160     <h2>About the ratings</h2>
161
162     <p>The rating system in use is called <em>FoosRank</em>, and is specially 
163       designed for this site. It is a Bayesian rating system, inspired by
164       <a href="http://math.bu.edu/people/mg/glicko/">Glicko</a> but re-worked
165       out from scratch with a statistically sound model of non-binary results,
166       and adjusted for teams (with some ideas from Microsoft's TrueSkill
167       system). For those not familiar with Bayesian ratings, the most important
168       parts are:</p>
169
170     <ul>
171       <li>Your rating is a <em>statistical estimation</em> of your true skill.
172         It has a mean (the point estimate of your skill) and a deviation
173         (measuring the uncertainity of the estimate), called the RD. It is approximately
174         Gaussian.</li>
175       <li>When you win or lose a game, your rating will change accordingly,
176         based on your score and your opponent. <em>You do not get 'points'
177         for winning or losing, the estimate is merely getting more accurate.</em>
178         In the process, the RD gets lower as you play. However, the RD increases
179         with time, opening up for the fact that your true skill can change.
180         (Glicko 2 also supports a volatility measure, which better models change
181         in true skill, but it has not been implemented here.)</li>
182       <li>The score board is sorted by a conservative estimate of your rating
183         (mean - 3 * RD). This makes it non-attractive for people with artifically
184         high ratings (especially newcomers) to avoid playing to stay high up in
185         the score board.</li>
186       <li>The single and double rankings are separate. Even though you play as a
187         team and all four players' rankings and RDs influence the rating adjustment,
188         you are ranked as an individual, as we do not usually play with fixed
189         teams.</li>
190     </ul>
191
192     <p>For the more technically minded, a 
193       <a href="http://home.samfundet.no/~sesse/foosrank.pdf">very rough writeup
194       on the mathematics behind FoosRank</a> is available in PDF format. It is,
195       however, by no means finished.</p>
196   </body>
197 </html> 
198