]> git.sesse.net Git - foosball/blob - www/index.xml
Move the games column.
[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     <link rel="stylesheet" type="text/css" href="foosball.css" />
10     <meta name="MSSmartTagsPreventParsing" content="TRUE" />
11   </head>
12   <body>
13     <h1>...on a clear day, you can play foosball forever</h1>
14     
15     <div class="box" id="addsingle">
16       <h2>Add a singles result</h2>
17
18       <form method="post" action="add-single-result.pl">
19         <table>
20           <tr>
21             <th>Player 1:</th>
22             <td><input name="username1" value="" size="10" /></td>
23           </tr>
24           <tr>
25             <th>Player 2:</th>
26             <td><input name="username2" value="" size="10" /></td>
27           </tr>
28           <tr>
29             <th>Score:</th>
30             <td>
31               <input name="score1" value="" size="2" /> &#8211; 
32               <input name="score2" value="" size="2" />
33             </td>
34           </tr>
35           <tr>
36             <td colspan="2"><input type="submit" value="Add result" /></td>
37           </tr>
38         </table>
39       </form>
40     </div>
41     
42     <div class="box" id="adddouble">
43       <h2>Add a doubles result</h2>
44
45       <form method="post" action="add-double-result.pl">
46         <table>
47           <tr>
48             <th>Team 1:</th>
49             <td>
50               <input name="team1_username1" value="" size="10" /> and 
51               <input name="team1_username2" value="" size="10" />
52             </td>
53           </tr>
54           <tr>
55             <th>Team 2:</th>
56             <td>
57               <input name="team2_username1" value="" size="10" /> and 
58               <input name="team2_username2" value="" size="10" />
59             </td>
60           </tr>
61           <tr>
62             <th>Score:</th>
63             <td>
64               <input name="score1" value="" size="2" /> &#8211; 
65               <input name="score2" value="" size="2" />
66             </td>
67           </tr>
68           <tr>
69             <td colspan="2"><input type="submit" value="Add result" /></td>
70           </tr>
71         </table>
72       </form>
73     </div>
74     
75     <div class="box" id="assesssingle">
76       <h2>Assess a singles match</h2>
77
78       <form method="post" action="assess-single.pl">
79         <table>
80           <tr>
81             <th>Player 1:</th>
82             <td><input name="username1" value="" size="10" /></td>
83           </tr>
84           <tr>
85             <th>Player 2:</th>
86             <td><input name="username2" value="" size="10" /></td>
87           </tr>
88           <tr>
89             <td colspan="2"><input type="submit" value="Assess" /></td>
90           </tr>
91         </table>
92       </form>
93     </div>
94     
95     <div class="box" id="assessdouble">
96       <h2>Assess a doubles match</h2>
97
98       <form method="post" action="assess-double.pl">
99         <table>
100           <tr>
101             <th>Team 1:</th>
102             <td>
103               <input name="team1_username1" value="" size="10" /> and 
104               <input name="team1_username2" value="" size="10" />
105             </td>
106           </tr>
107           <tr>
108             <th>Team 2:</th>
109             <td>
110               <input name="team2_username1" value="" size="10" /> and 
111               <input name="team2_username2" value="" size="10" />
112             </td>
113           </tr>
114           <tr>
115             <td colspan="2"><input type="submit" value="Assess" /></td>
116           </tr>
117         </table>
118       </form>
119     </div>
120
121     <div class="box" id="singleboard">
122       <h2>Singles score board</h2>
123
124       <table>
125         <thead>
126           <tr>
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>
133           </tr>
134         </thead>
135         <tbody t:id="singletop">
136           <tr>
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>
143           </tr>
144         </tbody>
145       </table>
146     </div>
147
148     <div class="box" id="doubleboard">
149       <h2>Doubles score board</h2>
150
151       <table>
152         <thead>
153           <tr>
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>
160           </tr>
161         </thead>
162         <tbody t:id="doubletop">
163           <tr>
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>
170           </tr>
171         </tbody>
172       </table>
173     </div>
174
175     <div class="box" id="lastgames">
176       <h2>Last ten games</h2>
177
178       <table>
179         <thead>
180           <tr>
181             <th>Registered</th>
182             <th>Type</th>
183             <th colspan="2">Opponents</th>
184             <th>Score</th>
185             <th colspan="2" class="rightmost">Rating diff.</th>
186           </tr>
187         </thead>
188         <tbody t:id="lastgames">
189           <tr>
190             <td><t:gametime /></td>
191             <td><t:type /></td>
192             <td><t:username1 /></td>
193             <td><t:username2 /></td>
194             <td><t:score1 /> &#8211; <t:score2 /></td>
195             <td><t:diff1 /></td>
196             <td class="rightmost"><t:diff2 /></td>
197           </tr>
198         </tbody>
199       </table>
200     </div>
201    
202     <h2 style="clear: left;">About the ratings</h2>
203
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
210       parts are:</p>
211
212     <ul>
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
216         Gaussian.</li>
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
231         teams.</li>
232     </ul>
233
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>
238   </body>
239 </html> 
240